@lesnoypudge/utils-react
Version:
lesnoypudge's utils-react
21 lines (20 loc) • 1.19 kB
TypeScript
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>;