react-hooks-global-states 8.0.4 → 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/README.md +4 -6
- package/createContext.js +1 -1
- package/index.d.ts +1 -1
- package/package.json +1 -1
- package/useStableState.d.ts +7 -12
- package/useStableState.js +1 -1
package/README.md
CHANGED
|
@@ -8,16 +8,14 @@ Effortless **global state management** for `React` & `React Native` & `Preact`!
|
|
|
8
8
|
|
|
9
9
|
## 🔗 Explore More
|
|
10
10
|
|
|
11
|
-
- **[Live Example](https://johnny-quesada-developer.github.io/
|
|
12
|
-
- **[React Native Integration](https://www.npmjs.com/package/react-native-global-state-hooks/)** 📱
|
|
13
|
-
- **[Todo-List Example](https://github.com/johnny-quesada-developer/todo-list-with-global-hooks.git/)** 📝
|
|
11
|
+
- **[Live Example](https://johnny-quesada-developer.github.io/global-hooks-example/)** 📘
|
|
14
12
|
- **[Video Overview](https://www.youtube.com/watch?v=1UBqXk2MH8I/)** 🎥
|
|
15
|
-
- **[GitHub Repository](https://github.com/johnny-quesada-developer/global-hooks-example/)** 🧩
|
|
16
13
|
|
|
17
14
|
Works seamlessly with **React & React Native**:
|
|
18
15
|
|
|
19
|
-
- **[react-global-
|
|
20
|
-
- **[react-
|
|
16
|
+
- **[react-hooks-global-states](https://www.npmjs.com/package/react-hooks-global-states)** compatible with both `React & React Native`
|
|
17
|
+
- **[react-global-state-hooks](https://www.npmjs.com/package/react-global-state-hooks)** specific for web applications (**local-storage integration**).
|
|
18
|
+
- **[react-native-global-state-hooks](https://www.npmjs.com/package/react-native-global-state-hooks)** specific for React Native projects (**async-storage integration**).
|
|
21
19
|
|
|
22
20
|
---
|
|
23
21
|
|
package/createContext.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e
|
|
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
|
|
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
package/useStableState.d.ts
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
|
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);
|