UNPKG

@lesnoypudge/utils-react

Version:

lesnoypudge's utils-react

18 lines (17 loc) 868 B
import { T } from '@lesnoypudge/types-utils-base/namespace'; import { Dispatch, SetStateAction } from 'react'; export declare namespace createLocalStorageHook { namespace useLocalStorage { type SetValue<_Value> = Dispatch<SetStateAction<_Value>>; type ReturnObject<_Value> = { value: _Value; setValue: SetValue<_Value>; clear: VoidFunction; remove: VoidFunction; }; type Return<_Key extends string, _Value> = { [x in _Key]: ReturnObject<_Value>; }; } } export declare const createLocalStorageHook: <_Schema extends Record<string, unknown>>() => <_Key extends T.StringKeyOf<_Schema>, _DefaultValue extends _Schema[_Key] | undefined>(key: _Key, defaultValue?: _DefaultValue) => createLocalStorageHook.useLocalStorage.Return<_Key, _Schema[_Key] | _DefaultValue>;