@lesnoypudge/utils-react
Version:
lesnoypudge's utils-react
34 lines (33 loc) • 1.2 kB
JavaScript
import "react";
import "react/jsx-runtime";
import { createContextSelectable } from "../createContextSelectable/createContextSelectable.js";
import { createUseContextProxyHook } from "../createUseContextProxyHook/createUseContextProxyHook.js";
import { createUseContextSelectorHook } from "../createUseContextSelectorHook/createUseContextSelectorHook.js";
const createContextSelectableWithHooks = (defaultValue) => {
return {
withName: (name) => {
const result = {};
const Context = createContextSelectable(defaultValue);
const useProxy = createUseContextProxyHook(Context);
const useSelector = createUseContextSelectorHook(Context);
const contextName = `${name}Context`;
const proxyName = `use${name}ContextProxy`;
const selectorName = `use${name}ContextSelector`;
const staticValues = {
Context,
useProxy,
useSelector
};
Object.assign(result, staticValues, {
[contextName]: Context,
[proxyName]: useProxy,
[selectorName]: useSelector
});
return result;
}
};
};
export {
createContextSelectableWithHooks
};
//# sourceMappingURL=createContextSelectableWithHooks.js.map