easy-soft-dva 3.6.5 → 3.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/dva-core/index.js +1 -2048
- package/es/dva-loading/index.js +1 -159
- package/es/index.js +1 -178
- package/es/regeneratorRuntime.js +3 -368
- package/es/utils/definition.d.ts +4 -0
- package/es/utils/packagePrompt.d.ts +4 -0
- package/package.json +3 -3
- package/es/utils/meta.d.ts +0 -4
package/es/dva-core/index.js
CHANGED
|
@@ -1,2048 +1 @@
|
|
|
1
|
-
import { a as _typeof, _ as _objectSpread2, b as _regeneratorRuntime, c as _toPropertyKey } from '../regeneratorRuntime.js';
|
|
2
|
-
import invariant from 'invariant';
|
|
3
|
-
import { connect as connect$1, Provider as Provider$1 } from 'react-redux';
|
|
4
|
-
import { combineReducers } from 'redux';
|
|
5
|
-
import createSagaMiddleware__default from 'redux-saga';
|
|
6
|
-
import * as createSagaMiddleware from 'redux-saga';
|
|
7
|
-
export { createSagaMiddleware as saga };
|
|
8
|
-
import { isPlainObject } from 'is-plain-object';
|
|
9
|
-
import flatten from 'flatten';
|
|
10
|
-
import { configureStore } from '@reduxjs/toolkit';
|
|
11
|
-
import warning from 'warning';
|
|
12
|
-
|
|
13
|
-
function _arrayLikeToArray(arr, len) {
|
|
14
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
15
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
16
|
-
return arr2;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function _unsupportedIterableToArray(o, minLen) {
|
|
20
|
-
if (!o) return;
|
|
21
|
-
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
22
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
23
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
24
|
-
if (n === "Map" || n === "Set") return Array.from(o);
|
|
25
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
29
|
-
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
30
|
-
if (!it) {
|
|
31
|
-
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
32
|
-
if (it) o = it;
|
|
33
|
-
var i = 0;
|
|
34
|
-
var F = function F() {};
|
|
35
|
-
return {
|
|
36
|
-
s: F,
|
|
37
|
-
n: function n() {
|
|
38
|
-
if (i >= o.length) return {
|
|
39
|
-
done: true
|
|
40
|
-
};
|
|
41
|
-
return {
|
|
42
|
-
done: false,
|
|
43
|
-
value: o[i++]
|
|
44
|
-
};
|
|
45
|
-
},
|
|
46
|
-
e: function e(_e) {
|
|
47
|
-
throw _e;
|
|
48
|
-
},
|
|
49
|
-
f: F
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
53
|
-
}
|
|
54
|
-
var normalCompletion = true,
|
|
55
|
-
didErr = false,
|
|
56
|
-
err;
|
|
57
|
-
return {
|
|
58
|
-
s: function s() {
|
|
59
|
-
it = it.call(o);
|
|
60
|
-
},
|
|
61
|
-
n: function n() {
|
|
62
|
-
var step = it.next();
|
|
63
|
-
normalCompletion = step.done;
|
|
64
|
-
return step;
|
|
65
|
-
},
|
|
66
|
-
e: function e(_e2) {
|
|
67
|
-
didErr = true;
|
|
68
|
-
err = _e2;
|
|
69
|
-
},
|
|
70
|
-
f: function f() {
|
|
71
|
-
try {
|
|
72
|
-
if (!normalCompletion && it["return"] != null) it["return"]();
|
|
73
|
-
} finally {
|
|
74
|
-
if (didErr) throw err;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
var isArray = Array.isArray.bind(Array);
|
|
81
|
-
var isFunction = function isFunction(o) {
|
|
82
|
-
return typeof o === 'function';
|
|
83
|
-
};
|
|
84
|
-
var returnSelf = function returnSelf(m) {
|
|
85
|
-
return m;
|
|
86
|
-
};
|
|
87
|
-
var noop$1 = function noop() {};
|
|
88
|
-
var findIndex$1 = function findIndex(array, predicate) {
|
|
89
|
-
for (var i = 0, length = array.length; i < length; i += 1) {
|
|
90
|
-
if (predicate(array[i], i)) return i;
|
|
91
|
-
}
|
|
92
|
-
return -1;
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
var utils = /*#__PURE__*/Object.freeze({
|
|
96
|
-
__proto__: null,
|
|
97
|
-
findIndex: findIndex$1,
|
|
98
|
-
isArray: isArray,
|
|
99
|
-
isFunction: isFunction,
|
|
100
|
-
isPlainObject: isPlainObject,
|
|
101
|
-
noop: noop$1,
|
|
102
|
-
returnSelf: returnSelf
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
function checkModel(model, existModels) {
|
|
106
|
-
var namespace = model.namespace,
|
|
107
|
-
reducers = model.reducers,
|
|
108
|
-
effects = model.effects,
|
|
109
|
-
subscriptions = model.subscriptions;
|
|
110
|
-
|
|
111
|
-
// namespace 必须被定义
|
|
112
|
-
invariant(namespace, "[app.model] namespace should be defined");
|
|
113
|
-
// 并且是字符串
|
|
114
|
-
invariant(typeof namespace === 'string', "[app.model] namespace should be string, but got ".concat(_typeof(namespace)));
|
|
115
|
-
// 并且唯一
|
|
116
|
-
invariant(!existModels.some(function (m) {
|
|
117
|
-
return m.namespace === namespace;
|
|
118
|
-
}), "[app.model] namespace should be unique");
|
|
119
|
-
|
|
120
|
-
// state 可以为任意值
|
|
121
|
-
|
|
122
|
-
// reducers 可以为空,PlainObject 或者数组
|
|
123
|
-
if (reducers) {
|
|
124
|
-
invariant(isPlainObject(reducers) || isArray(reducers), "[app.model] reducers should be plain object or array, but got ".concat(_typeof(reducers)));
|
|
125
|
-
// 数组的 reducers 必须是 [Object, Function] 的格式
|
|
126
|
-
invariant(!isArray(reducers) || isPlainObject(reducers[0]) && isFunction(reducers[1]), "[app.model] reducers with array should be [Object, Function]");
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
// effects 可以为空,PlainObject
|
|
130
|
-
if (effects) {
|
|
131
|
-
invariant(isPlainObject(effects), "[app.model] effects should be plain object, but got ".concat(_typeof(effects)));
|
|
132
|
-
}
|
|
133
|
-
if (subscriptions) {
|
|
134
|
-
// subscriptions 可以为空,PlainObject
|
|
135
|
-
invariant(isPlainObject(subscriptions), "[app.model] subscriptions should be plain object, but got ".concat(_typeof(subscriptions)));
|
|
136
|
-
|
|
137
|
-
// subscription 必须为函数
|
|
138
|
-
invariant(isAllFunction(subscriptions), "[app.model] subscription should be function");
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
function isAllFunction(obj) {
|
|
142
|
-
return Object.keys(obj).every(function (key) {
|
|
143
|
-
return isFunction(obj[key]);
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
function _arrayWithHoles(arr) {
|
|
148
|
-
if (Array.isArray(arr)) return arr;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
function _iterableToArrayLimit(arr, i) {
|
|
152
|
-
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
153
|
-
if (null != _i) {
|
|
154
|
-
var _s,
|
|
155
|
-
_e,
|
|
156
|
-
_x,
|
|
157
|
-
_r,
|
|
158
|
-
_arr = [],
|
|
159
|
-
_n = !0,
|
|
160
|
-
_d = !1;
|
|
161
|
-
try {
|
|
162
|
-
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
163
|
-
if (Object(_i) !== _i) return;
|
|
164
|
-
_n = !1;
|
|
165
|
-
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
166
|
-
} catch (err) {
|
|
167
|
-
_d = !0, _e = err;
|
|
168
|
-
} finally {
|
|
169
|
-
try {
|
|
170
|
-
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
|
|
171
|
-
} finally {
|
|
172
|
-
if (_d) throw _e;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
return _arr;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
function _nonIterableRest() {
|
|
180
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
function _slicedToArray(arr, i) {
|
|
184
|
-
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
var NAMESPACE_SEP = '/';
|
|
188
|
-
|
|
189
|
-
function createPromiseMiddleware(app) {
|
|
190
|
-
return function () {
|
|
191
|
-
return function (next) {
|
|
192
|
-
return function (action) {
|
|
193
|
-
var type = action.type;
|
|
194
|
-
if (isEffect(type)) {
|
|
195
|
-
return new Promise(function (resolve, reject) {
|
|
196
|
-
next(_objectSpread2({
|
|
197
|
-
__dva_resolve: resolve,
|
|
198
|
-
__dva_reject: reject
|
|
199
|
-
}, action));
|
|
200
|
-
});
|
|
201
|
-
} else {
|
|
202
|
-
return next(action);
|
|
203
|
-
}
|
|
204
|
-
};
|
|
205
|
-
};
|
|
206
|
-
};
|
|
207
|
-
function isEffect(type) {
|
|
208
|
-
if (!type || typeof type !== 'string') return false;
|
|
209
|
-
var _type$split = type.split(NAMESPACE_SEP),
|
|
210
|
-
_type$split2 = _slicedToArray(_type$split, 1),
|
|
211
|
-
namespace = _type$split2[0];
|
|
212
|
-
var model = app._models.filter(function (m) {
|
|
213
|
-
return m.namespace === namespace;
|
|
214
|
-
})[0];
|
|
215
|
-
if (model) {
|
|
216
|
-
if (model.effects && model.effects[type]) {
|
|
217
|
-
return true;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
return false;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
function _arrayWithoutHoles(arr) {
|
|
225
|
-
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
function _iterableToArray(iter) {
|
|
229
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
function _nonIterableSpread() {
|
|
233
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
function _toConsumableArray(arr) {
|
|
237
|
-
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
function createStore (_ref) {
|
|
241
|
-
var reducers = _ref.reducers,
|
|
242
|
-
initialState = _ref.initialState,
|
|
243
|
-
plugin = _ref.plugin,
|
|
244
|
-
sagaMiddleware = _ref.sagaMiddleware,
|
|
245
|
-
promiseMiddleware = _ref.promiseMiddleware,
|
|
246
|
-
_ref$createOpts$setup = _ref.createOpts.setupMiddleWares,
|
|
247
|
-
setupMiddleWares = _ref$createOpts$setup === void 0 ? returnSelf : _ref$createOpts$setup;
|
|
248
|
-
// extra enhancers
|
|
249
|
-
var extraEnhancers = plugin.get('extraEnhancers');
|
|
250
|
-
invariant(isArray(extraEnhancers), "[app.start] extraEnhancers should be array, but got ".concat(_typeof(extraEnhancers)));
|
|
251
|
-
var extraMiddleWares = plugin.get('onAction');
|
|
252
|
-
var middleWares = setupMiddleWares([promiseMiddleware, sagaMiddleware].concat(_toConsumableArray(flatten(extraMiddleWares))));
|
|
253
|
-
return configureStore({
|
|
254
|
-
reducer: reducers,
|
|
255
|
-
preloadedState: initialState,
|
|
256
|
-
middleware: middleWares,
|
|
257
|
-
enhancers: extraEnhancers
|
|
258
|
-
});
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
function identify(value) {
|
|
262
|
-
return value;
|
|
263
|
-
}
|
|
264
|
-
function handleAction(actionType) {
|
|
265
|
-
var reducer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : identify;
|
|
266
|
-
var namespace = arguments.length > 2 ? arguments[2] : undefined;
|
|
267
|
-
return function (state, action) {
|
|
268
|
-
var type = action.type;
|
|
269
|
-
invariant(type, 'dispatch: action should be a plain Object with type');
|
|
270
|
-
if (actionType === type) {
|
|
271
|
-
return reducer(state, action, namespace);
|
|
272
|
-
}
|
|
273
|
-
return state;
|
|
274
|
-
};
|
|
275
|
-
}
|
|
276
|
-
function reduceReducers() {
|
|
277
|
-
for (var _len = arguments.length, reducers = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
278
|
-
reducers[_key] = arguments[_key];
|
|
279
|
-
}
|
|
280
|
-
return function (previous, current) {
|
|
281
|
-
return reducers.reduce(function (p, r) {
|
|
282
|
-
return r(p, current);
|
|
283
|
-
}, previous);
|
|
284
|
-
};
|
|
285
|
-
}
|
|
286
|
-
function handleActions(handlers, defaultState, namespace) {
|
|
287
|
-
var reducers = Object.keys(handlers).map(function (type) {
|
|
288
|
-
return handleAction(type, handlers[type], namespace);
|
|
289
|
-
});
|
|
290
|
-
var reducer = reduceReducers.apply(void 0, _toConsumableArray(reducers));
|
|
291
|
-
return function () {
|
|
292
|
-
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultState;
|
|
293
|
-
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
294
|
-
return reducer(state, action, namespace);
|
|
295
|
-
};
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
function getReducer(reducers, state, handleActions$1, namespace) {
|
|
299
|
-
// Support reducer enhancer
|
|
300
|
-
// e.g. reducers: [realReducers, enhancer]
|
|
301
|
-
if (Array.isArray(reducers)) {
|
|
302
|
-
return reducers[1]((handleActions$1 || handleActions)(reducers[0], state, namespace));
|
|
303
|
-
} else {
|
|
304
|
-
return (handleActions$1 || handleActions)(reducers || {}, state, namespace);
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
var createSymbol = function createSymbol(name) {
|
|
309
|
-
return "@@redux-saga/" + name;
|
|
310
|
-
};
|
|
311
|
-
var CANCEL$1 = /*#__PURE__*/
|
|
312
|
-
createSymbol('CANCEL_PROMISE');
|
|
313
|
-
var IO = /*#__PURE__*/
|
|
314
|
-
createSymbol('IO');
|
|
315
|
-
var MULTICAST = /*#__PURE__*/
|
|
316
|
-
createSymbol('MULTICAST');
|
|
317
|
-
var SELF_CANCELLATION = /*#__PURE__*/
|
|
318
|
-
createSymbol('SELF_CANCELLATION');
|
|
319
|
-
var TASK = /*#__PURE__*/
|
|
320
|
-
createSymbol('TASK');
|
|
321
|
-
|
|
322
|
-
function _extends() {
|
|
323
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
324
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
325
|
-
var source = arguments[i];
|
|
326
|
-
for (var key in source) {
|
|
327
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
328
|
-
target[key] = source[key];
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
return target;
|
|
333
|
-
};
|
|
334
|
-
return _extends.apply(this, arguments);
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
var undef = function undef(v) {
|
|
338
|
-
return v === null || v === undefined;
|
|
339
|
-
};
|
|
340
|
-
var notUndef = function notUndef(v) {
|
|
341
|
-
return v !== null && v !== undefined;
|
|
342
|
-
};
|
|
343
|
-
var func = function func(f) {
|
|
344
|
-
return typeof f === 'function';
|
|
345
|
-
};
|
|
346
|
-
var string = function string(s) {
|
|
347
|
-
return typeof s === 'string';
|
|
348
|
-
};
|
|
349
|
-
var array = Array.isArray;
|
|
350
|
-
var object = function object(obj) {
|
|
351
|
-
return obj && !array(obj) && _typeof(obj) === 'object';
|
|
352
|
-
};
|
|
353
|
-
var task = function task(t) {
|
|
354
|
-
return t && t[TASK];
|
|
355
|
-
};
|
|
356
|
-
var buffer = function buffer(buf) {
|
|
357
|
-
return buf && func(buf.isEmpty) && func(buf.take) && func(buf.put);
|
|
358
|
-
};
|
|
359
|
-
var pattern = function pattern(pat) {
|
|
360
|
-
return pat && (string(pat) || symbol(pat) || func(pat) || array(pat) && pat.every(pattern));
|
|
361
|
-
};
|
|
362
|
-
var channel = function channel(ch) {
|
|
363
|
-
return ch && func(ch.take) && func(ch.close);
|
|
364
|
-
};
|
|
365
|
-
var stringableFunc = function stringableFunc(f) {
|
|
366
|
-
return func(f) && f.hasOwnProperty('toString');
|
|
367
|
-
};
|
|
368
|
-
var symbol = function symbol(sym) {
|
|
369
|
-
return Boolean(sym) && typeof Symbol === 'function' && sym.constructor === Symbol && sym !== Symbol.prototype;
|
|
370
|
-
};
|
|
371
|
-
var multicast = function multicast(ch) {
|
|
372
|
-
return channel(ch) && ch[MULTICAST];
|
|
373
|
-
};
|
|
374
|
-
var effect = function effect(eff) {
|
|
375
|
-
return eff && eff[IO];
|
|
376
|
-
};
|
|
377
|
-
|
|
378
|
-
var MAX_SIGNED_INT = 2147483647;
|
|
379
|
-
function delayP(ms, val) {
|
|
380
|
-
if (val === void 0) {
|
|
381
|
-
val = true;
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/setTimeout#maximum_delay_value
|
|
385
|
-
if (process.env.NODE_ENV !== 'production' && ms > MAX_SIGNED_INT) {
|
|
386
|
-
throw new Error('delay only supports a maximum value of ' + MAX_SIGNED_INT + 'ms');
|
|
387
|
-
}
|
|
388
|
-
var timeoutId;
|
|
389
|
-
var promise = new Promise(function (resolve) {
|
|
390
|
-
timeoutId = setTimeout(resolve, Math.min(MAX_SIGNED_INT, ms), val);
|
|
391
|
-
});
|
|
392
|
-
promise[CANCEL$1] = function () {
|
|
393
|
-
clearTimeout(timeoutId);
|
|
394
|
-
};
|
|
395
|
-
return promise;
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
if (process.env.NODE_ENV !== 'production' && typeof Proxy !== 'undefined') ;
|
|
399
|
-
var identity = function identity(v) {
|
|
400
|
-
return v;
|
|
401
|
-
};
|
|
402
|
-
function check(value, predicate, error) {
|
|
403
|
-
if (!predicate(value)) {
|
|
404
|
-
throw new Error(error);
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
var kThrow = function kThrow(err) {
|
|
408
|
-
throw err;
|
|
409
|
-
};
|
|
410
|
-
var kReturn = function kReturn(value) {
|
|
411
|
-
return {
|
|
412
|
-
value: value,
|
|
413
|
-
done: true
|
|
414
|
-
};
|
|
415
|
-
};
|
|
416
|
-
function makeIterator(next, thro, name) {
|
|
417
|
-
if (thro === void 0) {
|
|
418
|
-
thro = kThrow;
|
|
419
|
-
}
|
|
420
|
-
if (name === void 0) {
|
|
421
|
-
name = 'iterator';
|
|
422
|
-
}
|
|
423
|
-
var iterator = {
|
|
424
|
-
meta: {
|
|
425
|
-
name: name
|
|
426
|
-
},
|
|
427
|
-
next: next,
|
|
428
|
-
throw: thro,
|
|
429
|
-
return: kReturn,
|
|
430
|
-
isSagaIterator: true
|
|
431
|
-
};
|
|
432
|
-
if (typeof Symbol !== 'undefined') {
|
|
433
|
-
iterator[Symbol.iterator] = function () {
|
|
434
|
-
return iterator;
|
|
435
|
-
};
|
|
436
|
-
}
|
|
437
|
-
return iterator;
|
|
438
|
-
}
|
|
439
|
-
var createSetContextWarning = function createSetContextWarning(ctx, props) {
|
|
440
|
-
return (ctx ? ctx + '.' : '') + "setContext(props): argument " + props + " is not a plain object";
|
|
441
|
-
};
|
|
442
|
-
var BUFFER_OVERFLOW = "Channel's Buffer overflow!";
|
|
443
|
-
var ON_OVERFLOW_THROW = 1;
|
|
444
|
-
var ON_OVERFLOW_SLIDE = 3;
|
|
445
|
-
var ON_OVERFLOW_EXPAND = 4;
|
|
446
|
-
function ringBuffer(limit, overflowAction) {
|
|
447
|
-
if (limit === void 0) {
|
|
448
|
-
limit = 10;
|
|
449
|
-
}
|
|
450
|
-
var arr = new Array(limit);
|
|
451
|
-
var length = 0;
|
|
452
|
-
var pushIndex = 0;
|
|
453
|
-
var popIndex = 0;
|
|
454
|
-
var push = function push(it) {
|
|
455
|
-
arr[pushIndex] = it;
|
|
456
|
-
pushIndex = (pushIndex + 1) % limit;
|
|
457
|
-
length++;
|
|
458
|
-
};
|
|
459
|
-
var take = function take() {
|
|
460
|
-
if (length != 0) {
|
|
461
|
-
var it = arr[popIndex];
|
|
462
|
-
arr[popIndex] = null;
|
|
463
|
-
length--;
|
|
464
|
-
popIndex = (popIndex + 1) % limit;
|
|
465
|
-
return it;
|
|
466
|
-
}
|
|
467
|
-
};
|
|
468
|
-
var flush = function flush() {
|
|
469
|
-
var items = [];
|
|
470
|
-
while (length) {
|
|
471
|
-
items.push(take());
|
|
472
|
-
}
|
|
473
|
-
return items;
|
|
474
|
-
};
|
|
475
|
-
return {
|
|
476
|
-
isEmpty: function isEmpty() {
|
|
477
|
-
return length == 0;
|
|
478
|
-
},
|
|
479
|
-
put: function put(it) {
|
|
480
|
-
if (length < limit) {
|
|
481
|
-
push(it);
|
|
482
|
-
} else {
|
|
483
|
-
var doubledLimit;
|
|
484
|
-
switch (overflowAction) {
|
|
485
|
-
case ON_OVERFLOW_THROW:
|
|
486
|
-
throw new Error(BUFFER_OVERFLOW);
|
|
487
|
-
case ON_OVERFLOW_SLIDE:
|
|
488
|
-
arr[pushIndex] = it;
|
|
489
|
-
pushIndex = (pushIndex + 1) % limit;
|
|
490
|
-
popIndex = pushIndex;
|
|
491
|
-
break;
|
|
492
|
-
case ON_OVERFLOW_EXPAND:
|
|
493
|
-
doubledLimit = 2 * limit;
|
|
494
|
-
arr = flush();
|
|
495
|
-
length = arr.length;
|
|
496
|
-
pushIndex = arr.length;
|
|
497
|
-
popIndex = 0;
|
|
498
|
-
arr.length = doubledLimit;
|
|
499
|
-
limit = doubledLimit;
|
|
500
|
-
push(it);
|
|
501
|
-
break;
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
},
|
|
505
|
-
|
|
506
|
-
take: take,
|
|
507
|
-
flush: flush
|
|
508
|
-
};
|
|
509
|
-
}
|
|
510
|
-
var sliding = function sliding(limit) {
|
|
511
|
-
return ringBuffer(limit, ON_OVERFLOW_SLIDE);
|
|
512
|
-
};
|
|
513
|
-
var TAKE = 'TAKE';
|
|
514
|
-
var PUT = 'PUT';
|
|
515
|
-
var ALL = 'ALL';
|
|
516
|
-
var RACE = 'RACE';
|
|
517
|
-
var CALL = 'CALL';
|
|
518
|
-
var CPS = 'CPS';
|
|
519
|
-
var FORK = 'FORK';
|
|
520
|
-
var JOIN = 'JOIN';
|
|
521
|
-
var CANCEL = 'CANCEL';
|
|
522
|
-
var SELECT = 'SELECT';
|
|
523
|
-
var ACTION_CHANNEL = 'ACTION_CHANNEL';
|
|
524
|
-
var CANCELLED = 'CANCELLED';
|
|
525
|
-
var FLUSH = 'FLUSH';
|
|
526
|
-
var GET_CONTEXT = 'GET_CONTEXT';
|
|
527
|
-
var SET_CONTEXT = 'SET_CONTEXT';
|
|
528
|
-
var effectTypes = /*#__PURE__*/Object.freeze({
|
|
529
|
-
__proto__: null,
|
|
530
|
-
TAKE: TAKE,
|
|
531
|
-
PUT: PUT,
|
|
532
|
-
ALL: ALL,
|
|
533
|
-
RACE: RACE,
|
|
534
|
-
CALL: CALL,
|
|
535
|
-
CPS: CPS,
|
|
536
|
-
FORK: FORK,
|
|
537
|
-
JOIN: JOIN,
|
|
538
|
-
CANCEL: CANCEL,
|
|
539
|
-
SELECT: SELECT,
|
|
540
|
-
ACTION_CHANNEL: ACTION_CHANNEL,
|
|
541
|
-
CANCELLED: CANCELLED,
|
|
542
|
-
FLUSH: FLUSH,
|
|
543
|
-
GET_CONTEXT: GET_CONTEXT,
|
|
544
|
-
SET_CONTEXT: SET_CONTEXT
|
|
545
|
-
});
|
|
546
|
-
var TEST_HINT = '\n(HINT: if you are getting these errors in tests, consider using createMockTask from @redux-saga/testing-utils)';
|
|
547
|
-
var makeEffect = function makeEffect(type, payload) {
|
|
548
|
-
var _ref;
|
|
549
|
-
return _ref = {}, _ref[IO] = true, _ref.combinator = false, _ref.type = type, _ref.payload = payload, _ref;
|
|
550
|
-
};
|
|
551
|
-
var isForkEffect = function isForkEffect(eff) {
|
|
552
|
-
return effect(eff) && eff.type === FORK;
|
|
553
|
-
};
|
|
554
|
-
var detach = function detach(eff) {
|
|
555
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
556
|
-
check(eff, isForkEffect, 'detach(eff): argument must be a fork effect');
|
|
557
|
-
}
|
|
558
|
-
return makeEffect(FORK, _extends({}, eff.payload, {
|
|
559
|
-
detached: true
|
|
560
|
-
}));
|
|
561
|
-
};
|
|
562
|
-
function take(patternOrChannel, multicastPattern) {
|
|
563
|
-
if (patternOrChannel === void 0) {
|
|
564
|
-
patternOrChannel = '*';
|
|
565
|
-
}
|
|
566
|
-
if (process.env.NODE_ENV !== 'production' && arguments.length) {
|
|
567
|
-
check(arguments[0], notUndef, 'take(patternOrChannel): patternOrChannel is undefined');
|
|
568
|
-
}
|
|
569
|
-
if (pattern(patternOrChannel)) {
|
|
570
|
-
if (notUndef(multicastPattern)) {
|
|
571
|
-
/* eslint-disable no-console */
|
|
572
|
-
console.warn("take(pattern) takes one argument but two were provided. Consider passing an array for listening to several action types");
|
|
573
|
-
}
|
|
574
|
-
return makeEffect(TAKE, {
|
|
575
|
-
pattern: patternOrChannel
|
|
576
|
-
});
|
|
577
|
-
}
|
|
578
|
-
if (multicast(patternOrChannel) && notUndef(multicastPattern) && pattern(multicastPattern)) {
|
|
579
|
-
return makeEffect(TAKE, {
|
|
580
|
-
channel: patternOrChannel,
|
|
581
|
-
pattern: multicastPattern
|
|
582
|
-
});
|
|
583
|
-
}
|
|
584
|
-
if (channel(patternOrChannel)) {
|
|
585
|
-
if (notUndef(multicastPattern)) {
|
|
586
|
-
/* eslint-disable no-console */
|
|
587
|
-
console.warn("take(channel) takes one argument but two were provided. Second argument is ignored.");
|
|
588
|
-
}
|
|
589
|
-
return makeEffect(TAKE, {
|
|
590
|
-
channel: patternOrChannel
|
|
591
|
-
});
|
|
592
|
-
}
|
|
593
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
594
|
-
throw new Error("take(patternOrChannel): argument " + patternOrChannel + " is not valid channel or a valid pattern");
|
|
595
|
-
}
|
|
596
|
-
}
|
|
597
|
-
var takeMaybe = function takeMaybe() {
|
|
598
|
-
var eff = take.apply(void 0, arguments);
|
|
599
|
-
eff.payload.maybe = true;
|
|
600
|
-
return eff;
|
|
601
|
-
};
|
|
602
|
-
function put(channel$1, action) {
|
|
603
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
604
|
-
if (arguments.length > 1) {
|
|
605
|
-
check(channel$1, notUndef, 'put(channel, action): argument channel is undefined');
|
|
606
|
-
check(channel$1, channel, "put(channel, action): argument " + channel$1 + " is not a valid channel");
|
|
607
|
-
check(action, notUndef, 'put(channel, action): argument action is undefined');
|
|
608
|
-
} else {
|
|
609
|
-
check(channel$1, notUndef, 'put(action): argument action is undefined');
|
|
610
|
-
}
|
|
611
|
-
}
|
|
612
|
-
if (undef(action)) {
|
|
613
|
-
action = channel$1; // `undefined` instead of `null` to make default parameter work
|
|
614
|
-
|
|
615
|
-
channel$1 = undefined;
|
|
616
|
-
}
|
|
617
|
-
return makeEffect(PUT, {
|
|
618
|
-
channel: channel$1,
|
|
619
|
-
action: action
|
|
620
|
-
});
|
|
621
|
-
}
|
|
622
|
-
var putResolve = function putResolve() {
|
|
623
|
-
var eff = put.apply(void 0, arguments);
|
|
624
|
-
eff.payload.resolve = true;
|
|
625
|
-
return eff;
|
|
626
|
-
};
|
|
627
|
-
function all(effects) {
|
|
628
|
-
var eff = makeEffect(ALL, effects);
|
|
629
|
-
eff.combinator = true;
|
|
630
|
-
return eff;
|
|
631
|
-
}
|
|
632
|
-
function race(effects) {
|
|
633
|
-
var eff = makeEffect(RACE, effects);
|
|
634
|
-
eff.combinator = true;
|
|
635
|
-
return eff;
|
|
636
|
-
} // this match getFnCallDescriptor logic
|
|
637
|
-
|
|
638
|
-
var validateFnDescriptor = function validateFnDescriptor(effectName, fnDescriptor) {
|
|
639
|
-
check(fnDescriptor, notUndef, effectName + ": argument fn is undefined or null");
|
|
640
|
-
if (func(fnDescriptor)) {
|
|
641
|
-
return;
|
|
642
|
-
}
|
|
643
|
-
var context = null;
|
|
644
|
-
var fn;
|
|
645
|
-
if (array(fnDescriptor)) {
|
|
646
|
-
context = fnDescriptor[0];
|
|
647
|
-
fn = fnDescriptor[1];
|
|
648
|
-
check(fn, notUndef, effectName + ": argument of type [context, fn] has undefined or null `fn`");
|
|
649
|
-
} else if (object(fnDescriptor)) {
|
|
650
|
-
context = fnDescriptor.context;
|
|
651
|
-
fn = fnDescriptor.fn;
|
|
652
|
-
check(fn, notUndef, effectName + ": argument of type {context, fn} has undefined or null `fn`");
|
|
653
|
-
} else {
|
|
654
|
-
check(fnDescriptor, func, effectName + ": argument fn is not function");
|
|
655
|
-
return;
|
|
656
|
-
}
|
|
657
|
-
if (context && string(fn)) {
|
|
658
|
-
check(context[fn], func, effectName + ": context arguments has no such method - \"" + fn + "\"");
|
|
659
|
-
return;
|
|
660
|
-
}
|
|
661
|
-
check(fn, func, effectName + ": unpacked fn argument (from [context, fn] or {context, fn}) is not a function");
|
|
662
|
-
};
|
|
663
|
-
function getFnCallDescriptor(fnDescriptor, args) {
|
|
664
|
-
var context = null;
|
|
665
|
-
var fn;
|
|
666
|
-
if (func(fnDescriptor)) {
|
|
667
|
-
fn = fnDescriptor;
|
|
668
|
-
} else {
|
|
669
|
-
if (array(fnDescriptor)) {
|
|
670
|
-
context = fnDescriptor[0];
|
|
671
|
-
fn = fnDescriptor[1];
|
|
672
|
-
} else {
|
|
673
|
-
context = fnDescriptor.context;
|
|
674
|
-
fn = fnDescriptor.fn;
|
|
675
|
-
}
|
|
676
|
-
if (context && string(fn) && func(context[fn])) {
|
|
677
|
-
fn = context[fn];
|
|
678
|
-
}
|
|
679
|
-
}
|
|
680
|
-
return {
|
|
681
|
-
context: context,
|
|
682
|
-
fn: fn,
|
|
683
|
-
args: args
|
|
684
|
-
};
|
|
685
|
-
}
|
|
686
|
-
var isNotDelayEffect = function isNotDelayEffect(fn) {
|
|
687
|
-
return fn !== delay;
|
|
688
|
-
};
|
|
689
|
-
function call(fnDescriptor) {
|
|
690
|
-
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
691
|
-
args[_key - 1] = arguments[_key];
|
|
692
|
-
}
|
|
693
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
694
|
-
var arg0 = typeof args[0] === 'number' ? args[0] : 'ms';
|
|
695
|
-
check(fnDescriptor, isNotDelayEffect, "instead of writing `yield call(delay, " + arg0 + ")` where delay is an effect from `redux-saga/effects` you should write `yield delay(" + arg0 + ")`");
|
|
696
|
-
validateFnDescriptor('call', fnDescriptor);
|
|
697
|
-
}
|
|
698
|
-
return makeEffect(CALL, getFnCallDescriptor(fnDescriptor, args));
|
|
699
|
-
}
|
|
700
|
-
function apply(context, fn, args) {
|
|
701
|
-
if (args === void 0) {
|
|
702
|
-
args = [];
|
|
703
|
-
}
|
|
704
|
-
var fnDescriptor = [context, fn];
|
|
705
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
706
|
-
validateFnDescriptor('apply', fnDescriptor);
|
|
707
|
-
}
|
|
708
|
-
return makeEffect(CALL, getFnCallDescriptor([context, fn], args));
|
|
709
|
-
}
|
|
710
|
-
function cps(fnDescriptor) {
|
|
711
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
712
|
-
validateFnDescriptor('cps', fnDescriptor);
|
|
713
|
-
}
|
|
714
|
-
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
715
|
-
args[_key2 - 1] = arguments[_key2];
|
|
716
|
-
}
|
|
717
|
-
return makeEffect(CPS, getFnCallDescriptor(fnDescriptor, args));
|
|
718
|
-
}
|
|
719
|
-
function fork(fnDescriptor) {
|
|
720
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
721
|
-
validateFnDescriptor('fork', fnDescriptor);
|
|
722
|
-
check(fnDescriptor, function (arg) {
|
|
723
|
-
return !effect(arg);
|
|
724
|
-
}, 'fork: argument must not be an effect');
|
|
725
|
-
}
|
|
726
|
-
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
|
727
|
-
args[_key3 - 1] = arguments[_key3];
|
|
728
|
-
}
|
|
729
|
-
return makeEffect(FORK, getFnCallDescriptor(fnDescriptor, args));
|
|
730
|
-
}
|
|
731
|
-
function spawn(fnDescriptor) {
|
|
732
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
733
|
-
validateFnDescriptor('spawn', fnDescriptor);
|
|
734
|
-
}
|
|
735
|
-
for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
|
|
736
|
-
args[_key4 - 1] = arguments[_key4];
|
|
737
|
-
}
|
|
738
|
-
return detach(fork.apply(void 0, [fnDescriptor].concat(args)));
|
|
739
|
-
}
|
|
740
|
-
function join(taskOrTasks) {
|
|
741
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
742
|
-
if (arguments.length > 1) {
|
|
743
|
-
throw new Error('join(...tasks) is not supported any more. Please use join([...tasks]) to join multiple tasks.');
|
|
744
|
-
}
|
|
745
|
-
if (array(taskOrTasks)) {
|
|
746
|
-
taskOrTasks.forEach(function (t) {
|
|
747
|
-
check(t, task, "join([...tasks]): argument " + t + " is not a valid Task object " + TEST_HINT);
|
|
748
|
-
});
|
|
749
|
-
} else {
|
|
750
|
-
check(taskOrTasks, task, "join(task): argument " + taskOrTasks + " is not a valid Task object " + TEST_HINT);
|
|
751
|
-
}
|
|
752
|
-
}
|
|
753
|
-
return makeEffect(JOIN, taskOrTasks);
|
|
754
|
-
}
|
|
755
|
-
function cancel(taskOrTasks) {
|
|
756
|
-
if (taskOrTasks === void 0) {
|
|
757
|
-
taskOrTasks = SELF_CANCELLATION;
|
|
758
|
-
}
|
|
759
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
760
|
-
if (arguments.length > 1) {
|
|
761
|
-
throw new Error('cancel(...tasks) is not supported any more. Please use cancel([...tasks]) to cancel multiple tasks.');
|
|
762
|
-
}
|
|
763
|
-
if (array(taskOrTasks)) {
|
|
764
|
-
taskOrTasks.forEach(function (t) {
|
|
765
|
-
check(t, task, "cancel([...tasks]): argument " + t + " is not a valid Task object " + TEST_HINT);
|
|
766
|
-
});
|
|
767
|
-
} else if (taskOrTasks !== SELF_CANCELLATION && notUndef(taskOrTasks)) {
|
|
768
|
-
check(taskOrTasks, task, "cancel(task): argument " + taskOrTasks + " is not a valid Task object " + TEST_HINT);
|
|
769
|
-
}
|
|
770
|
-
}
|
|
771
|
-
return makeEffect(CANCEL, taskOrTasks);
|
|
772
|
-
}
|
|
773
|
-
function select(selector) {
|
|
774
|
-
if (selector === void 0) {
|
|
775
|
-
selector = identity;
|
|
776
|
-
}
|
|
777
|
-
for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {
|
|
778
|
-
args[_key5 - 1] = arguments[_key5];
|
|
779
|
-
}
|
|
780
|
-
if (process.env.NODE_ENV !== 'production' && arguments.length) {
|
|
781
|
-
check(arguments[0], notUndef, 'select(selector, [...]): argument selector is undefined');
|
|
782
|
-
check(selector, func, "select(selector, [...]): argument " + selector + " is not a function");
|
|
783
|
-
}
|
|
784
|
-
return makeEffect(SELECT, {
|
|
785
|
-
selector: selector,
|
|
786
|
-
args: args
|
|
787
|
-
});
|
|
788
|
-
}
|
|
789
|
-
/**
|
|
790
|
-
channel(pattern, [buffer]) => creates a proxy channel for store actions
|
|
791
|
-
**/
|
|
792
|
-
|
|
793
|
-
function actionChannel(pattern$1, buffer$1) {
|
|
794
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
795
|
-
check(pattern$1, pattern, 'actionChannel(pattern,...): argument pattern is not valid');
|
|
796
|
-
if (arguments.length > 1) {
|
|
797
|
-
check(buffer$1, notUndef, 'actionChannel(pattern, buffer): argument buffer is undefined');
|
|
798
|
-
check(buffer$1, buffer, "actionChannel(pattern, buffer): argument " + buffer$1 + " is not a valid buffer");
|
|
799
|
-
}
|
|
800
|
-
}
|
|
801
|
-
return makeEffect(ACTION_CHANNEL, {
|
|
802
|
-
pattern: pattern$1,
|
|
803
|
-
buffer: buffer$1
|
|
804
|
-
});
|
|
805
|
-
}
|
|
806
|
-
function cancelled() {
|
|
807
|
-
return makeEffect(CANCELLED, {});
|
|
808
|
-
}
|
|
809
|
-
function flush(channel$1) {
|
|
810
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
811
|
-
check(channel$1, channel, "flush(channel): argument " + channel$1 + " is not valid channel");
|
|
812
|
-
}
|
|
813
|
-
return makeEffect(FLUSH, channel$1);
|
|
814
|
-
}
|
|
815
|
-
function getContext(prop) {
|
|
816
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
817
|
-
check(prop, string, "getContext(prop): argument " + prop + " is not a string");
|
|
818
|
-
}
|
|
819
|
-
return makeEffect(GET_CONTEXT, prop);
|
|
820
|
-
}
|
|
821
|
-
function setContext(props) {
|
|
822
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
823
|
-
check(props, object, createSetContextWarning(null, props));
|
|
824
|
-
}
|
|
825
|
-
return makeEffect(SET_CONTEXT, props);
|
|
826
|
-
}
|
|
827
|
-
var delay = /*#__PURE__*/
|
|
828
|
-
call.bind(null, delayP);
|
|
829
|
-
|
|
830
|
-
var done = function done(value) {
|
|
831
|
-
return {
|
|
832
|
-
done: true,
|
|
833
|
-
value: value
|
|
834
|
-
};
|
|
835
|
-
};
|
|
836
|
-
var qEnd = {};
|
|
837
|
-
function safeName(patternOrChannel) {
|
|
838
|
-
if (channel(patternOrChannel)) {
|
|
839
|
-
return 'channel';
|
|
840
|
-
}
|
|
841
|
-
if (stringableFunc(patternOrChannel)) {
|
|
842
|
-
return String(patternOrChannel);
|
|
843
|
-
}
|
|
844
|
-
if (func(patternOrChannel)) {
|
|
845
|
-
return patternOrChannel.name;
|
|
846
|
-
}
|
|
847
|
-
return String(patternOrChannel);
|
|
848
|
-
}
|
|
849
|
-
function fsmIterator(fsm, startState, name) {
|
|
850
|
-
var stateUpdater,
|
|
851
|
-
errorState,
|
|
852
|
-
effect,
|
|
853
|
-
nextState = startState;
|
|
854
|
-
function next(arg, error) {
|
|
855
|
-
if (nextState === qEnd) {
|
|
856
|
-
return done(arg);
|
|
857
|
-
}
|
|
858
|
-
if (error && !errorState) {
|
|
859
|
-
nextState = qEnd;
|
|
860
|
-
throw error;
|
|
861
|
-
} else {
|
|
862
|
-
stateUpdater && stateUpdater(arg);
|
|
863
|
-
var currentState = error ? fsm[errorState](error) : fsm[nextState]();
|
|
864
|
-
nextState = currentState.nextState;
|
|
865
|
-
effect = currentState.effect;
|
|
866
|
-
stateUpdater = currentState.stateUpdater;
|
|
867
|
-
errorState = currentState.errorState;
|
|
868
|
-
return nextState === qEnd ? done(arg) : effect;
|
|
869
|
-
}
|
|
870
|
-
}
|
|
871
|
-
return makeIterator(next, function (error) {
|
|
872
|
-
return next(null, error);
|
|
873
|
-
}, name);
|
|
874
|
-
}
|
|
875
|
-
function takeEvery(patternOrChannel, worker) {
|
|
876
|
-
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
877
|
-
args[_key - 2] = arguments[_key];
|
|
878
|
-
}
|
|
879
|
-
var yTake = {
|
|
880
|
-
done: false,
|
|
881
|
-
value: take(patternOrChannel)
|
|
882
|
-
};
|
|
883
|
-
var yFork = function yFork(ac) {
|
|
884
|
-
return {
|
|
885
|
-
done: false,
|
|
886
|
-
value: fork.apply(void 0, [worker].concat(args, [ac]))
|
|
887
|
-
};
|
|
888
|
-
};
|
|
889
|
-
var action,
|
|
890
|
-
setAction = function setAction(ac) {
|
|
891
|
-
return action = ac;
|
|
892
|
-
};
|
|
893
|
-
return fsmIterator({
|
|
894
|
-
q1: function q1() {
|
|
895
|
-
return {
|
|
896
|
-
nextState: 'q2',
|
|
897
|
-
effect: yTake,
|
|
898
|
-
stateUpdater: setAction
|
|
899
|
-
};
|
|
900
|
-
},
|
|
901
|
-
q2: function q2() {
|
|
902
|
-
return {
|
|
903
|
-
nextState: 'q1',
|
|
904
|
-
effect: yFork(action)
|
|
905
|
-
};
|
|
906
|
-
}
|
|
907
|
-
}, 'q1', "takeEvery(" + safeName(patternOrChannel) + ", " + worker.name + ")");
|
|
908
|
-
}
|
|
909
|
-
function takeLatest(patternOrChannel, worker) {
|
|
910
|
-
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
911
|
-
args[_key - 2] = arguments[_key];
|
|
912
|
-
}
|
|
913
|
-
var yTake = {
|
|
914
|
-
done: false,
|
|
915
|
-
value: take(patternOrChannel)
|
|
916
|
-
};
|
|
917
|
-
var yFork = function yFork(ac) {
|
|
918
|
-
return {
|
|
919
|
-
done: false,
|
|
920
|
-
value: fork.apply(void 0, [worker].concat(args, [ac]))
|
|
921
|
-
};
|
|
922
|
-
};
|
|
923
|
-
var yCancel = function yCancel(task) {
|
|
924
|
-
return {
|
|
925
|
-
done: false,
|
|
926
|
-
value: cancel(task)
|
|
927
|
-
};
|
|
928
|
-
};
|
|
929
|
-
var task, action;
|
|
930
|
-
var setTask = function setTask(t) {
|
|
931
|
-
return task = t;
|
|
932
|
-
};
|
|
933
|
-
var setAction = function setAction(ac) {
|
|
934
|
-
return action = ac;
|
|
935
|
-
};
|
|
936
|
-
return fsmIterator({
|
|
937
|
-
q1: function q1() {
|
|
938
|
-
return {
|
|
939
|
-
nextState: 'q2',
|
|
940
|
-
effect: yTake,
|
|
941
|
-
stateUpdater: setAction
|
|
942
|
-
};
|
|
943
|
-
},
|
|
944
|
-
q2: function q2() {
|
|
945
|
-
return task ? {
|
|
946
|
-
nextState: 'q3',
|
|
947
|
-
effect: yCancel(task)
|
|
948
|
-
} : {
|
|
949
|
-
nextState: 'q1',
|
|
950
|
-
effect: yFork(action),
|
|
951
|
-
stateUpdater: setTask
|
|
952
|
-
};
|
|
953
|
-
},
|
|
954
|
-
q3: function q3() {
|
|
955
|
-
return {
|
|
956
|
-
nextState: 'q1',
|
|
957
|
-
effect: yFork(action),
|
|
958
|
-
stateUpdater: setTask
|
|
959
|
-
};
|
|
960
|
-
}
|
|
961
|
-
}, 'q1', "takeLatest(" + safeName(patternOrChannel) + ", " + worker.name + ")");
|
|
962
|
-
}
|
|
963
|
-
function takeLeading(patternOrChannel, worker) {
|
|
964
|
-
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
965
|
-
args[_key - 2] = arguments[_key];
|
|
966
|
-
}
|
|
967
|
-
var yTake = {
|
|
968
|
-
done: false,
|
|
969
|
-
value: take(patternOrChannel)
|
|
970
|
-
};
|
|
971
|
-
var yCall = function yCall(ac) {
|
|
972
|
-
return {
|
|
973
|
-
done: false,
|
|
974
|
-
value: call.apply(void 0, [worker].concat(args, [ac]))
|
|
975
|
-
};
|
|
976
|
-
};
|
|
977
|
-
var action;
|
|
978
|
-
var setAction = function setAction(ac) {
|
|
979
|
-
return action = ac;
|
|
980
|
-
};
|
|
981
|
-
return fsmIterator({
|
|
982
|
-
q1: function q1() {
|
|
983
|
-
return {
|
|
984
|
-
nextState: 'q2',
|
|
985
|
-
effect: yTake,
|
|
986
|
-
stateUpdater: setAction
|
|
987
|
-
};
|
|
988
|
-
},
|
|
989
|
-
q2: function q2() {
|
|
990
|
-
return {
|
|
991
|
-
nextState: 'q1',
|
|
992
|
-
effect: yCall(action)
|
|
993
|
-
};
|
|
994
|
-
}
|
|
995
|
-
}, 'q1', "takeLeading(" + safeName(patternOrChannel) + ", " + worker.name + ")");
|
|
996
|
-
}
|
|
997
|
-
function throttle(delayLength, patternOrChannel, worker) {
|
|
998
|
-
for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
|
|
999
|
-
args[_key - 3] = arguments[_key];
|
|
1000
|
-
}
|
|
1001
|
-
var action, channel$1;
|
|
1002
|
-
var yTake = function yTake() {
|
|
1003
|
-
return {
|
|
1004
|
-
done: false,
|
|
1005
|
-
value: take(channel$1)
|
|
1006
|
-
};
|
|
1007
|
-
};
|
|
1008
|
-
var yFork = function yFork(ac) {
|
|
1009
|
-
return {
|
|
1010
|
-
done: false,
|
|
1011
|
-
value: fork.apply(void 0, [worker].concat(args, [ac]))
|
|
1012
|
-
};
|
|
1013
|
-
};
|
|
1014
|
-
var yDelay = {
|
|
1015
|
-
done: false,
|
|
1016
|
-
value: delay(delayLength)
|
|
1017
|
-
};
|
|
1018
|
-
var setAction = function setAction(ac) {
|
|
1019
|
-
return action = ac;
|
|
1020
|
-
};
|
|
1021
|
-
var setChannel = function setChannel(ch) {
|
|
1022
|
-
return channel$1 = ch;
|
|
1023
|
-
};
|
|
1024
|
-
var needsChannel = !channel(patternOrChannel);
|
|
1025
|
-
if (!needsChannel) {
|
|
1026
|
-
setChannel(patternOrChannel);
|
|
1027
|
-
}
|
|
1028
|
-
return fsmIterator({
|
|
1029
|
-
q1: function q1() {
|
|
1030
|
-
var yActionChannel = {
|
|
1031
|
-
done: false,
|
|
1032
|
-
value: actionChannel(patternOrChannel, sliding(1))
|
|
1033
|
-
};
|
|
1034
|
-
return {
|
|
1035
|
-
nextState: 'q2',
|
|
1036
|
-
effect: yActionChannel,
|
|
1037
|
-
stateUpdater: setChannel
|
|
1038
|
-
};
|
|
1039
|
-
},
|
|
1040
|
-
q2: function q2() {
|
|
1041
|
-
return {
|
|
1042
|
-
nextState: 'q3',
|
|
1043
|
-
effect: yTake(),
|
|
1044
|
-
stateUpdater: setAction
|
|
1045
|
-
};
|
|
1046
|
-
},
|
|
1047
|
-
q3: function q3() {
|
|
1048
|
-
return {
|
|
1049
|
-
nextState: 'q4',
|
|
1050
|
-
effect: yFork(action)
|
|
1051
|
-
};
|
|
1052
|
-
},
|
|
1053
|
-
q4: function q4() {
|
|
1054
|
-
return {
|
|
1055
|
-
nextState: 'q2',
|
|
1056
|
-
effect: yDelay
|
|
1057
|
-
};
|
|
1058
|
-
}
|
|
1059
|
-
}, needsChannel ? 'q1' : 'q2', "throttle(" + safeName(patternOrChannel) + ", " + worker.name + ")");
|
|
1060
|
-
}
|
|
1061
|
-
function retry(maxTries, delayLength, fn) {
|
|
1062
|
-
var counter = maxTries;
|
|
1063
|
-
for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
|
|
1064
|
-
args[_key - 3] = arguments[_key];
|
|
1065
|
-
}
|
|
1066
|
-
var yCall = {
|
|
1067
|
-
done: false,
|
|
1068
|
-
value: call.apply(void 0, [fn].concat(args))
|
|
1069
|
-
};
|
|
1070
|
-
var yDelay = {
|
|
1071
|
-
done: false,
|
|
1072
|
-
value: delay(delayLength)
|
|
1073
|
-
};
|
|
1074
|
-
return fsmIterator({
|
|
1075
|
-
q1: function q1() {
|
|
1076
|
-
return {
|
|
1077
|
-
nextState: 'q2',
|
|
1078
|
-
effect: yCall,
|
|
1079
|
-
errorState: 'q10'
|
|
1080
|
-
};
|
|
1081
|
-
},
|
|
1082
|
-
q2: function q2() {
|
|
1083
|
-
return {
|
|
1084
|
-
nextState: qEnd
|
|
1085
|
-
};
|
|
1086
|
-
},
|
|
1087
|
-
q10: function q10(error) {
|
|
1088
|
-
counter -= 1;
|
|
1089
|
-
if (counter <= 0) {
|
|
1090
|
-
throw error;
|
|
1091
|
-
}
|
|
1092
|
-
return {
|
|
1093
|
-
nextState: 'q1',
|
|
1094
|
-
effect: yDelay
|
|
1095
|
-
};
|
|
1096
|
-
}
|
|
1097
|
-
}, 'q1', "retry(" + fn.name + ")");
|
|
1098
|
-
}
|
|
1099
|
-
function debounceHelper(delayLength, patternOrChannel, worker) {
|
|
1100
|
-
for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
|
|
1101
|
-
args[_key - 3] = arguments[_key];
|
|
1102
|
-
}
|
|
1103
|
-
var action, raceOutput;
|
|
1104
|
-
var yTake = {
|
|
1105
|
-
done: false,
|
|
1106
|
-
value: take(patternOrChannel)
|
|
1107
|
-
};
|
|
1108
|
-
var yRace = {
|
|
1109
|
-
done: false,
|
|
1110
|
-
value: race({
|
|
1111
|
-
action: take(patternOrChannel),
|
|
1112
|
-
debounce: delay(delayLength)
|
|
1113
|
-
})
|
|
1114
|
-
};
|
|
1115
|
-
var yFork = function yFork(ac) {
|
|
1116
|
-
return {
|
|
1117
|
-
done: false,
|
|
1118
|
-
value: fork.apply(void 0, [worker].concat(args, [ac]))
|
|
1119
|
-
};
|
|
1120
|
-
};
|
|
1121
|
-
var yNoop = function yNoop(value) {
|
|
1122
|
-
return {
|
|
1123
|
-
done: false,
|
|
1124
|
-
value: value
|
|
1125
|
-
};
|
|
1126
|
-
};
|
|
1127
|
-
var setAction = function setAction(ac) {
|
|
1128
|
-
return action = ac;
|
|
1129
|
-
};
|
|
1130
|
-
var setRaceOutput = function setRaceOutput(ro) {
|
|
1131
|
-
return raceOutput = ro;
|
|
1132
|
-
};
|
|
1133
|
-
return fsmIterator({
|
|
1134
|
-
q1: function q1() {
|
|
1135
|
-
return {
|
|
1136
|
-
nextState: 'q2',
|
|
1137
|
-
effect: yTake,
|
|
1138
|
-
stateUpdater: setAction
|
|
1139
|
-
};
|
|
1140
|
-
},
|
|
1141
|
-
q2: function q2() {
|
|
1142
|
-
return {
|
|
1143
|
-
nextState: 'q3',
|
|
1144
|
-
effect: yRace,
|
|
1145
|
-
stateUpdater: setRaceOutput
|
|
1146
|
-
};
|
|
1147
|
-
},
|
|
1148
|
-
q3: function q3() {
|
|
1149
|
-
return raceOutput.debounce ? {
|
|
1150
|
-
nextState: 'q1',
|
|
1151
|
-
effect: yFork(action)
|
|
1152
|
-
} : {
|
|
1153
|
-
nextState: 'q2',
|
|
1154
|
-
effect: yNoop(raceOutput.action),
|
|
1155
|
-
stateUpdater: setAction
|
|
1156
|
-
};
|
|
1157
|
-
}
|
|
1158
|
-
}, 'q1', "debounce(" + safeName(patternOrChannel) + ", " + worker.name + ")");
|
|
1159
|
-
}
|
|
1160
|
-
var validateTakeEffect = function validateTakeEffect(fn, patternOrChannel, worker) {
|
|
1161
|
-
check(patternOrChannel, notUndef, fn.name + " requires a pattern or channel");
|
|
1162
|
-
check(worker, notUndef, fn.name + " requires a saga parameter");
|
|
1163
|
-
};
|
|
1164
|
-
function takeEvery$1(patternOrChannel, worker) {
|
|
1165
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
1166
|
-
validateTakeEffect(takeEvery$1, patternOrChannel, worker);
|
|
1167
|
-
}
|
|
1168
|
-
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
1169
|
-
args[_key - 2] = arguments[_key];
|
|
1170
|
-
}
|
|
1171
|
-
return fork.apply(void 0, [takeEvery, patternOrChannel, worker].concat(args));
|
|
1172
|
-
}
|
|
1173
|
-
function takeLatest$1(patternOrChannel, worker) {
|
|
1174
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
1175
|
-
validateTakeEffect(takeLatest$1, patternOrChannel, worker);
|
|
1176
|
-
}
|
|
1177
|
-
for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
|
1178
|
-
args[_key2 - 2] = arguments[_key2];
|
|
1179
|
-
}
|
|
1180
|
-
return fork.apply(void 0, [takeLatest, patternOrChannel, worker].concat(args));
|
|
1181
|
-
}
|
|
1182
|
-
function takeLeading$1(patternOrChannel, worker) {
|
|
1183
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
1184
|
-
validateTakeEffect(takeLeading$1, patternOrChannel, worker);
|
|
1185
|
-
}
|
|
1186
|
-
for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
|
|
1187
|
-
args[_key3 - 2] = arguments[_key3];
|
|
1188
|
-
}
|
|
1189
|
-
return fork.apply(void 0, [takeLeading, patternOrChannel, worker].concat(args));
|
|
1190
|
-
}
|
|
1191
|
-
function throttle$1(ms, patternOrChannel, worker) {
|
|
1192
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
1193
|
-
check(patternOrChannel, notUndef, "throttle requires a pattern or channel");
|
|
1194
|
-
check(worker, notUndef, 'throttle requires a saga parameter');
|
|
1195
|
-
}
|
|
1196
|
-
for (var _len4 = arguments.length, args = new Array(_len4 > 3 ? _len4 - 3 : 0), _key4 = 3; _key4 < _len4; _key4++) {
|
|
1197
|
-
args[_key4 - 3] = arguments[_key4];
|
|
1198
|
-
}
|
|
1199
|
-
return fork.apply(void 0, [throttle, ms, patternOrChannel, worker].concat(args));
|
|
1200
|
-
}
|
|
1201
|
-
function retry$1(maxTries, delayLength, worker) {
|
|
1202
|
-
for (var _len5 = arguments.length, args = new Array(_len5 > 3 ? _len5 - 3 : 0), _key5 = 3; _key5 < _len5; _key5++) {
|
|
1203
|
-
args[_key5 - 3] = arguments[_key5];
|
|
1204
|
-
}
|
|
1205
|
-
return call.apply(void 0, [retry, maxTries, delayLength, worker].concat(args));
|
|
1206
|
-
}
|
|
1207
|
-
function debounce(delayLength, pattern, worker) {
|
|
1208
|
-
for (var _len6 = arguments.length, args = new Array(_len6 > 3 ? _len6 - 3 : 0), _key6 = 3; _key6 < _len6; _key6++) {
|
|
1209
|
-
args[_key6 - 3] = arguments[_key6];
|
|
1210
|
-
}
|
|
1211
|
-
return fork.apply(void 0, [debounceHelper, delayLength, pattern, worker].concat(args));
|
|
1212
|
-
}
|
|
1213
|
-
|
|
1214
|
-
var sagaEffects = /*#__PURE__*/Object.freeze({
|
|
1215
|
-
__proto__: null,
|
|
1216
|
-
actionChannel: actionChannel,
|
|
1217
|
-
all: all,
|
|
1218
|
-
apply: apply,
|
|
1219
|
-
call: call,
|
|
1220
|
-
cancel: cancel,
|
|
1221
|
-
cancelled: cancelled,
|
|
1222
|
-
cps: cps,
|
|
1223
|
-
debounce: debounce,
|
|
1224
|
-
delay: delay,
|
|
1225
|
-
effectTypes: effectTypes,
|
|
1226
|
-
flush: flush,
|
|
1227
|
-
fork: fork,
|
|
1228
|
-
getContext: getContext,
|
|
1229
|
-
join: join,
|
|
1230
|
-
put: put,
|
|
1231
|
-
putResolve: putResolve,
|
|
1232
|
-
race: race,
|
|
1233
|
-
retry: retry$1,
|
|
1234
|
-
select: select,
|
|
1235
|
-
setContext: setContext,
|
|
1236
|
-
spawn: spawn,
|
|
1237
|
-
take: take,
|
|
1238
|
-
takeEvery: takeEvery$1,
|
|
1239
|
-
takeLatest: takeLatest$1,
|
|
1240
|
-
takeLeading: takeLeading$1,
|
|
1241
|
-
takeMaybe: takeMaybe,
|
|
1242
|
-
throttle: throttle$1
|
|
1243
|
-
});
|
|
1244
|
-
|
|
1245
|
-
function prefixType(type, model) {
|
|
1246
|
-
var prefixedType = "".concat(model.namespace).concat(NAMESPACE_SEP).concat(type);
|
|
1247
|
-
var typeWithoutAffix = prefixedType.replace(/\/@@[^/]+?$/, '');
|
|
1248
|
-
var reducer = Array.isArray(model.reducers) ? model.reducers[0][typeWithoutAffix] : model.reducers && model.reducers[typeWithoutAffix];
|
|
1249
|
-
if (reducer || model.effects && model.effects[typeWithoutAffix]) {
|
|
1250
|
-
return prefixedType;
|
|
1251
|
-
}
|
|
1252
|
-
return type;
|
|
1253
|
-
}
|
|
1254
|
-
|
|
1255
|
-
function getSaga(effects, model, onError, onEffect) {
|
|
1256
|
-
var opts = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
1257
|
-
return /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
1258
|
-
var _loop, key;
|
|
1259
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context3) {
|
|
1260
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
1261
|
-
case 0:
|
|
1262
|
-
_loop = /*#__PURE__*/_regeneratorRuntime().mark(function _loop() {
|
|
1263
|
-
var watcher, task;
|
|
1264
|
-
return _regeneratorRuntime().wrap(function _loop$(_context2) {
|
|
1265
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
1266
|
-
case 0:
|
|
1267
|
-
if (!Object.prototype.hasOwnProperty.call(effects, key)) {
|
|
1268
|
-
_context2.next = 7;
|
|
1269
|
-
break;
|
|
1270
|
-
}
|
|
1271
|
-
watcher = getWatcher(key, effects[key], model, onError, onEffect, opts);
|
|
1272
|
-
_context2.next = 4;
|
|
1273
|
-
return fork(watcher);
|
|
1274
|
-
case 4:
|
|
1275
|
-
task = _context2.sent;
|
|
1276
|
-
_context2.next = 7;
|
|
1277
|
-
return fork( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
1278
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1279
|
-
while (1) switch (_context.prev = _context.next) {
|
|
1280
|
-
case 0:
|
|
1281
|
-
_context.next = 2;
|
|
1282
|
-
return take("".concat(model.namespace, "/@@CANCEL_EFFECTS"));
|
|
1283
|
-
case 2:
|
|
1284
|
-
_context.next = 4;
|
|
1285
|
-
return cancel(task);
|
|
1286
|
-
case 4:
|
|
1287
|
-
case "end":
|
|
1288
|
-
return _context.stop();
|
|
1289
|
-
}
|
|
1290
|
-
}, _callee);
|
|
1291
|
-
}));
|
|
1292
|
-
case 7:
|
|
1293
|
-
case "end":
|
|
1294
|
-
return _context2.stop();
|
|
1295
|
-
}
|
|
1296
|
-
}, _loop);
|
|
1297
|
-
});
|
|
1298
|
-
_context3.t0 = _regeneratorRuntime().keys(effects);
|
|
1299
|
-
case 2:
|
|
1300
|
-
if ((_context3.t1 = _context3.t0()).done) {
|
|
1301
|
-
_context3.next = 7;
|
|
1302
|
-
break;
|
|
1303
|
-
}
|
|
1304
|
-
key = _context3.t1.value;
|
|
1305
|
-
return _context3.delegateYield(_loop(), "t2", 5);
|
|
1306
|
-
case 5:
|
|
1307
|
-
_context3.next = 2;
|
|
1308
|
-
break;
|
|
1309
|
-
case 7:
|
|
1310
|
-
case "end":
|
|
1311
|
-
return _context3.stop();
|
|
1312
|
-
}
|
|
1313
|
-
}, _callee2);
|
|
1314
|
-
});
|
|
1315
|
-
}
|
|
1316
|
-
function getWatcher(key, _effect, model, onError, onEffect, options) {
|
|
1317
|
-
var _marked = /*#__PURE__*/_regeneratorRuntime().mark(sagaWithCatch);
|
|
1318
|
-
var effect = _effect;
|
|
1319
|
-
var type = 'takeEvery';
|
|
1320
|
-
var ms;
|
|
1321
|
-
var delayMs;
|
|
1322
|
-
if (Array.isArray(_effect)) {
|
|
1323
|
-
var _effect2 = _slicedToArray(_effect, 1);
|
|
1324
|
-
effect = _effect2[0];
|
|
1325
|
-
var opts = _effect[1];
|
|
1326
|
-
if (opts && opts.type) {
|
|
1327
|
-
type = opts.type;
|
|
1328
|
-
if (type === 'throttle') {
|
|
1329
|
-
invariant(opts.ms, 'app.start: opts.ms should be defined if type is throttle');
|
|
1330
|
-
ms = opts.ms;
|
|
1331
|
-
}
|
|
1332
|
-
if (type === 'poll') {
|
|
1333
|
-
invariant(opts.delay, 'app.start: opts.delay should be defined if type is poll');
|
|
1334
|
-
delayMs = opts.delay;
|
|
1335
|
-
}
|
|
1336
|
-
}
|
|
1337
|
-
invariant(['watcher', 'takeEvery', 'takeLatest', 'throttle', 'poll'].indexOf(type) > -1, 'app.start: effect type should be takeEvery, takeLatest, throttle, poll or watcher');
|
|
1338
|
-
}
|
|
1339
|
-
function noop() {}
|
|
1340
|
-
function sagaWithCatch() {
|
|
1341
|
-
var _len,
|
|
1342
|
-
args,
|
|
1343
|
-
_key,
|
|
1344
|
-
_ref,
|
|
1345
|
-
_ref$__dva_resolve,
|
|
1346
|
-
resolve,
|
|
1347
|
-
_ref$__dva_reject,
|
|
1348
|
-
reject,
|
|
1349
|
-
ret,
|
|
1350
|
-
_args4 = arguments;
|
|
1351
|
-
return _regeneratorRuntime().wrap(function sagaWithCatch$(_context4) {
|
|
1352
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
1353
|
-
case 0:
|
|
1354
|
-
for (_len = _args4.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1355
|
-
args[_key] = _args4[_key];
|
|
1356
|
-
}
|
|
1357
|
-
_ref = args.length > 0 ? args[0] : {}, _ref$__dva_resolve = _ref.__dva_resolve, resolve = _ref$__dva_resolve === void 0 ? noop : _ref$__dva_resolve, _ref$__dva_reject = _ref.__dva_reject, reject = _ref$__dva_reject === void 0 ? noop : _ref$__dva_reject;
|
|
1358
|
-
_context4.prev = 2;
|
|
1359
|
-
_context4.next = 5;
|
|
1360
|
-
return put({
|
|
1361
|
-
type: "".concat(key).concat(NAMESPACE_SEP, "@@start")
|
|
1362
|
-
});
|
|
1363
|
-
case 5:
|
|
1364
|
-
_context4.next = 7;
|
|
1365
|
-
return effect.apply(void 0, _toConsumableArray(args.concat(createEffects(model, options))));
|
|
1366
|
-
case 7:
|
|
1367
|
-
ret = _context4.sent;
|
|
1368
|
-
_context4.next = 10;
|
|
1369
|
-
return put({
|
|
1370
|
-
type: "".concat(key).concat(NAMESPACE_SEP, "@@end")
|
|
1371
|
-
});
|
|
1372
|
-
case 10:
|
|
1373
|
-
resolve(ret);
|
|
1374
|
-
_context4.next = 17;
|
|
1375
|
-
break;
|
|
1376
|
-
case 13:
|
|
1377
|
-
_context4.prev = 13;
|
|
1378
|
-
_context4.t0 = _context4["catch"](2);
|
|
1379
|
-
onError(_context4.t0, {
|
|
1380
|
-
key: key,
|
|
1381
|
-
effectArgs: args
|
|
1382
|
-
});
|
|
1383
|
-
if (!_context4.t0._doNotReject) {
|
|
1384
|
-
reject(_context4.t0);
|
|
1385
|
-
}
|
|
1386
|
-
case 17:
|
|
1387
|
-
case "end":
|
|
1388
|
-
return _context4.stop();
|
|
1389
|
-
}
|
|
1390
|
-
}, _marked, null, [[2, 13]]);
|
|
1391
|
-
}
|
|
1392
|
-
var sagaWithOnEffect = applyOnEffect(onEffect, sagaWithCatch, model, key);
|
|
1393
|
-
switch (type) {
|
|
1394
|
-
case 'watcher':
|
|
1395
|
-
return sagaWithCatch;
|
|
1396
|
-
case 'takeLatest':
|
|
1397
|
-
return /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
1398
|
-
return _regeneratorRuntime().wrap(function _callee3$(_context5) {
|
|
1399
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
1400
|
-
case 0:
|
|
1401
|
-
_context5.next = 2;
|
|
1402
|
-
return takeLatest$1(key, sagaWithOnEffect);
|
|
1403
|
-
case 2:
|
|
1404
|
-
case "end":
|
|
1405
|
-
return _context5.stop();
|
|
1406
|
-
}
|
|
1407
|
-
}, _callee3);
|
|
1408
|
-
});
|
|
1409
|
-
case 'throttle':
|
|
1410
|
-
return /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
1411
|
-
return _regeneratorRuntime().wrap(function _callee4$(_context6) {
|
|
1412
|
-
while (1) switch (_context6.prev = _context6.next) {
|
|
1413
|
-
case 0:
|
|
1414
|
-
_context6.next = 2;
|
|
1415
|
-
return throttle$1(ms, key, sagaWithOnEffect);
|
|
1416
|
-
case 2:
|
|
1417
|
-
case "end":
|
|
1418
|
-
return _context6.stop();
|
|
1419
|
-
}
|
|
1420
|
-
}, _callee4);
|
|
1421
|
-
});
|
|
1422
|
-
case 'poll':
|
|
1423
|
-
return /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
1424
|
-
var _marked2, delay, pollSagaWorker, call$1, take$1, race$1, action;
|
|
1425
|
-
return _regeneratorRuntime().wrap(function _callee5$(_context8) {
|
|
1426
|
-
while (1) switch (_context8.prev = _context8.next) {
|
|
1427
|
-
case 0:
|
|
1428
|
-
pollSagaWorker = function _pollSagaWorker(sagaEffectCollection, action) {
|
|
1429
|
-
var call;
|
|
1430
|
-
return _regeneratorRuntime().wrap(function pollSagaWorker$(_context7) {
|
|
1431
|
-
while (1) switch (_context7.prev = _context7.next) {
|
|
1432
|
-
case 0:
|
|
1433
|
-
call = sagaEffectCollection.call;
|
|
1434
|
-
case 1:
|
|
1435
|
-
_context7.next = 4;
|
|
1436
|
-
return call(sagaWithOnEffect, action);
|
|
1437
|
-
case 4:
|
|
1438
|
-
_context7.next = 6;
|
|
1439
|
-
return call(delay, delayMs);
|
|
1440
|
-
case 6:
|
|
1441
|
-
_context7.next = 1;
|
|
1442
|
-
break;
|
|
1443
|
-
case 8:
|
|
1444
|
-
case "end":
|
|
1445
|
-
return _context7.stop();
|
|
1446
|
-
}
|
|
1447
|
-
}, _marked2);
|
|
1448
|
-
};
|
|
1449
|
-
delay = function _delay(timeout) {
|
|
1450
|
-
return new Promise(function (resolve) {
|
|
1451
|
-
return setTimeout(resolve, timeout);
|
|
1452
|
-
});
|
|
1453
|
-
};
|
|
1454
|
-
_marked2 = /*#__PURE__*/_regeneratorRuntime().mark(pollSagaWorker);
|
|
1455
|
-
call$1 = call, take$1 = take, race$1 = race;
|
|
1456
|
-
case 4:
|
|
1457
|
-
_context8.next = 7;
|
|
1458
|
-
return take$1("".concat(key, "-start"));
|
|
1459
|
-
case 7:
|
|
1460
|
-
action = _context8.sent;
|
|
1461
|
-
_context8.next = 10;
|
|
1462
|
-
return race$1([call$1(pollSagaWorker, sagaEffects, action), take$1("".concat(key, "-stop"))]);
|
|
1463
|
-
case 10:
|
|
1464
|
-
_context8.next = 4;
|
|
1465
|
-
break;
|
|
1466
|
-
case 12:
|
|
1467
|
-
case "end":
|
|
1468
|
-
return _context8.stop();
|
|
1469
|
-
}
|
|
1470
|
-
}, _callee5);
|
|
1471
|
-
});
|
|
1472
|
-
default:
|
|
1473
|
-
return /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
1474
|
-
return _regeneratorRuntime().wrap(function _callee6$(_context9) {
|
|
1475
|
-
while (1) switch (_context9.prev = _context9.next) {
|
|
1476
|
-
case 0:
|
|
1477
|
-
_context9.next = 2;
|
|
1478
|
-
return takeEvery$1(key, sagaWithOnEffect);
|
|
1479
|
-
case 2:
|
|
1480
|
-
case "end":
|
|
1481
|
-
return _context9.stop();
|
|
1482
|
-
}
|
|
1483
|
-
}, _callee6);
|
|
1484
|
-
});
|
|
1485
|
-
}
|
|
1486
|
-
}
|
|
1487
|
-
function createEffects(model, opts) {
|
|
1488
|
-
function assertAction(type, name) {
|
|
1489
|
-
invariant(type, 'dispatch: action should be a plain Object with type');
|
|
1490
|
-
var _opts$namespacePrefix = opts.namespacePrefixWarning,
|
|
1491
|
-
namespacePrefixWarning = _opts$namespacePrefix === void 0 ? true : _opts$namespacePrefix;
|
|
1492
|
-
if (namespacePrefixWarning) {
|
|
1493
|
-
warning(type.indexOf("".concat(model.namespace).concat(NAMESPACE_SEP)) !== 0, "[".concat(name, "] ").concat(type, " should not be prefixed with namespace ").concat(model.namespace));
|
|
1494
|
-
}
|
|
1495
|
-
}
|
|
1496
|
-
function put$1(action) {
|
|
1497
|
-
var type = action.type;
|
|
1498
|
-
assertAction(type, 'sagaEffects.put');
|
|
1499
|
-
return put(_objectSpread2(_objectSpread2({}, action), {}, {
|
|
1500
|
-
type: prefixType(type, model)
|
|
1501
|
-
}));
|
|
1502
|
-
}
|
|
1503
|
-
|
|
1504
|
-
// The operator `put` doesn't block waiting the returned promise to resolve.
|
|
1505
|
-
// Using `put.resolve` will wait until the promsie resolve/reject before resuming.
|
|
1506
|
-
// It will be helpful to organize multi-effects in order,
|
|
1507
|
-
// and increase the reusability by seperate the effect in stand-alone pieces.
|
|
1508
|
-
// https://github.com/redux-saga/redux-saga/issues/336
|
|
1509
|
-
function putResolve(action) {
|
|
1510
|
-
var type = action.type;
|
|
1511
|
-
assertAction(type, 'sagaEffects.put.resolve');
|
|
1512
|
-
return put.resolve(_objectSpread2(_objectSpread2({}, action), {}, {
|
|
1513
|
-
type: prefixType(type, model)
|
|
1514
|
-
}));
|
|
1515
|
-
}
|
|
1516
|
-
put$1.resolve = putResolve;
|
|
1517
|
-
function take$1(type) {
|
|
1518
|
-
if (typeof type === 'string') {
|
|
1519
|
-
assertAction(type, 'sagaEffects.take');
|
|
1520
|
-
return take(prefixType(type, model));
|
|
1521
|
-
} else if (Array.isArray(type)) {
|
|
1522
|
-
return take(type.map(function (t) {
|
|
1523
|
-
if (typeof t === 'string') {
|
|
1524
|
-
assertAction(t, 'sagaEffects.take');
|
|
1525
|
-
return prefixType(t, model);
|
|
1526
|
-
}
|
|
1527
|
-
return t;
|
|
1528
|
-
}));
|
|
1529
|
-
} else {
|
|
1530
|
-
return take(type);
|
|
1531
|
-
}
|
|
1532
|
-
}
|
|
1533
|
-
return _objectSpread2(_objectSpread2({}, sagaEffects), {}, {
|
|
1534
|
-
put: put$1,
|
|
1535
|
-
take: take$1
|
|
1536
|
-
});
|
|
1537
|
-
}
|
|
1538
|
-
function applyOnEffect(fns, effect, model, key) {
|
|
1539
|
-
var _iterator = _createForOfIteratorHelper(fns),
|
|
1540
|
-
_step;
|
|
1541
|
-
try {
|
|
1542
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1543
|
-
var fn = _step.value;
|
|
1544
|
-
effect = fn(effect, sagaEffects, model, key);
|
|
1545
|
-
}
|
|
1546
|
-
} catch (err) {
|
|
1547
|
-
_iterator.e(err);
|
|
1548
|
-
} finally {
|
|
1549
|
-
_iterator.f();
|
|
1550
|
-
}
|
|
1551
|
-
return effect;
|
|
1552
|
-
}
|
|
1553
|
-
|
|
1554
|
-
function _classCallCheck(instance, Constructor) {
|
|
1555
|
-
if (!(instance instanceof Constructor)) {
|
|
1556
|
-
throw new TypeError("Cannot call a class as a function");
|
|
1557
|
-
}
|
|
1558
|
-
}
|
|
1559
|
-
|
|
1560
|
-
function _defineProperties(target, props) {
|
|
1561
|
-
for (var i = 0; i < props.length; i++) {
|
|
1562
|
-
var descriptor = props[i];
|
|
1563
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
1564
|
-
descriptor.configurable = true;
|
|
1565
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
1566
|
-
Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
|
|
1567
|
-
}
|
|
1568
|
-
}
|
|
1569
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
1570
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
1571
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
1572
|
-
Object.defineProperty(Constructor, "prototype", {
|
|
1573
|
-
writable: false
|
|
1574
|
-
});
|
|
1575
|
-
return Constructor;
|
|
1576
|
-
}
|
|
1577
|
-
|
|
1578
|
-
var hooks = ['onError', 'onStateChange', 'onAction', 'onHmr', 'onReducer', 'onEffect', 'extraReducers', 'extraEnhancers', '_handleActions'];
|
|
1579
|
-
function filterHooks(obj) {
|
|
1580
|
-
return Object.keys(obj).reduce(function (memo, key) {
|
|
1581
|
-
if (hooks.indexOf(key) > -1) {
|
|
1582
|
-
memo[key] = obj[key];
|
|
1583
|
-
}
|
|
1584
|
-
return memo;
|
|
1585
|
-
}, {});
|
|
1586
|
-
}
|
|
1587
|
-
var Plugin = /*#__PURE__*/function () {
|
|
1588
|
-
function Plugin() {
|
|
1589
|
-
_classCallCheck(this, Plugin);
|
|
1590
|
-
this._handleActions = null;
|
|
1591
|
-
this.hooks = hooks.reduce(function (memo, key) {
|
|
1592
|
-
memo[key] = [];
|
|
1593
|
-
return memo;
|
|
1594
|
-
}, {});
|
|
1595
|
-
}
|
|
1596
|
-
_createClass(Plugin, [{
|
|
1597
|
-
key: "use",
|
|
1598
|
-
value: function use(plugin) {
|
|
1599
|
-
invariant(isPlainObject(plugin), 'plugin.use: plugin should be plain object');
|
|
1600
|
-
var hk = this.hooks;
|
|
1601
|
-
for (var key in plugin) {
|
|
1602
|
-
if (Object.prototype.hasOwnProperty.call(plugin, key)) {
|
|
1603
|
-
invariant(hk[key], "plugin.use: unknown plugin property: ".concat(key));
|
|
1604
|
-
if (key === '_handleActions') {
|
|
1605
|
-
this._handleActions = plugin[key];
|
|
1606
|
-
} else if (key === 'extraEnhancers') {
|
|
1607
|
-
hk[key] = plugin[key];
|
|
1608
|
-
} else {
|
|
1609
|
-
hk[key].push(plugin[key]);
|
|
1610
|
-
}
|
|
1611
|
-
}
|
|
1612
|
-
}
|
|
1613
|
-
}
|
|
1614
|
-
}, {
|
|
1615
|
-
key: "apply",
|
|
1616
|
-
value: function apply(key, defaultHandler) {
|
|
1617
|
-
var hk = this.hooks;
|
|
1618
|
-
var validApplyHooks = ['onError', 'onHmr'];
|
|
1619
|
-
invariant(validApplyHooks.indexOf(key) > -1, "plugin.apply: hook ".concat(key, " cannot be applied"));
|
|
1620
|
-
var fns = hk[key];
|
|
1621
|
-
return function () {
|
|
1622
|
-
if (fns.length) {
|
|
1623
|
-
var _iterator = _createForOfIteratorHelper(fns),
|
|
1624
|
-
_step;
|
|
1625
|
-
try {
|
|
1626
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1627
|
-
var fn = _step.value;
|
|
1628
|
-
fn.apply(void 0, arguments);
|
|
1629
|
-
}
|
|
1630
|
-
} catch (err) {
|
|
1631
|
-
_iterator.e(err);
|
|
1632
|
-
} finally {
|
|
1633
|
-
_iterator.f();
|
|
1634
|
-
}
|
|
1635
|
-
} else if (defaultHandler) {
|
|
1636
|
-
defaultHandler.apply(void 0, arguments);
|
|
1637
|
-
}
|
|
1638
|
-
};
|
|
1639
|
-
}
|
|
1640
|
-
}, {
|
|
1641
|
-
key: "get",
|
|
1642
|
-
value: function get(key) {
|
|
1643
|
-
var hk = this.hooks;
|
|
1644
|
-
invariant(key in hk, "plugin.get: hook ".concat(key, " cannot be got"));
|
|
1645
|
-
if (key === 'extraReducers') {
|
|
1646
|
-
return getExtraReducers(hk[key]);
|
|
1647
|
-
} else if (key === 'onReducer') {
|
|
1648
|
-
return getOnReducer(hk[key]);
|
|
1649
|
-
} else {
|
|
1650
|
-
return hk[key];
|
|
1651
|
-
}
|
|
1652
|
-
}
|
|
1653
|
-
}]);
|
|
1654
|
-
return Plugin;
|
|
1655
|
-
}();
|
|
1656
|
-
function getExtraReducers(hook) {
|
|
1657
|
-
var ret = {};
|
|
1658
|
-
var _iterator2 = _createForOfIteratorHelper(hook),
|
|
1659
|
-
_step2;
|
|
1660
|
-
try {
|
|
1661
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
1662
|
-
var reducerObj = _step2.value;
|
|
1663
|
-
ret = _objectSpread2(_objectSpread2({}, ret), reducerObj);
|
|
1664
|
-
}
|
|
1665
|
-
} catch (err) {
|
|
1666
|
-
_iterator2.e(err);
|
|
1667
|
-
} finally {
|
|
1668
|
-
_iterator2.f();
|
|
1669
|
-
}
|
|
1670
|
-
return ret;
|
|
1671
|
-
}
|
|
1672
|
-
function getOnReducer(hook) {
|
|
1673
|
-
return function (reducer) {
|
|
1674
|
-
var _iterator3 = _createForOfIteratorHelper(hook),
|
|
1675
|
-
_step3;
|
|
1676
|
-
try {
|
|
1677
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
1678
|
-
var reducerEnhancer = _step3.value;
|
|
1679
|
-
reducer = reducerEnhancer(reducer);
|
|
1680
|
-
}
|
|
1681
|
-
} catch (err) {
|
|
1682
|
-
_iterator3.e(err);
|
|
1683
|
-
} finally {
|
|
1684
|
-
_iterator3.f();
|
|
1685
|
-
}
|
|
1686
|
-
return reducer;
|
|
1687
|
-
};
|
|
1688
|
-
}
|
|
1689
|
-
|
|
1690
|
-
function _toArray(arr) {
|
|
1691
|
-
return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
|
|
1692
|
-
}
|
|
1693
|
-
|
|
1694
|
-
function prefix(obj, namespace, type) {
|
|
1695
|
-
return Object.keys(obj).reduce(function (memo, key) {
|
|
1696
|
-
warning(key.indexOf("".concat(namespace).concat(NAMESPACE_SEP)) !== 0, "[prefixNamespace]: ".concat(type, " ").concat(key, " should not be prefixed with namespace ").concat(namespace));
|
|
1697
|
-
var newKey = "".concat(namespace).concat(NAMESPACE_SEP).concat(key);
|
|
1698
|
-
memo[newKey] = obj[key];
|
|
1699
|
-
return memo;
|
|
1700
|
-
}, {});
|
|
1701
|
-
}
|
|
1702
|
-
function prefixNamespace(model) {
|
|
1703
|
-
var namespace = model.namespace,
|
|
1704
|
-
reducers = model.reducers,
|
|
1705
|
-
effects = model.effects;
|
|
1706
|
-
if (reducers) {
|
|
1707
|
-
if (isArray(reducers)) {
|
|
1708
|
-
// 需要复制一份,不能直接修改 model.reducers[0], 会导致微前端场景下,重复添加前缀
|
|
1709
|
-
var _reducers = _toArray(reducers),
|
|
1710
|
-
reducer = _reducers[0],
|
|
1711
|
-
rest = _reducers.slice(1);
|
|
1712
|
-
model.reducers = [prefix(reducer, namespace, 'reducer')].concat(_toConsumableArray(rest));
|
|
1713
|
-
} else {
|
|
1714
|
-
model.reducers = prefix(reducers, namespace, 'reducer');
|
|
1715
|
-
}
|
|
1716
|
-
}
|
|
1717
|
-
if (effects) {
|
|
1718
|
-
model.effects = prefix(effects, namespace, 'effect');
|
|
1719
|
-
}
|
|
1720
|
-
return model;
|
|
1721
|
-
}
|
|
1722
|
-
|
|
1723
|
-
function prefixedDispatch(dispatch, model) {
|
|
1724
|
-
return function (action) {
|
|
1725
|
-
var type = action.type;
|
|
1726
|
-
invariant(type, 'dispatch: action should be a plain Object with type');
|
|
1727
|
-
warning(type.indexOf("".concat(model.namespace).concat(NAMESPACE_SEP)) !== 0, "dispatch: ".concat(type, " should not be prefixed with namespace ").concat(model.namespace));
|
|
1728
|
-
return dispatch(_objectSpread2(_objectSpread2({}, action), {}, {
|
|
1729
|
-
type: prefixType(type, model)
|
|
1730
|
-
}));
|
|
1731
|
-
};
|
|
1732
|
-
}
|
|
1733
|
-
|
|
1734
|
-
function run(subs, model, app, onError) {
|
|
1735
|
-
var funcs = [];
|
|
1736
|
-
var nonFuncs = [];
|
|
1737
|
-
for (var key in subs) {
|
|
1738
|
-
if (Object.prototype.hasOwnProperty.call(subs, key)) {
|
|
1739
|
-
var sub = subs[key];
|
|
1740
|
-
var unListener = sub({
|
|
1741
|
-
dispatch: prefixedDispatch(app._store.dispatch, model),
|
|
1742
|
-
history: app._history
|
|
1743
|
-
}, onError);
|
|
1744
|
-
if (isFunction(unListener)) {
|
|
1745
|
-
funcs.push(unListener);
|
|
1746
|
-
} else {
|
|
1747
|
-
nonFuncs.push(key);
|
|
1748
|
-
}
|
|
1749
|
-
}
|
|
1750
|
-
}
|
|
1751
|
-
return {
|
|
1752
|
-
funcs: funcs,
|
|
1753
|
-
nonFuncs: nonFuncs
|
|
1754
|
-
};
|
|
1755
|
-
}
|
|
1756
|
-
function unListen(unListeners, namespace) {
|
|
1757
|
-
if (!unListeners[namespace]) return;
|
|
1758
|
-
var _unListeners$namespac = unListeners[namespace],
|
|
1759
|
-
funcs = _unListeners$namespac.funcs,
|
|
1760
|
-
nonFuncs = _unListeners$namespac.nonFuncs;
|
|
1761
|
-
warning(nonFuncs.length === 0, "[app.unModel] subscription should return unListener function, check these subscriptions ".concat(nonFuncs.join(', ')));
|
|
1762
|
-
var _iterator = _createForOfIteratorHelper(funcs),
|
|
1763
|
-
_step;
|
|
1764
|
-
try {
|
|
1765
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1766
|
-
var unListener = _step.value;
|
|
1767
|
-
unListener();
|
|
1768
|
-
}
|
|
1769
|
-
} catch (err) {
|
|
1770
|
-
_iterator.e(err);
|
|
1771
|
-
} finally {
|
|
1772
|
-
_iterator.f();
|
|
1773
|
-
}
|
|
1774
|
-
delete unListeners[namespace];
|
|
1775
|
-
}
|
|
1776
|
-
|
|
1777
|
-
var noop = noop$1,
|
|
1778
|
-
findIndex = findIndex$1;
|
|
1779
|
-
|
|
1780
|
-
// Internal model to update global state when do unmodel
|
|
1781
|
-
var dvaModel = {
|
|
1782
|
-
namespace: '@@dva',
|
|
1783
|
-
state: 0,
|
|
1784
|
-
reducers: {
|
|
1785
|
-
UPDATE: function UPDATE(state) {
|
|
1786
|
-
return state + 1;
|
|
1787
|
-
}
|
|
1788
|
-
}
|
|
1789
|
-
};
|
|
1790
|
-
|
|
1791
|
-
/**
|
|
1792
|
-
* Create dva-core instance.
|
|
1793
|
-
*
|
|
1794
|
-
* @param hooksAndOpts
|
|
1795
|
-
* @param createOpts
|
|
1796
|
-
*/
|
|
1797
|
-
function create() {
|
|
1798
|
-
var hooksAndOpts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1799
|
-
var createOpts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1800
|
-
var initialReducer = createOpts.initialReducer,
|
|
1801
|
-
_createOpts$setupApp = createOpts.setupApp,
|
|
1802
|
-
setupApp = _createOpts$setupApp === void 0 ? noop : _createOpts$setupApp;
|
|
1803
|
-
var plugin = new Plugin();
|
|
1804
|
-
plugin.use(filterHooks(hooksAndOpts));
|
|
1805
|
-
var app = {
|
|
1806
|
-
_models: [prefixNamespace(_objectSpread2({}, dvaModel))],
|
|
1807
|
-
_store: null,
|
|
1808
|
-
_plugin: plugin,
|
|
1809
|
-
use: plugin.use.bind(plugin),
|
|
1810
|
-
model: model,
|
|
1811
|
-
start: start
|
|
1812
|
-
};
|
|
1813
|
-
return app;
|
|
1814
|
-
|
|
1815
|
-
/**
|
|
1816
|
-
* Register model before app is started.
|
|
1817
|
-
*
|
|
1818
|
-
* @param m {Object} model to register
|
|
1819
|
-
*/
|
|
1820
|
-
function model(m) {
|
|
1821
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
1822
|
-
checkModel(m, app._models);
|
|
1823
|
-
}
|
|
1824
|
-
var prefixedModel = prefixNamespace(_objectSpread2({}, m));
|
|
1825
|
-
app._models.push(prefixedModel);
|
|
1826
|
-
return prefixedModel;
|
|
1827
|
-
}
|
|
1828
|
-
|
|
1829
|
-
/**
|
|
1830
|
-
* Inject model after app is started.
|
|
1831
|
-
*
|
|
1832
|
-
* @param createReducer
|
|
1833
|
-
* @param onError
|
|
1834
|
-
* @param unListeners
|
|
1835
|
-
* @param m
|
|
1836
|
-
*/
|
|
1837
|
-
function injectModel(createReducer, onError, unListeners, m) {
|
|
1838
|
-
m = model(m);
|
|
1839
|
-
var store = app._store;
|
|
1840
|
-
store.asyncReducers[m.namespace] = getReducer(m.reducers, m.state, plugin._handleActions, m.namespace);
|
|
1841
|
-
store.replaceReducer(createReducer());
|
|
1842
|
-
if (m.effects) {
|
|
1843
|
-
store.runSaga(app._getSaga(m.effects, m, onError, plugin.get('onEffect'), hooksAndOpts));
|
|
1844
|
-
}
|
|
1845
|
-
if (m.subscriptions) {
|
|
1846
|
-
unListeners[m.namespace] = run(m.subscriptions, m, app, onError);
|
|
1847
|
-
}
|
|
1848
|
-
}
|
|
1849
|
-
|
|
1850
|
-
/**
|
|
1851
|
-
* Unregister model.
|
|
1852
|
-
*
|
|
1853
|
-
* @param createReducer
|
|
1854
|
-
* @param reducers
|
|
1855
|
-
* @param unListeners
|
|
1856
|
-
* @param namespace
|
|
1857
|
-
*
|
|
1858
|
-
* Unexpected key warn problem:
|
|
1859
|
-
* https://github.com/reactjs/redux/issues/1636
|
|
1860
|
-
*/
|
|
1861
|
-
function unModel(createReducer, reducers, unListeners, namespace) {
|
|
1862
|
-
var store = app._store;
|
|
1863
|
-
|
|
1864
|
-
// Delete reducers
|
|
1865
|
-
delete store.asyncReducers[namespace];
|
|
1866
|
-
delete reducers[namespace];
|
|
1867
|
-
store.replaceReducer(createReducer());
|
|
1868
|
-
store.dispatch({
|
|
1869
|
-
type: '@@dva/UPDATE'
|
|
1870
|
-
});
|
|
1871
|
-
|
|
1872
|
-
// Cancel effects
|
|
1873
|
-
store.dispatch({
|
|
1874
|
-
type: "".concat(namespace, "/@@CANCEL_EFFECTS")
|
|
1875
|
-
});
|
|
1876
|
-
|
|
1877
|
-
// UnListen subscriptions
|
|
1878
|
-
unListen(unListeners, namespace);
|
|
1879
|
-
|
|
1880
|
-
// Delete model from app._models
|
|
1881
|
-
app._models = app._models.filter(function (mo) {
|
|
1882
|
-
return mo.namespace !== namespace;
|
|
1883
|
-
});
|
|
1884
|
-
}
|
|
1885
|
-
|
|
1886
|
-
/**
|
|
1887
|
-
* Replace a model if it exists, if not, add it to app
|
|
1888
|
-
* Attention:
|
|
1889
|
-
* - Only available after dva.start gets called
|
|
1890
|
-
* - Will not check origin m is strict equal to the new one
|
|
1891
|
-
* Useful for HMR
|
|
1892
|
-
* @param createReducer
|
|
1893
|
-
* @param reducers
|
|
1894
|
-
* @param unListeners
|
|
1895
|
-
* @param onError
|
|
1896
|
-
* @param m
|
|
1897
|
-
*/
|
|
1898
|
-
function replaceModel(createReducer, reducers, unListeners, onError, m) {
|
|
1899
|
-
var store = app._store;
|
|
1900
|
-
var namespace = m.namespace;
|
|
1901
|
-
var oldModelIdx = findIndex(app._models, function (mo) {
|
|
1902
|
-
return mo.namespace === namespace;
|
|
1903
|
-
});
|
|
1904
|
-
if (~oldModelIdx) {
|
|
1905
|
-
// Cancel effects
|
|
1906
|
-
store.dispatch({
|
|
1907
|
-
type: "".concat(namespace, "/@@CANCEL_EFFECTS")
|
|
1908
|
-
});
|
|
1909
|
-
|
|
1910
|
-
// Delete reducers
|
|
1911
|
-
delete store.asyncReducers[namespace];
|
|
1912
|
-
delete reducers[namespace];
|
|
1913
|
-
|
|
1914
|
-
// UnListen subscriptions
|
|
1915
|
-
unListen(unListeners, namespace);
|
|
1916
|
-
|
|
1917
|
-
// Delete model from app._models
|
|
1918
|
-
app._models.splice(oldModelIdx, 1);
|
|
1919
|
-
}
|
|
1920
|
-
|
|
1921
|
-
// add new version model to store
|
|
1922
|
-
app.model(m);
|
|
1923
|
-
store.dispatch({
|
|
1924
|
-
type: '@@dva/UPDATE'
|
|
1925
|
-
});
|
|
1926
|
-
}
|
|
1927
|
-
|
|
1928
|
-
/**
|
|
1929
|
-
* Start the app.
|
|
1930
|
-
*
|
|
1931
|
-
* @returns void
|
|
1932
|
-
*/
|
|
1933
|
-
function start() {
|
|
1934
|
-
// Global error handler
|
|
1935
|
-
var onError = function onError(err, extension) {
|
|
1936
|
-
if (err) {
|
|
1937
|
-
if (typeof err === 'string') err = new Error(err);
|
|
1938
|
-
err.preventDefault = function () {
|
|
1939
|
-
err._doNotReject = true;
|
|
1940
|
-
};
|
|
1941
|
-
plugin.apply('onError', function (e) {
|
|
1942
|
-
throw new Error(e.stack || e);
|
|
1943
|
-
})(err, app._store.dispatch, extension);
|
|
1944
|
-
}
|
|
1945
|
-
};
|
|
1946
|
-
var sagaMiddleware = createSagaMiddleware__default();
|
|
1947
|
-
var promiseMiddleware = createPromiseMiddleware(app);
|
|
1948
|
-
app._getSaga = getSaga.bind(null);
|
|
1949
|
-
var sagas = [];
|
|
1950
|
-
var reducers = _objectSpread2({}, initialReducer);
|
|
1951
|
-
var _iterator = _createForOfIteratorHelper(app._models),
|
|
1952
|
-
_step;
|
|
1953
|
-
try {
|
|
1954
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1955
|
-
var m = _step.value;
|
|
1956
|
-
reducers[m.namespace] = getReducer(m.reducers, m.state, plugin._handleActions, m.namespace);
|
|
1957
|
-
if (m.effects) {
|
|
1958
|
-
sagas.push(app._getSaga(m.effects, m, onError, plugin.get('onEffect'), hooksAndOpts));
|
|
1959
|
-
}
|
|
1960
|
-
}
|
|
1961
|
-
} catch (err) {
|
|
1962
|
-
_iterator.e(err);
|
|
1963
|
-
} finally {
|
|
1964
|
-
_iterator.f();
|
|
1965
|
-
}
|
|
1966
|
-
var reducerEnhancer = plugin.get('onReducer');
|
|
1967
|
-
var extraReducers = plugin.get('extraReducers');
|
|
1968
|
-
invariant(Object.keys(extraReducers).every(function (key) {
|
|
1969
|
-
return !(key in reducers);
|
|
1970
|
-
}), "[app.start] extraReducers is conflict with other reducers, reducers list: ".concat(Object.keys(reducers).join(', ')));
|
|
1971
|
-
|
|
1972
|
-
// Create store
|
|
1973
|
-
app._store = createStore({
|
|
1974
|
-
reducers: createReducer(),
|
|
1975
|
-
initialState: hooksAndOpts.initialState || {},
|
|
1976
|
-
plugin: plugin,
|
|
1977
|
-
createOpts: createOpts,
|
|
1978
|
-
sagaMiddleware: sagaMiddleware,
|
|
1979
|
-
promiseMiddleware: promiseMiddleware
|
|
1980
|
-
});
|
|
1981
|
-
var store = app._store;
|
|
1982
|
-
|
|
1983
|
-
// Extend store
|
|
1984
|
-
store.runSaga = sagaMiddleware.run;
|
|
1985
|
-
store.asyncReducers = {};
|
|
1986
|
-
|
|
1987
|
-
// Execute listeners when state is changed
|
|
1988
|
-
var listeners = plugin.get('onStateChange');
|
|
1989
|
-
var _iterator2 = _createForOfIteratorHelper(listeners),
|
|
1990
|
-
_step2;
|
|
1991
|
-
try {
|
|
1992
|
-
var _loop = function _loop() {
|
|
1993
|
-
var listener = _step2.value;
|
|
1994
|
-
store.subscribe(function () {
|
|
1995
|
-
listener(store.getState());
|
|
1996
|
-
});
|
|
1997
|
-
};
|
|
1998
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
1999
|
-
_loop();
|
|
2000
|
-
}
|
|
2001
|
-
|
|
2002
|
-
// Run sagas
|
|
2003
|
-
} catch (err) {
|
|
2004
|
-
_iterator2.e(err);
|
|
2005
|
-
} finally {
|
|
2006
|
-
_iterator2.f();
|
|
2007
|
-
}
|
|
2008
|
-
sagas.forEach(sagaMiddleware.run);
|
|
2009
|
-
|
|
2010
|
-
// Setup app
|
|
2011
|
-
setupApp(app);
|
|
2012
|
-
|
|
2013
|
-
// Run subscriptions
|
|
2014
|
-
var unListeners = {};
|
|
2015
|
-
var _iterator3 = _createForOfIteratorHelper(this._models),
|
|
2016
|
-
_step3;
|
|
2017
|
-
try {
|
|
2018
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
2019
|
-
var item = _step3.value;
|
|
2020
|
-
if (item.subscriptions) {
|
|
2021
|
-
unListeners[item.namespace] = run(item.subscriptions, item, app, onError);
|
|
2022
|
-
}
|
|
2023
|
-
}
|
|
2024
|
-
|
|
2025
|
-
// Setup app.model and app.unModel
|
|
2026
|
-
} catch (err) {
|
|
2027
|
-
_iterator3.e(err);
|
|
2028
|
-
} finally {
|
|
2029
|
-
_iterator3.f();
|
|
2030
|
-
}
|
|
2031
|
-
app.model = injectModel.bind(app, createReducer, onError, unListeners);
|
|
2032
|
-
app.unModel = unModel.bind(app, createReducer, reducers, unListeners);
|
|
2033
|
-
app.replaceModel = replaceModel.bind(app, createReducer, reducers, unListeners, onError);
|
|
2034
|
-
|
|
2035
|
-
/**
|
|
2036
|
-
* Create global reducer for redux.
|
|
2037
|
-
*
|
|
2038
|
-
* @returns {Object}
|
|
2039
|
-
*/
|
|
2040
|
-
function createReducer() {
|
|
2041
|
-
return reducerEnhancer(combineReducers(_objectSpread2(_objectSpread2(_objectSpread2({}, reducers), extraReducers), app._store ? app._store.asyncReducers : {})));
|
|
2042
|
-
}
|
|
2043
|
-
}
|
|
2044
|
-
}
|
|
2045
|
-
var connect = connect$1;
|
|
2046
|
-
var Provider = Provider$1;
|
|
2047
|
-
|
|
2048
|
-
export { Provider, connect, create, utils };
|
|
1
|
+
import{a as e,_ as n,b as t,c as r}from"../regeneratorRuntime.js";import a from"invariant";import{connect as o,Provider as c}from"react-redux";import{combineReducers as u}from"redux";import i from"redux-saga";import*as s from"redux-saga";export{s as saga};import{isPlainObject as f}from"is-plain-object";import l from"flatten";import{configureStore as p}from"@reduxjs/toolkit";import d from"warning";function v(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function y(e,n){if(e){if("string"==typeof e)return v(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?v(e,n):void 0}}function h(e,n){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=y(e))||n&&e&&"number"==typeof e.length){t&&(e=t);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 o,c=!0,u=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return c=e.done,e},e:function(e){u=!0,o=e},f:function(){try{c||null==t.return||t.return()}finally{if(u)throw o}}}}var m=Array.isArray.bind(Array),g=function(e){return"function"==typeof e},b=function(e){return e},E=function(){},w=function(e,n){for(var t=0,r=e.length;t<r;t+=1)if(n(e[t],t))return t;return-1},x=Object.freeze({__proto__:null,findIndex:w,isArray:m,isFunction:g,isPlainObject:f,noop:E,returnSelf:b});function _(n,t){var r,o=n.namespace,c=n.reducers,u=n.effects,i=n.subscriptions;a(o,"[app.model] namespace should be defined"),a("string"==typeof o,"[app.model] namespace should be string, but got ".concat(e(o))),a(!t.some((function(e){return e.namespace===o})),"[app.model] namespace should be unique"),c&&(a(f(c)||m(c),"[app.model] reducers should be plain object or array, but got ".concat(e(c))),a(!m(c)||f(c[0])&&g(c[1]),"[app.model] reducers with array should be [Object, Function]")),u&&a(f(u),"[app.model] effects should be plain object, but got ".concat(e(u))),i&&(a(f(i),"[app.model] subscriptions should be plain object, but got ".concat(e(i))),a((r=i,Object.keys(r).every((function(e){return g(r[e])}))),"[app.model] subscription should be function"))}function k(e){if(Array.isArray(e))return e}function A(){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,n){return k(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,a,o,c,u=[],i=!0,s=!1;try{if(o=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;i=!1}else for(;!(i=(r=o.call(t)).done)&&(u.push(r.value),u.length!==n);i=!0);}catch(e){s=!0,a=e}finally{try{if(!i&&null!=t.return&&(c=t.return(),Object(c)!==c))return}finally{if(s)throw a}}return u}}(e,n)||y(e,n)||A()}var N="/";function S(e){return function(){return function(t){return function(r){return function(n){if(!n||"string"!=typeof n)return!1;var t=n.split(N),r=O(t,1)[0],a=e._models.filter((function(e){return e.namespace===r}))[0];if(a&&a.effects&&a.effects[n])return!0;return!1}(r.type)?new Promise((function(e,a){t(n({__dva_resolve:e,__dva_reject:a},r))})):t(r)}}}}function C(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function j(e){return function(e){if(Array.isArray(e))return v(e)}(e)||C(e)||y(e)||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.")}()}function q(n){var t=n.reducers,r=n.initialState,o=n.plugin,c=n.sagaMiddleware,u=n.promiseMiddleware,i=n.createOpts.setupMiddleWares,s=void 0===i?b:i,f=o.get("extraEnhancers");a(m(f),"[app.start] extraEnhancers should be array, but got ".concat(e(f)));var d=o.get("onAction"),v=s([u,c].concat(j(l(d))));return p({reducer:t,preloadedState:r,middleware:v,enhancers:f})}function T(e){return e}function L(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return function(e,t){return n.reduce((function(e,n){return n(e,t)}),e)}}function D(e,n,t){var r=Object.keys(e).map((function(n){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:T,t=arguments.length>2?arguments[2]:void 0;return function(r,o){var c=o.type;return a(c,"dispatch: action should be a plain Object with type"),e===c?n(r,o,t):r}}(n,e[n],t)})),o=L.apply(void 0,j(r));return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,r=arguments.length>1?arguments[1]:void 0;return o(e,r,t)}}function R(e,n,t,r){return Array.isArray(e)?e[1]((t||D)(e[0],n,r)):(t||D)(e||{},n,r)}var P=function(e){return"@@redux-saga/"+e},V=P("CANCEL_PROMISE"),U=P("IO"),I=P("MULTICAST"),F=P("SELF_CANCELLATION"),M=P("TASK");function H(){return H=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},H.apply(this,arguments)}var K=function(e){return null==e},X=function(e){return null!=e},z=function(e){return"function"==typeof e},B=function(e){return"string"==typeof e},G=Array.isArray,J=function(n){return n&&!G(n)&&"object"===e(n)},W=function(e){return e&&e[M]},$=function(e){return e&&z(e.isEmpty)&&z(e.take)&&z(e.put)},Y=function e(n){return n&&(B(n)||Z(n)||z(n)||G(n)&&n.every(e))},Q=function(e){return e&&z(e.take)&&z(e.close)},Z=function(e){return Boolean(e)&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype},ee=function(e){return Q(e)&&e[I]},ne=function(e){return e&&e[U]},te=2147483647;function re(e,n){if(void 0===n&&(n=!0),"production"!==process.env.NODE_ENV&&e>te)throw new Error("delay only supports a maximum value of "+te+"ms");var t,r=new Promise((function(r){t=setTimeout(r,Math.min(te,e),n)}));return r[V]=function(){clearTimeout(t)},r}process.env.NODE_ENV;var ae=function(e){return e};function oe(e,n,t){if(!n(e))throw new Error(t)}var ce=function(e){throw e},ue=function(e){return{value:e,done:!0}};var ie=function(e){return function(e,n){void 0===e&&(e=10);var t=new Array(e),r=0,a=0,o=0,c=function(n){t[a]=n,a=(a+1)%e,r++},u=function(){if(0!=r){var n=t[o];return t[o]=null,r--,o=(o+1)%e,n}},i=function(){for(var e=[];r;)e.push(u());return e};return{isEmpty:function(){return 0==r},put:function(u){var s;if(r<e)c(u);else switch(n){case 1:throw new Error("Channel's Buffer overflow!");case 3:t[a]=u,o=a=(a+1)%e;break;case 4:s=2*e,t=i(),r=t.length,a=t.length,o=0,t.length=s,e=s,c(u)}},take:u,flush:i}}(e,3)},se="TAKE",fe="PUT",le="RACE",pe="CALL",de="CPS",ve="FORK",ye="JOIN",he="CANCEL",me="SELECT",ge="ACTION_CHANNEL",be="CANCELLED",Ee="FLUSH",we="GET_CONTEXT",xe="SET_CONTEXT",_e=Object.freeze({__proto__:null,TAKE:se,PUT:fe,ALL:"ALL",RACE:le,CALL:pe,CPS:de,FORK:ve,JOIN:ye,CANCEL:he,SELECT:me,ACTION_CHANNEL:ge,CANCELLED:be,FLUSH:Ee,GET_CONTEXT:we,SET_CONTEXT:xe}),ke="\n(HINT: if you are getting these errors in tests, consider using createMockTask from @redux-saga/testing-utils)",Ae=function(e,n){var t;return(t={})[U]=!0,t.combinator=!1,t.type=e,t.payload=n,t},Oe=function(e){return ne(e)&&e.type===ve},Ne=function(e){return"production"!==process.env.NODE_ENV&&oe(e,Oe,"detach(eff): argument must be a fork effect"),Ae(ve,H({},e.payload,{detached:!0}))};function Se(e,n){if(void 0===e&&(e="*"),"production"!==process.env.NODE_ENV&&arguments.length&&oe(arguments[0],X,"take(patternOrChannel): patternOrChannel is undefined"),Y(e))return X(n)&&console.warn("take(pattern) takes one argument but two were provided. Consider passing an array for listening to several action types"),Ae(se,{pattern:e});if(ee(e)&&X(n)&&Y(n))return Ae(se,{channel:e,pattern:n});if(Q(e))return X(n)&&console.warn("take(channel) takes one argument but two were provided. Second argument is ignored."),Ae(se,{channel:e});if("production"!==process.env.NODE_ENV)throw new Error("take(patternOrChannel): argument "+e+" is not valid channel or a valid pattern")}function Ce(e,n){return"production"!==process.env.NODE_ENV&&(arguments.length>1?(oe(e,X,"put(channel, action): argument channel is undefined"),oe(e,Q,"put(channel, action): argument "+e+" is not a valid channel"),oe(n,X,"put(channel, action): argument action is undefined")):oe(e,X,"put(action): argument action is undefined")),K(n)&&(n=e,e=void 0),Ae(fe,{channel:e,action:n})}function je(e){var n=Ae(le,e);return n.combinator=!0,n}var qe=function(e,n){if(oe(n,X,e+": argument fn is undefined or null"),!z(n)){var t,r=null;if(G(n))r=n[0],oe(t=n[1],X,e+": argument of type [context, fn] has undefined or null `fn`");else{if(!J(n))return void oe(n,z,e+": argument fn is not function");r=n.context,oe(t=n.fn,X,e+": argument of type {context, fn} has undefined or null `fn`")}r&&B(t)?oe(r[t],z,e+': context arguments has no such method - "'+t+'"'):oe(t,z,e+": unpacked fn argument (from [context, fn] or {context, fn}) is not a function")}};function Te(e,n){var t,r=null;return z(e)?t=e:(G(e)?(r=e[0],t=e[1]):(r=e.context,t=e.fn),r&&B(t)&&z(r[t])&&(t=r[t])),{context:r,fn:t,args:n}}var Le=function(e){return e!==Ue};function De(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];if("production"!==process.env.NODE_ENV){var a="number"==typeof t[0]?t[0]:"ms";oe(e,Le,"instead of writing `yield call(delay, "+a+")` where delay is an effect from `redux-saga/effects` you should write `yield delay("+a+")`"),qe("call",e)}return Ae(pe,Te(e,t))}function Re(e){"production"!==process.env.NODE_ENV&&(qe("fork",e),oe(e,(function(e){return!ne(e)}),"fork: argument must not be an effect"));for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];return Ae(ve,Te(e,t))}function Pe(e){if(void 0===e&&(e=F),"production"!==process.env.NODE_ENV){if(arguments.length>1)throw new Error("cancel(...tasks) is not supported any more. Please use cancel([...tasks]) to cancel multiple tasks.");G(e)?e.forEach((function(e){oe(e,W,"cancel([...tasks]): argument "+e+" is not a valid Task object "+ke)})):e!==F&&X(e)&&oe(e,W,"cancel(task): argument "+e+" is not a valid Task object "+ke)}return Ae(he,e)}function Ve(e,n){return"production"!==process.env.NODE_ENV&&(oe(e,Y,"actionChannel(pattern,...): argument pattern is not valid"),arguments.length>1&&(oe(n,X,"actionChannel(pattern, buffer): argument buffer is undefined"),oe(n,$,"actionChannel(pattern, buffer): argument "+n+" is not a valid buffer"))),Ae(ge,{pattern:e,buffer:n})}var Ue=De.bind(null,re),Ie=function(e){return{done:!0,value:e}},Fe={};function Me(e){return Q(e)?"channel":z(n=e)&&n.hasOwnProperty("toString")?String(e):z(e)?e.name:String(e);var n}function He(e,n,t){var r,a,o,c=n;function u(n,t){if(c===Fe)return Ie(n);if(t&&!a)throw c=Fe,t;r&&r(n);var u=t?e[a](t):e[c]();return c=u.nextState,o=u.effect,r=u.stateUpdater,a=u.errorState,c===Fe?Ie(n):o}return function(e,n,t){void 0===n&&(n=ce),void 0===t&&(t="iterator");var r={meta:{name:t},next:e,throw:n,return:ue,isSagaIterator:!0};return"undefined"!=typeof Symbol&&(r[Symbol.iterator]=function(){return r}),r}(u,(function(e){return u(null,e)}),t)}function Ke(e,n){for(var t=arguments.length,r=new Array(t>2?t-2:0),a=2;a<t;a++)r[a-2]=arguments[a];var o,c={done:!1,value:Se(e)},u=function(e){return{done:!1,value:Re.apply(void 0,[n].concat(r,[e]))}},i=function(e){return o=e};return He({q1:function(){return{nextState:"q2",effect:c,stateUpdater:i}},q2:function(){return{nextState:"q1",effect:u(o)}}},"q1","takeEvery("+Me(e)+", "+n.name+")")}function Xe(e,n){for(var t=arguments.length,r=new Array(t>2?t-2:0),a=2;a<t;a++)r[a-2]=arguments[a];var o,c,u={done:!1,value:Se(e)},i=function(e){return{done:!1,value:Re.apply(void 0,[n].concat(r,[e]))}},s=function(e){return{done:!1,value:Pe(e)}},f=function(e){return o=e},l=function(e){return c=e};return He({q1:function(){return{nextState:"q2",effect:u,stateUpdater:l}},q2:function(){return o?{nextState:"q3",effect:s(o)}:{nextState:"q1",effect:i(c),stateUpdater:f}},q3:function(){return{nextState:"q1",effect:i(c),stateUpdater:f}}},"q1","takeLatest("+Me(e)+", "+n.name+")")}function ze(e,n){for(var t=arguments.length,r=new Array(t>2?t-2:0),a=2;a<t;a++)r[a-2]=arguments[a];var o,c={done:!1,value:Se(e)},u=function(e){return{done:!1,value:De.apply(void 0,[n].concat(r,[e]))}},i=function(e){return o=e};return He({q1:function(){return{nextState:"q2",effect:c,stateUpdater:i}},q2:function(){return{nextState:"q1",effect:u(o)}}},"q1","takeLeading("+Me(e)+", "+n.name+")")}function Be(e,n,t){for(var r=arguments.length,a=new Array(r>3?r-3:0),o=3;o<r;o++)a[o-3]=arguments[o];var c,u,i=function(){return{done:!1,value:Se(u)}},s=function(e){return{done:!1,value:Re.apply(void 0,[t].concat(a,[e]))}},f={done:!1,value:Ue(e)},l=function(e){return c=e},p=function(e){return u=e},d=!Q(n);return d||p(n),He({q1:function(){return{nextState:"q2",effect:{done:!1,value:Ve(n,ie(1))},stateUpdater:p}},q2:function(){return{nextState:"q3",effect:i(),stateUpdater:l}},q3:function(){return{nextState:"q4",effect:s(c)}},q4:function(){return{nextState:"q2",effect:f}}},d?"q1":"q2","throttle("+Me(n)+", "+t.name+")")}function Ge(e,n,t){for(var r=e,a=arguments.length,o=new Array(a>3?a-3:0),c=3;c<a;c++)o[c-3]=arguments[c];var u={done:!1,value:De.apply(void 0,[t].concat(o))},i={done:!1,value:Ue(n)};return He({q1:function(){return{nextState:"q2",effect:u,errorState:"q10"}},q2:function(){return{nextState:Fe}},q10:function(e){if((r-=1)<=0)throw e;return{nextState:"q1",effect:i}}},"q1","retry("+t.name+")")}function Je(e,n,t){for(var r=arguments.length,a=new Array(r>3?r-3:0),o=3;o<r;o++)a[o-3]=arguments[o];var c,u,i={done:!1,value:Se(n)},s={done:!1,value:je({action:Se(n),debounce:Ue(e)})},f=function(e){return{done:!1,value:Re.apply(void 0,[t].concat(a,[e]))}},l=function(e){return{done:!1,value:e}},p=function(e){return c=e},d=function(e){return u=e};return He({q1:function(){return{nextState:"q2",effect:i,stateUpdater:p}},q2:function(){return{nextState:"q3",effect:s,stateUpdater:d}},q3:function(){return u.debounce?{nextState:"q1",effect:f(c)}:{nextState:"q2",effect:l(u.action),stateUpdater:p}}},"q1","debounce("+Me(n)+", "+t.name+")")}var We=function(e,n,t){oe(n,X,e.name+" requires a pattern or channel"),oe(t,X,e.name+" requires a saga parameter")};function $e(e,n){"production"!==process.env.NODE_ENV&&We($e,e,n);for(var t=arguments.length,r=new Array(t>2?t-2:0),a=2;a<t;a++)r[a-2]=arguments[a];return Re.apply(void 0,[Ke,e,n].concat(r))}function Ye(e,n){"production"!==process.env.NODE_ENV&&We(Ye,e,n);for(var t=arguments.length,r=new Array(t>2?t-2:0),a=2;a<t;a++)r[a-2]=arguments[a];return Re.apply(void 0,[Xe,e,n].concat(r))}function Qe(e,n,t){"production"!==process.env.NODE_ENV&&(oe(n,X,"throttle requires a pattern or channel"),oe(t,X,"throttle requires a saga parameter"));for(var r=arguments.length,a=new Array(r>3?r-3:0),o=3;o<r;o++)a[o-3]=arguments[o];return Re.apply(void 0,[Be,e,n,t].concat(a))}var Ze=Object.freeze({__proto__:null,actionChannel:Ve,all:function(e){var n=Ae("ALL",e);return n.combinator=!0,n},apply:function(e,n,t){void 0===t&&(t=[]);var r=[e,n];return"production"!==process.env.NODE_ENV&&qe("apply",r),Ae(pe,Te([e,n],t))},call:De,cancel:Pe,cancelled:function(){return Ae(be,{})},cps:function(e){"production"!==process.env.NODE_ENV&&qe("cps",e);for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];return Ae(de,Te(e,t))},debounce:function(e,n,t){for(var r=arguments.length,a=new Array(r>3?r-3:0),o=3;o<r;o++)a[o-3]=arguments[o];return Re.apply(void 0,[Je,e,n,t].concat(a))},delay:Ue,effectTypes:_e,flush:function(e){return"production"!==process.env.NODE_ENV&&oe(e,Q,"flush(channel): argument "+e+" is not valid channel"),Ae(Ee,e)},fork:Re,getContext:function(e){return"production"!==process.env.NODE_ENV&&oe(e,B,"getContext(prop): argument "+e+" is not a string"),Ae(we,e)},join:function(e){if("production"!==process.env.NODE_ENV){if(arguments.length>1)throw new Error("join(...tasks) is not supported any more. Please use join([...tasks]) to join multiple tasks.");G(e)?e.forEach((function(e){oe(e,W,"join([...tasks]): argument "+e+" is not a valid Task object "+ke)})):oe(e,W,"join(task): argument "+e+" is not a valid Task object "+ke)}return Ae(ye,e)},put:Ce,putResolve:function(){var e=Ce.apply(void 0,arguments);return e.payload.resolve=!0,e},race:je,retry:function(e,n,t){for(var r=arguments.length,a=new Array(r>3?r-3:0),o=3;o<r;o++)a[o-3]=arguments[o];return De.apply(void 0,[Ge,e,n,t].concat(a))},select:function(e){void 0===e&&(e=ae);for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];return"production"!==process.env.NODE_ENV&&arguments.length&&(oe(arguments[0],X,"select(selector, [...]): argument selector is undefined"),oe(e,z,"select(selector, [...]): argument "+e+" is not a function")),Ae(me,{selector:e,args:t})},setContext:function(e){return"production"!==process.env.NODE_ENV&&oe(e,J,function(e,n){return(e?e+".":"")+"setContext(props): argument "+n+" is not a plain object"}(null,e)),Ae(xe,e)},spawn:function(e){"production"!==process.env.NODE_ENV&&qe("spawn",e);for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];return Ne(Re.apply(void 0,[e].concat(t)))},take:Se,takeEvery:$e,takeLatest:Ye,takeLeading:function e(n,t){"production"!==process.env.NODE_ENV&&We(e,n,t);for(var r=arguments.length,a=new Array(r>2?r-2:0),o=2;o<r;o++)a[o-2]=arguments[o];return Re.apply(void 0,[ze,n,t].concat(a))},takeMaybe:function(){var e=Se.apply(void 0,arguments);return e.payload.maybe=!0,e},throttle:Qe});function en(e,n){var t="".concat(n.namespace).concat(N).concat(e),r=t.replace(/\/@@[^/]+?$/,"");return(Array.isArray(n.reducers)?n.reducers[0][r]:n.reducers&&n.reducers[r])||n.effects&&n.effects[r]?t:e}function nn(e,n,r,a){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return t().mark((function c(){var u,i;return t().wrap((function(c){for(;;)switch(c.prev=c.next){case 0:u=t().mark((function c(){var u,s;return t().wrap((function(c){for(;;)switch(c.prev=c.next){case 0:if(!Object.prototype.hasOwnProperty.call(e,i)){c.next=7;break}return u=tn(i,e[i],n,r,a,o),c.next=4,Re(u);case 4:return s=c.sent,c.next=7,Re(t().mark((function e(){return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Se("".concat(n.namespace,"/@@CANCEL_EFFECTS"));case 2:return e.next=4,Pe(s);case 4:case"end":return e.stop()}}),e)})));case 7:case"end":return c.stop()}}),c)})),c.t0=t().keys(e);case 2:if((c.t1=c.t0()).done){c.next=7;break}return i=c.t1.value,c.delegateYield(u(),"t2",5);case 5:c.next=2;break;case 7:case"end":return c.stop()}}),c)}))}function tn(e,n,r,o,c,u){var i,s,f=t().mark(m),l=n,p="takeEvery";if(Array.isArray(n)){var d=O(n,1);l=d[0];var v=n[1];v&&v.type&&("throttle"===(p=v.type)&&(a(v.ms,"app.start: opts.ms should be defined if type is throttle"),i=v.ms),"poll"===p&&(a(v.delay,"app.start: opts.delay should be defined if type is poll"),s=v.delay)),a(["watcher","takeEvery","takeLatest","throttle","poll"].indexOf(p)>-1,"app.start: effect type should be takeEvery, takeLatest, throttle, poll or watcher")}function y(){}function m(){var n,a,c,i,s,p,d,v,h,m=arguments;return t().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(n=m.length,a=new Array(n),c=0;c<n;c++)a[c]=m[c];return i=a.length>0?a[0]:{},s=i.__dva_resolve,p=void 0===s?y:s,d=i.__dva_reject,v=void 0===d?y:d,t.prev=2,t.next=5,Ce({type:"".concat(e).concat(N,"@@start")});case 5:return t.next=7,l.apply(void 0,j(a.concat(rn(r,u))));case 7:return h=t.sent,t.next=10,Ce({type:"".concat(e).concat(N,"@@end")});case 10:p(h),t.next=17;break;case 13:t.prev=13,t.t0=t.catch(2),o(t.t0,{key:e,effectArgs:a}),t.t0._doNotReject||v(t.t0);case 17:case"end":return t.stop()}}),f,null,[[2,13]])}var g=function(e,n,t,r){var a,o=h(e);try{for(o.s();!(a=o.n()).done;){n=(0,a.value)(n,Ze,t,r)}}catch(e){o.e(e)}finally{o.f()}return n}(c,m,r,e);switch(p){case"watcher":return m;case"takeLatest":return t().mark((function n(){return t().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Ye(e,g);case 2:case"end":return n.stop()}}),n)}));case"throttle":return t().mark((function n(){return t().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Qe(i,e,g);case 2:case"end":return n.stop()}}),n)}));case"poll":return t().mark((function n(){var r,a,o,c,u,i,f;return t().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:o=function(e,n){var o;return t().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=e.call;case 1:return t.next=4,o(g,n);case 4:return t.next=6,o(a,s);case 6:t.next=1;break;case 8:case"end":return t.stop()}}),r)},a=function(e){return new Promise((function(n){return setTimeout(n,e)}))},r=t().mark(o),c=De,u=Se,i=je;case 4:return n.next=7,u("".concat(e,"-start"));case 7:return f=n.sent,n.next=10,i([c(o,Ze,f),u("".concat(e,"-stop"))]);case 10:n.next=4;break;case 12:case"end":return n.stop()}}),n)}));default:return t().mark((function n(){return t().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,$e(e,g);case 2:case"end":return n.stop()}}),n)}))}}function rn(e,t){function r(n,r){a(n,"dispatch: action should be a plain Object with type");var o=t.namespacePrefixWarning;(void 0===o||o)&&d(0!==n.indexOf("".concat(e.namespace).concat(N)),"[".concat(r,"] ").concat(n," should not be prefixed with namespace ").concat(e.namespace))}function o(t){var a=t.type;return r(a,"sagaEffects.put"),Ce(n(n({},t),{},{type:en(a,e)}))}return o.resolve=function(t){var a=t.type;return r(a,"sagaEffects.put.resolve"),Ce.resolve(n(n({},t),{},{type:en(a,e)}))},n(n({},Ze),{},{put:o,take:function(n){return"string"==typeof n?(r(n,"sagaEffects.take"),Se(en(n,e))):Array.isArray(n)?Se(n.map((function(n){return"string"==typeof n?(r(n,"sagaEffects.take"),en(n,e)):n}))):Se(n)}})}function an(e,n){for(var t=0;t<n.length;t++){var a=n[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,r(a.key),a)}}var on=["onError","onStateChange","onAction","onHmr","onReducer","onEffect","extraReducers","extraEnhancers","_handleActions"];function cn(e){return Object.keys(e).reduce((function(n,t){return on.indexOf(t)>-1&&(n[t]=e[t]),n}),{})}var un=function(){function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this._handleActions=null,this.hooks=on.reduce((function(e,n){return e[n]=[],e}),{})}var t,r,o;return t=e,r=[{key:"use",value:function(e){a(f(e),"plugin.use: plugin should be plain object");var n=this.hooks;for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(a(n[t],"plugin.use: unknown plugin property: ".concat(t)),"_handleActions"===t?this._handleActions=e[t]:"extraEnhancers"===t?n[t]=e[t]:n[t].push(e[t]))}},{key:"apply",value:function(e,n){var t=this.hooks;a(["onError","onHmr"].indexOf(e)>-1,"plugin.apply: hook ".concat(e," cannot be applied"));var r=t[e];return function(){if(r.length){var e,t=h(r);try{for(t.s();!(e=t.n()).done;){var a=e.value;a.apply(void 0,arguments)}}catch(e){t.e(e)}finally{t.f()}}else n&&n.apply(void 0,arguments)}}},{key:"get",value:function(e){var t,r=this.hooks;return a(e in r,"plugin.get: hook ".concat(e," cannot be got")),"extraReducers"===e?function(e){var t,r={},a=h(e);try{for(a.s();!(t=a.n()).done;){var o=t.value;r=n(n({},r),o)}}catch(e){a.e(e)}finally{a.f()}return r}(r[e]):"onReducer"===e?(t=r[e],function(e){var n,r=h(t);try{for(r.s();!(n=r.n()).done;)e=(0,n.value)(e)}catch(e){r.e(e)}finally{r.f()}return e}):r[e]}}],r&&an(t.prototype,r),o&&an(t,o),Object.defineProperty(t,"prototype",{writable:!1}),e}();function sn(e,n,t){return Object.keys(e).reduce((function(r,a){return d(0!==a.indexOf("".concat(n).concat(N)),"[prefixNamespace]: ".concat(t," ").concat(a," should not be prefixed with namespace ").concat(n)),r["".concat(n).concat(N).concat(a)]=e[a],r}),{})}function fn(e){var n,t=e.namespace,r=e.reducers,a=e.effects;if(r)if(m(r)){var o=k(n=r)||C(n)||y(n)||A(),c=o[0],u=o.slice(1);e.reducers=[sn(c,t,"reducer")].concat(j(u))}else e.reducers=sn(r,t,"reducer");return a&&(e.effects=sn(a,t,"effect")),e}function ln(e,t){return function(r){var o=r.type;return a(o,"dispatch: action should be a plain Object with type"),d(0!==o.indexOf("".concat(t.namespace).concat(N)),"dispatch: ".concat(o," should not be prefixed with namespace ").concat(t.namespace)),e(n(n({},r),{},{type:en(o,t)}))}}function pn(e,n,t,r){var a=[],o=[];for(var c in e)if(Object.prototype.hasOwnProperty.call(e,c)){var u=(0,e[c])({dispatch:ln(t._store.dispatch,n),history:t._history},r);g(u)?a.push(u):o.push(c)}return{funcs:a,nonFuncs:o}}function dn(e,n){if(e[n]){var t=e[n],r=t.funcs,a=t.nonFuncs;d(0===a.length,"[app.unModel] subscription should return unListener function, check these subscriptions ".concat(a.join(", ")));var o,c=h(r);try{for(c.s();!(o=c.n()).done;){(0,o.value)()}}catch(e){c.e(e)}finally{c.f()}delete e[n]}}var vn=E,yn=w,hn={namespace:"@@dva",state:0,reducers:{UPDATE:function(e){return e+1}}};function mn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.initialReducer,o=t.setupApp,c=void 0===o?vn:o,s=new un;s.use(cn(e));var f={_models:[fn(n({},hn))],_store:null,_plugin:s,use:s.use.bind(s),model:l,start:y};return f;function l(e){"production"!==process.env.NODE_ENV&&_(e,f._models);var t=fn(n({},e));return f._models.push(t),t}function p(n,t,r,a){a=l(a);var o=f._store;o.asyncReducers[a.namespace]=R(a.reducers,a.state,s._handleActions,a.namespace),o.replaceReducer(n()),a.effects&&o.runSaga(f._getSaga(a.effects,a,t,s.get("onEffect"),e)),a.subscriptions&&(r[a.namespace]=pn(a.subscriptions,a,f,t))}function d(e,n,t,r){var a=f._store;delete a.asyncReducers[r],delete n[r],a.replaceReducer(e()),a.dispatch({type:"@@dva/UPDATE"}),a.dispatch({type:"".concat(r,"/@@CANCEL_EFFECTS")}),dn(t,r),f._models=f._models.filter((function(e){return e.namespace!==r}))}function v(e,n,t,r,a){var o=f._store,c=a.namespace,u=yn(f._models,(function(e){return e.namespace===c}));~u&&(o.dispatch({type:"".concat(c,"/@@CANCEL_EFFECTS")}),delete o.asyncReducers[c],delete n[c],dn(t,c),f._models.splice(u,1)),f.model(a),o.dispatch({type:"@@dva/UPDATE"})}function y(){var o=function(e,n){e&&("string"==typeof e&&(e=new Error(e)),e.preventDefault=function(){e._doNotReject=!0},s.apply("onError",(function(e){throw new Error(e.stack||e)}))(e,f._store.dispatch,n))},l=i(),y=S(f);f._getSaga=nn.bind(null);var m,g=[],b=n({},r),E=h(f._models);try{for(E.s();!(m=E.n()).done;){var w=m.value;b[w.namespace]=R(w.reducers,w.state,s._handleActions,w.namespace),w.effects&&g.push(f._getSaga(w.effects,w,o,s.get("onEffect"),e))}}catch(e){E.e(e)}finally{E.f()}var x=s.get("onReducer"),_=s.get("extraReducers");a(Object.keys(_).every((function(e){return!(e in b)})),"[app.start] extraReducers is conflict with other reducers, reducers list: ".concat(Object.keys(b).join(", "))),f._store=q({reducers:D(),initialState:e.initialState||{},plugin:s,createOpts:t,sagaMiddleware:l,promiseMiddleware:y});var k=f._store;k.runSaga=l.run,k.asyncReducers={};var A,O=h(s.get("onStateChange"));try{var N=function(){var e=A.value;k.subscribe((function(){e(k.getState())}))};for(O.s();!(A=O.n()).done;)N()}catch(e){O.e(e)}finally{O.f()}g.forEach(l.run),c(f);var C,j={},T=h(this._models);try{for(T.s();!(C=T.n()).done;){var L=C.value;L.subscriptions&&(j[L.namespace]=pn(L.subscriptions,L,f,o))}}catch(e){T.e(e)}finally{T.f()}function D(){return x(u(n(n(n({},b),_),f._store?f._store.asyncReducers:{})))}f.model=p.bind(f,D,o,j),f.unModel=d.bind(f,D,b,j),f.replaceModel=v.bind(f,D,b,j,o)}}var gn=o,bn=c;export{bn as Provider,gn as connect,mn as create,x as utils};
|