import { del, get, set } from 'idb-keyval' export function saveLocal(key: string, data: T): Promise { if (typeof indexedDB === 'undefined') { return Promise.resolve(null) } if (!key) return Promise.resolve() return set(key, JSON.stringify(data)) } export function deleteLocal(key: string): Promise { if (typeof indexedDB === 'undefined') { return Promise.resolve(null) } if (!key) return Promise.resolve() return del(key) } export function getLocal(key: string): Promise { if (typeof indexedDB === 'undefined') { return Promise.resolve(null) } return get(key).then((val) => (val ? JSON.parse(val) : val)) }