UNPKG

1.64 kBJavaScriptView Raw
1!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("jotai/vanilla")):"function"==typeof define&&define.amd?define(["exports","react","jotai/vanilla"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).jotaiReact={},e.React,e.jotaiVanilla)}(this,(function(e,t,n){"use strict";var r=t.createContext(void 0),u=function(e){var u=t.useContext(r);return(null==e?void 0:e.store)||u||n.getDefaultStore()},o=function(e){return"function"==typeof(null==e?void 0:e.then)},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=u(n),a=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]})),f=a[0],s=f[0],c=f[1],l=f[2],d=a[1],v=s;c===r&&l===e||(d(),v=r.get(e));var p=null==n?void 0:n.delay;return t.useEffect((function(){var t=r.sub(e,(function(){"number"!=typeof p?d():setTimeout(d,p)}));return d(),t}),[r,e,p]),t.useDebugValue(v),o(v)?i(v):v}function f(e,n){var r=u(n),o=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 o}e.Provider=function(e){var u=e.children,o=e.store,i=t.useRef();return o||i.current||(i.current=n.createStore()),t.createElement(r.Provider,{value:o||i.current},u)},e.useAtom=function(e,t){return[a(e,t),f(e,t)]},e.useAtomValue=a,e.useSetAtom=f,e.useStore=u}));