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