import { MayBePromise } from '../types'; import { StorageProvider } from './interface'; export class LocalStorageProvider implements StorageProvider { get(key: string): MayBePromise { const jsonItem = localStorage.getItem(key); if (jsonItem === null) { return null; } return JSON.parse(jsonItem) as T; } put(key: string, value: T): MayBePromise { localStorage.setItem(key, JSON.stringify(value)); } delete(key: string): MayBePromise { localStorage.removeItem(key); } }