aboutsummaryrefslogtreecommitdiffstats
path: root/src/services/local-storage/local-storage.ts
blob: e9a50a5f72ef8e1f5706e7e2a7e3ffa3bb7702e7 (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.error(e);
      return undefined;
    }
  },
  set<T>(key: string, value: T) {
    try {
      const serialItem = JSON.stringify(value);
      localStorage.setItem(key, serialItem);
    } catch (e) {
      console.error(e);
    }
  },
  remove(key: string) {
    localStorage.removeItem(key);
  },
  clear() {
    localStorage.clear();
  },
};