UNPKG

svelte-idb-store

Version:

A library that allows you to sync the value of your Svelte stores with IndexedDB

26 lines (25 loc) 1.1 kB
import IDB from "./idb"; interface IDBStoreObject<T extends Record<string, any>> { value: T; getItem: <K extends Extract<keyof T, string>>(id: K) => Promise<T[K]>; setItem: <K extends Extract<keyof T, string>>(id: K, val: T[K]) => Promise<void>; removeItem: <K extends Extract<keyof T, string>>(id: K) => Promise<void>; clear: () => Promise<void>; } interface OptionsObject<T> { name: string; version?: number; initialValue?: T; onLoad?: () => void; onCreate?: () => void; } export declare class IDBObject<T extends Record<string, any>> extends IDB<T, Extract<keyof T, string>> { get: () => Promise<T>; set: (val: T) => Promise<T>; getItem: <K extends Extract<keyof T, string>>(id: K) => Promise<T[K]>; setItem: <K extends Extract<keyof T, string>>(id: K, val: T[K]) => Promise<T>; removeItem: (id: Extract<keyof T, string>) => Promise<T>; clear: () => Promise<T>; } declare const _default: <T extends Record<string, any>>({ name, version, initialValue, onLoad, onCreate }: OptionsObject<T>) => IDBStoreObject<T>; export default _default;