state-decorator 7.0.0-beta.0 → 7.0.0-beta.10-dev

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.
Files changed (65) hide show
  1. package/README.md +384 -192
  2. package/es/helpers.d.ts +66 -0
  3. package/es/helpers.js +163 -0
  4. package/{dist/v5_test.js.map → es/helpers.js.map} +1 -1
  5. package/es/impl.d.ts +19 -5
  6. package/es/impl.js +963 -1
  7. package/es/impl.js.map +1 -1
  8. package/es/index.d.ts +34 -36
  9. package/es/index.js +1013 -1
  10. package/es/index.js.map +1 -1
  11. package/es/middlewares.js +519 -1
  12. package/es/middlewares.js.map +1 -1
  13. package/es/test.d.ts +6 -4
  14. package/es/test.js +349 -1
  15. package/es/test.js.map +1 -1
  16. package/es/types.d.ts +32 -3
  17. package/es/v5.js +301 -1
  18. package/es/v5.js.map +1 -1
  19. package/es/v5_test.js +392 -1
  20. package/es/v5_test.js.map +1 -1
  21. package/es/v6.d.ts +18 -0
  22. package/es/v6.js +98 -0
  23. package/es/v6.js.map +1 -0
  24. package/helpers.d.ts +66 -0
  25. package/helpers.js +175 -0
  26. package/{dist/test.js.map → helpers.js.map} +1 -1
  27. package/impl.d.ts +19 -5
  28. package/impl.js +996 -1
  29. package/impl.js.map +1 -1
  30. package/index.d.ts +34 -36
  31. package/index.js +1044 -1
  32. package/index.js.map +1 -1
  33. package/middlewares.js +526 -1
  34. package/middlewares.js.map +1 -1
  35. package/package.json +5 -4
  36. package/test.d.ts +6 -4
  37. package/test.js +358 -1
  38. package/test.js.map +1 -1
  39. package/types.d.ts +32 -3
  40. package/v5.js +322 -1
  41. package/v5.js.map +1 -1
  42. package/v5_test.js +416 -1
  43. package/v5_test.js.map +1 -1
  44. package/v6.d.ts +18 -0
  45. package/v6.js +123 -0
  46. package/v6.js.map +1 -0
  47. package/dist/impl.d.ts +0 -195
  48. package/dist/impl.js +0 -2
  49. package/dist/impl.js.map +0 -1
  50. package/dist/index.d.ts +0 -168
  51. package/dist/index.js +0 -2
  52. package/dist/index.js.map +0 -1
  53. package/dist/middlewares.d.ts +0 -26
  54. package/dist/middlewares.js +0 -2
  55. package/dist/middlewares.js.map +0 -1
  56. package/dist/shallow.d.ts +0 -15
  57. package/dist/test.d.ts +0 -134
  58. package/dist/test.js +0 -2
  59. package/dist/types.d.ts +0 -352
  60. package/dist/v5.d.ts +0 -58
  61. package/dist/v5.js +0 -2
  62. package/dist/v5.js.map +0 -1
  63. package/dist/v5_test.d.ts +0 -70
  64. package/dist/v5_test.js +0 -2
  65. package/dist/v5_types.d.ts +0 -227
package/middlewares.js CHANGED
@@ -1,2 +1,527 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./impl"),t=function(){return(t=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},n=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var o,r,i;if(Array.isArray(t)){if((o=t.length)!=n.length)return!1;for(r=o;0!=r--;)if(!e(t[r],n[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((o=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(r=o;0!=r--;)if(!Object.prototype.hasOwnProperty.call(n,i[r]))return!1;for(r=o;0!=r--;){var l=i[r];if(!e(t[l],n[l]))return!1}return!0}return t!=t&&n!=n};exports.devtools=function(){return function(){var e,n,o;try{e=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__}catch(e){}return e?{init:function(t){var r,i;(n=e.connect({name:null!==(i=null===(r=t.options)||void 0===r?void 0:r.name)&&void 0!==i?i:"StateDecorator"})).init(t.state);var l=null,c=t.state;o=n.subscribe((function(e){var n,o,r,i;if("DISPATCH"===e.type&&e.state&&"ROLLBACK"!==(null===(n=e.payload)||void 0===n?void 0:n.type)){var s=JSON.parse(e.state);t.setState(s)}else"COMMIT"===(null===(o=e.payload)||void 0===o?void 0:o.type)?l=t.state:"ROLLBACK"===(null===(r=e.payload)||void 0===r?void 0:r.type)?null!=l&&t.setState(l):"RESET"===(null===(i=e.payload)||void 0===i?void 0:i.type)&&t.setState(c)}))},effects:function(e,o,r){if(null!=r){var i=t({},e.context);delete i.a,delete i.s,delete i.p,delete i.res,delete i.err,delete i.ds,n.send({type:"".concat(e.name," ").concat(e.type),args:i.args,context:i},r)}return null},destroy:function(){o(),n=null}}:{init:function(){},destroy:null,effects:function(){return null}}}},exports.logDetailedEffects=function(e){return void 0===e&&(e=console),function(){var t="",o=e;if("development"===process.env.NODE_ENV||"test"===process.env.NODE_ENV){var r=function(e,t){var o;if(t!==e){var r=null!=e?typeof e:typeof t;if("number"===r||"string"===r||"boolean"===r)o="".concat(e," => ").concat(""===t?'""':t);else if(e&&e.length||t&&t.length)if(null==e)o="was ".concat(e,", now contains ").concat(t.length," element(s)");else if(null==t)o="contained ".concat(e.length," element(s), now is ").concat(t);else if(0===e.length)o="was empty, now contains ".concat(t.length," elements");else if(0===t.length)o="contained ".concat(e.length," elements, now is empty");else{var i=t.filter((function(t){return!e.find((function(e){return n(t,e)}))})),l=e.filter((function(e){return!t.find((function(t){return n(e,t)}))}));i.length>10&&(i="".concat(i.length," element(s) added")),l.length>10&&(l="".concat(l.length," element(s) removed")),o={added:i,removed:l}}else o=t}return o},i=function(e){return"string"==typeof e?'"'.concat(e,'"'):e};return{init:function(n){var r,l;t=(null===(r=n.options)||void 0===r?void 0:r.name)?"[".concat(null===(l=n.options)||void 0===l?void 0:l.name,"]"):"";var c=n.state;e.group(t,"initialState"),Object.keys(c).forEach((function(e){o.log(e,":",i(c[e]))})),e.groupEnd()},destroy:null,effects:function(e,n,l,c){var s,f=null===(s=e.context)||void 0===s?void 0:s.args,a=[t,e.name.toString()];if(e.isAsync&&("preEffects"===e.type?a.push(c?"START":"CANCELLED"):"effects"===e.type?a.push("DONE"):a.push("FAILED")),null!=l||f&&0!==Object.keys(f).length?o.group.apply(o,a):o.log.apply(o,a),f&&Object.keys(f).length>0&&(o.group("Arguments"),f.forEach((function(e){o.log(e,":",i(e))})),o.groupEnd()),null!=l){if(o.groupCollapsed("Before"),null==n)o.log("was null");else Object.keys(n).forEach((function(e){o.log(e,":",i(n[e]))}));if(o.groupEnd(),o.groupCollapsed("After"),null==l)o.log("was null");else Object.keys(l).forEach((function(e){o.log(e,":",i(l[e]))}));if(o.groupEnd(),null!=l){o.group("Diff");var u=function(e,t){var n={};"development"===process.env.NODE_ENV&&(e&&Object.keys(e).forEach((function(o){if(t.hasOwnProperty(o)){var i=e[o],l=t[o],c=r(i,l);c&&(n[o]=c)}else n[o]="was deleted"})),Object.keys(t).forEach((function(o){if(null==e||!e.hasOwnProperty(o)){var i=t[o];n[o]=r(void 0,i)}})));return n}(n,l);Object.keys(u).forEach((function(e){return o.log(e,":",u[e])})),o.groupEnd()}}return o.groupEnd(),null}}}return{init:function(){},destroy:null,effects:function(){return null}}}},exports.logEffects=function(e){return void 0===e&&(e=console.log),function(){var t=e,n="";return{init:function(e){var o,r;if("development"===process.env.NODE_ENV||"test"===process.env.NODE_ENV){n=(null===(o=e.options)||void 0===o?void 0:o.name)?"[".concat(null===(r=e.options)||void 0===r?void 0:r.name,"]"):"";var i=e.state;t(n,"initialState",i)}},destroy:null,effects:function(e,o,r,i){return"development"!==process.env.NODE_ENV&&"test"!==process.env.NODE_ENV||t(n,e.name,e.type,null===r?"no effect":r,e.isAsync?"preEffects"!==e.type||i?"loading: ".concat(i):"Promise cancelled":""),null}}}},exports.optimisticActions=function(n){return function(){var o=null,r={history:null,optimisticActions:{},shouldRecordHistory:!1},i=function(t){return(n||e.globalConfig.clone)(t)},l=function(e,t){return"".concat(e,"_").concat(t)};function c(e,t,n,o){void 0===o&&(o=null);var l=r.shouldRecordHistory,c=r.history;if(l){null===c&&(r.history=[]);var s=i(n);delete s.state,delete s.s,delete s.abortSignal,s.error=n.err,s.err=n.err;var f={effectType:t,actionName:e,promiseId:n.promiseId,ctx:s,beforeEffectState:o?i(o):null};r.history.push(f)}}function s(e,t,n){void 0===n&&(n=void 0);var o=r.optimisticActions,i=r.history,c=l(e,t);if(delete o[c],0===Object.keys(o).length)r.history=null,r.shouldRecordHistory=!1;else{var s=void 0===n?i.findIndex((function(e){return l(e.actionName,e.promiseId)===c})):n;if(0===s){var f=i.slice(1).findIndex((function(e){return null!=e.beforeEffectState}))+1;i.splice(0,f)}else void 0===n&&(i[s].beforeEffectState=null)}}return{init:function(e){o=e},destroy:function(){o=null,r.history=null,r.optimisticActions={},r.shouldRecordHistory=!1},effects:function(n,i,f,a){var u=n.name,p=n.type,d=n.context,v=n.isAsync;if((null!=f&&e.isSimpleSyncAction(o.actions[u])||"onPropsChange"===u||null!=o.actions[u][p])&&c(u,p,d,null),v){var y,g=o.actions[u];if(a&&null!=g.optimisticEffects&&"preEffects"===p)return r.shouldRecordHistory=!0,r.optimisticActions[l(u,d.promiseId)]=!0,c(u,"optimisticEffects",d,y=f||i),{loading:!1,state:t(t({},y),g.optimisticEffects(t(t({},d),{state:y,s:y})))};if(null!=g.optimisticEffects&&"effects"===p)return s(u,d.promiseId),{loading:a,state:f};if(null!=g.optimisticEffects&&"errorEffects"===p)return{state:y=function(n,i){for(var l=r.history,c=l.findIndex((function(e){return"optimisticEffects"===e.effectType&&e.actionName===n&&e.promiseId===i})),f=l[c].beforeEffectState,a=c+1;a<l.length;a++){var u=l[a];u.beforeEffectState&&(u.beforeEffectState=f);var p=t(t({},u.ctx),{state:f,s:f});if("onPropsChange"===u.actionName){var d=Array.isArray(o.options.onPropsChange)?o.options.onPropsChange:[o.options.onPropsChange];f=t(t({},f),d[p.index].effects(p))}else f=e.isSimpleSyncAction(o.actions[u.actionName])?t(t({},f),o.actions[u.actionName](p)):t(t({},f),o.actions[u.actionName][u.effectType](p))}return s(n,i,c),f}(u,d.promiseId),loading:a}}return null}}}};
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var impl = require('./impl');
6
+
7
+ /*! *****************************************************************************
8
+ Copyright (c) Microsoft Corporation.
9
+
10
+ Permission to use, copy, modify, and/or distribute this software for any
11
+ purpose with or without fee is hereby granted.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
+ PERFORMANCE OF THIS SOFTWARE.
20
+ ***************************************************************************** */
21
+
22
+ var __assign = function() {
23
+ __assign = Object.assign || function __assign(t) {
24
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
25
+ s = arguments[i];
26
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
27
+ }
28
+ return t;
29
+ };
30
+ return __assign.apply(this, arguments);
31
+ };
32
+
33
+ // do not edit .js files directly - edit src/index.jst
34
+
35
+
36
+
37
+ var fastDeepEqual = function equal(a, b) {
38
+ if (a === b) return true;
39
+
40
+ if (a && b && typeof a == 'object' && typeof b == 'object') {
41
+ if (a.constructor !== b.constructor) return false;
42
+
43
+ var length, i, keys;
44
+ if (Array.isArray(a)) {
45
+ length = a.length;
46
+ if (length != b.length) return false;
47
+ for (i = length; i-- !== 0;)
48
+ if (!equal(a[i], b[i])) return false;
49
+ return true;
50
+ }
51
+
52
+
53
+
54
+ if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
55
+ if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
56
+ if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
57
+
58
+ keys = Object.keys(a);
59
+ length = keys.length;
60
+ if (length !== Object.keys(b).length) return false;
61
+
62
+ for (i = length; i-- !== 0;)
63
+ if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
64
+
65
+ for (i = length; i-- !== 0;) {
66
+ var key = keys[i];
67
+
68
+ if (!equal(a[key], b[key])) return false;
69
+ }
70
+
71
+ return true;
72
+ }
73
+
74
+ // true if both NaN, false otherwise
75
+ return a!==a && b!==b;
76
+ };
77
+
78
+ /*! *****************************************************************************
79
+ Copyright (c) GlobalSport SAS.
80
+
81
+ Permission to use, copy, modify, and/or distribute this software for any
82
+ purpose with or without fee is hereby granted.
83
+
84
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
85
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
86
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
87
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
88
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
89
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
90
+ PERFORMANCE OF THIS SOFTWARE.
91
+ ***************************************************************************** */
92
+ function getNoopMiddleware() {
93
+ var middleware = {
94
+ init: function () { },
95
+ destroy: null,
96
+ effects: function () { return null; },
97
+ };
98
+ return middleware;
99
+ }
100
+ function logEffects(log) {
101
+ if (log === void 0) { log = console.log; }
102
+ var f = function () {
103
+ var logger = log;
104
+ var storeName = '';
105
+ var middleware = {
106
+ init: function (storeContext) {
107
+ var _a, _b;
108
+ if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {
109
+ storeName = ((_a = storeContext.options) === null || _a === void 0 ? void 0 : _a.name) ? "[".concat((_b = storeContext.options) === null || _b === void 0 ? void 0 : _b.name, "]") : '';
110
+ var newState = storeContext.state;
111
+ logger(storeName, 'initialState', newState);
112
+ }
113
+ },
114
+ destroy: null,
115
+ effects: function (action, _oldState, newState, loading) {
116
+ if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {
117
+ logger(storeName, action.name, action.type, newState === null ? 'no effect' : newState, action.isAsync
118
+ ? action.type === 'preEffects' && !loading
119
+ ? 'Promise cancelled'
120
+ : "loading: ".concat(loading)
121
+ : '');
122
+ }
123
+ return null;
124
+ },
125
+ };
126
+ return middleware;
127
+ };
128
+ return f;
129
+ }
130
+ function logDetailedEffects(logger) {
131
+ if (logger === void 0) { logger = console; }
132
+ return function () {
133
+ var storeName = '';
134
+ var console = logger;
135
+ if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {
136
+ var computeDiffPropValue_1 = function (oldValue, newValue) {
137
+ var res;
138
+ if (newValue !== oldValue) {
139
+ var type = oldValue != null ? typeof oldValue : typeof newValue;
140
+ if (type === 'number' || type === 'string' || type === 'boolean') {
141
+ res = "".concat(oldValue, " => ").concat(newValue === '' ? '""' : newValue);
142
+ }
143
+ else if ((oldValue && oldValue.length) || (newValue && newValue.length)) {
144
+ if (oldValue == null) {
145
+ res = "was ".concat(oldValue, ", now contains ").concat(newValue.length, " element(s)");
146
+ }
147
+ else if (newValue == null) {
148
+ res = "contained ".concat(oldValue.length, " element(s), now is ").concat(newValue);
149
+ }
150
+ else if (oldValue.length === 0) {
151
+ res = "was empty, now contains ".concat(newValue.length, " elements");
152
+ }
153
+ else if (newValue.length === 0) {
154
+ res = "contained ".concat(oldValue.length, " elements, now is empty");
155
+ }
156
+ else {
157
+ var addedValues = newValue.filter(function (a) { return !oldValue.find(function (b) { return fastDeepEqual(a, b); }); });
158
+ var removedValues = oldValue.filter(function (a) { return !newValue.find(function (b) { return fastDeepEqual(a, b); }); });
159
+ if (addedValues.length > 10) {
160
+ addedValues = "".concat(addedValues.length, " element(s) added");
161
+ }
162
+ if (removedValues.length > 10) {
163
+ removedValues = "".concat(removedValues.length, " element(s) removed");
164
+ }
165
+ res = {
166
+ added: addedValues,
167
+ removed: removedValues,
168
+ };
169
+ }
170
+ }
171
+ else {
172
+ res = newValue;
173
+ }
174
+ }
175
+ return res;
176
+ };
177
+ var buildDiff_1 = function (oldState, newState) {
178
+ var res = {};
179
+ if (process.env.NODE_ENV === 'development') {
180
+ if (oldState) {
181
+ var keys_1 = Object.keys(oldState);
182
+ keys_1.forEach(function (k) {
183
+ if (newState.hasOwnProperty(k)) {
184
+ var oldValue = oldState[k];
185
+ var newValue = newState[k];
186
+ var diff = computeDiffPropValue_1(oldValue, newValue);
187
+ if (diff) {
188
+ res[k] = diff;
189
+ }
190
+ }
191
+ else {
192
+ res[k] = 'was deleted';
193
+ }
194
+ });
195
+ }
196
+ var keys = Object.keys(newState);
197
+ keys.forEach(function (k) {
198
+ if (oldState == null || !oldState.hasOwnProperty(k)) {
199
+ var newValue = newState[k];
200
+ res[k] = computeDiffPropValue_1(undefined, newValue);
201
+ }
202
+ });
203
+ }
204
+ return res;
205
+ };
206
+ var getStr_1 = function (v) {
207
+ if (typeof v === 'string') {
208
+ return "\"".concat(v, "\"");
209
+ }
210
+ return v;
211
+ };
212
+ var middleware_1 = {
213
+ init: function (storeContext) {
214
+ var _a, _b;
215
+ storeName = ((_a = storeContext.options) === null || _a === void 0 ? void 0 : _a.name) ? "[".concat((_b = storeContext.options) === null || _b === void 0 ? void 0 : _b.name, "]") : '';
216
+ var newState = storeContext.state;
217
+ logger.group(storeName, 'initialState');
218
+ var keys = Object.keys(newState);
219
+ keys.forEach(function (prop) { return void console.log(prop, ':', getStr_1(newState[prop])); });
220
+ logger.groupEnd();
221
+ },
222
+ destroy: null,
223
+ effects: function (action, oldState, newState, loading) {
224
+ var _a;
225
+ var args = (_a = action.context) === null || _a === void 0 ? void 0 : _a.args;
226
+ var params = [storeName, action.name.toString()];
227
+ if (action.isAsync) {
228
+ if (action.type === 'preEffects') {
229
+ params.push(loading ? 'START' : 'CANCELLED');
230
+ }
231
+ else if (action.type === 'effects') {
232
+ params.push('DONE');
233
+ }
234
+ else {
235
+ params.push('FAILED');
236
+ }
237
+ }
238
+ if (newState == null && (!args || Object.keys(args).length === 0)) {
239
+ console.log.apply(console, params);
240
+ }
241
+ else {
242
+ console.group.apply(console, params);
243
+ }
244
+ if (args && Object.keys(args).length > 0) {
245
+ console.group('Arguments');
246
+ args.forEach(function (arg) { return void console.log(arg, ':', getStr_1(arg)); });
247
+ console.groupEnd();
248
+ }
249
+ if (newState != null) {
250
+ console.groupCollapsed('Before');
251
+ if (oldState == null) {
252
+ console.log('was null');
253
+ }
254
+ else {
255
+ var keys = Object.keys(oldState);
256
+ keys.forEach(function (prop) { return void console.log(prop, ':', getStr_1(oldState[prop])); });
257
+ }
258
+ console.groupEnd();
259
+ console.groupCollapsed('After');
260
+ if (newState == null) {
261
+ console.log('was null');
262
+ }
263
+ else {
264
+ var keys = Object.keys(newState);
265
+ keys.forEach(function (prop) { return void console.log(prop, ':', getStr_1(newState[prop])); });
266
+ }
267
+ console.groupEnd();
268
+ if (newState != null) {
269
+ console.group('Diff');
270
+ var diff_1 = buildDiff_1(oldState, newState);
271
+ Object.keys(diff_1).forEach(function (prop) { return console.log(prop, ':', diff_1[prop]); });
272
+ console.groupEnd();
273
+ }
274
+ }
275
+ //
276
+ console.groupEnd();
277
+ return null;
278
+ },
279
+ };
280
+ return middleware_1;
281
+ }
282
+ var middleware = getNoopMiddleware();
283
+ return middleware;
284
+ };
285
+ }
286
+ function optimisticActions(cloneFunc) {
287
+ function getMiddleWare() {
288
+ var storeContext = null;
289
+ var optimisticData = {
290
+ history: null,
291
+ optimisticActions: {},
292
+ shouldRecordHistory: false,
293
+ };
294
+ var clone = function (obj) {
295
+ var f = cloneFunc || impl.globalConfig.clone;
296
+ return f(obj);
297
+ };
298
+ var getActionId = function (name, promiseId) {
299
+ return "".concat(name.toString(), "_").concat(promiseId);
300
+ };
301
+ /**
302
+ * Adds an action to the action history (only when at least one optimistic action is ongoing).
303
+ * @param actionName The action name
304
+ * @param reducer The reducer name
305
+ * @param args The arguments of the action (will be cloned)
306
+ * @param beforeState state before the optimistic action
307
+ */
308
+ function pushActionToHistory(actionName, effectType, ctx, beforeState) {
309
+ if (beforeState === void 0) { beforeState = null; }
310
+ var shouldRecordHistory = optimisticData.shouldRecordHistory;
311
+ var history = optimisticData.history;
312
+ if (shouldRecordHistory) {
313
+ if (history === null) {
314
+ optimisticData.history = [];
315
+ }
316
+ var clonedCtx = clone(ctx);
317
+ delete clonedCtx.state;
318
+ delete clonedCtx.s;
319
+ delete clonedCtx.abortSignal;
320
+ // error clone issue
321
+ clonedCtx.error = ctx.err;
322
+ clonedCtx.err = ctx.err;
323
+ var newEntry = {
324
+ effectType: effectType,
325
+ actionName: actionName,
326
+ promiseId: ctx.promiseId,
327
+ // fixme remove actions etc etc
328
+ ctx: clonedCtx,
329
+ beforeEffectState: beforeState ? clone(beforeState) : null,
330
+ };
331
+ optimisticData.history.push(newEntry);
332
+ }
333
+ }
334
+ /**
335
+ * Undo the optimistic action.
336
+ * Strategy:
337
+ * - Get the state before the optimistic reducer
338
+ * - Replay all actions that occured after the optimistic action.
339
+ * @param actionName The action name.
340
+ */
341
+ function undoOptimisticAction(actionName, promiseId) {
342
+ var history = optimisticData.history;
343
+ // find the optimistic action in the history
344
+ var index = history.findIndex(function (a) { return a.effectType === 'optimisticEffects' && a.actionName === actionName && a.promiseId === promiseId; });
345
+ // find the state at the time of the optimistic action.
346
+ var state = history[index].beforeEffectState;
347
+ // +1 to skip undo action
348
+ for (var i = index + 1; i < history.length; i++) {
349
+ var action = history[i];
350
+ // This is an optimistic action, update restore state
351
+ if (action.beforeEffectState) {
352
+ action.beforeEffectState = state;
353
+ }
354
+ var ctx = __assign(__assign({}, action.ctx), { state: state, s: state });
355
+ if (action.actionName === 'onPropsChange') {
356
+ var onPropsChanges = Array.isArray(storeContext.options.onPropsChange)
357
+ ? storeContext.options.onPropsChange
358
+ : [storeContext.options.onPropsChange];
359
+ state = __assign(__assign({}, state), onPropsChanges[ctx.index].effects(ctx));
360
+ }
361
+ else if (impl.isSimpleSyncAction(storeContext.actions[action.actionName])) {
362
+ state = __assign(__assign({}, state), storeContext.actions[action.actionName](ctx));
363
+ }
364
+ else {
365
+ state = __assign(__assign({}, state), storeContext.actions[action.actionName][action.effectType](ctx));
366
+ }
367
+ }
368
+ // clean up
369
+ cleanHistoryAfterOptimistAction(actionName, promiseId, index);
370
+ return state;
371
+ }
372
+ function cleanHistoryAfterOptimistAction(actionName, promiseId, indexInHistory) {
373
+ if (indexInHistory === void 0) { indexInHistory = undefined; }
374
+ var optimisticActions = optimisticData.optimisticActions, history = optimisticData.history;
375
+ var actionId = getActionId(actionName, promiseId);
376
+ delete optimisticActions[actionId];
377
+ var optiStateKeys = Object.keys(optimisticActions);
378
+ if (optiStateKeys.length === 0) {
379
+ optimisticData.history = null;
380
+ optimisticData.shouldRecordHistory = false;
381
+ }
382
+ else {
383
+ var index = indexInHistory === undefined
384
+ ? history.findIndex(function (a) { return getActionId(a.actionName, a.promiseId) === actionId; })
385
+ : indexInHistory;
386
+ if (index === 0) {
387
+ // this was the first optimist action, so find the next one
388
+ var nextOptimisticIndex = history.slice(1).findIndex(function (a) { return a.beforeEffectState != null; }) + 1;
389
+ // forget actions before the first optimist action in the history
390
+ history.splice(0, nextOptimisticIndex);
391
+ }
392
+ else if (indexInHistory === undefined) {
393
+ // success use case.
394
+ // this was not the first optimist action, but can forget the saved state.
395
+ // it becomes an asynchronous action.
396
+ history[index].beforeEffectState = null;
397
+ }
398
+ }
399
+ }
400
+ // FIXME test destroy + init
401
+ var middleware = {
402
+ init: function (ctx) {
403
+ storeContext = ctx;
404
+ },
405
+ destroy: function () {
406
+ storeContext = null;
407
+ optimisticData.history = null;
408
+ optimisticData.optimisticActions = {};
409
+ optimisticData.shouldRecordHistory = false;
410
+ },
411
+ effects: function (_a, oldState, newState, loading) {
412
+ // add effect to the history if needed
413
+ var name = _a.name, type = _a.type, context = _a.context, isAsync = _a.isAsync;
414
+ if ((newState != null && impl.isSimpleSyncAction(storeContext.actions[name])) ||
415
+ name === 'onPropsChange' ||
416
+ storeContext.actions[name][type] != null) {
417
+ pushActionToHistory(name, type, context, null);
418
+ }
419
+ if (isAsync) {
420
+ // can cast
421
+ var action = storeContext.actions[name];
422
+ // promise is sent and action is optimistic
423
+ if (loading && action.optimisticEffects != null && type === 'preEffects') {
424
+ optimisticData.shouldRecordHistory = true;
425
+ optimisticData.optimisticActions[getActionId(name, context.promiseId)] = true;
426
+ var state = newState || oldState;
427
+ pushActionToHistory(name, 'optimisticEffects', context, state);
428
+ return {
429
+ loading: false,
430
+ state: __assign(__assign({}, state), action.optimisticEffects(__assign(__assign({}, context), { state: state, s: state }))),
431
+ };
432
+ }
433
+ // The promise was successful
434
+ if (action.optimisticEffects != null && type === 'effects') {
435
+ cleanHistoryAfterOptimistAction(name, context.promiseId);
436
+ return {
437
+ loading: loading,
438
+ state: newState,
439
+ };
440
+ }
441
+ // The promise failed
442
+ if (action.optimisticEffects != null && type === 'errorEffects') {
443
+ var state = undoOptimisticAction(name, context.promiseId);
444
+ return {
445
+ state: state,
446
+ loading: loading,
447
+ };
448
+ }
449
+ }
450
+ // else no-op
451
+ return null;
452
+ },
453
+ };
454
+ return middleware;
455
+ }
456
+ return getMiddleWare;
457
+ }
458
+ function devtools() {
459
+ var getMiddleware = function () {
460
+ var extension;
461
+ try {
462
+ extension = window.__REDUX_DEVTOOLS_EXTENSION__ || window.top.__REDUX_DEVTOOLS_EXTENSION__;
463
+ }
464
+ catch (_a) { }
465
+ if (!extension) {
466
+ return getNoopMiddleware();
467
+ }
468
+ var devtools;
469
+ var unsubscribe;
470
+ var middleware = {
471
+ init: function (storeContext) {
472
+ var _a, _b;
473
+ devtools = extension.connect({ name: (_b = (_a = storeContext.options) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : 'StateDecorator' });
474
+ devtools.init(storeContext.state);
475
+ var savedState = null;
476
+ var initialState = storeContext.state;
477
+ unsubscribe = devtools.subscribe(function (message) {
478
+ var _a, _b, _c, _d;
479
+ if (message.type === 'DISPATCH' && message.state && ((_a = message.payload) === null || _a === void 0 ? void 0 : _a.type) !== 'ROLLBACK') {
480
+ var newState = JSON.parse(message.state);
481
+ storeContext.setState(newState);
482
+ }
483
+ else if (((_b = message.payload) === null || _b === void 0 ? void 0 : _b.type) === 'COMMIT') {
484
+ savedState = storeContext.state;
485
+ }
486
+ else if (((_c = message.payload) === null || _c === void 0 ? void 0 : _c.type) === 'ROLLBACK') {
487
+ if (savedState != null) {
488
+ storeContext.setState(savedState);
489
+ }
490
+ }
491
+ else if (((_d = message.payload) === null || _d === void 0 ? void 0 : _d.type) === 'RESET') {
492
+ storeContext.setState(initialState);
493
+ }
494
+ });
495
+ },
496
+ effects: function (ctx, _oldState, newState) {
497
+ if (newState != null) {
498
+ var cleanCtx = __assign({}, ctx.context);
499
+ delete cleanCtx.a;
500
+ delete cleanCtx.s;
501
+ delete cleanCtx.p;
502
+ delete cleanCtx.res;
503
+ delete cleanCtx.err;
504
+ delete cleanCtx.ds;
505
+ devtools.send({
506
+ type: "".concat(ctx.name.toString(), " ").concat(ctx.type),
507
+ args: cleanCtx.args,
508
+ context: cleanCtx,
509
+ }, newState);
510
+ }
511
+ return null; // no op on state
512
+ },
513
+ destroy: function () {
514
+ unsubscribe();
515
+ devtools = null;
516
+ },
517
+ };
518
+ return middleware;
519
+ };
520
+ return getMiddleware;
521
+ }
522
+
523
+ exports.devtools = devtools;
524
+ exports.logDetailedEffects = logDetailedEffects;
525
+ exports.logEffects = logEffects;
526
+ exports.optimisticActions = optimisticActions;
2
527
  //# sourceMappingURL=middlewares.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/fast-deep-equal/index.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","equal","a","b","constructor","keys","Array","isArray","RegExp","source","flags","valueOf","toString","key"],"mappings":"4FA+BWA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,IAEKU,MAAMC,KAAMP,cCjCf,SAASQ,EAAMC,EAAGC,GACjC,GAAID,IAAMC,EAAG,OAAO,EAEpB,GAAID,GAAKC,GAAiB,iBAALD,GAA6B,iBAALC,EAAe,CAC1D,GAAID,EAAEE,cAAgBD,EAAEC,YAAa,OAAO,EAE5C,IAAIV,EAAQH,EAAGc,EACf,GAAIC,MAAMC,QAAQL,GAAI,CAEpB,IADAR,EAASQ,EAAER,SACGS,EAAET,OAAQ,OAAO,EAC/B,IAAKH,EAAIG,EAAgB,GAARH,KACf,IAAKU,EAAMC,EAAEX,GAAIY,EAAEZ,IAAK,OAAO,EACjC,OAAO,EAKT,GAAIW,EAAEE,cAAgBI,OAAQ,OAAON,EAAEO,SAAWN,EAAEM,QAAUP,EAAEQ,QAAUP,EAAEO,MAC5E,GAAIR,EAAES,UAAYxB,OAAOS,UAAUe,QAAS,OAAOT,EAAES,YAAcR,EAAEQ,UACrE,GAAIT,EAAEU,WAAazB,OAAOS,UAAUgB,SAAU,OAAOV,EAAEU,aAAeT,EAAES,WAIxE,IADAlB,GADAW,EAAOlB,OAAOkB,KAAKH,IACLR,UACCP,OAAOkB,KAAKF,GAAGT,OAAQ,OAAO,EAE7C,IAAKH,EAAIG,EAAgB,GAARH,KACf,IAAKJ,OAAOS,UAAUC,eAAeC,KAAKK,EAAGE,EAAKd,IAAK,OAAO,EAEhE,IAAKA,EAAIG,EAAgB,GAARH,KAAY,CAC3B,IAAIsB,EAAMR,EAAKd,GAEf,IAAKU,EAAMC,EAAEW,GAAMV,EAAEU,IAAO,OAAO,EAGrC,OAAO,EAIT,OAAOX,GAAIA,GAAKC,GAAIA"}
1
+ {"version":3,"file":"middlewares.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/fast-deep-equal/index.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "state-decorator",
3
- "version": "7.0.0-beta.0",
3
+ "version": "7.0.0-beta.10-dev",
4
4
  "description": "React state management library",
5
5
  "main": "index.js",
6
6
  "module": "es/index.js",
@@ -11,8 +11,7 @@
11
11
  "license": "MIT",
12
12
  "sideEffects": false,
13
13
  "peerDependencies": {
14
- "react": ">=16.9.0",
15
- "react-dom": ">=16.9.0"
14
+ "react": ">=16.9.0"
16
15
  },
17
16
  "keywords": [
18
17
  "state",
@@ -21,7 +20,9 @@
21
20
  "javascript"
22
21
  ],
23
22
  "dependencies": {
24
- "fast-deep-equal": "^3.1.3"
23
+ "@types/use-sync-external-store": "^0.0.3",
24
+ "fast-deep-equal": "^3.1.3",
25
+ "use-sync-external-store": "^1.2.0"
25
26
  },
26
27
  "resolutions": {
27
28
  "minimist": "^1.2.3",