react-hooks-global-states 15.0.17 → 15.0.18
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 -0
- package/createContext.js +1 -1
- package/package.json +1 -1
- package/types.d.ts +12 -0
package/README.md
CHANGED
|
@@ -905,6 +905,9 @@ const DataContext = createContext([], {
|
|
|
905
905
|
console.log('Provider unmounting!');
|
|
906
906
|
};
|
|
907
907
|
},
|
|
908
|
+
onRender: (store) => {
|
|
909
|
+
console.log('Provider rendered!');
|
|
910
|
+
},
|
|
908
911
|
},
|
|
909
912
|
});
|
|
910
913
|
|
|
@@ -917,6 +920,7 @@ function App() {
|
|
|
917
920
|
console.log('Mounted!');
|
|
918
921
|
return () => console.log('Cleanup!');
|
|
919
922
|
}}
|
|
923
|
+
onRender={(store) => console.log('Executes on every provider render!')}
|
|
920
924
|
>
|
|
921
925
|
<Content />
|
|
922
926
|
</DataContext.Provider>
|
package/createContext.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=(e,t,o,r)=>(()=>{"use strict";var a={12:t=>{t.exports=e},78:e=>{e.exports=t},506:e=>{e.exports=o},695:function(e,t,o){var r=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(o[r[a]]=e[r[a]])}return o},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.createContext=void 0;const n=o(12),s=o(778),l=a(o(506)),u=a(o(78));function i(e,t){var o;const r=null!==(o=null==t?void 0:t.name)&&void 0!==o?o:(0,u.default)("sh:"),a=(...o)=>{const a=this.api();return(0,n.useDebugValue)(`${this.displayName}:selector`),(0,n.useDebugValue)(`${r}:use`),(0,n.useMemo)((()=>a.createSelectorHook(e,t)),[a])(...o)},l={displayName:this.displayName,createSelectorHook:i.bind(a),api:()=>{(0,n.useDebugValue)(`${this.displayName}:selector`),(0,n.useDebugValue)(`${r}:api`);const o=this.api();return(0,n.useMemo)((()=>{const r=o.createObservable(e,t);return Object.assign(Object.assign({},o),{getState:()=>r.getState(),subscribe:r.subscribe.bind(r),createSelectorHook:s.createSelectorHook.bind(r),createObservable:s.createObservable.bind(r)})}),[o])}};return Object.assign(a,l),a}t.createContext=(e,t={})=>{var o;const a=(0,n.createContext)(null),c=null!==(o=t.name)&&void 0!==o?o:(0,u.default)("ctx:"),d=()=>(0,l.default)(e)?e():e,v=e=>Object.prototype.hasOwnProperty.call(e,"value"),b=e=>{const o=(e=>{(0,n.useDebugValue)(`${c}:Provider`);const[
|
|
1
|
+
var e,t;e=this,t=(e,t,o,r)=>(()=>{"use strict";var a={12:t=>{t.exports=e},78:e=>{e.exports=t},506:e=>{e.exports=o},695:function(e,t,o){var r=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(o[r[a]]=e[r[a]])}return o},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.createContext=void 0;const n=o(12),s=o(778),l=a(o(506)),u=a(o(78));function i(e,t){var o;const r=null!==(o=null==t?void 0:t.name)&&void 0!==o?o:(0,u.default)("sh:"),a=(...o)=>{const a=this.api();return(0,n.useDebugValue)(`${this.displayName}:selector`),(0,n.useDebugValue)(`${r}:use`),(0,n.useMemo)((()=>a.createSelectorHook(e,t)),[a])(...o)},l={displayName:this.displayName,createSelectorHook:i.bind(a),api:()=>{(0,n.useDebugValue)(`${this.displayName}:selector`),(0,n.useDebugValue)(`${r}:api`);const o=this.api();return(0,n.useMemo)((()=>{const r=o.createObservable(e,t);return Object.assign(Object.assign({},o),{getState:()=>r.getState(),subscribe:r.subscribe.bind(r),createSelectorHook:s.createSelectorHook.bind(r),createObservable:s.createObservable.bind(r)})}),[o])}};return Object.assign(a,l),a}t.createContext=(e,t={})=>{var o;const a=(0,n.createContext)(null),c=null!==(o=t.name)&&void 0!==o?o:(0,u.default)("ctx:"),d=()=>(0,l.default)(e)?e():e,v=e=>Object.prototype.hasOwnProperty.call(e,"value"),b=e=>{const o=(e=>{var o;(0,n.useDebugValue)(`${c}:Provider`);const[r]=(0,n.useState)((()=>{var o,r,a,n;const u=v(e)?(0,l.default)(e.value)?e.value(d()):e.value:d(),i=new s.GlobalStore(u,Object.assign(Object.assign({},t),{metadata:null!==(o=(0,l.default)(t.metadata)?t.metadata():t.metadata)&&void 0!==o?o:{}})),c={use:f};return Object.assign(i.storeTools,c),null===(a=null===(r=t.callbacks)||void 0===r?void 0:r.onCreated)||void 0===a||a.call(r,i.storeTools,i),null===(n=e.onCreated)||void 0===n||n.call(e,i.storeTools,i),i}));return(0,n.useLayoutEffect)((()=>{v(e)&&!(0,l.default)(e.value)&&r.setState(e.value)}),[r,e.value]),(0,n.useEffect)((()=>{var o,a,n;const s=[null===(a=null===(o=t.callbacks)||void 0===o?void 0:o.onMounted)||void 0===a?void 0:a.call(o,r.storeTools,r),null===(n=e.onMounted)||void 0===n?void 0:n.call(e,r.storeTools,r)].filter(Boolean);return()=>{var e,t,o,a;null===(t=null===(e=r.callbacks)||void 0===e?void 0:e.onUnMount)||void 0===t||t.call(e,r),s.forEach((e=>null==e?void 0:e())),null===(a=(o=r).__onUnMountContext)||void 0===a||a.call(o,r)}}),[r]),null===(o=e.onRender)||void 0===o||o.call(e,r.storeTools,r),r})(e);return(0,n.createElement)(a.Provider,{value:o.use},e.children)};b.displayName=`${c}:Provider`,a.displayName=`${c}`;const p={makeProviderWrapper:e=>{const t={current:void 0,instance:void 0};return{wrapper:o=>{var{children:a}=o,s=r(o,["children"]);return(0,n.createElement)(b,Object.assign(Object.assign(Object.assign({},e),s),{onCreated:(o,r)=>{var a;t.current=o,t.instance=r,null===(a=null==e?void 0:e.onCreated)||void 0===a||a.call(e,o,r)}}),a)},context:t}}},f=(...e)=>{(0,n.useDebugValue)(`${c}:use`);const t=(0,n.useContext)(a);if(!t)throw new Error("use hook must be used within a ContextProvider");return t(...e)},m=()=>{(0,n.useDebugValue)(`${c}:api`);const e=(0,n.useContext)(a);if(!e)throw new Error("api hook must be used within a ContextProvider");return e},j={displayName:a.displayName,createSelectorHook:i.bind(f),api:m,select:(...e)=>f(...e)[0],observable:(...e)=>{(0,n.useDebugValue)(`${c}:observable`);const t=m(),o=(0,n.useRef)(e);return o.current=e,(0,n.useMemo)((()=>{var e,r,a;return t.createObservable((e=>(0,o.current[0])(e)),{isEqualRoot:(null===(e=o.current[1])||void 0===e?void 0:e.isEqualRoot)?(e,t)=>{const r=o.current[1].isEqualRoot;return Boolean(r(e,t))}:void 0,isEqual:(null===(r=o.current[1])||void 0===r?void 0:r.isEqual)?(e,t)=>{const r=o.current[1].isEqual;return Boolean(r(e,t))}:void 0,name:null===(a=o.current[1])||void 0===a?void 0:a.name})}),[t])},actions:()=>m().actions};return Object.assign(b,p),Object.assign(f,j),{use:f,Provider:b,Context:a}},t.default=t.createContext},778:e=>{e.exports=r}},n={};return function e(t){var o=n[t];if(void 0!==o)return o.exports;var r=n[t]={exports:{}};return a[t].call(r.exports,r,r.exports,e),r.exports}(695)})(),"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("./uniqueId.js"),require("json-storage-formatter/isFunction"),require("./GlobalStore.js")):"function"==typeof define&&define.amd?define(["react","./uniqueId.js","json-storage-formatter/isFunction","./GlobalStore.js"],t):"object"==typeof exports?exports["react-hooks-global-states"]=t(require("react"),require("./uniqueId.js"),require("json-storage-formatter/isFunction"),require("./GlobalStore.js")):e["react-hooks-global-states"]=t(e.React,e["./uniqueId.js"],e["json-storage-formatter/isFunction"],e["./GlobalStore.js"]);
|
package/package.json
CHANGED
package/types.d.ts
CHANGED
|
@@ -410,6 +410,18 @@ export type GlobalStoreContextCallbacks<State, StateMutator, Metadata extends Ba
|
|
|
410
410
|
* @description Underlying store instance
|
|
411
411
|
*/
|
|
412
412
|
store: GlobalStore<State, Metadata, unknown, Any>) => void | UnsubscribeCallback;
|
|
413
|
+
/**
|
|
414
|
+
* @description Called every time the context provider is rendered
|
|
415
|
+
*/
|
|
416
|
+
onRender?: (
|
|
417
|
+
/**
|
|
418
|
+
* @description Full context instance
|
|
419
|
+
*/
|
|
420
|
+
storeTools: ContextStoreTools<State, StateMutator extends AnyFunction ? null : StateMutator, Metadata>,
|
|
421
|
+
/**
|
|
422
|
+
* @description Underlying store instance
|
|
423
|
+
*/
|
|
424
|
+
store: GlobalStore<State, Metadata, unknown, Any>) => void;
|
|
413
425
|
};
|
|
414
426
|
export type ContextStoreCallbacks<State, StateMutator, Metadata extends BaseMetadata> = GlobalStoreCallbacks<State, StateMutator, Metadata> & GlobalStoreContextCallbacks<State, StateMutator, Metadata>;
|
|
415
427
|
/**
|