react-hooks-global-states 15.0.1 → 15.0.2

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.
@@ -1,11 +1,33 @@
1
1
  import React, { type PropsWithChildren, Context as ReactContext } from 'react';
2
+ import { GlobalStore } from './GlobalStore';
2
3
  import type { BaseMetadata, GlobalStoreCallbacks as GlobalStoreCallbacksBase, UseHookOptions, AnyFunction, StoreTools, ReadonlyStateApi, SelectHook, ObservableFragment, StateApi, UnsubscribeCallback } from './types';
3
- export type GlobalStoreCallbacks<State, StateMutator, Metadata extends BaseMetadata> = GlobalStoreCallbacksBase<State, StateMutator, Metadata> & {
4
+ type GlobalStoreContextCallbacks<State, StateMutator, Metadata extends BaseMetadata> = {
4
5
  /**
5
- * @description Called when the store is created in a context
6
+ * @description Optional callback invoked after the context is created,
7
+ */
8
+ onCreated?: (
9
+ /**
10
+ * @description Full context instance
11
+ */
12
+ storeTools: ContextStoreTools<State, StateMutator extends AnyFunction ? null : StateMutator, Metadata>,
13
+ /**
14
+ * @description Underlying store instance
15
+ */
16
+ store: GlobalStore<State, Metadata, unknown, any>) => void;
17
+ /**
18
+ * @description Called when the context provider is mounted
19
+ */
20
+ onMounted?: (
21
+ /**
22
+ * @description Full context instance
23
+ */
24
+ storeTools: ContextStoreTools<State, StateMutator extends AnyFunction ? null : StateMutator, Metadata>,
25
+ /**
26
+ * @description Underlying store instance
6
27
  */
7
- onMounted?: (store: StoreTools<State, StateMutator, Metadata>) => void | UnsubscribeCallback;
28
+ store: GlobalStore<State, Metadata, unknown, any>) => void | UnsubscribeCallback;
8
29
  };
30
+ export type GlobalStoreCallbacks<State, StateMutator, Metadata extends BaseMetadata> = GlobalStoreCallbacksBase<State, StateMutator, Metadata> & GlobalStoreContextCallbacks<State, StateMutator, Metadata>;
9
31
  /**
10
32
  * @description Resulting type of the action collection configuration
11
33
  */
@@ -84,15 +106,7 @@ export type ContextProviderExtensions<State, StateMutator, Metadata extends Base
84
106
  * @description Optional initial state or initializer function, useful for testing, storybooks, etc.
85
107
  */
86
108
  value?: State | ((initialValue: State) => State);
87
- /**
88
- * @description Optional callback invoked after the context is created,
89
- */
90
- onCreated?: (
91
- /**
92
- * @description Full context instance
93
- */
94
- context: ContextStoreTools<State, StateMutator extends AnyFunction ? null : StateMutator, Metadata>) => void;
95
- }) => {
109
+ } & GlobalStoreContextCallbacks<State, StateMutator extends AnyFunction ? null : StateMutator, Metadata>) => {
96
110
  /**
97
111
  * Provider for the context
98
112
  */
@@ -110,6 +124,10 @@ export type ContextProviderExtensions<State, StateMutator, Metadata extends Base
110
124
  * @description Current context value
111
125
  */
112
126
  current: ContextStoreTools<State, StateMutator extends AnyFunction ? null : StateMutator, Metadata>;
127
+ /**
128
+ * @description Underlying store instance
129
+ */
130
+ instance: GlobalStore<State, Metadata, unknown, any>;
113
131
  };
114
132
  };
115
133
  };
@@ -123,15 +141,7 @@ export type ContextProvider<State, StateMutator, Metadata extends BaseMetadata>
123
141
  * @description Optional initial state or initializer function, useful for testing, storybooks, etc.
124
142
  */
125
143
  value?: State | ((initialValue: State) => State);
126
- /**
127
- * @description Optional callback invoked after the context is created,
128
- */
129
- onCreated?: (
130
- /**
131
- * @description Full context instance
132
- */
133
- context: ContextStoreTools<State, StateMutator extends AnyFunction ? null : StateMutator, Metadata>) => void;
134
- }>> & ContextProviderExtensions<State, StateMutator, Metadata>;
144
+ } & GlobalStoreContextCallbacks<State, StateMutator extends AnyFunction ? null : StateMutator, Metadata>>> & ContextProviderExtensions<State, StateMutator, Metadata>;
135
145
  /**
136
146
  * @description Represents a hook that returns a readonly state.
137
147
  */
package/createContext.js CHANGED
@@ -1 +1 @@
1
- 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){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.createContext=void 0;var n=r(155),a=r(778),u=o(r(506)),i=o(r(773)),l=o(r(78));function s(e,t){var r,o=this,u=null!==(r=null==t?void 0:t.name)&&void 0!==r?r:(0,l.default)(),i=function(){var r=o.api();return(0,n.useDebugValue)("".concat(o.displayName,":selector")),(0,n.useDebugValue)("".concat(u,":use")),(0,n.useMemo)((function(){return r.createSelectorHook(e,t)}),[r]).apply(void 0,arguments)},c={displayName:this.displayName,createSelectorHook:s.bind(i),api:function(){(0,n.useDebugValue)("".concat(o.displayName,":selector")),(0,n.useDebugValue)("".concat(u,":api"));var r=o.api();return(0,n.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:a.createSelectorHook.bind(o),createObservable:a.createObservable.bind(o)})}),[r])}};return Object.assign(i,c),i}t.createContext=function(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=(0,n.createContext)(null),c=null!==(t=r.name)&&void 0!==t?t:(0,l.default)(),d=function(t){var l=function(t){var o=t.value,l=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}(t,["value"]);(0,n.useDebugValue)("".concat(c,":Provider"));var s=(0,n.useMemo)((function(){var t,n,s=function(){return(0,u.default)(e)?e():e},c=(0,i.default)(o)?s():(0,u.default)(o)?o(s()):o,d=new a.GlobalStore(c,Object.assign(Object.assign({},r),{metadata:null!==(t=(0,u.default)(r.metadata)?r.metadata():r.metadata)&&void 0!==t?t:{}}));null===(n=l.onCreated)||void 0===n||n.call(l,d.storeTools);var v={use:f};return Object.assign(d.storeTools,v),d}),[]);return(0,n.useEffect)((function(){var e,t,o=null===(t=null===(e=r.callbacks)||void 0===e?void 0:e.onMounted)||void 0===t?void 0:t.call(e,s.storeTools);return function(){var e,t,r,n;null===(t=null===(e=s.callbacks)||void 0===e?void 0:e.onUnMount)||void 0===t||t.call(e,s),null==o||o(),null===(n=(r=s).__onUnMountContext)||void 0===n||n.call(r,s),s.dispose()}}),[s]),s}(t);return(0,n.createElement)(o.Provider,{value:l.use},t.children)};d.displayName="".concat(c,":Provider"),o.displayName="".concat(c);var v={makeProviderWrapper:function(e){var t={current:void 0};return{wrapper:function(r){var o=r.children;return(0,n.createElement)(d,{value:null==e?void 0:e.value,onCreated:function(r){var o;t.current=r,null===(o=null==e?void 0:e.onCreated)||void 0===o||o.call(e,r)}},o)},context:t}}},f=function(){(0,n.useDebugValue)("".concat(c,":use"));var e=(0,n.useContext)(o);if(!e)throw new Error("use hook must be used within a ContextProvider");return e.apply(void 0,arguments)},b=function(){(0,n.useDebugValue)("".concat(c,":api"));var e=(0,n.useContext)(o);if(!e)throw new Error("api hook must be used within a ContextProvider");return e},p={displayName:o.displayName,createSelectorHook:s.bind(f),api:b,select:function(){return f.apply(void 0,arguments)[0]},observable:function(){(0,n.useDebugValue)("".concat(c,":observable"));for(var e=b(),t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];var a=(0,n.useRef)(r);return a.current=r,(0,n.useMemo)((function(){var t,r,o;return e.createObservable((function(e){return(0,a.current[0])(e)}),{isEqualRoot:(null===(t=a.current[1])||void 0===t?void 0:t.isEqualRoot)?function(e,t){var r=a.current[1].isEqualRoot;return Boolean(r(e,t))}:void 0,isEqual:(null===(r=a.current[1])||void 0===r?void 0:r.isEqual)?function(e,t){var r=a.current[1].isEqual;return Boolean(r(e,t))}:void 0,name:null===(o=a.current[1])||void 0===o?void 0:o.name})}),[e])},actions:function(){return b().actions}};return Object.assign(d,v),Object.assign(f,p),{use:f,Provider:d,Context:o}},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"]);
1
+ 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)(),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)(),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"]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-hooks-global-states",
3
- "version": "15.0.1",
3
+ "version": "15.0.2",
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",