react-native-global-state-hooks 7.1.0 → 8.0.1
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/GlobalStore.d.ts +29 -0
- package/GlobalStore.js +1 -0
- package/GlobalStoreAbstract.d.ts +9 -0
- package/GlobalStoreAbstract.js +1 -0
- package/README.md +84 -537
- package/asyncStorageWrapper.d.ts +8 -0
- package/asyncStorageWrapper.js +1 -0
- package/bundle.js +1 -0
- package/combineRetrieverAsynchronously.d.ts +1 -0
- package/combineRetrieverAsynchronously.js +1 -0
- package/combineRetrieverEmitterAsynchronously.d.ts +1 -0
- package/combineRetrieverEmitterAsynchronously.js +1 -0
- package/createContext.d.ts +1 -0
- package/createContext.js +1 -0
- package/createCustomGlobalState.d.ts +22 -0
- package/createCustomGlobalState.js +1 -0
- package/createGlobalState.d.ts +20 -0
- package/createGlobalState.js +1 -0
- package/debounce.d.ts +1 -0
- package/debounce.js +1 -0
- package/getAsyncStorageItem.d.ts +2 -0
- package/getAsyncStorageItem.js +1 -0
- package/index.d.ts +23 -0
- package/isRecord.d.ts +1 -0
- package/isRecord.js +1 -0
- package/package.json +94 -8
- package/setAsyncStorageItem.d.ts +2 -0
- package/setAsyncStorageItem.js +1 -0
- package/shallowCompare.d.ts +1 -0
- package/shallowCompare.js +1 -0
- package/throwWrongKeyOnActionCollectionConfig.d.ts +1 -0
- package/throwWrongKeyOnActionCollectionConfig.js +1 -0
- package/types.d.ts +83 -0
- package/types.js +1 -0
- package/uniqueId.d.ts +1 -0
- package/uniqueId.js +1 -0
- package/uniqueSymbol.d.ts +1 -0
- package/uniqueSymbol.js +1 -0
- package/useConstantValueRef.d.ts +1 -0
- package/useConstantValueRef.js +1 -0
- package/webpack.config.js +89 -0
- package/lib/bundle.js +0 -2
- package/lib/bundle.js.LICENSE.txt +0 -1
- package/lib/src/GlobalStore.context.d.ts +0 -6
- package/lib/src/GlobalStore.d.ts +0 -31
- package/lib/src/GlobalStore.functionHooks.d.ts +0 -19
- package/lib/src/GlobalStore.types.d.ts +0 -124
- package/lib/src/GlobalStore.utils.d.ts +0 -16
- package/lib/src/GlobalStoreAbstract.d.ts +0 -16
- package/lib/src/index.d.ts +0 -12
package/package.json
CHANGED
|
@@ -1,14 +1,93 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-global-state-hooks",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.1",
|
|
4
4
|
"description": "This is a package to easily handling global-state across your react-native-components No-redux... The library now includes @react-native-async-storage/async-storage to persist your state across sessions... if you want to keep using the old version without async-storage or react-native dependencies just use version 5.0.15 or user react-hooks-global-states instead",
|
|
5
|
-
"main": "
|
|
6
|
-
"types": "
|
|
5
|
+
"main": "./bundle.js",
|
|
6
|
+
"types": "./index.d.ts",
|
|
7
|
+
"sideEffects": false,
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./bundle.js",
|
|
11
|
+
"require": "./bundle.js",
|
|
12
|
+
"types": "./index.d.ts"
|
|
13
|
+
},
|
|
14
|
+
"./asyncStorageWrapper": {
|
|
15
|
+
"import": "./asyncStorageWrapper.js",
|
|
16
|
+
"require": "./asyncStorageWrapper.js",
|
|
17
|
+
"types": "./asyncStorageWrapper.d.ts"
|
|
18
|
+
},
|
|
19
|
+
"./combineRetrieverAsynchronously": {
|
|
20
|
+
"import": "./combineRetrieverAsynchronously.js",
|
|
21
|
+
"require": "./combineRetrieverAsynchronously.js",
|
|
22
|
+
"types": "./combineRetrieverAsynchronously.d.ts"
|
|
23
|
+
},
|
|
24
|
+
"./combineRetrieverEmitterAsynchronously": {
|
|
25
|
+
"import": "./combineRetrieverEmitterAsynchronously.js",
|
|
26
|
+
"require": "./combineRetrieverEmitterAsynchronously.js",
|
|
27
|
+
"types": "./combineRetrieverEmitterAsynchronously.d.ts"
|
|
28
|
+
},
|
|
29
|
+
"./createContext": {
|
|
30
|
+
"import": "./createContext.js",
|
|
31
|
+
"require": "./createContext.js",
|
|
32
|
+
"types": "./createContext.d.ts"
|
|
33
|
+
},
|
|
34
|
+
"./createCustomGlobalState": {
|
|
35
|
+
"import": "./createCustomGlobalState.js",
|
|
36
|
+
"require": "./createCustomGlobalState.js",
|
|
37
|
+
"types": "./createCustomGlobalState.d.ts"
|
|
38
|
+
},
|
|
39
|
+
"./createGlobalState": {
|
|
40
|
+
"import": "./createGlobalState.js",
|
|
41
|
+
"require": "./createGlobalState.js",
|
|
42
|
+
"types": "./createGlobalState.d.ts"
|
|
43
|
+
},
|
|
44
|
+
"./debounce": {
|
|
45
|
+
"import": "./debounce.js",
|
|
46
|
+
"require": "./debounce.js",
|
|
47
|
+
"types": "./debounce.d.ts"
|
|
48
|
+
},
|
|
49
|
+
"./getAsyncStorageItem": {
|
|
50
|
+
"import": "./getAsyncStorageItem.js",
|
|
51
|
+
"require": "./getAsyncStorageItem.js",
|
|
52
|
+
"types": "./getAsyncStorageItem.d.ts"
|
|
53
|
+
},
|
|
54
|
+
"./setAsyncStorageItem": {
|
|
55
|
+
"import": "./setAsyncStorageItem.js",
|
|
56
|
+
"require": "./setAsyncStorageItem.js",
|
|
57
|
+
"types": "./setAsyncStorageItem.d.ts"
|
|
58
|
+
},
|
|
59
|
+
"./GlobalStore": {
|
|
60
|
+
"import": "./GlobalStore.js",
|
|
61
|
+
"require": "./GlobalStore.js",
|
|
62
|
+
"types": "./GlobalStore.d.ts"
|
|
63
|
+
},
|
|
64
|
+
"./GlobalStoreAbstract": {
|
|
65
|
+
"import": "./GlobalStoreAbstract.js",
|
|
66
|
+
"require": "./GlobalStoreAbstract.js",
|
|
67
|
+
"types": "./GlobalStoreAbstract.d.ts"
|
|
68
|
+
},
|
|
69
|
+
"./isRecord": {
|
|
70
|
+
"import": "./isRecord.js",
|
|
71
|
+
"require": "./isRecord.js",
|
|
72
|
+
"types": "./isRecord.d.ts"
|
|
73
|
+
},
|
|
74
|
+
"./shallowCompare": {
|
|
75
|
+
"import": "./shallowCompare.js",
|
|
76
|
+
"require": "./shallowCompare.js",
|
|
77
|
+
"types": "./shallowCompare.d.ts"
|
|
78
|
+
},
|
|
79
|
+
"./throwWrongKeyOnActionCollectionConfig": {
|
|
80
|
+
"import": "./throwWrongKeyOnActionCollectionConfig.js",
|
|
81
|
+
"require": "./throwWrongKeyOnActionCollectionConfig.js",
|
|
82
|
+
"types": "./throwWrongKeyOnActionCollectionConfig.d.ts"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
7
85
|
"files": [
|
|
8
|
-
"
|
|
86
|
+
"*.js",
|
|
87
|
+
"*.d.ts"
|
|
9
88
|
],
|
|
10
89
|
"scripts": {
|
|
11
|
-
"test:
|
|
90
|
+
"test:debug:no-watch": "node --inspect-brk node_modules/.bin/jest --no-watchman --runInBand",
|
|
12
91
|
"test:debug": "node --inspect-brk node_modules/.bin/jest --watch --runInBand",
|
|
13
92
|
"test:quick": "jest --maxWorkers=4 -c --no-watchman -u",
|
|
14
93
|
"test:coverage": "jest --maxWorkers=4 -c --colors --no-watchman --verbose --coverage",
|
|
@@ -17,7 +96,8 @@
|
|
|
17
96
|
"version": "npm run format && git add -A src",
|
|
18
97
|
"postversion": "git push && git push --tags",
|
|
19
98
|
"lint": "eslint src --ext .js,.jsx,.ts,.tsx --max-warnings=0",
|
|
20
|
-
"lint:fix": "eslint --fix src --ext .js,.jsx,.ts,.tsx --max-warnings=0"
|
|
99
|
+
"lint:fix": "eslint --fix src --ext .js,.jsx,.ts,.tsx --max-warnings=0",
|
|
100
|
+
"clean": "find . -maxdepth 1 -type f \\( -name '*.js' -o -name '*.d.ts' \\) ! -name 'webpack.config.js' -exec rm {} +"
|
|
21
101
|
},
|
|
22
102
|
"repository": {
|
|
23
103
|
"type": "git",
|
|
@@ -57,8 +137,8 @@
|
|
|
57
137
|
"@typescript-eslint/eslint-plugin": "^4.9.1",
|
|
58
138
|
"@typescript-eslint/parser": "^4.9.1",
|
|
59
139
|
"babel-loader": "^9.1.2",
|
|
60
|
-
"cancelable-promise-jq": "^1.0.4",
|
|
61
140
|
"clean-webpack-plugin": "^4.0.0",
|
|
141
|
+
"easy-cancelable-promise": "^1.0.2",
|
|
62
142
|
"eslint": "^7.15.0",
|
|
63
143
|
"eslint-config-airbnb": "^18.2.1",
|
|
64
144
|
"eslint-plugin-import": "^2.22.1",
|
|
@@ -66,6 +146,8 @@
|
|
|
66
146
|
"eslint-plugin-react": "^7.21.5",
|
|
67
147
|
"eslint-plugin-react-hooks": "^4.2.0",
|
|
68
148
|
"jest": "^29.7.0",
|
|
149
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
150
|
+
"json-storage-formatter": "^2.0.5",
|
|
69
151
|
"react": "^17.0.0",
|
|
70
152
|
"react-native": ">=0.71.6",
|
|
71
153
|
"react-test-renderer": "^17.0.1",
|
|
@@ -78,6 +160,7 @@
|
|
|
78
160
|
},
|
|
79
161
|
"peerDependencies": {
|
|
80
162
|
"@react-native-async-storage/async-storage": ">=1.17.11",
|
|
163
|
+
"json-storage-formatter": "^2.0.5",
|
|
81
164
|
"react": ">=17.0.0",
|
|
82
165
|
"react-native": ">=0.71.6"
|
|
83
166
|
},
|
|
@@ -89,10 +172,13 @@
|
|
|
89
172
|
"optional": false
|
|
90
173
|
},
|
|
91
174
|
"@react-native-async-storage/async-storage": {
|
|
175
|
+
"optional": true
|
|
176
|
+
},
|
|
177
|
+
"json-storage-formatter": {
|
|
92
178
|
"optional": false
|
|
93
179
|
}
|
|
94
180
|
},
|
|
95
181
|
"dependencies": {
|
|
96
|
-
"react-hooks-global-states": "
|
|
182
|
+
"react-hooks-global-states": "^6.0.7"
|
|
97
183
|
}
|
|
98
184
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("@react-native-async-storage/async-storage")):"function"==typeof define&&define.amd?define(["@react-native-async-storage/async-storage"],e):"object"==typeof exports?exports["react-native-global-state-hooks"]=e(require("@react-native-async-storage/async-storage")):t["react-native-global-state-hooks"]=e(t["@react-native-async-storage/async-storage"])}(this,(t=>(()=>{var e={118:(t,e,r)=>{"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(){o=function(){return e};var t,e={},r=Object.prototype,i=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},u="function"==typeof Symbol?Symbol:{},c=u.iterator||"@@iterator",s=u.asyncIterator||"@@asyncIterator",f=u.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function p(t,e,r,n){var o=e&&e.prototype instanceof b?e:b,i=Object.create(o.prototype),u=new I(n||[]);return a(i,"_invoke",{value:L(t,r,u)}),i}function y(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=p;var v="suspendedStart",d="suspendedYield",h="executing",m="completed",g={};function b(){}function w(){}function x(){}var S={};l(S,c,(function(){return this}));var j=Object.getPrototypeOf,O=j&&j(j(N([])));O&&O!==r&&i.call(O,c)&&(S=O);var _=x.prototype=b.prototype=Object.create(S);function P(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function E(t,e){function r(o,a,u,c){var s=y(t[o],t,a);if("throw"!==s.type){var f=s.arg,l=f.value;return l&&"object"==n(l)&&i.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,u,c)}),(function(t){r("throw",t,u,c)})):e.resolve(l).then((function(t){f.value=t,u(f)}),(function(t){return r("throw",t,u,c)}))}c(s.arg)}var o;a(this,"_invoke",{value:function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}})}function L(e,r,n){var o=v;return function(i,a){if(o===h)throw new Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var u=n.delegate;if(u){var c=k(u,n);if(c){if(c===g)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===v)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=h;var s=y(e,r,n);if("normal"===s.type){if(o=n.done?m:d,s.arg===g)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=m,n.method="throw",n.arg=s.arg)}}}function k(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,k(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var i=y(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,g;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,g):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,g)}function A(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function M(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(A,this),this.reset(!0)}function N(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o<e.length;)if(i.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(n(e)+" is not iterable")}return w.prototype=x,a(_,"constructor",{value:x,configurable:!0}),a(x,"constructor",{value:w,configurable:!0}),w.displayName=l(x,f,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===w||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,x):(t.__proto__=x,l(t,f,"GeneratorFunction")),t.prototype=Object.create(_),t},e.awrap=function(t){return{__await:t}},P(E.prototype),l(E.prototype,s,(function(){return this})),e.AsyncIterator=E,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new E(p(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},P(_),l(_,f,"Generator"),l(_,c,(function(){return this})),l(_,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=N,I.prototype={constructor:I,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(M),!e)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,o){return u.type="throw",u.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=i.call(a,"catchLoc"),s=i.call(a,"finallyLoc");if(c&&s){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,g):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),g},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),M(r),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;M(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:N(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),g}},e}var i=Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},a=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},u=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&i(e,t,r);return a(e,t),e},c=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{c(n.next(t))}catch(t){i(t)}}function u(t){try{c(n.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,u)}c((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.asyncStorageWrapper=void 0,e.asyncStorageWrapper=function(){var t,e="pending",n=null;c(void 0,void 0,void 0,o().mark((function i(){var a,c,s,f,l;return o().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.prev=0,a=Promise.resolve().then((function(){return u(r(878))})),t=a,o.next=5,a;case 5:c=o.sent,s=c.default,f=s.getItem,l=s.setItem,f.bind(s),l.bind(s),n={getItem:f,setItem:l},e="resolved",o.next=18;break;case 14:o.prev=14,o.t0=o.catch(0),e="rejected";case 18:return o.prev=18,t=null,o.finish(18);case 21:case"end":return o.stop()}}),i,null,[[0,14,18,21]])})));var i=function(){throw new Error("[AsyncStorageManager Not Found] \n\n Please install the react-native-async-storage/async-storage to be use as the default async storage manager or\n add an AsyncStorageManager using the asyncStorageWrapper.addAsyncStorageManager method before attempting to get or set items.")},a=function(){return c(void 0,void 0,void 0,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if("pending"!==e||!t){r.next=2;break}return r.abrupt("return",t);case 2:if("rejected"!==e){r.next=4;break}return r.abrupt("return",t.catch((function(t){throw t})));case 4:return n||i(),r.abrupt("return",n);case 6:case"end":return r.stop()}}),r)})))};return{getItem:function(t){return c(void 0,void 0,void 0,o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a();case 2:return e.abrupt("return",n.getItem(t));case 3:case"end":return e.stop()}}),e)})))},setItem:function(t,e){return c(void 0,void 0,void 0,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,a();case 2:return r.abrupt("return",n.setItem(t,e));case 3:case"end":return r.stop()}}),r)})))},addAsyncStorageManager:function(r){return c(void 0,void 0,void 0,o().mark((function i(){var a;return o().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:if(o.prev=0,"pending"!==e||!t){o.next=4;break}return o.next=4,t.catch((function(){}));case 4:return e="pending",a=r(),t=a,o.next=9,a;case 9:n=o.sent,e="resolved",o.next=18;break;case 13:throw o.prev=13,o.t0=o.catch(0),t=null,e="rejected",o.t0;case 18:case"end":return o.stop()}}),i,null,[[0,13]])})))}}}()},75:function(t){t.exports=(()=>{"use strict";var t={333:(t,e,r)=>{function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}Object.defineProperty(e,"__esModule",{value:!0}),e.clone=void 0;var i=r(646),a=r(346),u=r(473);e.clone=function(t){var r,c=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).shallow;if((0,u.isPrimitive)(t)||(0,i.isDate)(t))return t;if(Array.isArray(t))return c?function(t){if(Array.isArray(t))return o(t)}(r=t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||function(t,e){if(t){if("string"==typeof t)return o(t,e);var r={}.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)?o(t,e):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}():t.map((function(t){return(0,e.clone)(t)}));if(t instanceof Map){var s=Array.from(t.entries());return c?new Map(s):new Map(s.map((function(t){return(0,e.clone)(t)})))}if(t instanceof Set){var f=Array.from(t.values());return c?new Set(f):new Set(f.map((function(t){return(0,e.clone)(t)})))}return t instanceof RegExp?new RegExp(t.toString()):(0,a.isFunction)(t)?c?t:Object.create(t):c?Object.assign({},t):t instanceof Error?new Error(t.message):Object.keys(t).reduce((function(r,o){var i=t[o];return Object.assign(Object.assign({},r),function(t,e,r){return(e=function(t){var e=function(t){if("object"!=n(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==n(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}({},o,(0,e.clone)(i)))}),{})}},112:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isBoolean=void 0,e.isBoolean=function(t){return"boolean"==typeof t}},646:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isDate=void 0,e.isDate=function(t){return t instanceof Date}},346:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isFunction=void 0,e.isFunction=function(t){return"function"==typeof t||t instanceof Function}},243:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isNil=void 0,e.isNil=function(t){return null==t}},11:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isNumber=void 0,e.isNumber=function(t){return"number"==typeof t}},473:(t,e,r)=>{function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.isPrimitive=void 0;var o=r(112),i=r(243),a=r(11),u=r(671);e.isPrimitive=function(t){return(0,i.isNil)(t)||(0,a.isNumber)(t)||(0,o.isBoolean)(t)||(0,u.isString)(t)||"symbol"===n(t)}},43:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isRegex=void 0,e.isRegex=function(t){return t instanceof RegExp}},671:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isString=void 0,e.isString=function(t){return"string"==typeof t}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}var n={};return(()=>{var t=n;function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.formatToStore=void 0;var o=r(333),i=r(646),a=r(346),u=r(473),c=r(43);t.formatToStore=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{stringify:!1},n=r.stringify,s=r.validator,f=r.excludeTypes,l=r.excludeKeys,p=r.sortKeys,y=new Set(null!=f?f:[]),v=new Set(null!=l?l:[]),d=y.size||v.size,h=null!=s?s:function(t){var r=t.key,n=t.value;if(!d)return!0;var o=v.has(r),i=y.has(e(n));return!o&&!i},m=function(t){if((0,u.isPrimitive)(t))return t;var r;if(Array.isArray(t))return t.map((function(t){return m(t)}));if(t instanceof Map)return{$t:"map",$v:Array.from(t.entries()).map((function(t){return m(t)}))};if(t instanceof Set)return{$t:"set",$v:Array.from(t.values()).map((function(t){return m(t)}))};if((0,i.isDate)(t))return{$t:"date",$v:t.toISOString()};if((0,c.isRegex)(t))return{$t:"regex",$v:t.toString()};if((0,a.isFunction)(t)){var n;try{n={$t:"function",$v:t.toString()}}catch(t){n={$t:"error",$v:"Error: Could not serialize function"}}return n}return t instanceof Error?{$t:"error",$v:t.message}:(r=Object.keys(t),p?(0,a.isFunction)(p)?r.sort(p):r.sort((function(t,e){return(null!=t?t:"").localeCompare(e)})):r).reduce((function(r,n){var o,i,a,u=t[n],c=m(u);return h({obj:t,key:n,value:c})?Object.assign(Object.assign({},r),(o={},i=n,a=m(u),(i=function(t){var r=function(t){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(r)?r:r+""}(i))in o?Object.defineProperty(o,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):o[i]=a,o)):r}),{})},g=m((0,o.clone)(t));return n?JSON.stringify(g):g}})(),n})()},878:e=>{"use strict";e.exports=t}},r={};function n(t){var o=r[t];if(void 0!==o)return o.exports;var i=r[t]={exports:{}};return e[t].call(i.exports,i,i.exports,n),i.exports}var o={};return(()=>{"use strict";var t=o;Object.defineProperty(t,"__esModule",{value:!0}),t.setAsyncStorageItem=void 0;var e=n(75),r=n(118);t.setAsyncStorageItem=function(t,n){var o=n.key;if(o){var i="function"==typeof o?o():o,a=(0,e.formatToStore)(t,{stringify:!0,excludeTypes:["function"]}),u=n.encrypt?"function"==typeof n.encrypt?n.encrypt(a):btoa(a):a;r.asyncStorageWrapper.setItem(i,u)}}})(),o})()));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "react-hooks-global-states/shallowCompare";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["react-native-global-state-hooks"]=t():e["react-native-global-state-hooks"]=t()}(this,(()=>{return e={561:(e,t,r)=>{"use strict";var n=Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]},o=function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(255),t)},255:function(e){e.exports=(()=>{var e={143:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.isRecord=void 0;var o=r(125);t.isRecord=function(e){return!(0,o.isNil)(e)&&"object"===n(e)}},231:function(e){e.exports=(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.isDate=void 0,t.isDate=function(e){return e instanceof Date}})(),e})()},125:function(e){e.exports=(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.isNil=void 0,t.isNil=function(e){return null==e}})(),e})()},416:function(e){e.exports=(()=>{"use strict";var e={112:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isBoolean=void 0,t.isBoolean=function(e){return"boolean"==typeof e}},243:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isNil=void 0,t.isNil=function(e){return null==e}},11:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isNumber=void 0,t.isNumber=function(e){return"number"==typeof e}},671:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isString=void 0,t.isString=function(e){return"string"==typeof e}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}var n={};return(()=>{var e=n;function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.isPrimitive=void 0;var o=r(112),i=r(243),u=r(11),f=r(671);e.isPrimitive=function(e){return(0,i.isNil)(e)||(0,u.isNumber)(e)||(0,o.isBoolean)(e)||(0,f.isString)(e)||"symbol"===t(e)}})(),n})()}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,r),i.exports}var n={};return(()=>{"use strict";var e=n;function t(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 n,o,i,u,f=[],a=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;a=!1}else for(;!(a=(n=i.call(r)).done)&&(f.push(n.value),f.length!==t);a=!0);}catch(e){l=!0,o=e}finally{try{if(!a&&null!=r.return&&(u=r.return(),Object(u)!==u))return}finally{if(l)throw o}}return f}}(e,t)||i(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 o(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=i(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,f=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return f=e.done,e},e:function(e){a=!0,u=e},f:function(){try{f||null==r.return||r.return()}finally{if(a)throw u}}}}function i(e,t){if(e){if("string"==typeof e)return u(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)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.shallowCompare=void 0;var a=r(416),l=r(231),s=r(125),c=r(143);e.shallowCompare=function(e,r){if(e===r)return!0;var n=f(e),i=f(r);if(n!==i)return!1;if((0,s.isNil)(e)||(0,s.isNil)(r)||(0,a.isPrimitive)(e)&&(0,a.isPrimitive)(r)||(0,l.isDate)(e)&&(0,l.isDate)(r)||"function"===n&&"function"===i)return e===r;if(Array.isArray(e)){var u=e,y=r;if(u.length!==y.length)return!1;for(var p=0;p<u.length;p++)if(u[p]!==y[p])return!1}if(e instanceof Map){var v=e,b=r;if(v.size!==b.size)return!1;var d,m=o(v);try{for(m.s();!(d=m.n()).done;){var h=t(d.value,2),S=h[0];if(h[1]!==b.get(S))return!1}}catch(e){m.e(e)}finally{m.f()}}if(e instanceof Set){var j=e,g=r;if(j.size!==g.size)return!1;var x,O=o(j);try{for(O.s();!(x=O.n()).done;){var _=x.value;if(!g.has(_))return!1}}catch(e){O.e(e)}finally{O.f()}}if(!(0,c.isRecord)(e)||!(0,c.isRecord)(r))return e===r;var P=Object.keys(e),w=Object.keys(r);if(P.length!==w.length)return!1;for(var M=0,N=P;M<N.length;M++){var A=N[M];if(e[A]!==r[A])return!1}return!0}})(),n})()}},t={},function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,r),i.exports}(561);var e,t}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "react-hooks-global-states/throwWrongKeyOnActionCollectionConfig";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["react-native-global-state-hooks"]=e():t["react-native-global-state-hooks"]=e()}(this,(()=>{return t={400:(t,e,o)=>{"use strict";var n=Object.create?function(t,e,o,n){void 0===n&&(n=o);var r=Object.getOwnPropertyDescriptor(e,o);r&&!("get"in r?!e.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return e[o]}}),Object.defineProperty(t,n,r)}:function(t,e,o,n){void 0===n&&(n=o),t[n]=e[o]},r=function(t,e){for(var o in t)"default"===o||Object.prototype.hasOwnProperty.call(e,o)||n(e,t,o)};Object.defineProperty(e,"__esModule",{value:!0}),r(o(678),e)},678:function(t){t.exports=(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.throwWrongKeyOnActionCollectionConfig=void 0,e.throwWrongKeyOnActionCollectionConfig=function(t){throw new Error("[WRONG CONFIGURATION!]: Every key inside the storeActionsConfig must be a higher order function that returns a function \n[".concat(t,"]: key is not a valid function, try something like this: \n{\n\n ").concat(t,": (param) => ({ setState, getState, setMetadata, getMetadata, actions }) => {\n\n setState((state) => ({ ...state, ...param }))\n\n }\n\n}\n"))}})(),t})()}},e={},function o(n){var r=e[n];if(void 0!==r)return r.exports;var a=e[n]={exports:{}};return t[n].call(a.exports,a,a.exports,o),a.exports}(400);var t,e}));
|
package/types.d.ts
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export type { StateSetter, ObservableFragment, StateChanges, UseHookConfig, UnsubscribeCallback, SubscribeCallbackConfig, SubscribeCallback, StateGetter, SelectorCallback, SubscriberParameters, SubscriptionCallback, } from "react-hooks-global-states/types";
|
|
2
|
+
import type { BaseMetadata as MetadataBase, ObservableFragment, StateChanges, StateGetter, StateSetter, UseHookConfig } from "react-hooks-global-states";
|
|
3
|
+
export type AsyncStorageConfig = {
|
|
4
|
+
key: string | (() => string);
|
|
5
|
+
/**
|
|
6
|
+
* The function used to encrypt the async storage, it can be a custom function or a boolean value (true = atob)
|
|
7
|
+
*/
|
|
8
|
+
encrypt?: boolean | ((value: string) => string);
|
|
9
|
+
/**
|
|
10
|
+
* The function used to decrypt the async storage, it can be a custom function or a boolean value (true = atob)
|
|
11
|
+
*/
|
|
12
|
+
decrypt?: boolean | ((value: string) => string);
|
|
13
|
+
};
|
|
14
|
+
export type BaseMetadata = MetadataBase & {
|
|
15
|
+
isAsyncStorageReady?: boolean;
|
|
16
|
+
asyncStorageKey?: string | null;
|
|
17
|
+
};
|
|
18
|
+
export type StateMeta<T> = (keyof T extends never ? {} : T) & BaseMetadata;
|
|
19
|
+
export type HookExtensions<State, StateMutator, Metadata extends BaseMetadata | unknown> = {
|
|
20
|
+
/**
|
|
21
|
+
* @description Return the state controls of the hook
|
|
22
|
+
* This selectors includes:
|
|
23
|
+
* - stateRetriever: a function to get the current state or subscribe a callback to the state changes
|
|
24
|
+
* - stateMutator: a function to set the state or a collection of actions if you pass an storeActionsConfig configuration
|
|
25
|
+
* - metadataRetriever: a function to get the metadata of the global state
|
|
26
|
+
*/
|
|
27
|
+
stateControls: () => Readonly<[
|
|
28
|
+
retriever: StateGetter<State>,
|
|
29
|
+
mutator: StateMutator,
|
|
30
|
+
metadata: MetadataGetter<Metadata>
|
|
31
|
+
]>;
|
|
32
|
+
/***
|
|
33
|
+
* @description Creates a new hooks that returns the result of the selector passed as a parameter
|
|
34
|
+
* Your can create selector hooks of other selectors hooks and extract as many derived states as or fragments of the state as you want
|
|
35
|
+
* The selector hook will be evaluated only if the result of the selector changes and the equality function returns false
|
|
36
|
+
* you can customize the equality function by passing the isEqualRoot and isEqual parameters
|
|
37
|
+
*/
|
|
38
|
+
createSelectorHook: <Derivate>(this: StateHook<State, StateMutator, Metadata>, selector: (state: State) => Derivate, args?: Omit<UseHookConfig<Derivate, State>, "dependencies"> & {
|
|
39
|
+
name?: string;
|
|
40
|
+
}) => StateHook<Derivate, StateMutator, Metadata>;
|
|
41
|
+
createObservable: <Fragment>(this: StateHook<State, StateMutator, Metadata>, mainSelector: (state: State) => Fragment, args?: {
|
|
42
|
+
isEqual?: (current: Fragment, next: Fragment) => boolean;
|
|
43
|
+
isEqualRoot?: (current: State, next: State) => boolean;
|
|
44
|
+
name?: string;
|
|
45
|
+
}) => ObservableFragment<Fragment>;
|
|
46
|
+
};
|
|
47
|
+
export interface StateHook<State, StateMutator, Metadata extends BaseMetadata | unknown> extends HookExtensions<State, StateMutator, Metadata> {
|
|
48
|
+
(): Readonly<[state: State, stateMutator: StateMutator, metadata: Metadata]> & HookExtensions<State, StateMutator, Metadata>;
|
|
49
|
+
<Derivate>(selector: (state: State) => Derivate, config?: UseHookConfig<Derivate, State>): Readonly<[
|
|
50
|
+
state: Derivate,
|
|
51
|
+
stateMutator: StateMutator,
|
|
52
|
+
metadata: Metadata
|
|
53
|
+
]> & HookExtensions<Derivate, StateMutator, Metadata>;
|
|
54
|
+
}
|
|
55
|
+
export type MetadataSetter<Metadata extends BaseMetadata | unknown> = (setter: Metadata | ((metadata: Metadata) => Metadata)) => void;
|
|
56
|
+
export type StoreTools<State, Metadata extends BaseMetadata | unknown = BaseMetadata, Actions extends undefined | unknown | Record<string, (...args: any[]) => any> = unknown> = {
|
|
57
|
+
setMetadata: MetadataSetter<Metadata>;
|
|
58
|
+
setState: StateSetter<State>;
|
|
59
|
+
getState: StateGetter<State>;
|
|
60
|
+
getMetadata: () => Metadata;
|
|
61
|
+
actions: Actions;
|
|
62
|
+
};
|
|
63
|
+
export interface ActionCollectionConfig<State, Metadata extends BaseMetadata | unknown, ThisAPI = Record<string, (...parameters: any[]) => unknown>> {
|
|
64
|
+
readonly [key: string]: {
|
|
65
|
+
(this: ThisAPI, ...parameters: any[]): (this: ThisAPI, storeTools: StoreTools<State, Metadata, Record<string, (...parameters: any[]) => unknown | void>>) => unknown | void;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
export type ActionCollectionResult<State, Metadata extends BaseMetadata | unknown, ActionsConfig extends ActionCollectionConfig<State, Metadata>> = {
|
|
69
|
+
[key in keyof ActionsConfig]: {
|
|
70
|
+
(...params: Parameters<ActionsConfig[key]>): ReturnType<ReturnType<ActionsConfig[key]>>;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
export type GlobalStoreCallbacks<State, Metadata extends BaseMetadata | unknown> = {
|
|
74
|
+
onInit?: (args: StoreTools<State, Metadata>) => void;
|
|
75
|
+
onStateChanged?: (args: StoreTools<State, Metadata> & StateChanges<State>) => void;
|
|
76
|
+
onSubscribed?: (args: StoreTools<State, Metadata>) => void;
|
|
77
|
+
computePreventStateChange?: (args: StoreTools<State, Metadata> & StateChanges<State>) => boolean;
|
|
78
|
+
};
|
|
79
|
+
export type MetadataGetter<Metadata extends BaseMetadata | unknown> = () => Metadata;
|
|
80
|
+
export type CustomGlobalHookBuilderParams<TCustomConfig extends BaseMetadata | unknown, Metadata extends BaseMetadata | unknown> = {
|
|
81
|
+
onInitialize?: (args: StoreTools<unknown, Metadata, unknown>, config: TCustomConfig | undefined) => void;
|
|
82
|
+
onChange?: (args: StoreTools<unknown, Metadata, unknown> & StateChanges<unknown>, config: TCustomConfig | undefined) => void;
|
|
83
|
+
};
|
package/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["react-native-global-state-hooks"]=t():e["react-native-global-state-hooks"]=t()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0})})(),e})()));
|
package/uniqueId.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "react-hooks-global-states/uniqueId";
|
package/uniqueId.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["react-native-global-state-hooks"]=t():e["react-native-global-state-hooks"]=t()}(this,(()=>{return e={157:(e,t,r)=>{"use strict";var o=Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]},n=function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(46),t)},46:function(e){e.exports=(()=>{"use strict";var e={};return(()=>{var t,r=e;Object.defineProperty(r,"__esModule",{value:!0}),r.uniqueId=void 0,r.uniqueId=(t=0,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return t===Number.MAX_SAFE_INTEGER&&(t=0),e+Date.now().toString(36)+(t++).toString(36)})})(),e})()}},t={},function r(o){var n=t[o];if(void 0!==n)return n.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,r),i.exports}(157);var e,t}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "react-hooks-global-states/uniqueSymbol";
|
package/uniqueSymbol.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["react-native-global-state-hooks"]=t():e["react-native-global-state-hooks"]=t()}(this,(()=>{return e={451:(e,t,o)=>{"use strict";var r=Object.create?function(e,t,o,r){void 0===r&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]},n=function(e,t){for(var o in e)"default"===o||Object.prototype.hasOwnProperty.call(t,o)||r(t,e,o)};Object.defineProperty(t,"__esModule",{value:!0}),n(o(664),t)},664:function(e){e.exports=(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.uniqueSymbol=void 0,t.uniqueSymbol=Symbol("unique")})(),e})()}},t={},function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,o),i.exports}(451);var e,t}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "react-hooks-global-states/useConstantValueRef";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports["react-native-global-state-hooks"]=t(require("react")):e["react-native-global-state-hooks"]=t(e.react)}(this,(e=>{return t={383:(e,t,r)=>{"use strict";var o=Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]},n=function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(528),t)},528:function(e,t,r){var o;e.exports=(o=r(156),(()=>{"use strict";var e={605:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.uniqueSymbol=void 0,t.uniqueSymbol=Symbol("unique")},156:e=>{e.exports=o}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var u=t[o]={exports:{}};return e[o](u,u.exports,r),u.exports}var n={};return(()=>{var e=n;Object.defineProperty(e,"__esModule",{value:!0}),e.useConstantValueRef=void 0;var t=r(156),o=r(605);e.useConstantValueRef=function(e){var r=(0,t.useRef)(o.uniqueSymbol);return r.current===o.uniqueSymbol&&(r.current=e()),r}})(),n})())},156:t=>{"use strict";t.exports=e}},r={},function e(o){var n=r[o];if(void 0!==n)return n.exports;var u=r[o]={exports:{}};return t[o].call(u.exports,u,u.exports,e),u.exports}(383);var t,r}));
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
const path = require("path");
|
|
2
|
+
const TerserPlugin = require("terser-webpack-plugin");
|
|
3
|
+
|
|
4
|
+
module.exports = {
|
|
5
|
+
mode: "production",
|
|
6
|
+
entry: {
|
|
7
|
+
// inherit from react-global-state-hooks
|
|
8
|
+
bundle: "./src/index.ts",
|
|
9
|
+
createContext: "./src/createContext.ts",
|
|
10
|
+
GlobalStore: "./src/GlobalStore.ts",
|
|
11
|
+
GlobalStoreAbstract: "./src/GlobalStoreAbstract.ts",
|
|
12
|
+
createCustomGlobalState: "./src/createCustomGlobalState.ts",
|
|
13
|
+
createGlobalState: "./src/createGlobalState.ts",
|
|
14
|
+
combineRetrieverAsynchronously: "./src/combineRetrieverAsynchronously.ts",
|
|
15
|
+
combineRetrieverEmitterAsynchronously: "./src/combineRetrieverEmitterAsynchronously.ts",
|
|
16
|
+
types: "./src/types.ts",
|
|
17
|
+
debounce: "./src/debounce.ts",
|
|
18
|
+
isRecord: "./src/isRecord.ts",
|
|
19
|
+
shallowCompare: "./src/shallowCompare.ts",
|
|
20
|
+
throwWrongKeyOnActionCollectionConfig: "./src/throwWrongKeyOnActionCollectionConfig.ts",
|
|
21
|
+
uniqueId: "./src/uniqueId.ts",
|
|
22
|
+
uniqueSymbol: "./src/uniqueSymbol.ts",
|
|
23
|
+
useConstantValueRef: "./src/useConstantValueRef.ts",
|
|
24
|
+
// extras
|
|
25
|
+
asyncStorageWrapper: "./src/asyncStorageWrapper.ts",
|
|
26
|
+
getAsyncStorageItem: "./src/getAsyncStorageItem.ts",
|
|
27
|
+
setAsyncStorageItem: "./src/setAsyncStorageItem.ts",
|
|
28
|
+
},
|
|
29
|
+
externals: {
|
|
30
|
+
react: "react",
|
|
31
|
+
"react-native": "react-native",
|
|
32
|
+
"@react-native-async-storage/async-storage": "@react-native-async-storage/async-storage",
|
|
33
|
+
},
|
|
34
|
+
output: {
|
|
35
|
+
path: path.resolve(__dirname),
|
|
36
|
+
filename: ({ chunk: { name } }) => {
|
|
37
|
+
return `${name}.js`;
|
|
38
|
+
},
|
|
39
|
+
libraryTarget: "umd",
|
|
40
|
+
library: "react-native-global-state-hooks",
|
|
41
|
+
globalObject: "this",
|
|
42
|
+
},
|
|
43
|
+
resolve: {
|
|
44
|
+
extensions: [".ts", ".js"],
|
|
45
|
+
alias: {
|
|
46
|
+
"react-native-global-state-hooks": path.resolve(
|
|
47
|
+
__dirname,
|
|
48
|
+
"node_modules/react-native-global-state-hooks/package.json"
|
|
49
|
+
),
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
module: {
|
|
53
|
+
rules: [
|
|
54
|
+
{
|
|
55
|
+
test: /\.ts$/,
|
|
56
|
+
use: [
|
|
57
|
+
{
|
|
58
|
+
loader: "babel-loader",
|
|
59
|
+
options: {
|
|
60
|
+
presets: ["@babel/preset-env", "@babel/preset-react", "@babel/preset-typescript"],
|
|
61
|
+
plugins: [
|
|
62
|
+
"@babel/plugin-transform-modules-commonjs",
|
|
63
|
+
"@babel/plugin-proposal-class-properties",
|
|
64
|
+
"@babel/plugin-proposal-export-namespace-from",
|
|
65
|
+
],
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
loader: "ts-loader",
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
exclude: /node_modules/,
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
optimization: {
|
|
77
|
+
minimize: true,
|
|
78
|
+
minimizer: [
|
|
79
|
+
new TerserPlugin({
|
|
80
|
+
extractComments: false,
|
|
81
|
+
terserOptions: {
|
|
82
|
+
format: {
|
|
83
|
+
comments: false,
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
}),
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
};
|