UNPKG

@jvanderen1/unstated-next

Version:

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

72 lines (54 loc) 2.05 kB
import {createContext as $dWZG9$createContext, useContext as $dWZG9$useContext} from "react"; import {jsx as $dWZG9$jsx} from "react/jsx-runtime"; import $dWZG9$proptypes from "prop-types"; // Internal // -------- function $8e35ca3e4b5b07b7$export$500fbc0cd14cdbaa({ Context: Context , useHook: useHook }) { const providerPropTypes = { children: $dWZG9$proptypes.node.isRequired, initialState: $dWZG9$proptypes.any }; const providerDefaultProps = { initialState: undefined }; function Provider({ children: children , initialState: initialState }) { const value = useHook(initialState); return(/*#__PURE__*/ $dWZG9$jsx(Context.Provider, { value: value, children: children })); } Provider.propTypes = providerPropTypes; Provider.defaultProps = providerDefaultProps; return Provider; } // Internal // -------- const $22e38b4674e471ee$export$6e22c362a0406a2c = Symbol('EMPTY'); // Internal // -------- function $fd9256a343ba93a8$export$959cc27f5138a507({ Context: Context }) { return ()=>{ const value = $dWZG9$useContext(Context); if (value === $22e38b4674e471ee$export$6e22c362a0406a2c) throw new Error(`Component must be wrapped with <${Context.displayName}.Provider>`); return value; }; } // Internal // -------- function $9edf38e8c240aad9$export$26ae5ca175b4ec5a(useHook, options) { const ContainerContext = /*#__PURE__*/ $dWZG9$createContext($22e38b4674e471ee$export$6e22c362a0406a2c); ContainerContext.displayName = options?.displayName ? options.displayName : 'ContainerContext'; const Provider = $8e35ca3e4b5b07b7$export$500fbc0cd14cdbaa({ Context: ContainerContext, useHook: useHook }); const useContext = $fd9256a343ba93a8$export$959cc27f5138a507({ Context: ContainerContext }); return { Provider: Provider, useContext: useContext }; } export {$9edf38e8c240aad9$export$26ae5ca175b4ec5a as createContainer};