UNPKG

react-global-state-hooks

Version:

This is a package to easily handling global-state across your react components

1 lines 6.19 kB
var t,e;t=this,e=(t,e,o,r)=>(()=>{"use strict";var a={70:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){try{return{result:t(),error:null}}catch(t){return{result:null,error:t}}}},330:e=>{e.exports=t},413:t=>{t.exports=e},536:t=>{t.exports=o},773:t=>{t.exports=r}},n={};function l(t){var e=n[t];if(void 0!==e)return e.exports;var o=n[t]={exports:{}};return a[t](o,o.exports,l),o.exports}var i={};return(()=>{var t=i;function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function o(t,o){if(o&&("object"==e(o)||"function"==typeof o))return o;if(void 0!==o)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function r(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(r=function(){return!!t})()}function a(t){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},a(t)}function n(t,e){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},n(t,e)}var u=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalStore=void 0;var s=u(l(536)),c=u(l(70)),f=u(l(330)),d=u(l(413)),g=u(l(773)),v=function(t){function l(t){var n,i,u,s,v,S=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{metadata:{}};return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,l),u=this,v=[t,S],s=a(s=l),(n=o(u,r()?Reflect.construct(s,v||[],a(u).constructor):s.apply(u,v))).localStorage=null,n.isPersistStorageAvailable=function(){var t;return Boolean((null===(t=n.localStorage)||void 0===t?void 0:t.key)&&(null===globalThis||void 0===globalThis?void 0:globalThis.localStorage))},n.onInit=function(){var t=n.localStorage;if(t&&n.isPersistStorageAvailable()){var e=t.versioning,o=(0,c.default)(function(){var o,r,a=null===(o=t.adapter)||void 0===o?void 0:o.getItem;return a?{s:a(t.key),v:null!==(r=null==e?void 0:e.version)&&void 0!==r?r:-1}:n.getStorageItem()}),r=o.result,a=o.error;if(a)return n.handleStorageError(a),void n.updateStateWithValidation(n.getState());if(r){var l=r.v===(null==e?void 0:e.version),i=null==e?void 0:e.migrator;if(l||!i||t.adapter)n.updateStateWithValidation(r.s);else{var u=(0,c.default)(function(){return i({legacy:r.s,initial:n.getState()})}),s=u.result,f=u.error;f?(n.handleStorageError(f),n.updateStateWithValidation(n.getState())):n.updateStateWithValidation(s)}}else n.updateStateWithValidation(n.getState())}},n.trySetStorageItem=function(t){var e=n.localStorage;if(e){var o=(0,c.default)(function(){var o,r=null===(o=e.adapter)||void 0===o?void 0:o.setItem;if(!r)return n.setStorageItem(t);r(e.key,t)}),r=o.error;r&&n.handleStorageError(r)}},n.updateStateWithValidation=function(t){var e=n.localStorage;if(e){var o=(0,c.default)(function(){return e.validator({restored:t,initial:n.getState()})}),r=o.result,a=o.error;if(a)return n.handleStorageError(a),void n.trySetStorageItem(n.getState());if(void 0===r)return void 0===t?void n.trySetStorageItem(n.getState()):(n.setState(t),void n.trySetStorageItem(t));n.setState(r),n.trySetStorageItem(r)}},n.onStateChanged=function(t){var e=t.state,o=n.localStorage;if(o&&n.isPersistStorageAvailable()){var r=(0,c.default)(function(){var t,r=null===(t=o.adapter)||void 0===t?void 0:t.setItem;if(r)return r(o.key,e);n.setStorageItem(e)}),a=r.error;a&&n.handleStorageError(a)}},n.getStorageItem=function(){var t=globalThis.localStorage.getItem(n.localStorage.key),o=(0,g.default)(t)?null:(0,f.default)(t);return function(t,o){if(!((0,g.default)(o)||"object"===e(o)&&"s"in o&&"v"in o))throw new Error('[react-native-global-state-hooks] The value of the key "'.concat(t,'" is not a valid storage envelope.'))}(n.localStorage.key,o),o},n.setStorageItem=function(t){var e,o,r,a={s:t,v:null!==(r=null===(o=null===(e=n.localStorage)||void 0===e?void 0:e.versioning)||void 0===o?void 0:o.version)&&void 0!==r?r:-1},l=(0,d.default)(a);globalThis.localStorage.setItem(n.localStorage.key,l)},n.handleStorageError=function(t){var e,o;if(null===(e=n.localStorage)||void 0===e?void 0:e.onError)return n.localStorage.onError(t);globalThis.console.error(["[react-global-state-hooks]\n"," localStorage sync error:","[hook]:"," ".concat(n._name),"[Localstorage Key]:"," ".concat(null===(o=n.localStorage)||void 0===o?void 0:o.key),"[Error]:"," ".concat(null!=t?t:"undefined","\n\n"),"Stacktrace:"].join("\n"),t.stack)},n.localStorage=null!==(i=S.localStorage)&&void 0!==i?i:null,n.constructor!==l?o(n):(n.initialize(),n)}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&n(t,e)}(l,t),i=l,Object.defineProperty(i,"prototype",{writable:!1}),i;var i}(s.default);t.GlobalStore=v,t.default=v})(),i})(),"object"==typeof exports&&"object"==typeof module?module.exports=e(require("json-storage-formatter/formatFromStore"),require("json-storage-formatter/formatToStore"),require("react-hooks-global-states/GlobalStore"),require("json-storage-formatter/isNil")):"function"==typeof define&&define.amd?define(["json-storage-formatter/formatFromStore","json-storage-formatter/formatToStore","react-hooks-global-states/GlobalStore","json-storage-formatter/isNil"],e):"object"==typeof exports?exports["react-global-state-hooks"]=e(require("json-storage-formatter/formatFromStore"),require("json-storage-formatter/formatToStore"),require("react-hooks-global-states/GlobalStore"),require("json-storage-formatter/isNil")):t["react-global-state-hooks"]=e(t["json-storage-formatter/formatFromStore"],t["json-storage-formatter/formatToStore"],t["react-hooks-global-states/GlobalStore"],t["json-storage-formatter/isNil"]);