react-hooks-global-states 8.0.5 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/createContext.js CHANGED
@@ -1 +1 @@
1
- var e,t;e=this,t=(e,t,r,o,n)=>(()=>{"use strict";var a={564:(e,t,r)=>{function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o,n,a,i,u=[],s=!0,l=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(o=a.call(r)).done)&&(u.push(o.value),u.length!==t);s=!0);}catch(e){l=!0,n=e}finally{try{if(!s&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(l)throw n}}return u}}(e,t)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}Object.defineProperty(t,"__esModule",{value:!0}),t.createContext=void 0;var a=r(156),i=r(352),u=r(122),s=r(538),l=r(503);t.createContext=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,a.createContext)(null),n=function(){var e=(0,a.useContext)(r);if(!e)throw new Error("ContextHook must be used within a ContextProvider");return e()};n.createSelectorHook=function(e,t){return function(){var n=(0,a.useContext)(r);if((0,s.isNil)(n))throw new Error("SelectorHook must be used within a ContextProvider");return o((0,l.useStableState)((function(){return n.createSelectorHook(e,t)}),(function(e){return e.removeSubscriptions()}),[n]),1)[0].value.apply(void 0,arguments)}};var c=function(){var e=(0,a.useContext)(r);if((0,s.isNil)(e))throw new Error("useStateControls must be used within a ContextProvider");return e.stateControls()},f=function(e,t){var o=(0,a.useContext)(r);if((0,s.isNil)(o))throw new Error("useObservableBuilder must be used within a ContextProvider");return o.createObservable(e,t)};return n.stateControls=function(){return[c,f]},[n,function(n){var c=n.children,f=n.value,v=n.ref,d=o((0,l.useStableState)((function(){var r,o=function(){return(0,u.isFunction)(e)?e():e},n=(0,s.isNil)(f)?o():(0,u.isFunction)(f)?f(o()):f,a=new i.GlobalStore(n,Object.assign(Object.assign({},t),{metadata:null!==(r=(0,u.isFunction)(t.metadata)?t.metadata():t.metadata)&&void 0!==r?r:{}})),l=a.getHook();return{store:a,parentHook:l}}),(function(e){var t,r,o,n;e.store.dispose(),null===(r=null===(t=d.value.store.callbacks)||void 0===t?void 0:t.onUnMount)||void 0===r||r.call(t),null===(n=(o=d.value.store).__onUnMountContext)||void 0===n||n.call(o,d.value.store,d.value.parentHook)}),[]),1)[0];return(0,a.useImperativeHandle)(v,(function(){return v?d.value.store.getConfigCallbackParam():{}}),[d.value.store,v]),(0,a.createElement)(r.Provider,{value:d.value.parentHook},c)}]},t.default=t.createContext},352:t=>{t.exports=e},503:e=>{e.exports=t},122:e=>{e.exports=r},538:e=>{e.exports=o},156:e=>{e.exports=n}},i={};return function e(t){var r=i[t];if(void 0!==r)return r.exports;var o=i[t]={exports:{}};return a[t](o,o.exports,e),o.exports}(564)})(),"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./GlobalStore.js"),require("./useStableState.js"),require("json-storage-formatter/isFunction"),require("json-storage-formatter/isNil"),require("react")):"function"==typeof define&&define.amd?define(["./GlobalStore.js","./useStableState.js","json-storage-formatter/isFunction","json-storage-formatter/isNil","react"],t):"object"==typeof exports?exports["react-hooks-global-states"]=t(require("./GlobalStore.js"),require("./useStableState.js"),require("json-storage-formatter/isFunction"),require("json-storage-formatter/isNil"),require("react")):e["react-hooks-global-states"]=t(e["./GlobalStore.js"],e["./useStableState.js"],e["json-storage-formatter/isFunction"],e["json-storage-formatter/isNil"],e.react);
1
+ var t,e;t=this,e=(t,e,r,o,n)=>(()=>{"use strict";var a={564:(t,e,r)=>{function o(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var o,n,a,i,u=[],s=!0,l=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;s=!1}else for(;!(s=(o=a.call(r)).done)&&(u.push(o.value),u.length!==e);s=!0);}catch(t){l=!0,n=t}finally{try{if(!s&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(l)throw n}}return u}}(t,e)||function(t,e){if(t){if("string"==typeof t)return n(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,o=new Array(e);r<e;r++)o[r]=t[r];return o}Object.defineProperty(e,"__esModule",{value:!0}),e.createContext=void 0;var a=r(156),i=r(352),u=r(122),s=r(538),l=r(503);e.createContext=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,a.createContext)(null),n=function(){var t=(0,a.useContext)(r);if(!t)throw new Error("ContextHook must be used within a ContextProvider");return t()};n.createSelectorHook=function(t,e){return function(){var n=(0,a.useContext)(r);if((0,s.isNil)(n))throw new Error("SelectorHook must be used within a ContextProvider");return o((0,l.useStableState)((function(){var r=n.createSelectorHook(t,e);return[r,function(){return r.dispose()}]}),[n]),1)[0].current.apply(void 0,arguments)}};var c=function(){var t=(0,a.useContext)(r);if((0,s.isNil)(t))throw new Error("useStateControls must be used within a ContextProvider");return t.stateControls()},f=function(t,e){var o=(0,a.useContext)(r);if((0,s.isNil)(o))throw new Error("useObservableBuilder must be used within a ContextProvider");return o.createObservable(t,e)};return n.stateControls=function(){return[c,f]},[n,function(n){var c=n.children,f=n.value,d=n.ref,v=(0,l.useStableState)((function(){var r,o=function(){return(0,u.isFunction)(t)?t():t},n=(0,s.isNil)(f)?o():(0,u.isFunction)(f)?f(o()):f,a=new i.GlobalStore(n,Object.assign(Object.assign({},e),{metadata:null!==(r=(0,u.isFunction)(e.metadata)?e.metadata():e.metadata)&&void 0!==r?r:{}})),l=a.getHook();return[{store:a,parentHook:l},function(){var t,e,r,o;null===(e=null===(t=a.callbacks)||void 0===t?void 0:t.onUnMount)||void 0===e||e.call(t),null===(o=(r=a).__onUnMountContext)||void 0===o||o.call(r,a,l),a.dispose()}]}),[]),b=o(v,1)[0].current;return(0,a.useImperativeHandle)(d,(function(){return d?b.store.getConfigCallbackParam():{}}),[b.store,d]),(0,a.createElement)(r.Provider,{value:b.parentHook},c)}]},e.default=e.createContext},352:e=>{e.exports=t},503:t=>{t.exports=e},122:t=>{t.exports=r},538:t=>{t.exports=o},156:t=>{t.exports=n}},i={};return function t(e){var r=i[e];if(void 0!==r)return r.exports;var o=i[e]={exports:{}};return a[e](o,o.exports,t),o.exports}(564)})(),"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./GlobalStore.js"),require("./useStableState.js"),require("json-storage-formatter/isFunction"),require("json-storage-formatter/isNil"),require("react")):"function"==typeof define&&define.amd?define(["./GlobalStore.js","./useStableState.js","json-storage-formatter/isFunction","json-storage-formatter/isNil","react"],e):"object"==typeof exports?exports["react-hooks-global-states"]=e(require("./GlobalStore.js"),require("./useStableState.js"),require("json-storage-formatter/isFunction"),require("json-storage-formatter/isNil"),require("react")):t["react-hooks-global-states"]=e(t["./GlobalStore.js"],t["./useStableState.js"],t["json-storage-formatter/isFunction"],t["json-storage-formatter/isNil"],t.react);
package/index.d.ts CHANGED
@@ -8,6 +8,6 @@ export { uniqueId } from './uniqueId';
8
8
  export { throwWrongKeyOnActionCollectionConfig } from './throwWrongKeyOnActionCollectionConfig';
9
9
  export { isRecord } from './isRecord';
10
10
  export { uniqueSymbol, UniqueSymbol } from './uniqueSymbol';
11
- export { useStableState, type UseStableState } from './useStableState';
11
+ export { useStableState } from './useStableState';
12
12
  export { ContextProviderAPI, ContextProvider, ContextHook, CreateContext, createContext, } from './createContext';
13
13
  export { generateStackHash } from './generateStackHash';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-hooks-global-states",
3
- "version": "8.0.5",
3
+ "version": "8.1.0",
4
4
  "description": "This is a package to easily handling global-state across your react-components using hooks.",
5
5
  "main": "./bundle.js",
6
6
  "types": "./index.d.ts",
@@ -1,13 +1,8 @@
1
- export interface UseStableState {
2
- <T>(state: T | (() => T), dependencies?: unknown[]): [ref: {
3
- value: T;
4
- }, recompute: () => void];
5
- <T>(state: T | (() => T), cleanup: (state: T) => void, dependencies?: unknown[]): [
6
- ref: {
7
- value: T;
8
- },
9
- recompute: () => void
10
- ];
11
- }
12
- export declare const useStableState: UseStableState;
1
+ type StateBuilder<T> = () => [state: T, cleanup?: CleanupArg];
2
+ type RefObject<T> = {
3
+ current: T;
4
+ };
5
+ type Recompute = () => void;
6
+ type CleanupArg = (() => void) | null;
7
+ export declare const useStableState: <T>(builder: StateBuilder<T>, dependencies?: unknown[]) => [ref: RefObject<T>, recompute: Recompute];
13
8
  export default useStableState;
package/useStableState.js CHANGED
@@ -1 +1 @@
1
- var e,r;e=this,r=(e,r,t,n)=>(()=>{"use strict";var o={965:(e,r,t)=>{function n(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}Object.defineProperty(r,"__esModule",{value:!0}),r.useStableState=void 0;var o=t(156),a=t(122),u=t(538),i=t(682),s=t(156),l=t(156);r.useStableState=function(e){var r,t=(0,a.isFunction)(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:void 0,c=t?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],f=(0,o.useRef)({builder:null,cleanup:t,dependencies:c}),p=(0,a.isFunction)(e)?e:function(){return e},d=function(e){if(Array.isArray(e))return e}(r=(0,s.useState)((function(){return{value:p()}})))||function(e){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var t,n,o,a,u=[],i=!0,s=!1;try{for(o=(r=r.call(e)).next;!(i=(t=o.call(r)).done)&&(u.push(t.value),2!==u.length);i=!0);}catch(e){s=!0,n=e}finally{try{if(!i&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw n}}return u}}(r)||function(e){if(e){if("string"==typeof e)return n(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,2):void 0}}(r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),v=d[0],m=d[1],b=(0,u.isNil)(f.current.builder),y=(0,u.isNil)(c)||!(0,i.shallowCompare)(f.current.dependencies,c);!b&&y&&(v.value=p()),f.current.dependencies=c,f.current.builder=p,f.current.cleanup=t;var h=(0,l.useCallback)((function(){m({value:f.current.builder()})}),[]);return(0,o.useEffect)((function(){return function(){f.current.cleanup&&f.current.cleanup(v.value)}}),[]),[v,h]},r.default=r.useStableState},682:r=>{r.exports=e},122:e=>{e.exports=r},538:e=>{e.exports=t},156:e=>{e.exports=n}},a={};return function e(r){var t=a[r];if(void 0!==t)return t.exports;var n=a[r]={exports:{}};return o[r](n,n.exports,e),n.exports}(965)})(),"object"==typeof exports&&"object"==typeof module?module.exports=r(require("./shallowCompare.js"),require("json-storage-formatter/isFunction"),require("json-storage-formatter/isNil"),require("react")):"function"==typeof define&&define.amd?define(["./shallowCompare.js","json-storage-formatter/isFunction","json-storage-formatter/isNil","react"],r):"object"==typeof exports?exports["react-hooks-global-states"]=r(require("./shallowCompare.js"),require("json-storage-formatter/isFunction"),require("json-storage-formatter/isNil"),require("react")):e["react-hooks-global-states"]=r(e["./shallowCompare.js"],e["json-storage-formatter/isFunction"],e["json-storage-formatter/isNil"],e.react);
1
+ var e,r;e=this,r=(e,r,t)=>(()=>{"use strict";var n={965:(e,r,t)=>{function n(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,u,a,l=[],i=!0,c=!1;try{if(u=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;i=!1}else for(;!(i=(n=u.call(t)).done)&&(l.push(n.value),l.length!==r);i=!0);}catch(e){c=!0,o=e}finally{try{if(!i&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(c)throw o}}return l}}(e,r)||function(e,r){if(e){if("string"==typeof e)return o(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?o(e,r):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}Object.defineProperty(r,"__esModule",{value:!0}),r.useStableState=void 0;var u=t(156),a=t(538),l=t(682),i=t(156),c=t(156);r.useStableState=function(e,r){var t,o,s=(0,u.useRef)({refObject:null,builder:null,cleanup:null,dependencies:r});s.current.builder=function(){var r=n(e(),2),t=r[0],o=r[1],u=void 0===o?null:o;return s.current.cleanup=u,{current:t}},t=(0,a.isNil)(s.current.refObject),o=(0,a.isNil)(r),(t||o||!(0,l.shallowCompare)(s.current.dependencies,r))&&(s.current.refObject=s.current.builder()),s.current.dependencies=r;var f=n((0,i.useState)(!0),2)[1],p=(0,c.useCallback)((function(){s.current.refObject=s.current.builder(),f((function(e){return!e}))}),[]);return(0,u.useEffect)((function(){var e=s.current.cleanup;if(e){var r=s.current.refObject;return function(){r!==s.current.refObject&&e()}}}),[s.current.refObject]),[s.current.refObject,p]},r.default=r.useStableState},682:r=>{r.exports=e},538:e=>{e.exports=r},156:e=>{e.exports=t}},o={};return function e(r){var t=o[r];if(void 0!==t)return t.exports;var u=o[r]={exports:{}};return n[r](u,u.exports,e),u.exports}(965)})(),"object"==typeof exports&&"object"==typeof module?module.exports=r(require("./shallowCompare.js"),require("json-storage-formatter/isNil"),require("react")):"function"==typeof define&&define.amd?define(["./shallowCompare.js","json-storage-formatter/isNil","react"],r):"object"==typeof exports?exports["react-hooks-global-states"]=r(require("./shallowCompare.js"),require("json-storage-formatter/isNil"),require("react")):e["react-hooks-global-states"]=r(e["./shallowCompare.js"],e["json-storage-formatter/isNil"],e.react);