use-db
Version:
IndexedDB React hook that mimics useState API supporting optimistic updates
14 lines (13 loc) • 594 B
TypeScript
import type { SetStateAction } from "react";
export type UseDbOptions<T> = {
defaultValue?: T | (() => T);
optimistic?: boolean;
};
export type DbState<T> = [
state: T,
setState: (value: SetStateAction<T>) => Promise<void>,
removeItem: () => Promise<void>
];
export default function useDb(key: string, options?: UseDbOptions<undefined>): DbState<unknown>;
export default function useDb<T>(key: string, options?: Omit<UseDbOptions<T | undefined>, "defaultValue">): DbState<T | undefined>;
export default function useDb<T>(key: string, options?: UseDbOptions<T>): DbState<T>;