aboutsummaryrefslogtreecommitdiff
path: root/src/background/infrastructures/MemoryStorage.ts
blob: baf9ffabbc1a32ecbbfc3de79948783c8fa41275 (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 {
    let data = JSON.stringify(value);
    if (typeof data === 'undefined') {
      throw new Error('value is not serializable');
    }
    db[name] = data;
  }

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