react-hooks-global-states
Version:
This is a package to easily handling global-state across your react-components using hooks.
1 lines • 5.42 kB
JavaScript
var e,t;e=this,t=(e,t,r,o,n)=>(()=>{"use strict";var a={78:t=>{t.exports=e},155:e=>{e.exports=t},506:e=>{e.exports=r},639:(e,t,r)=>{var o=function(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(o=Object.getOwnPropertySymbols(e);n<o.length;n++)t.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(e,o[n])&&(r[o[n]]=e[o[n]])}return r},n=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.createContext=void 0;var a=r(155),u=r(778),i=n(r(506)),l=n(r(773)),s=n(r(78));function c(e,t){var r,o=this,n=null!==(r=null==t?void 0:t.name)&&void 0!==r?r:(0,s.default)("sh:"),i=function(){var r=o.api();return(0,a.useDebugValue)("".concat(o.displayName,":selector")),(0,a.useDebugValue)("".concat(n,":use")),(0,a.useMemo)((function(){return r.createSelectorHook(e,t)}),[r]).apply(void 0,arguments)},l={displayName:this.displayName,createSelectorHook:c.bind(i),api:function(){(0,a.useDebugValue)("".concat(o.displayName,":selector")),(0,a.useDebugValue)("".concat(n,":api"));var r=o.api();return(0,a.useMemo)((function(){var o=r.createObservable(e,t);return Object.assign(Object.assign({},r),{getState:function(){return o.getState()},subscribe:o.subscribe.bind(o),createSelectorHook:u.createSelectorHook.bind(o),createObservable:u.createObservable.bind(o)})}),[r])}};return Object.assign(i,l),i}t.createContext=function(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,a.createContext)(null),d=null!==(t=r.name)&&void 0!==t?t:(0,s.default)("ctx:"),v=function(t){var s=function(t){var n=t.value,s=o(t,["value"]);(0,a.useDebugValue)("".concat(d,":Provider"));var c=(0,a.useMemo)((function(){var t,o,a,c,d=function(){return(0,i.default)(e)?e():e},v=(0,l.default)(n)?d():(0,i.default)(n)?n(d()):n,f=new u.GlobalStore(v,Object.assign(Object.assign({},r),{metadata:null!==(t=(0,i.default)(r.metadata)?r.metadata():r.metadata)&&void 0!==t?t:{}})),p={use:b};return Object.assign(f.storeTools,p),null===(a=null===(o=r.callbacks)||void 0===o?void 0:o.onCreated)||void 0===a||a.call(o,f.storeTools,f),null===(c=s.onCreated)||void 0===c||c.call(s,f.storeTools,f),f}),[]);return(0,a.useEffect)((function(){var e,t,o,n=[null===(t=null===(e=r.callbacks)||void 0===e?void 0:e.onMounted)||void 0===t?void 0:t.call(e,c.storeTools,c),null===(o=s.onMounted)||void 0===o?void 0:o.call(s,c.storeTools,c)].filter(Boolean);return function(){var e,t,r,o;null===(t=null===(e=c.callbacks)||void 0===e?void 0:e.onUnMount)||void 0===t||t.call(e,c),n.forEach((function(e){return null==e?void 0:e()})),null===(o=(r=c).__onUnMountContext)||void 0===o||o.call(r,c)}}),[c]),c}(t);return(0,a.createElement)(n.Provider,{value:s.use},t.children)};v.displayName="".concat(d,":Provider"),n.displayName="".concat(d);var f={makeProviderWrapper:function(e){var t={current:void 0,instance:void 0};return{wrapper:function(r){var n=r.children,u=o(r,["children"]);return(0,a.createElement)(v,Object.assign(Object.assign(Object.assign({},e),u),{onCreated:function(r,o){var n;t.current=r,t.instance=o,null===(n=null==e?void 0:e.onCreated)||void 0===n||n.call(e,r,o)}}),n)},context:t}}},b=function(){(0,a.useDebugValue)("".concat(d,":use"));var e=(0,a.useContext)(n);if(!e)throw new Error("use hook must be used within a ContextProvider");return e.apply(void 0,arguments)},p=function(){(0,a.useDebugValue)("".concat(d,":api"));var e=(0,a.useContext)(n);if(!e)throw new Error("api hook must be used within a ContextProvider");return e},m={displayName:n.displayName,createSelectorHook:c.bind(b),api:p,select:function(){return b.apply(void 0,arguments)[0]},observable:function(){(0,a.useDebugValue)("".concat(d,":observable"));for(var e=p(),t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];var n=(0,a.useRef)(r);return n.current=r,(0,a.useMemo)((function(){var t,r,o;return e.createObservable((function(e){return(0,n.current[0])(e)}),{isEqualRoot:(null===(t=n.current[1])||void 0===t?void 0:t.isEqualRoot)?function(e,t){var r=n.current[1].isEqualRoot;return Boolean(r(e,t))}:void 0,isEqual:(null===(r=n.current[1])||void 0===r?void 0:r.isEqual)?function(e,t){var r=n.current[1].isEqual;return Boolean(r(e,t))}:void 0,name:null===(o=n.current[1])||void 0===o?void 0:o.name})}),[e])},actions:function(){return p().actions}};return Object.assign(v,f),Object.assign(b,m),{use:b,Provider:v,Context:n}},t.default=t.createContext},773:e=>{e.exports=o},778:e=>{e.exports=n}},u={};return function e(t){var r=u[t];if(void 0!==r)return r.exports;var o=u[t]={exports:{}};return a[t](o,o.exports,e),o.exports}(639)})(),"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./uniqueId.js"),require("react"),require("json-storage-formatter/isFunction"),require("json-storage-formatter/isNil"),require("./GlobalStore.js")):"function"==typeof define&&define.amd?define(["./uniqueId.js","react","json-storage-formatter/isFunction","json-storage-formatter/isNil","./GlobalStore.js"],t):"object"==typeof exports?exports["react-hooks-global-states"]=t(require("./uniqueId.js"),require("react"),require("json-storage-formatter/isFunction"),require("json-storage-formatter/isNil"),require("./GlobalStore.js")):e["react-hooks-global-states"]=t(e["./uniqueId.js"],e.react,e["json-storage-formatter/isFunction"],e["json-storage-formatter/isNil"],e["./GlobalStore.js"]);