UNPKG

use-idb-store

Version:

A React state hook that syncs state to IndexedDB for persistent, offline-friendly, and large-scale data storage.

20 lines (19 loc) 697 B
export type IndexedDbStoreMutations<T> = { getValue: (id: string) => Promise<T | null>; addValue: (id: string, value: T) => Promise<void>; deleteValue: (id: string) => Promise<void>; updateValue: (id: string, value: Partial<T>) => Promise<void>; addOrUpdateValue: (id: string, value: T) => Promise<void>; }; export type IndexedDbStore<T> = { values: Record<string, T>; mutations: IndexedDbStoreMutations<T>; isLoading: boolean; isReady: boolean; error: Error | null; }; export type IndexedDbStoreParams = { schema?: IDBObjectStoreParameters; }; export type StoreEvent = "change" | "error"; export type StoreEventCallback = (event: CustomEvent) => void;