state-decorator 7.0.0-beta.12-dev → 7.0.0-beta.14-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.
package/README.md CHANGED
@@ -1059,7 +1059,7 @@ function Subtitle(props: { subtitle: string }) {
1059
1059
 
1060
1060
  # Derived state
1061
1061
 
1062
- A derived state is a state that can be deduced from state and props.
1062
+ A derived state is a state that can be deduced from state, props or derived state.
1063
1063
 
1064
1064
  ```typescript
1065
1065
  import { createStore } from 'state-decorator';
@@ -1078,6 +1078,8 @@ type Props = {
1078
1078
 
1079
1079
  type DerivedState = {
1080
1080
  derivedProp: number;
1081
+ derivedProp2: number;
1082
+ derivedProp3: number;
1081
1083
  };
1082
1084
 
1083
1085
  const store = createStore<State, Actions, Props, DerivedState>({
@@ -1093,13 +1095,29 @@ const store = createStore<State, Actions, Props, DerivedState>({
1093
1095
  // compute derived state from state & props (use short aliases)
1094
1096
  get: ({ s, p }) => s.value * p.propIn,
1095
1097
  },
1098
+ derivedProp2: {
1099
+ // derived prop from another derived prop
1100
+ derivedDeps: ['derivedProp'],
1101
+ // compute derived state from state & props (use short aliases)
1102
+ get: ({ ds }) => ds.derivedProp * 2,
1103
+ },
1104
+ derivedProp2: {
1105
+ // depends on state, props and another derived state
1106
+ getDeps: ({ s, p }) => [s.value, p.propIn],
1107
+ derivedDeps: ['derivedProp'],
1108
+ get: ({ s, p, ds }) => s.value * p.propIn * ds.derivedProp,
1109
+ },
1096
1110
  },
1097
1111
  });
1098
1112
 
1099
1113
  export function App(props: Props) {
1100
1114
  const { state } = useStore(store, props);
1101
1115
  // state contains the store state and derived state
1102
- return <div>{state.derivedProp}</div>;
1116
+ return (
1117
+ <div>
1118
+ {state.derivedProp} {state.derivedProp2} {state.derivedProp3}
1119
+ </div>
1120
+ );
1103
1121
  }
1104
1122
  ```
1105
1123
 
@@ -1136,14 +1154,16 @@ setGlobalConfig({
1136
1154
  });
1137
1155
  ```
1138
1156
 
1139
- # Debug actions
1157
+ # Trace actions
1140
1158
 
1141
- To debug actions, add a middleware to the store.
1159
+ To trace actions, add a logger development middleware to the store.
1160
+
1161
+ These middlewares are deactivated if the `NODE_ENV` during the build is not `development` or `test`.
1142
1162
 
1143
1163
  ## Concise logger
1144
1164
 
1145
1165
  ```typescript
1146
- import { logEffects } from 'state-decorator/middlewares';
1166
+ import { logEffects } from 'state-decorator/development';
1147
1167
 
1148
1168
  function Container(props: Props) {
1149
1169
  const { state, actions } = useLocalStore({ getInitialState, actions, middlewares: [logEffects()] });
@@ -1173,7 +1193,7 @@ Example:
1173
1193
  ## Detailed Logger
1174
1194
 
1175
1195
  ```typescript
1176
- import { logDetailedEffects } from 'state-decorator/middlewares';
1196
+ import { logDetailedEffects } from 'state-decorator/development';
1177
1197
 
1178
1198
  function Container(props: Props) {
1179
1199
  const { state, actions } = useLocalStore({ getInitialState, actions, middlewares: [logDetailedEffects()] });
@@ -1197,12 +1217,14 @@ Example:
1197
1217
  ║ calendarEndDate : null => 2018-08-19T22:00:00.000Z
1198
1218
  ```
1199
1219
 
1220
+ Note: In v7, it can be activated by adding `logEnabled: true` in the configuration.
1221
+
1200
1222
  ## Redux devtools
1201
1223
 
1202
1224
  You can connect any StateDecorator store to [Chrome Redux devtools extension](https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=en) by adding the `devtools` middleware to the store.
1203
1225
 
1204
1226
  ```typescript
1205
- import { devtools } from 'state-decorator/middlewares';
1227
+ import { devtools } from 'state-decorator/development';
1206
1228
 
1207
1229
  function Container(props: Props) {
1208
1230
  const { state, actions } = useLocalStore({ getInitialState, actions, middlewares: [devtools()] });
@@ -0,0 +1,24 @@
1
+ /*! *****************************************************************************
2
+ Copyright (c) GlobalSport SAS.
3
+
4
+ Permission to use, copy, modify, and/or distribute this software for any
5
+ purpose with or without fee is hereby granted.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
+ PERFORMANCE OF THIS SOFTWARE.
14
+ ***************************************************************************** */
15
+ import type { DecoratedActions, MiddlewareFactory } from './types';
16
+ export type Logger = {
17
+ log: (...args: any[]) => void;
18
+ group: (...args: any[]) => void;
19
+ groupCollapsed: (...args: any[]) => void;
20
+ groupEnd: (...args: any[]) => void;
21
+ };
22
+ export declare let logEffects: <S, A extends DecoratedActions, P>(log?: (...msg: any[]) => void) => MiddlewareFactory<S, A, P>;
23
+ export declare let logDetailedEffects: <S, A extends DecoratedActions, P>(logger?: Logger) => MiddlewareFactory<S, A, P>;
24
+ export declare let devtools: <S, A extends DecoratedActions, P>() => MiddlewareFactory<S, A, P>;
package/development.js ADDED
@@ -0,0 +1,344 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ /*! *****************************************************************************
6
+ Copyright (c) Microsoft Corporation.
7
+
8
+ Permission to use, copy, modify, and/or distribute this software for any
9
+ purpose with or without fee is hereby granted.
10
+
11
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
12
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
13
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
14
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
16
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17
+ PERFORMANCE OF THIS SOFTWARE.
18
+ ***************************************************************************** */
19
+
20
+ var __assign = function() {
21
+ __assign = Object.assign || function __assign(t) {
22
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
23
+ s = arguments[i];
24
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
25
+ }
26
+ return t;
27
+ };
28
+ return __assign.apply(this, arguments);
29
+ };
30
+
31
+ // do not edit .js files directly - edit src/index.jst
32
+
33
+
34
+
35
+ var fastDeepEqual = function equal(a, b) {
36
+ if (a === b) return true;
37
+
38
+ if (a && b && typeof a == 'object' && typeof b == 'object') {
39
+ if (a.constructor !== b.constructor) return false;
40
+
41
+ var length, i, keys;
42
+ if (Array.isArray(a)) {
43
+ length = a.length;
44
+ if (length != b.length) return false;
45
+ for (i = length; i-- !== 0;)
46
+ if (!equal(a[i], b[i])) return false;
47
+ return true;
48
+ }
49
+
50
+
51
+
52
+ if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
53
+ if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
54
+ if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
55
+
56
+ keys = Object.keys(a);
57
+ length = keys.length;
58
+ if (length !== Object.keys(b).length) return false;
59
+
60
+ for (i = length; i-- !== 0;)
61
+ if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
62
+
63
+ for (i = length; i-- !== 0;) {
64
+ var key = keys[i];
65
+
66
+ if (!equal(a[key], b[key])) return false;
67
+ }
68
+
69
+ return true;
70
+ }
71
+
72
+ // true if both NaN, false otherwise
73
+ return a!==a && b!==b;
74
+ };
75
+
76
+ /*! *****************************************************************************
77
+ Copyright (c) GlobalSport SAS.
78
+
79
+ Permission to use, copy, modify, and/or distribute this software for any
80
+ purpose with or without fee is hereby granted.
81
+
82
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
83
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
84
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
85
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
86
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
87
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
88
+ PERFORMANCE OF THIS SOFTWARE.
89
+ ***************************************************************************** */
90
+ exports.logEffects = null;
91
+ exports.logDetailedEffects = null;
92
+ exports.devtools = null;
93
+ // @ts-ignore
94
+ {
95
+ var getNoopMiddleware_1 = function () {
96
+ var middleware = {
97
+ init: function () { },
98
+ destroy: null,
99
+ effects: function () { return null; },
100
+ };
101
+ return middleware;
102
+ };
103
+ exports.logEffects = function (log) {
104
+ if (log === void 0) { log = console.log; }
105
+ var f = function () {
106
+ var logger = log;
107
+ var storeName = '';
108
+ var middleware = {
109
+ init: function (storeContext) {
110
+ var _a, _b;
111
+ storeName = ((_a = storeContext.options) === null || _a === void 0 ? void 0 : _a.name) ? "[".concat((_b = storeContext.options) === null || _b === void 0 ? void 0 : _b.name, "]") : '';
112
+ var newState = storeContext.state;
113
+ logger(storeName, 'initialState', newState);
114
+ },
115
+ destroy: null,
116
+ effects: function (action, _oldState, newState, loading) {
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
+ return null;
123
+ },
124
+ };
125
+ return middleware;
126
+ };
127
+ return f;
128
+ };
129
+ exports.logDetailedEffects = function (logger) {
130
+ if (logger === void 0) { logger = console; }
131
+ return function () {
132
+ var storeName = '';
133
+ var console = logger;
134
+ var computeDiffPropValue = function (oldValue, newValue) {
135
+ var res;
136
+ if (newValue !== oldValue) {
137
+ var type = oldValue != null ? typeof oldValue : typeof newValue;
138
+ if (type === 'number' || type === 'string' || type === 'boolean') {
139
+ res = "".concat(oldValue, " => ").concat(newValue === '' ? '""' : newValue);
140
+ }
141
+ else if ((oldValue && oldValue.length) || (newValue && newValue.length)) {
142
+ if (oldValue == null) {
143
+ res = "was ".concat(oldValue, ", now contains ").concat(newValue.length, " element(s)");
144
+ }
145
+ else if (newValue == null) {
146
+ res = "contained ".concat(oldValue.length, " element(s), now is ").concat(newValue);
147
+ }
148
+ else if (oldValue.length === 0) {
149
+ res = "was empty, now contains ".concat(newValue.length, " elements");
150
+ }
151
+ else if (newValue.length === 0) {
152
+ res = "contained ".concat(oldValue.length, " elements, now is empty");
153
+ }
154
+ else {
155
+ var addedValues = newValue.filter(function (a) { return !oldValue.find(function (b) { return fastDeepEqual(a, b); }); });
156
+ var removedValues = oldValue.filter(function (a) { return !newValue.find(function (b) { return fastDeepEqual(a, b); }); });
157
+ if (addedValues.length > 10) {
158
+ addedValues = "".concat(addedValues.length, " element(s) added");
159
+ }
160
+ if (removedValues.length > 10) {
161
+ removedValues = "".concat(removedValues.length, " element(s) removed");
162
+ }
163
+ res = {
164
+ added: addedValues,
165
+ removed: removedValues,
166
+ };
167
+ }
168
+ }
169
+ else {
170
+ res = newValue;
171
+ }
172
+ }
173
+ return res;
174
+ };
175
+ var buildDiff = function (oldState, newState) {
176
+ var res = {};
177
+ if (oldState) {
178
+ var keys_1 = Object.keys(oldState);
179
+ keys_1.forEach(function (k) {
180
+ if (newState.hasOwnProperty(k)) {
181
+ var oldValue = oldState[k];
182
+ var newValue = newState[k];
183
+ var diff = computeDiffPropValue(oldValue, newValue);
184
+ if (diff) {
185
+ res[k] = diff;
186
+ }
187
+ }
188
+ else {
189
+ res[k] = 'was deleted';
190
+ }
191
+ });
192
+ }
193
+ var keys = Object.keys(newState);
194
+ keys.forEach(function (k) {
195
+ if (oldState == null || !oldState.hasOwnProperty(k)) {
196
+ var newValue = newState[k];
197
+ res[k] = computeDiffPropValue(undefined, newValue);
198
+ }
199
+ });
200
+ return res;
201
+ };
202
+ var getStr = function (v) {
203
+ if (typeof v === 'string') {
204
+ return "\"".concat(v, "\"");
205
+ }
206
+ return v;
207
+ };
208
+ var middleware = {
209
+ init: function (storeContext) {
210
+ var _a, _b;
211
+ storeName = ((_a = storeContext.options) === null || _a === void 0 ? void 0 : _a.name) ? "[".concat((_b = storeContext.options) === null || _b === void 0 ? void 0 : _b.name, "]") : '';
212
+ var newState = storeContext.state;
213
+ logger.group(storeName, 'initialState');
214
+ var keys = Object.keys(newState);
215
+ keys.forEach(function (prop) { return void console.log(prop, ':', getStr(newState[prop])); });
216
+ logger.groupEnd();
217
+ },
218
+ destroy: null,
219
+ effects: function (action, oldState, newState, loading) {
220
+ var _a;
221
+ var args = (_a = action.context) === null || _a === void 0 ? void 0 : _a.args;
222
+ var params = [storeName, action.name.toString()];
223
+ if (action.isAsync) {
224
+ if (action.type === 'preEffects') {
225
+ params.push(loading ? 'START' : 'CANCELLED');
226
+ }
227
+ else if (action.type === 'effects') {
228
+ params.push('DONE');
229
+ }
230
+ else {
231
+ params.push('FAILED');
232
+ }
233
+ }
234
+ if (newState == null && (!args || Object.keys(args).length === 0)) {
235
+ console.log.apply(console, params);
236
+ }
237
+ else {
238
+ console.group.apply(console, params);
239
+ }
240
+ if (args && Object.keys(args).length > 0) {
241
+ console.group('Arguments');
242
+ args.forEach(function (arg) { return void console.log(arg, ':', getStr(arg)); });
243
+ console.groupEnd();
244
+ }
245
+ if (newState != null) {
246
+ console.groupCollapsed('Before');
247
+ if (oldState == null) {
248
+ console.log('was null');
249
+ }
250
+ else {
251
+ var keys = Object.keys(oldState);
252
+ keys.forEach(function (prop) { return void console.log(prop, ':', getStr(oldState[prop])); });
253
+ }
254
+ console.groupEnd();
255
+ console.groupCollapsed('After');
256
+ if (newState == null) {
257
+ console.log('was null');
258
+ }
259
+ else {
260
+ var keys = Object.keys(newState);
261
+ keys.forEach(function (prop) { return void console.log(prop, ':', getStr(newState[prop])); });
262
+ }
263
+ console.groupEnd();
264
+ if (newState != null) {
265
+ console.group('Diff');
266
+ var diff_1 = buildDiff(oldState, newState);
267
+ Object.keys(diff_1).forEach(function (prop) { return console.log(prop, ':', diff_1[prop]); });
268
+ console.groupEnd();
269
+ }
270
+ }
271
+ //
272
+ console.groupEnd();
273
+ return null;
274
+ },
275
+ };
276
+ return middleware;
277
+ };
278
+ };
279
+ exports.devtools = function () {
280
+ var getMiddleware = function () {
281
+ var extension;
282
+ try {
283
+ extension = window.__REDUX_DEVTOOLS_EXTENSION__ || window.top.__REDUX_DEVTOOLS_EXTENSION__;
284
+ }
285
+ catch (_a) { }
286
+ if (!extension) {
287
+ return getNoopMiddleware_1();
288
+ }
289
+ var devtools;
290
+ var unsubscribe;
291
+ var middleware = {
292
+ init: function (storeContext) {
293
+ var _a, _b;
294
+ devtools = extension.connect({ name: (_b = (_a = storeContext.options) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : 'StateDecorator' });
295
+ devtools.init(storeContext.state);
296
+ var savedState = null;
297
+ var initialState = storeContext.state;
298
+ unsubscribe = devtools.subscribe(function (message) {
299
+ var _a, _b, _c, _d;
300
+ if (message.type === 'DISPATCH' && message.state && ((_a = message.payload) === null || _a === void 0 ? void 0 : _a.type) !== 'ROLLBACK') {
301
+ var newState = JSON.parse(message.state);
302
+ storeContext.setState(newState);
303
+ }
304
+ else if (((_b = message.payload) === null || _b === void 0 ? void 0 : _b.type) === 'COMMIT') {
305
+ savedState = storeContext.state;
306
+ }
307
+ else if (((_c = message.payload) === null || _c === void 0 ? void 0 : _c.type) === 'ROLLBACK') {
308
+ if (savedState != null) {
309
+ storeContext.setState(savedState);
310
+ }
311
+ }
312
+ else if (((_d = message.payload) === null || _d === void 0 ? void 0 : _d.type) === 'RESET') {
313
+ storeContext.setState(initialState);
314
+ }
315
+ });
316
+ },
317
+ effects: function (ctx, _oldState, newState) {
318
+ if (newState != null) {
319
+ var cleanCtx = __assign({}, ctx.context);
320
+ delete cleanCtx.a;
321
+ delete cleanCtx.s;
322
+ delete cleanCtx.p;
323
+ delete cleanCtx.res;
324
+ delete cleanCtx.err;
325
+ delete cleanCtx.ds;
326
+ devtools.send({
327
+ type: "".concat(ctx.name.toString(), " ").concat(ctx.type),
328
+ args: cleanCtx.args,
329
+ context: cleanCtx,
330
+ }, newState);
331
+ }
332
+ return null; // no op on state
333
+ },
334
+ destroy: function () {
335
+ unsubscribe();
336
+ devtools = null;
337
+ },
338
+ };
339
+ return middleware;
340
+ };
341
+ return getMiddleware;
342
+ };
343
+ }
344
+ //# sourceMappingURL=development.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"development.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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"}
@@ -0,0 +1,24 @@
1
+ /*! *****************************************************************************
2
+ Copyright (c) GlobalSport SAS.
3
+
4
+ Permission to use, copy, modify, and/or distribute this software for any
5
+ purpose with or without fee is hereby granted.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
+ PERFORMANCE OF THIS SOFTWARE.
14
+ ***************************************************************************** */
15
+ import type { DecoratedActions, MiddlewareFactory } from './types';
16
+ export type Logger = {
17
+ log: (...args: any[]) => void;
18
+ group: (...args: any[]) => void;
19
+ groupCollapsed: (...args: any[]) => void;
20
+ groupEnd: (...args: any[]) => void;
21
+ };
22
+ export declare let logEffects: <S, A extends DecoratedActions, P>(log?: (...msg: any[]) => void) => MiddlewareFactory<S, A, P>;
23
+ export declare let logDetailedEffects: <S, A extends DecoratedActions, P>(logger?: Logger) => MiddlewareFactory<S, A, P>;
24
+ export declare let devtools: <S, A extends DecoratedActions, P>() => MiddlewareFactory<S, A, P>;