UNPKG

1.65 kBJavaScriptView Raw
1!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("jotai/vanilla"),require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["exports","react","jotai/vanilla","react/jsx-runtime"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).jotaiReact={},e.React,e.vanilla,e.jsxRuntime)}(this,(function(e,t,n,r){"use strict";var u=t.createContext(void 0),o=function(e){var r=t.useContext(u);return(null==e?void 0:e.store)||r||n.getDefaultStore()},i=t.use||function(e){if("pending"===e.status)throw e;if("fulfilled"===e.status)return e.value;throw"rejected"===e.status?e.reason:(e.status="pending",e.then((function(t){e.status="fulfilled",e.value=t}),(function(t){e.status="rejected",e.reason=t})),e)};function a(e,n){var r=o(n),u=t.useReducer((function(t){var n=r.get(e);return Object.is(t[0],n)&&t[1]===r&&t[2]===e?t:[n,r,e]}),void 0,(function(){return[r.get(e),r,e]})),a=u[0],s=a[0],c=a[1],f=a[2],l=u[1],d=s;c===r&&f===e||(l(),d=r.get(e));var v=null==n?void 0:n.delay;return t.useEffect((function(){var t=r.sub(e,(function(){"number"!=typeof v?l():setTimeout(l,v)}));return l(),t}),[r,e,v]),t.useDebugValue(d),d instanceof Promise?i(d):d}function s(e,n){var r=o(n),u=t.useCallback((function(){for(var t=arguments.length,n=new Array(t),u=0;u<t;u++)n[u]=arguments[u];return r.set.apply(r,[e].concat(n))}),[r,e]);return u}e.Provider=function(e){var o=e.children,i=e.store,a=t.useRef();return i||a.current||(a.current=n.createStore()),r.jsx(u.Provider,{value:i||a.current,children:o})},e.useAtom=function(e,t){return[a(e,t),s(e,t)]},e.useAtomValue=a,e.useSetAtom=s,e.useStore=o}));