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 $bb34k$react = require("react"); var $bb34k$reactjsxruntime = require("react/jsx-runtime"); var $bb34k$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", () => $c507ebc6b0633449$export$26ae5ca175b4ec5a); // Internal // -------- function $4907e6a5eb620daf$export$500fbc0cd14cdbaa({ Context: Context , useHook: useHook }) { const providerPropTypes = { children: ($parcel$interopDefault($bb34k$proptypes)).node.isRequired, initialState: ($parcel$interopDefault($bb34k$proptypes)).any }; const providerDefaultProps = { initialState: undefined }; function Provider({ children: children , initialState: initialState }) { const value = useHook(initialState); return(/*#__PURE__*/ $bb34k$reactjsxruntime.jsx(Context.Provider, { value: value, children: children })); } Provider.propTypes = providerPropTypes; Provider.defaultProps = providerDefaultProps; return Provider; } // Internal // -------- const $a8317c53d84dab15$export$6e22c362a0406a2c = Symbol('EMPTY'); // Internal // -------- function $3b39efca1202bc57$export$959cc27f5138a507({ Context: Context }) { return ()=>{ const value = $bb34k$react.useContext(Context); if (value === $a8317c53d84dab15$export$6e22c362a0406a2c) throw new Error(`Component must be wrapped with <${Context.displayName}.Provider>`); return value; }; } // Internal // -------- function $c507ebc6b0633449$export$26ae5ca175b4ec5a(useHook, options) { const ContainerContext = /*#__PURE__*/ $bb34k$react.createContext($a8317c53d84dab15$export$6e22c362a0406a2c); ContainerContext.displayName = options?.displayName ? options.displayName : 'ContainerContext'; const Provider = $4907e6a5eb620daf$export$500fbc0cd14cdbaa({ Context: ContainerContext, useHook: useHook }); const useContext = $3b39efca1202bc57$export$959cc27f5138a507({ Context: ContainerContext }); return { Provider: Provider, useContext: useContext }; }