aboutsummaryrefslogtreecommitdiff
path: root/src/background/infrastructures/MemoryStorage.ts
blob: af445a6873826cb3be5b806e5e6abed27744ac07 (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);
  }
}