fix: improve storage API

This commit is contained in:
Baptiste Grob
2020-12-28 15:45:45 +01:00
parent f7012c5eae
commit f34d64c1de

View File

@@ -2,12 +2,16 @@ export enum StorageKey {
DisableErrorReporting = 'DisableErrorReporting', DisableErrorReporting = 'DisableErrorReporting',
} }
export type StorageValue = {
[StorageKey.DisableErrorReporting]: boolean;
}
export const storage = { export const storage = {
get(key: StorageKey) { get<K extends StorageKey>(key: K): StorageValue[K] | null {
const value = localStorage.getItem(key); const value = localStorage.getItem(key);
return value ? JSON.parse(value) : null; return value ? JSON.parse(value) : null;
}, },
set(key: StorageKey, value: unknown) { set<K extends StorageKey>(key: K, value: StorageValue[K]) {
localStorage.setItem(key, JSON.stringify(value)); localStorage.setItem(key, JSON.stringify(value));
}, },
remove(key: StorageKey) { remove(key: StorageKey) {