UNPKG

@jvanderen1/unstated-next

Version:

Up-to-date version of everyone's favorite state management library unstated-next

79 lines (60 loc) 2.32 kB
var $8GKOF$react = require("react"); var $8GKOF$reactjsxruntime = require("react/jsx-runtime"); var $8GKOF$proptypes = require("prop-types"); function $parcel$export(e, n, v, s) { Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true}); } function $parcel$interopDefault(a) { return a && a.__esModule ? a.default : a; } $parcel$export(module.exports, "createContainer", () => $e33afb5a56273222$export$26ae5ca175b4ec5a); // Internal // -------- function $be2556578f3fdd15$export$500fbc0cd14cdbaa({ Context: Context , useHook: useHook }) { const providerPropTypes = { children: ($parcel$interopDefault($8GKOF$proptypes)).node.isRequired, initialState: ($parcel$interopDefault($8GKOF$proptypes)).any }; const providerDefaultProps = { initialState: undefined }; function Provider({ children: children , initialState: initialState }) { const value = useHook(initialState); return(/*#__PURE__*/ $8GKOF$reactjsxruntime.jsx(Context.Provider, { value: value, children: children })); } Provider.propTypes = providerPropTypes; Provider.defaultProps = providerDefaultProps; return Provider; } // Internal // -------- const $cc2a7f243c1310e0$export$6e22c362a0406a2c = Symbol('EMPTY'); // Internal // -------- function $5c1d775091f478f4$export$959cc27f5138a507({ Context: Context }) { return ()=>{ const value = $8GKOF$react.useContext(Context); if (value === $cc2a7f243c1310e0$export$6e22c362a0406a2c) throw new Error(`Component must be wrapped with <${Context.displayName}.Provider>`); return value; }; } // Internal // -------- function $e33afb5a56273222$export$26ae5ca175b4ec5a(useHook, options) { const ContainerContext = /*#__PURE__*/ $8GKOF$react.createContext($cc2a7f243c1310e0$export$6e22c362a0406a2c); ContainerContext.displayName = options?.displayName ? options.displayName : 'ContainerContext'; const Provider = $be2556578f3fdd15$export$500fbc0cd14cdbaa({ Context: ContainerContext, useHook: useHook }); const useContext = $5c1d775091f478f4$export$959cc27f5138a507({ Context: ContainerContext }); return { Provider: Provider, useContext: useContext }; }