aboutsummaryrefslogtreecommitdiff
path: root/src/background/infrastructures/MemoryStorage.ts
blob: ad7bcd7c158c5c420b9d4db10bbacfa322c70b94 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const db: { [key: string]: any } = {};

export default class MemoryStorage {
  set(name: string, value: any): void {
    const data = JSON.stringify(value);
    if (typeof data === "undefined") {
      throw new Error("value is not serializable");
    }
    db[name] = data;
  }

  get(name: string): any {
    const data = db[name];
    if (!data) {
      return undefined;
    }
    return JSON.parse(data);
  }
}