summaryrefslogtreecommitdiffstats
path: root/src/services/local-storage/index.ts
blob: 65235a796272322e1f6336365680ced865e680d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
export const LocalStorage = {
  get<T>(key: string): T | undefined {
    try {
      const serialItem = localStorage.getItem(key);
      if (!serialItem) return undefined;
      return JSON.parse(serialItem) as T;
    } catch (e) {
      console.log(e);
      return undefined;
    }
  },
  set<T>(key: string, value: T) {
    try {
      const serialItem = JSON.stringify(value);
      localStorage.setItem(key, serialItem);
    } catch (e) {
      console.log(e);
    }
  },
  remove(key: string) {
    localStorage.removeItem(key);
  },
  clear() {
    localStorage.clear();
  },
};