foxact
Version:
React Hooks/Utils done right. For browser, SSR, and React Server Components.
13 lines (10 loc) • 778 B
TypeScript
import { StateHookTuple, StorageType, NotUndefined, UseStorageRawOption, UseStorageParserOption } from '../create-storage-hook/index.js';
type ValueHook<T> = () => T;
type SetValueHook<T> = () => (value: T) => void;
type StateHook<T> = () => StateHookTuple<T>;
declare function createStorageStateFactory(type: StorageType): {
<T>(key: string, serverValue: NotUndefined<T>, options?: UseStorageRawOption | UseStorageParserOption<T>): readonly [StateHook<T>, ValueHook<T>, SetValueHook<T | null>];
<T>(key: string, serverValue?: undefined, options?: UseStorageRawOption | UseStorageParserOption<T>): readonly [StateHook<T | null>, ValueHook<T | null>, SetValueHook<T | null>];
};
export { createStorageStateFactory };
export type { SetValueHook, StateHook, ValueHook };