UNPKG

@tdb/util

Version:
36 lines (34 loc) 768 B
import { IS_BROWSER } from '../../constants'; import { ILocalStorage } from './types'; /** * Async interface to the browser's local-storage. */ export function init(): ILocalStorage { if (IS_BROWSER) { const store = window.localStorage; return { async getItem(key: string) { return store.getItem(key); }, async setItem(key: string, value: any) { store.setItem(key, value); }, async removeItem(key: string) { store.removeItem(key); }, }; } else { // Not in browser, return no-op. return { async getItem() { return undefined; }, async setItem() { return undefined; }, async removeItem() { return undefined; }, }; } }