react-native-global-state-hooks 2.0.5 → 2.0.6
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/lib/GlobalStore.d.ts
CHANGED
|
@@ -35,12 +35,10 @@ export declare class GlobalStore<IState, IPersist extends string | null, IAction
|
|
|
35
35
|
** [subscriber-update-callback, hook]
|
|
36
36
|
*/
|
|
37
37
|
protected static batchedUpdates: [() => void, object][];
|
|
38
|
-
protected globalSetter: (setter: IState | ((state: IState) => IState)
|
|
39
|
-
protected globalSetterAsync: (setter: IState | ((state: IState) => IState)) => Promise<IState>;
|
|
38
|
+
protected globalSetter: (setter: IState | ((state: IState) => IState)) => void;
|
|
40
39
|
protected globalSetterToPersistStoreAsync: (setter: IState | ((state: IState) => IState)) => Promise<IState>;
|
|
41
|
-
static ExecutePendingBatchesCallbacks: (() => void)[];
|
|
42
40
|
/**
|
|
43
|
-
* React native cannot use unstable_batchedUpdates
|
|
41
|
+
* React native cannot use unstable_batchedUpdates
|
|
44
42
|
*/
|
|
45
43
|
static ExecutePendingBatches: () => void;
|
|
46
44
|
protected getActions: <IApi extends IGlobalStore.IActionCollectionResult<IState, IGlobalStore.IActionCollectionConfig<IState>>>() => IApi;
|
package/lib/GlobalStore.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalStore.d.ts","sourceRoot":"","sources":["../src/GlobalStore.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAEnD,oBAAY,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAA;AAED,eAAO,MAAM,QAAQ,uDAUpB,CAAC;AAEF,qBAAa,WAAW,CACtB,MAAM,EACN,QAAQ,SAAS,MAAM,GAAG,IAAI,EAC9B,QAAQ,SAAS,YAAY,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAC3E,YAAW,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAS9D,SAAS,CAAC,KAAK,EAAE,MAAM;IACvB,SAAS,CAAC,OAAO,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IAE/B;;MAEE;IACK,oBAAoB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IAdzD,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAM;IAE5D,IAAW,cAAc,IAAI,OAAO,CAEnC;gBAGW,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,QAA2B,EACvC,cAAc,GAAE,QAA2B;IAElD;;MAEE;IACK,oBAAoB,GAAE,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,MAAM,GAAG,IAAI,CAAc;IAG7E,OAAO,KAAK,wBAAwB,GAEnC;IAED,OAAO,CAAC,eAAe,CAAiC;IAExD,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAQ;IAElE,SAAS,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;cAIvC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;cA2BpC,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIxD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUlD,SAAS,CAAC,YAAY,QAAO,MAAM,CAAqC;IAEjE,OAAO,sRA2BZ;IAEK,gBAAgB,mLAGV,QAAQ,SAAS,MAAM,GAAG,QAAQ,MAAM,CAAC,GAAG,MAAM,oDAO7D;IAEF,OAAO,CAAC,kBAAkB,CAA0G;IAEpI,SAAS,KAAK,iBAAiB,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAY3H;IAED;;MAEE;IACF,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,IAAI,EAAE,MAAM,CAAC,EAAE,CAAM;IAE7D,SAAS,CAAC,YAAY,6BAA8B,MAAM,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"GlobalStore.d.ts","sourceRoot":"","sources":["../src/GlobalStore.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAEnD,oBAAY,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAA;AAED,eAAO,MAAM,QAAQ,uDAUpB,CAAC;AAEF,qBAAa,WAAW,CACtB,MAAM,EACN,QAAQ,SAAS,MAAM,GAAG,IAAI,EAC9B,QAAQ,SAAS,YAAY,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAC3E,YAAW,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAS9D,SAAS,CAAC,KAAK,EAAE,MAAM;IACvB,SAAS,CAAC,OAAO,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IAE/B;;MAEE;IACK,oBAAoB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IAdzD,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAM;IAE5D,IAAW,cAAc,IAAI,OAAO,CAEnC;gBAGW,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,QAA2B,EACvC,cAAc,GAAE,QAA2B;IAElD;;MAEE;IACK,oBAAoB,GAAE,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,MAAM,GAAG,IAAI,CAAc;IAG7E,OAAO,KAAK,wBAAwB,GAEnC;IAED,OAAO,CAAC,eAAe,CAAiC;IAExD,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAQ;IAElE,SAAS,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;cAIvC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;cA2BpC,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIxD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUlD,SAAS,CAAC,YAAY,QAAO,MAAM,CAAqC;IAEjE,OAAO,sRA2BZ;IAEK,gBAAgB,mLAGV,QAAQ,SAAS,MAAM,GAAG,QAAQ,MAAM,CAAC,GAAG,MAAM,oDAO7D;IAEF,OAAO,CAAC,kBAAkB,CAA0G;IAEpI,SAAS,KAAK,iBAAiB,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAY3H;IAED;;MAEE;IACF,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,IAAI,EAAE,MAAM,CAAC,EAAE,CAAM;IAE7D,SAAS,CAAC,YAAY,6BAA8B,MAAM,KAAK,MAAM,WAoBnE;IAEF,SAAS,CAAC,+BAA+B,6BAAoC,MAAM,KAAK,MAAM,MAAI,QAAQ,MAAM,CAAC,CAK/G;IAEF;;MAEE;IACF,MAAM,CAAC,qBAAqB,aAM3B;IAED,SAAS,CAAC,UAAU,sHA0BlB;IAEK,oBAAoB,QAAa,QAAQ,IAAI,CAAC,CAIpD;CAEF;AAED,eAAe,WAAW,CAAC"}
|
package/lib/GlobalStore.js
CHANGED
|
@@ -54,7 +54,7 @@ class GlobalStore {
|
|
|
54
54
|
];
|
|
55
55
|
};
|
|
56
56
|
this._stateOrchestrator = null;
|
|
57
|
-
this.globalSetter = (setter
|
|
57
|
+
this.globalSetter = (setter) => {
|
|
58
58
|
// avoid perform multiple updates over the same state
|
|
59
59
|
GlobalStore.batchedUpdates = GlobalStore.batchedUpdates.filter(([, hook]) => {
|
|
60
60
|
const isSameHook = hook === this;
|
|
@@ -68,12 +68,10 @@ class GlobalStore {
|
|
|
68
68
|
this.state = newState;
|
|
69
69
|
// batch store updates
|
|
70
70
|
GlobalStore.batchedUpdates.push([() => this.subscribers.forEach((updateChild) => updateChild(newState)), this]);
|
|
71
|
-
GlobalStore.ExecutePendingBatchesCallbacks.push(callback);
|
|
72
71
|
GlobalStore.ExecutePendingBatches();
|
|
73
72
|
};
|
|
74
|
-
this.globalSetterAsync = (setter) => (0, tslib_1.__awaiter)(this, void 0, void 0, function* () { return new Promise((resolve) => this.globalSetter(setter, () => resolve(this.state))); });
|
|
75
73
|
this.globalSetterToPersistStoreAsync = (setter) => (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
76
|
-
|
|
74
|
+
this.globalSetter(setter);
|
|
77
75
|
yield this.setAsyncStoreItem();
|
|
78
76
|
return this.state;
|
|
79
77
|
});
|
|
@@ -81,7 +79,7 @@ class GlobalStore {
|
|
|
81
79
|
const actions = this.actions;
|
|
82
80
|
// Setter is allways async because of the render batch
|
|
83
81
|
// but we are typing the setter as synchronous to avoid the developer has extra complexity that useState do not handle
|
|
84
|
-
const setter = this.isPersistStore ? this.globalSetterToPersistStoreAsync : this.
|
|
82
|
+
const setter = this.isPersistStore ? this.globalSetterToPersistStoreAsync : this.globalSetter;
|
|
85
83
|
return Object.keys(actions).reduce((accumulator, key) => (Object.assign(Object.assign({}, accumulator), { [key]: (...parameres) => (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
86
84
|
let promise;
|
|
87
85
|
const setterWrapper = (value) => {
|
|
@@ -124,7 +122,7 @@ class GlobalStore {
|
|
|
124
122
|
/** This allow users to review what is been stored */
|
|
125
123
|
value = (_a = this.onPersistStorageLoad(value)) !== null && _a !== void 0 ? _a : value;
|
|
126
124
|
const newState = (0, json_storage_formatter_1.formatFromStore)(value);
|
|
127
|
-
yield this.
|
|
125
|
+
yield this.globalSetter(newState);
|
|
128
126
|
}
|
|
129
127
|
resolve(this.state);
|
|
130
128
|
}))();
|
|
@@ -156,7 +154,7 @@ class GlobalStore {
|
|
|
156
154
|
this._stateOrchestrator = this.globalSetterToPersistStoreAsync;
|
|
157
155
|
}
|
|
158
156
|
else {
|
|
159
|
-
this._stateOrchestrator = this.
|
|
157
|
+
this._stateOrchestrator = this.globalSetter;
|
|
160
158
|
}
|
|
161
159
|
return this._stateOrchestrator;
|
|
162
160
|
}
|
|
@@ -166,16 +164,13 @@ exports.GlobalStore = GlobalStore;
|
|
|
166
164
|
** [subscriber-update-callback, hook]
|
|
167
165
|
*/
|
|
168
166
|
GlobalStore.batchedUpdates = [];
|
|
169
|
-
GlobalStore.ExecutePendingBatchesCallbacks = [];
|
|
170
167
|
/**
|
|
171
|
-
* React native cannot use unstable_batchedUpdates
|
|
168
|
+
* React native cannot use unstable_batchedUpdates
|
|
172
169
|
*/
|
|
173
|
-
GlobalStore.ExecutePendingBatches = (
|
|
170
|
+
GlobalStore.ExecutePendingBatches = () => {
|
|
174
171
|
GlobalStore.batchedUpdates.forEach(([execute]) => {
|
|
175
172
|
execute();
|
|
176
173
|
});
|
|
177
174
|
GlobalStore.batchedUpdates = [];
|
|
178
|
-
|
|
179
|
-
GlobalStore.ExecutePendingBatchesCallbacks = [];
|
|
180
|
-
}, 0);
|
|
175
|
+
};
|
|
181
176
|
exports.default = GlobalStore;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @param {StateSetter<IState>} setter - add a new value to the state
|
|
3
3
|
* @returns {void} result - void
|
|
4
4
|
*/
|
|
5
|
-
export declare type StateSetter<IState> = (setter: IState | ((state: IState) => IState)) =>
|
|
5
|
+
export declare type StateSetter<IState> = (setter: IState | ((state: IState) => IState)) => void;
|
|
6
6
|
/**
|
|
7
7
|
* This is the structure required by the API actions in order to be able to capture action parameters and inject state setter into actions.
|
|
8
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalStoreTypes.d.ts","sourceRoot":"","sources":["../src/GlobalStoreTypes.ts"],"names":[],"mappings":"AAAA;;;EAGE;AACF,oBAAY,WAAW,CAAC,MAAM,IAAI,CAChC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,KACzC,
|
|
1
|
+
{"version":3,"file":"GlobalStoreTypes.d.ts","sourceRoot":"","sources":["../src/GlobalStoreTypes.ts"],"names":[],"mappings":"AAAA;;;EAGE;AACF,oBAAY,WAAW,CAAC,MAAM,IAAI,CAChC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,KACzC,IAAI,CAAC;AAEV;;EAEE;AACF,oBAAY,aAAa,CAAC,MAAM,IAAI,CAElC,GAAG,MAAM,EAAE,GAAG,EAAE,KACb,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE7E;;EAEE;AACF,MAAM,WAAW,uBAAuB,CAAC,MAAM;IAC7C,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;CACtC;AAED;;EAEE;AACF,oBAAY,uBAAuB,CAAC,MAAM,EAAE,QAAQ,SAAS,uBAAuB,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI;KAEpG,GAAG,IAAI,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,OAAO;CACvD,CAAC;AAEF;;EAEE;AACF,oBAAY,WAAW,CACrB,MAAM,EACN,QAAQ,SAAS,uBAAuB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,EAC9D,IAAI,SAAS,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,QAAQ,SAAS,IAAI,GAAG,IAAI,GAAG,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,IACtI,IAAI,SAAS,IAAI,GACjB,WAAW,CAAC,MAAM,CAAC,GACnB,QAAQ,SAAS,uBAAuB,CAAC,MAAM,CAAC,GAChD,IAAI,SAAS,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,GACpD,IAAI,GACJ,WAAW,CAAC,MAAM,CAAC,GACrB,WAAW,CAAC,MAAM,CAAC,CAAC;AAExB;;;;;;;;;;;;IAYI;AACJ,MAAM,WAAW,YAAY,CAC3B,MAAM,EACN,QAAQ,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,EACrC,QAAQ,SAAS,uBAAuB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI;IAG9D,cAAc,EAAE,QAAQ,CAAC;IAEzB,cAAc,EAAE,OAAO,CAAC;IAExB;;MAEE;IACF,oBAAoB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAExD;;;MAGE;IACF,OAAO,EAAE,CAAC,IAAI,SAAS,QAAQ,SAAS,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,OAAO,MAAM;QAC/I,MAAM;QACN,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;QACnC,QAAQ,SAAS,IAAI,GAAG,KAAK,GAAG,IAAI,SAAS,IAAI,GAAG,OAAO,GAAG,IAAI;KACnE,CAAC;IAEF;;;;MAIE;IACF,gBAAgB,EAAE,CAAC,IAAI,SAAS,QAAQ,SAAS,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,OAAO;QAClJ,MAAM,QAAQ,SAAS,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM;QACxD,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;KACpC,CAAC;IAEF,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-global-state-hooks",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.6",
|
|
4
4
|
"description": "This is a package to easily handling global-state across your react-native-components No-redux",
|
|
5
5
|
"main": "lib/GlobalStore.js",
|
|
6
6
|
"files": [
|
|
@@ -65,6 +65,6 @@
|
|
|
65
65
|
"react": "workspace:*"
|
|
66
66
|
},
|
|
67
67
|
"dependencies": {
|
|
68
|
-
"json-storage-formatter": "^1.0.
|
|
68
|
+
"json-storage-formatter": "^1.0.2"
|
|
69
69
|
}
|
|
70
70
|
}
|