export enum StorageKey { AnonymousUserId = 'AnonymousUserId', ShowBetaWarning = 'ShowBetaWarning', ShowNoAccountWarning = 'ShowNoAccountWarning', } export type StorageValue = { [StorageKey.AnonymousUserId]: string [StorageKey.ShowBetaWarning]: boolean [StorageKey.ShowNoAccountWarning]: boolean } export const storage = { get(key: K): StorageValue[K] | null { const value = localStorage.getItem(key) return value ? JSON.parse(value) : null }, set(key: K, value: StorageValue[K]): void { localStorage.setItem(key, JSON.stringify(value)) }, remove(key: StorageKey): void { localStorage.removeItem(key) }, }