UNPKG

@lesnoypudge/utils-react

Version:

lesnoypudge's utils-react

21 lines (20 loc) 1.19 kB
import { T } from '@lesnoypudge/types-utils-base/namespace'; import { createContextSelectable, createUseContextProxyHook, createUseContextSelectorHook } from '..'; export declare namespace createContextSelectableWithHooks { type StaticValues<_Value extends T.UnknownRecord> = { Context: createContextSelectable.ContextSelectable<_Value>; useSelector: createUseContextSelectorHook.Return<_Value>; useProxy: createUseContextProxyHook.Return<_Value>; }; type Values<_Value extends T.UnknownRecord, _Name extends string> = T.Simplify<({ [x in `${_Name}Context`]: (createContextSelectable.ContextSelectable<_Value>); } & { [y in `use${_Name}ContextProxy`]: (createUseContextProxyHook.Return<_Value>); } & { [y in `use${_Name}ContextSelector`]: (createUseContextSelectorHook.Return<_Value>); } & StaticValues<_Value>)>; type Return<_Value extends T.UnknownRecord> = { withName: <_Name extends string>(name: _Name) => Values<_Value, _Name>; }; } export declare const createContextSelectableWithHooks: <_Value extends T.UnknownRecord>(defaultValue?: _Value) => createContextSelectableWithHooks.Return<_Value>;