1 | var __extends = (this && this.__extends) || (function () {
|
2 | var extendStatics = function (d, b) {
|
3 | extendStatics = Object.setPrototypeOf ||
|
4 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
5 | function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
6 | return extendStatics(d, b);
|
7 | };
|
8 | return function (d, b) {
|
9 | if (typeof b !== "function" && b !== null)
|
10 | throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
11 | extendStatics(d, b);
|
12 | function __() { this.constructor = d; }
|
13 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
14 | };
|
15 | })();
|
16 | var __generator = (this && this.__generator) || function (thisArg, body) {
|
17 | var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
18 | return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
19 | function verb(n) { return function (v) { return step([n, v]); }; }
|
20 | function step(op) {
|
21 | if (f) throw new TypeError("Generator is already executing.");
|
22 | while (_) try {
|
23 | if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
24 | if (y = 0, t) op = [op[0] & 2, t.value];
|
25 | switch (op[0]) {
|
26 | case 0: case 1: t = op; break;
|
27 | case 4: _.label++; return { value: op[1], done: false };
|
28 | case 5: _.label++; y = op[1]; op = [0]; continue;
|
29 | case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
30 | default:
|
31 | if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
32 | if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
33 | if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
34 | if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
35 | if (t[2]) _.ops.pop();
|
36 | _.trys.pop(); continue;
|
37 | }
|
38 | op = body.call(thisArg, _);
|
39 | } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
40 | if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
41 | }
|
42 | };
|
43 | var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
44 | for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
45 | to[j] = from[i];
|
46 | return to;
|
47 | };
|
48 | var __defProp = Object.defineProperty;
|
49 | var __defProps = Object.defineProperties;
|
50 | var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
51 | var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
52 | var __hasOwnProp = Object.prototype.hasOwnProperty;
|
53 | var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
54 | var __defNormalProp = function (obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; };
|
55 | var __spreadValues = function (a, b) {
|
56 | for (var prop in b || (b = {}))
|
57 | if (__hasOwnProp.call(b, prop))
|
58 | __defNormalProp(a, prop, b[prop]);
|
59 | if (__getOwnPropSymbols)
|
60 | for (var _i = 0, _c = __getOwnPropSymbols(b); _i < _c.length; _i++) {
|
61 | var prop = _c[_i];
|
62 | if (__propIsEnum.call(b, prop))
|
63 | __defNormalProp(a, prop, b[prop]);
|
64 | }
|
65 | return a;
|
66 | };
|
67 | var __spreadProps = function (a, b) { return __defProps(a, __getOwnPropDescs(b)); };
|
68 | var __async = function (__this, __arguments, generator) {
|
69 | return new Promise(function (resolve, reject) {
|
70 | var fulfilled = function (value) {
|
71 | try {
|
72 | step(generator.next(value));
|
73 | }
|
74 | catch (e) {
|
75 | reject(e);
|
76 | }
|
77 | };
|
78 | var rejected = function (value) {
|
79 | try {
|
80 | step(generator.throw(value));
|
81 | }
|
82 | catch (e) {
|
83 | reject(e);
|
84 | }
|
85 | };
|
86 | var step = function (x) { return x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); };
|
87 | step((generator = generator.apply(__this, __arguments)).next());
|
88 | });
|
89 | };
|
90 |
|
91 | import { enableES5 } from "immer";
|
92 | export * from "redux";
|
93 | import { default as default2, current as current2, freeze, original, isDraft as isDraft4 } from "immer";
|
94 | import { createSelector as createSelector2 } from "reselect";
|
95 |
|
96 | import { current, isDraft } from "immer";
|
97 | import { createSelector } from "reselect";
|
98 | var createDraftSafeSelector = function () {
|
99 | var args = [];
|
100 | for (var _i = 0; _i < arguments.length; _i++) {
|
101 | args[_i] = arguments[_i];
|
102 | }
|
103 | var selector = createSelector.apply(void 0, args);
|
104 | var wrappedSelector = function (value) {
|
105 | var rest = [];
|
106 | for (var _i = 1; _i < arguments.length; _i++) {
|
107 | rest[_i - 1] = arguments[_i];
|
108 | }
|
109 | return selector.apply(void 0, __spreadArray([isDraft(value) ? current(value) : value], rest));
|
110 | };
|
111 | return wrappedSelector;
|
112 | };
|
113 |
|
114 | import { createStore, compose as compose2, applyMiddleware, combineReducers } from "redux";
|
115 |
|
116 | import { compose } from "redux";
|
117 | var composeWithDevTools = typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function () {
|
118 | if (arguments.length === 0)
|
119 | return void 0;
|
120 | if (typeof arguments[0] === "object")
|
121 | return compose;
|
122 | return compose.apply(null, arguments);
|
123 | };
|
124 | var devToolsEnhancer = typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function () {
|
125 | return function (noop2) {
|
126 | return noop2;
|
127 | };
|
128 | };
|
129 |
|
130 | function isPlainObject(value) {
|
131 | if (typeof value !== "object" || value === null)
|
132 | return false;
|
133 | var proto = Object.getPrototypeOf(value);
|
134 | if (proto === null)
|
135 | return true;
|
136 | var baseProto = proto;
|
137 | while (Object.getPrototypeOf(baseProto) !== null) {
|
138 | baseProto = Object.getPrototypeOf(baseProto);
|
139 | }
|
140 | return proto === baseProto;
|
141 | }
|
142 |
|
143 | import thunkMiddleware from "redux-thunk";
|
144 |
|
145 | function getTimeMeasureUtils(maxDelay, fnName) {
|
146 | var elapsed = 0;
|
147 | return {
|
148 | measureTime: function (fn) {
|
149 | var started = Date.now();
|
150 | try {
|
151 | return fn();
|
152 | }
|
153 | finally {
|
154 | var finished = Date.now();
|
155 | elapsed += finished - started;
|
156 | }
|
157 | },
|
158 | warnIfExceeded: function () {
|
159 | if (elapsed > maxDelay) {
|
160 | console.warn(fnName + " took " + elapsed + "ms, which is more than the warning threshold of " + maxDelay + "ms. \nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\nIt is disabled in production builds, so you don't need to worry about that.");
|
161 | }
|
162 | }
|
163 | };
|
164 | }
|
165 | var MiddlewareArray = (function (_super) {
|
166 | __extends(MiddlewareArray, _super);
|
167 | function MiddlewareArray() {
|
168 | var args = [];
|
169 | for (var _i = 0; _i < arguments.length; _i++) {
|
170 | args[_i] = arguments[_i];
|
171 | }
|
172 | var _this = _super.apply(this, args) || this;
|
173 | Object.setPrototypeOf(_this, MiddlewareArray.prototype);
|
174 | return _this;
|
175 | }
|
176 | Object.defineProperty(MiddlewareArray, Symbol.species, {
|
177 | get: function () {
|
178 | return MiddlewareArray;
|
179 | },
|
180 | enumerable: false,
|
181 | configurable: true
|
182 | });
|
183 | MiddlewareArray.prototype.concat = function () {
|
184 | var arr = [];
|
185 | for (var _i = 0; _i < arguments.length; _i++) {
|
186 | arr[_i] = arguments[_i];
|
187 | }
|
188 | return _super.prototype.concat.apply(this, arr);
|
189 | };
|
190 | MiddlewareArray.prototype.prepend = function () {
|
191 | var arr = [];
|
192 | for (var _i = 0; _i < arguments.length; _i++) {
|
193 | arr[_i] = arguments[_i];
|
194 | }
|
195 | if (arr.length === 1 && Array.isArray(arr[0])) {
|
196 | return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr[0].concat(this))))();
|
197 | }
|
198 | return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr.concat(this))))();
|
199 | };
|
200 | return MiddlewareArray;
|
201 | }(Array));
|
202 |
|
203 | var isProduction = process.env.NODE_ENV === "production";
|
204 | var prefix = "Invariant failed";
|
205 | function invariant(condition, message) {
|
206 | if (condition) {
|
207 | return;
|
208 | }
|
209 | if (isProduction) {
|
210 | throw new Error(prefix);
|
211 | }
|
212 | throw new Error(prefix + ": " + (message || ""));
|
213 | }
|
214 | function stringify(obj, serializer, indent, decycler) {
|
215 | return JSON.stringify(obj, getSerialize(serializer, decycler), indent);
|
216 | }
|
217 | function getSerialize(serializer, decycler) {
|
218 | var stack = [], keys = [];
|
219 | if (!decycler)
|
220 | decycler = function (_, value) {
|
221 | if (stack[0] === value)
|
222 | return "[Circular ~]";
|
223 | return "[Circular ~." + keys.slice(0, stack.indexOf(value)).join(".") + "]";
|
224 | };
|
225 | return function (key, value) {
|
226 | if (stack.length > 0) {
|
227 | var thisPos = stack.indexOf(this);
|
228 | ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);
|
229 | ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key);
|
230 | if (~stack.indexOf(value))
|
231 | value = decycler.call(this, key, value);
|
232 | }
|
233 | else
|
234 | stack.push(value);
|
235 | return serializer == null ? value : serializer.call(this, key, value);
|
236 | };
|
237 | }
|
238 | function isImmutableDefault(value) {
|
239 | return typeof value !== "object" || value === null || typeof value === "undefined" || Object.isFrozen(value);
|
240 | }
|
241 | function trackForMutations(isImmutable, ignorePaths, obj) {
|
242 | var trackedProperties = trackProperties(isImmutable, ignorePaths, obj);
|
243 | return {
|
244 | detectMutations: function () {
|
245 | return detectMutations(isImmutable, ignorePaths, trackedProperties, obj);
|
246 | }
|
247 | };
|
248 | }
|
249 | function trackProperties(isImmutable, ignorePaths, obj, path) {
|
250 | if (ignorePaths === void 0) { ignorePaths = []; }
|
251 | if (path === void 0) { path = ""; }
|
252 | var tracked = { value: obj };
|
253 | if (!isImmutable(obj)) {
|
254 | tracked.children = {};
|
255 | for (var key in obj) {
|
256 | var childPath = path ? path + "." + key : key;
|
257 | if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {
|
258 | continue;
|
259 | }
|
260 | tracked.children[key] = trackProperties(isImmutable, ignorePaths, obj[key], childPath);
|
261 | }
|
262 | }
|
263 | return tracked;
|
264 | }
|
265 | function detectMutations(isImmutable, ignorePaths, trackedProperty, obj, sameParentRef, path) {
|
266 | if (ignorePaths === void 0) { ignorePaths = []; }
|
267 | if (sameParentRef === void 0) { sameParentRef = false; }
|
268 | if (path === void 0) { path = ""; }
|
269 | var prevObj = trackedProperty ? trackedProperty.value : void 0;
|
270 | var sameRef = prevObj === obj;
|
271 | if (sameParentRef && !sameRef && !Number.isNaN(obj)) {
|
272 | return { wasMutated: true, path: path };
|
273 | }
|
274 | if (isImmutable(prevObj) || isImmutable(obj)) {
|
275 | return { wasMutated: false };
|
276 | }
|
277 | var keysToDetect = {};
|
278 | for (var key in trackedProperty.children) {
|
279 | keysToDetect[key] = true;
|
280 | }
|
281 | for (var key in obj) {
|
282 | keysToDetect[key] = true;
|
283 | }
|
284 | for (var key in keysToDetect) {
|
285 | var childPath = path ? path + "." + key : key;
|
286 | if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {
|
287 | continue;
|
288 | }
|
289 | var result = detectMutations(isImmutable, ignorePaths, trackedProperty.children[key], obj[key], sameRef, childPath);
|
290 | if (result.wasMutated) {
|
291 | return result;
|
292 | }
|
293 | }
|
294 | return { wasMutated: false };
|
295 | }
|
296 | function createImmutableStateInvariantMiddleware(options) {
|
297 | if (options === void 0) { options = {}; }
|
298 | if (process.env.NODE_ENV === "production") {
|
299 | return function () { return function (next) { return function (action) { return next(action); }; }; };
|
300 | }
|
301 | var _c = options.isImmutable, isImmutable = _c === void 0 ? isImmutableDefault : _c, ignoredPaths = options.ignoredPaths, _d = options.warnAfter, warnAfter = _d === void 0 ? 32 : _d, ignore = options.ignore;
|
302 | ignoredPaths = ignoredPaths || ignore;
|
303 | var track = trackForMutations.bind(null, isImmutable, ignoredPaths);
|
304 | return function (_c) {
|
305 | var getState = _c.getState;
|
306 | var state = getState();
|
307 | var tracker = track(state);
|
308 | var result;
|
309 | return function (next) { return function (action) {
|
310 | var measureUtils = getTimeMeasureUtils(warnAfter, "ImmutableStateInvariantMiddleware");
|
311 | measureUtils.measureTime(function () {
|
312 | state = getState();
|
313 | result = tracker.detectMutations();
|
314 | tracker = track(state);
|
315 | invariant(!result.wasMutated, "A state mutation was detected between dispatches, in the path '" + (result.path || "") + "'. This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)");
|
316 | });
|
317 | var dispatchedAction = next(action);
|
318 | measureUtils.measureTime(function () {
|
319 | state = getState();
|
320 | result = tracker.detectMutations();
|
321 | tracker = track(state);
|
322 | result.wasMutated && invariant(!result.wasMutated, "A state mutation was detected inside a dispatch, in the path: " + (result.path || "") + ". Take a look at the reducer(s) handling the action " + stringify(action) + ". (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)");
|
323 | });
|
324 | measureUtils.warnIfExceeded();
|
325 | return dispatchedAction;
|
326 | }; };
|
327 | };
|
328 | }
|
329 |
|
330 | function isPlain(val) {
|
331 | var type = typeof val;
|
332 | return type === "undefined" || val === null || type === "string" || type === "boolean" || type === "number" || Array.isArray(val) || isPlainObject(val);
|
333 | }
|
334 | function findNonSerializableValue(value, path, isSerializable, getEntries, ignoredPaths) {
|
335 | if (path === void 0) { path = ""; }
|
336 | if (isSerializable === void 0) { isSerializable = isPlain; }
|
337 | if (ignoredPaths === void 0) { ignoredPaths = []; }
|
338 | var foundNestedSerializable;
|
339 | if (!isSerializable(value)) {
|
340 | return {
|
341 | keyPath: path || "<root>",
|
342 | value: value
|
343 | };
|
344 | }
|
345 | if (typeof value !== "object" || value === null) {
|
346 | return false;
|
347 | }
|
348 | var entries = getEntries != null ? getEntries(value) : Object.entries(value);
|
349 | var hasIgnoredPaths = ignoredPaths.length > 0;
|
350 | for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
|
351 | var _c = entries_1[_i], key = _c[0], nestedValue = _c[1];
|
352 | var nestedPath = path ? path + "." + key : key;
|
353 | if (hasIgnoredPaths && ignoredPaths.indexOf(nestedPath) >= 0) {
|
354 | continue;
|
355 | }
|
356 | if (!isSerializable(nestedValue)) {
|
357 | return {
|
358 | keyPath: nestedPath,
|
359 | value: nestedValue
|
360 | };
|
361 | }
|
362 | if (typeof nestedValue === "object") {
|
363 | foundNestedSerializable = findNonSerializableValue(nestedValue, nestedPath, isSerializable, getEntries, ignoredPaths);
|
364 | if (foundNestedSerializable) {
|
365 | return foundNestedSerializable;
|
366 | }
|
367 | }
|
368 | }
|
369 | return false;
|
370 | }
|
371 | function createSerializableStateInvariantMiddleware(options) {
|
372 | if (options === void 0) { options = {}; }
|
373 | if (process.env.NODE_ENV === "production") {
|
374 | return function () { return function (next) { return function (action) { return next(action); }; }; };
|
375 | }
|
376 | var _c = options.isSerializable, isSerializable = _c === void 0 ? isPlain : _c, getEntries = options.getEntries, _d = options.ignoredActions, ignoredActions = _d === void 0 ? [] : _d, _e = options.ignoredActionPaths, ignoredActionPaths = _e === void 0 ? ["meta.arg", "meta.baseQueryMeta"] : _e, _f = options.ignoredPaths, ignoredPaths = _f === void 0 ? [] : _f, _g = options.warnAfter, warnAfter = _g === void 0 ? 32 : _g, _h = options.ignoreState, ignoreState = _h === void 0 ? false : _h, _j = options.ignoreActions, ignoreActions = _j === void 0 ? false : _j;
|
377 | return function (storeAPI) { return function (next) { return function (action) {
|
378 | var result = next(action);
|
379 | var measureUtils = getTimeMeasureUtils(warnAfter, "SerializableStateInvariantMiddleware");
|
380 | if (!ignoreActions && !(ignoredActions.length && ignoredActions.indexOf(action.type) !== -1)) {
|
381 | measureUtils.measureTime(function () {
|
382 | var foundActionNonSerializableValue = findNonSerializableValue(action, "", isSerializable, getEntries, ignoredActionPaths);
|
383 | if (foundActionNonSerializableValue) {
|
384 | var keyPath = foundActionNonSerializableValue.keyPath, value = foundActionNonSerializableValue.value;
|
385 | console.error("A non-serializable value was detected in an action, in the path: `" + keyPath + "`. Value:", value, "\nTake a look at the logic that dispatched this action: ", action, "\n(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)", "\n(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)");
|
386 | }
|
387 | });
|
388 | }
|
389 | if (!ignoreState) {
|
390 | measureUtils.measureTime(function () {
|
391 | var state = storeAPI.getState();
|
392 | var foundStateNonSerializableValue = findNonSerializableValue(state, "", isSerializable, getEntries, ignoredPaths);
|
393 | if (foundStateNonSerializableValue) {
|
394 | var keyPath = foundStateNonSerializableValue.keyPath, value = foundStateNonSerializableValue.value;
|
395 | console.error("A non-serializable value was detected in the state, in the path: `" + keyPath + "`. Value:", value, "\nTake a look at the reducer(s) handling this action type: " + action.type + ".\n(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)");
|
396 | }
|
397 | });
|
398 | measureUtils.warnIfExceeded();
|
399 | }
|
400 | return result;
|
401 | }; }; };
|
402 | }
|
403 |
|
404 | function isBoolean(x) {
|
405 | return typeof x === "boolean";
|
406 | }
|
407 | function curryGetDefaultMiddleware() {
|
408 | return function curriedGetDefaultMiddleware(options) {
|
409 | return getDefaultMiddleware(options);
|
410 | };
|
411 | }
|
412 | function getDefaultMiddleware(options) {
|
413 | if (options === void 0) { options = {}; }
|
414 | var _c = options.thunk, thunk = _c === void 0 ? true : _c, _d = options.immutableCheck, immutableCheck = _d === void 0 ? true : _d, _e = options.serializableCheck, serializableCheck = _e === void 0 ? true : _e;
|
415 | var middlewareArray = new MiddlewareArray();
|
416 | if (thunk) {
|
417 | if (isBoolean(thunk)) {
|
418 | middlewareArray.push(thunkMiddleware);
|
419 | }
|
420 | else {
|
421 | middlewareArray.push(thunkMiddleware.withExtraArgument(thunk.extraArgument));
|
422 | }
|
423 | }
|
424 | if (process.env.NODE_ENV !== "production") {
|
425 | if (immutableCheck) {
|
426 | var immutableOptions = {};
|
427 | if (!isBoolean(immutableCheck)) {
|
428 | immutableOptions = immutableCheck;
|
429 | }
|
430 | middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions));
|
431 | }
|
432 | if (serializableCheck) {
|
433 | var serializableOptions = {};
|
434 | if (!isBoolean(serializableCheck)) {
|
435 | serializableOptions = serializableCheck;
|
436 | }
|
437 | middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions));
|
438 | }
|
439 | }
|
440 | return middlewareArray;
|
441 | }
|
442 |
|
443 | var IS_PRODUCTION = process.env.NODE_ENV === "production";
|
444 | function configureStore(options) {
|
445 | var curriedGetDefaultMiddleware = curryGetDefaultMiddleware();
|
446 | var _c = options || {}, _d = _c.reducer, reducer = _d === void 0 ? void 0 : _d, _e = _c.middleware, middleware = _e === void 0 ? curriedGetDefaultMiddleware() : _e, _f = _c.devTools, devTools = _f === void 0 ? true : _f, _g = _c.preloadedState, preloadedState = _g === void 0 ? void 0 : _g, _h = _c.enhancers, enhancers = _h === void 0 ? void 0 : _h;
|
447 | var rootReducer;
|
448 | if (typeof reducer === "function") {
|
449 | rootReducer = reducer;
|
450 | }
|
451 | else if (isPlainObject(reducer)) {
|
452 | rootReducer = combineReducers(reducer);
|
453 | }
|
454 | else {
|
455 | throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');
|
456 | }
|
457 | var finalMiddleware = middleware;
|
458 | if (typeof finalMiddleware === "function") {
|
459 | finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware);
|
460 | if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {
|
461 | throw new Error("when using a middleware builder function, an array of middleware must be returned");
|
462 | }
|
463 | }
|
464 | if (!IS_PRODUCTION && finalMiddleware.some(function (item) { return typeof item !== "function"; })) {
|
465 | throw new Error("each middleware provided to configureStore must be a function");
|
466 | }
|
467 | var middlewareEnhancer = applyMiddleware.apply(void 0, finalMiddleware);
|
468 | var finalCompose = compose2;
|
469 | if (devTools) {
|
470 | finalCompose = composeWithDevTools(__spreadValues({
|
471 | trace: !IS_PRODUCTION
|
472 | }, typeof devTools === "object" && devTools));
|
473 | }
|
474 | var storeEnhancers = [middlewareEnhancer];
|
475 | if (Array.isArray(enhancers)) {
|
476 | storeEnhancers = __spreadArray([middlewareEnhancer], enhancers);
|
477 | }
|
478 | else if (typeof enhancers === "function") {
|
479 | storeEnhancers = enhancers(storeEnhancers);
|
480 | }
|
481 | var composedEnhancer = finalCompose.apply(void 0, storeEnhancers);
|
482 | return createStore(rootReducer, preloadedState, composedEnhancer);
|
483 | }
|
484 |
|
485 | function createAction(type, prepareAction) {
|
486 | function actionCreator() {
|
487 | var args = [];
|
488 | for (var _i = 0; _i < arguments.length; _i++) {
|
489 | args[_i] = arguments[_i];
|
490 | }
|
491 | if (prepareAction) {
|
492 | var prepared = prepareAction.apply(void 0, args);
|
493 | if (!prepared) {
|
494 | throw new Error("prepareAction did not return an object");
|
495 | }
|
496 | return __spreadValues(__spreadValues({
|
497 | type: type,
|
498 | payload: prepared.payload
|
499 | }, "meta" in prepared && { meta: prepared.meta }), "error" in prepared && { error: prepared.error });
|
500 | }
|
501 | return { type: type, payload: args[0] };
|
502 | }
|
503 | actionCreator.toString = function () { return "" + type; };
|
504 | actionCreator.type = type;
|
505 | actionCreator.match = function (action) { return action.type === type; };
|
506 | return actionCreator;
|
507 | }
|
508 | function isFSA(action) {
|
509 | return isPlainObject(action) && typeof action.type === "string" && Object.keys(action).every(isValidKey);
|
510 | }
|
511 | function isValidKey(key) {
|
512 | return ["type", "payload", "error", "meta"].indexOf(key) > -1;
|
513 | }
|
514 | function getType(actionCreator) {
|
515 | return "" + actionCreator;
|
516 | }
|
517 |
|
518 | import createNextState, { isDraft as isDraft2, isDraftable } from "immer";
|
519 |
|
520 | function executeReducerBuilderCallback(builderCallback) {
|
521 | var actionsMap = {};
|
522 | var actionMatchers = [];
|
523 | var defaultCaseReducer;
|
524 | var builder = {
|
525 | addCase: function (typeOrActionCreator, reducer) {
|
526 | if (process.env.NODE_ENV !== "production") {
|
527 | if (actionMatchers.length > 0) {
|
528 | throw new Error("`builder.addCase` should only be called before calling `builder.addMatcher`");
|
529 | }
|
530 | if (defaultCaseReducer) {
|
531 | throw new Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`");
|
532 | }
|
533 | }
|
534 | var type = typeof typeOrActionCreator === "string" ? typeOrActionCreator : typeOrActionCreator.type;
|
535 | if (type in actionsMap) {
|
536 | throw new Error("addCase cannot be called with two reducers for the same action type");
|
537 | }
|
538 | actionsMap[type] = reducer;
|
539 | return builder;
|
540 | },
|
541 | addMatcher: function (matcher, reducer) {
|
542 | if (process.env.NODE_ENV !== "production") {
|
543 | if (defaultCaseReducer) {
|
544 | throw new Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`");
|
545 | }
|
546 | }
|
547 | actionMatchers.push({ matcher: matcher, reducer: reducer });
|
548 | return builder;
|
549 | },
|
550 | addDefaultCase: function (reducer) {
|
551 | if (process.env.NODE_ENV !== "production") {
|
552 | if (defaultCaseReducer) {
|
553 | throw new Error("`builder.addDefaultCase` can only be called once");
|
554 | }
|
555 | }
|
556 | defaultCaseReducer = reducer;
|
557 | return builder;
|
558 | }
|
559 | };
|
560 | builderCallback(builder);
|
561 | return [actionsMap, actionMatchers, defaultCaseReducer];
|
562 | }
|
563 |
|
564 | function isStateFunction(x) {
|
565 | return typeof x === "function";
|
566 | }
|
567 | function createReducer(initialState, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) {
|
568 | if (actionMatchers === void 0) { actionMatchers = []; }
|
569 | var _c = typeof mapOrBuilderCallback === "function" ? executeReducerBuilderCallback(mapOrBuilderCallback) : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer], actionsMap = _c[0], finalActionMatchers = _c[1], finalDefaultCaseReducer = _c[2];
|
570 | var getInitialState;
|
571 | if (isStateFunction(initialState)) {
|
572 | getInitialState = function () { return createNextState(initialState(), function () {
|
573 | }); };
|
574 | }
|
575 | else {
|
576 | var frozenInitialState_1 = createNextState(initialState, function () {
|
577 | });
|
578 | getInitialState = function () { return frozenInitialState_1; };
|
579 | }
|
580 | function reducer(state, action) {
|
581 | if (state === void 0) { state = getInitialState(); }
|
582 | var caseReducers = __spreadArray([
|
583 | actionsMap[action.type]
|
584 | ], finalActionMatchers.filter(function (_c) {
|
585 | var matcher = _c.matcher;
|
586 | return matcher(action);
|
587 | }).map(function (_c) {
|
588 | var reducer2 = _c.reducer;
|
589 | return reducer2;
|
590 | }));
|
591 | if (caseReducers.filter(function (cr) { return !!cr; }).length === 0) {
|
592 | caseReducers = [finalDefaultCaseReducer];
|
593 | }
|
594 | return caseReducers.reduce(function (previousState, caseReducer) {
|
595 | if (caseReducer) {
|
596 | if (isDraft2(previousState)) {
|
597 | var draft = previousState;
|
598 | var result = caseReducer(draft, action);
|
599 | if (typeof result === "undefined") {
|
600 | return previousState;
|
601 | }
|
602 | return result;
|
603 | }
|
604 | else if (!isDraftable(previousState)) {
|
605 | var result = caseReducer(previousState, action);
|
606 | if (typeof result === "undefined") {
|
607 | if (previousState === null) {
|
608 | return previousState;
|
609 | }
|
610 | throw Error("A case reducer on a non-draftable value must not return undefined");
|
611 | }
|
612 | return result;
|
613 | }
|
614 | else {
|
615 | return createNextState(previousState, function (draft) {
|
616 | return caseReducer(draft, action);
|
617 | });
|
618 | }
|
619 | }
|
620 | return previousState;
|
621 | }, state);
|
622 | }
|
623 | reducer.getInitialState = getInitialState;
|
624 | return reducer;
|
625 | }
|
626 |
|
627 | function getType2(slice, actionKey) {
|
628 | return slice + "/" + actionKey;
|
629 | }
|
630 | function createSlice(options) {
|
631 | var name = options.name;
|
632 | if (!name) {
|
633 | throw new Error("`name` is a required option for createSlice");
|
634 | }
|
635 | var initialState = typeof options.initialState == "function" ? options.initialState : default2(options.initialState, function () {
|
636 | });
|
637 | var reducers = options.reducers || {};
|
638 | var reducerNames = Object.keys(reducers);
|
639 | var sliceCaseReducersByName = {};
|
640 | var sliceCaseReducersByType = {};
|
641 | var actionCreators = {};
|
642 | reducerNames.forEach(function (reducerName) {
|
643 | var maybeReducerWithPrepare = reducers[reducerName];
|
644 | var type = getType2(name, reducerName);
|
645 | var caseReducer;
|
646 | var prepareCallback;
|
647 | if ("reducer" in maybeReducerWithPrepare) {
|
648 | caseReducer = maybeReducerWithPrepare.reducer;
|
649 | prepareCallback = maybeReducerWithPrepare.prepare;
|
650 | }
|
651 | else {
|
652 | caseReducer = maybeReducerWithPrepare;
|
653 | }
|
654 | sliceCaseReducersByName[reducerName] = caseReducer;
|
655 | sliceCaseReducersByType[type] = caseReducer;
|
656 | actionCreators[reducerName] = prepareCallback ? createAction(type, prepareCallback) : createAction(type);
|
657 | });
|
658 | function buildReducer() {
|
659 | var _c = typeof options.extraReducers === "function" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers], _d = _c[0], extraReducers = _d === void 0 ? {} : _d, _e = _c[1], actionMatchers = _e === void 0 ? [] : _e, _f = _c[2], defaultCaseReducer = _f === void 0 ? void 0 : _f;
|
660 | var finalCaseReducers = __spreadValues(__spreadValues({}, extraReducers), sliceCaseReducersByType);
|
661 | return createReducer(initialState, finalCaseReducers, actionMatchers, defaultCaseReducer);
|
662 | }
|
663 | var _reducer;
|
664 | return {
|
665 | name: name,
|
666 | reducer: function (state, action) {
|
667 | if (!_reducer)
|
668 | _reducer = buildReducer();
|
669 | return _reducer(state, action);
|
670 | },
|
671 | actions: actionCreators,
|
672 | caseReducers: sliceCaseReducersByName,
|
673 | getInitialState: function () {
|
674 | if (!_reducer)
|
675 | _reducer = buildReducer();
|
676 | return _reducer.getInitialState();
|
677 | }
|
678 | };
|
679 | }
|
680 |
|
681 | function getInitialEntityState() {
|
682 | return {
|
683 | ids: [],
|
684 | entities: {}
|
685 | };
|
686 | }
|
687 | function createInitialStateFactory() {
|
688 | function getInitialState(additionalState) {
|
689 | if (additionalState === void 0) { additionalState = {}; }
|
690 | return Object.assign(getInitialEntityState(), additionalState);
|
691 | }
|
692 | return { getInitialState: getInitialState };
|
693 | }
|
694 |
|
695 | function createSelectorsFactory() {
|
696 | function getSelectors(selectState) {
|
697 | var selectIds = function (state) { return state.ids; };
|
698 | var selectEntities = function (state) { return state.entities; };
|
699 | var selectAll = createDraftSafeSelector(selectIds, selectEntities, function (ids, entities) { return ids.map(function (id) { return entities[id]; }); });
|
700 | var selectId = function (_, id) { return id; };
|
701 | var selectById = function (entities, id) { return entities[id]; };
|
702 | var selectTotal = createDraftSafeSelector(selectIds, function (ids) { return ids.length; });
|
703 | if (!selectState) {
|
704 | return {
|
705 | selectIds: selectIds,
|
706 | selectEntities: selectEntities,
|
707 | selectAll: selectAll,
|
708 | selectTotal: selectTotal,
|
709 | selectById: createDraftSafeSelector(selectEntities, selectId, selectById)
|
710 | };
|
711 | }
|
712 | var selectGlobalizedEntities = createDraftSafeSelector(selectState, selectEntities);
|
713 | return {
|
714 | selectIds: createDraftSafeSelector(selectState, selectIds),
|
715 | selectEntities: selectGlobalizedEntities,
|
716 | selectAll: createDraftSafeSelector(selectState, selectAll),
|
717 | selectTotal: createDraftSafeSelector(selectState, selectTotal),
|
718 | selectById: createDraftSafeSelector(selectGlobalizedEntities, selectId, selectById)
|
719 | };
|
720 | }
|
721 | return { getSelectors: getSelectors };
|
722 | }
|
723 |
|
724 | import createNextState2, { isDraft as isDraft3 } from "immer";
|
725 | function createSingleArgumentStateOperator(mutator) {
|
726 | var operator = createStateOperator(function (_, state) { return mutator(state); });
|
727 | return function operation(state) {
|
728 | return operator(state, void 0);
|
729 | };
|
730 | }
|
731 | function createStateOperator(mutator) {
|
732 | return function operation(state, arg) {
|
733 | function isPayloadActionArgument(arg2) {
|
734 | return isFSA(arg2);
|
735 | }
|
736 | var runMutator = function (draft) {
|
737 | if (isPayloadActionArgument(arg)) {
|
738 | mutator(arg.payload, draft);
|
739 | }
|
740 | else {
|
741 | mutator(arg, draft);
|
742 | }
|
743 | };
|
744 | if (isDraft3(state)) {
|
745 | runMutator(state);
|
746 | return state;
|
747 | }
|
748 | else {
|
749 | return createNextState2(state, runMutator);
|
750 | }
|
751 | };
|
752 | }
|
753 |
|
754 | function selectIdValue(entity, selectId) {
|
755 | var key = selectId(entity);
|
756 | if (process.env.NODE_ENV !== "production" && key === void 0) {
|
757 | console.warn("The entity passed to the `selectId` implementation returned undefined.", "You should probably provide your own `selectId` implementation.", "The entity that was passed:", entity, "The `selectId` implementation:", selectId.toString());
|
758 | }
|
759 | return key;
|
760 | }
|
761 | function ensureEntitiesArray(entities) {
|
762 | if (!Array.isArray(entities)) {
|
763 | entities = Object.values(entities);
|
764 | }
|
765 | return entities;
|
766 | }
|
767 | function splitAddedUpdatedEntities(newEntities, selectId, state) {
|
768 | newEntities = ensureEntitiesArray(newEntities);
|
769 | var added = [];
|
770 | var updated = [];
|
771 | for (var _i = 0, newEntities_1 = newEntities; _i < newEntities_1.length; _i++) {
|
772 | var entity = newEntities_1[_i];
|
773 | var id = selectIdValue(entity, selectId);
|
774 | if (id in state.entities) {
|
775 | updated.push({ id: id, changes: entity });
|
776 | }
|
777 | else {
|
778 | added.push(entity);
|
779 | }
|
780 | }
|
781 | return [added, updated];
|
782 | }
|
783 |
|
784 | function createUnsortedStateAdapter(selectId) {
|
785 | function addOneMutably(entity, state) {
|
786 | var key = selectIdValue(entity, selectId);
|
787 | if (key in state.entities) {
|
788 | return;
|
789 | }
|
790 | state.ids.push(key);
|
791 | state.entities[key] = entity;
|
792 | }
|
793 | function addManyMutably(newEntities, state) {
|
794 | newEntities = ensureEntitiesArray(newEntities);
|
795 | for (var _i = 0, newEntities_2 = newEntities; _i < newEntities_2.length; _i++) {
|
796 | var entity = newEntities_2[_i];
|
797 | addOneMutably(entity, state);
|
798 | }
|
799 | }
|
800 | function setOneMutably(entity, state) {
|
801 | var key = selectIdValue(entity, selectId);
|
802 | if (!(key in state.entities)) {
|
803 | state.ids.push(key);
|
804 | }
|
805 | state.entities[key] = entity;
|
806 | }
|
807 | function setManyMutably(newEntities, state) {
|
808 | newEntities = ensureEntitiesArray(newEntities);
|
809 | for (var _i = 0, newEntities_3 = newEntities; _i < newEntities_3.length; _i++) {
|
810 | var entity = newEntities_3[_i];
|
811 | setOneMutably(entity, state);
|
812 | }
|
813 | }
|
814 | function setAllMutably(newEntities, state) {
|
815 | newEntities = ensureEntitiesArray(newEntities);
|
816 | state.ids = [];
|
817 | state.entities = {};
|
818 | addManyMutably(newEntities, state);
|
819 | }
|
820 | function removeOneMutably(key, state) {
|
821 | return removeManyMutably([key], state);
|
822 | }
|
823 | function removeManyMutably(keys, state) {
|
824 | var didMutate = false;
|
825 | keys.forEach(function (key) {
|
826 | if (key in state.entities) {
|
827 | delete state.entities[key];
|
828 | didMutate = true;
|
829 | }
|
830 | });
|
831 | if (didMutate) {
|
832 | state.ids = state.ids.filter(function (id) { return id in state.entities; });
|
833 | }
|
834 | }
|
835 | function removeAllMutably(state) {
|
836 | Object.assign(state, {
|
837 | ids: [],
|
838 | entities: {}
|
839 | });
|
840 | }
|
841 | function takeNewKey(keys, update, state) {
|
842 | var original2 = state.entities[update.id];
|
843 | var updated = Object.assign({}, original2, update.changes);
|
844 | var newKey = selectIdValue(updated, selectId);
|
845 | var hasNewKey = newKey !== update.id;
|
846 | if (hasNewKey) {
|
847 | keys[update.id] = newKey;
|
848 | delete state.entities[update.id];
|
849 | }
|
850 | state.entities[newKey] = updated;
|
851 | return hasNewKey;
|
852 | }
|
853 | function updateOneMutably(update, state) {
|
854 | return updateManyMutably([update], state);
|
855 | }
|
856 | function updateManyMutably(updates, state) {
|
857 | var newKeys = {};
|
858 | var updatesPerEntity = {};
|
859 | updates.forEach(function (update) {
|
860 | if (update.id in state.entities) {
|
861 | updatesPerEntity[update.id] = {
|
862 | id: update.id,
|
863 | changes: __spreadValues(__spreadValues({}, updatesPerEntity[update.id] ? updatesPerEntity[update.id].changes : null), update.changes)
|
864 | };
|
865 | }
|
866 | });
|
867 | updates = Object.values(updatesPerEntity);
|
868 | var didMutateEntities = updates.length > 0;
|
869 | if (didMutateEntities) {
|
870 | var didMutateIds = updates.filter(function (update) { return takeNewKey(newKeys, update, state); }).length > 0;
|
871 | if (didMutateIds) {
|
872 | state.ids = state.ids.map(function (id) { return newKeys[id] || id; });
|
873 | }
|
874 | }
|
875 | }
|
876 | function upsertOneMutably(entity, state) {
|
877 | return upsertManyMutably([entity], state);
|
878 | }
|
879 | function upsertManyMutably(newEntities, state) {
|
880 | var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];
|
881 | updateManyMutably(updated, state);
|
882 | addManyMutably(added, state);
|
883 | }
|
884 | return {
|
885 | removeAll: createSingleArgumentStateOperator(removeAllMutably),
|
886 | addOne: createStateOperator(addOneMutably),
|
887 | addMany: createStateOperator(addManyMutably),
|
888 | setOne: createStateOperator(setOneMutably),
|
889 | setMany: createStateOperator(setManyMutably),
|
890 | setAll: createStateOperator(setAllMutably),
|
891 | updateOne: createStateOperator(updateOneMutably),
|
892 | updateMany: createStateOperator(updateManyMutably),
|
893 | upsertOne: createStateOperator(upsertOneMutably),
|
894 | upsertMany: createStateOperator(upsertManyMutably),
|
895 | removeOne: createStateOperator(removeOneMutably),
|
896 | removeMany: createStateOperator(removeManyMutably)
|
897 | };
|
898 | }
|
899 |
|
900 | function createSortedStateAdapter(selectId, sort) {
|
901 | var _c = createUnsortedStateAdapter(selectId), removeOne = _c.removeOne, removeMany = _c.removeMany, removeAll = _c.removeAll;
|
902 | function addOneMutably(entity, state) {
|
903 | return addManyMutably([entity], state);
|
904 | }
|
905 | function addManyMutably(newEntities, state) {
|
906 | newEntities = ensureEntitiesArray(newEntities);
|
907 | var models = newEntities.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); });
|
908 | if (models.length !== 0) {
|
909 | merge(models, state);
|
910 | }
|
911 | }
|
912 | function setOneMutably(entity, state) {
|
913 | return setManyMutably([entity], state);
|
914 | }
|
915 | function setManyMutably(newEntities, state) {
|
916 | newEntities = ensureEntitiesArray(newEntities);
|
917 | if (newEntities.length !== 0) {
|
918 | merge(newEntities, state);
|
919 | }
|
920 | }
|
921 | function setAllMutably(newEntities, state) {
|
922 | newEntities = ensureEntitiesArray(newEntities);
|
923 | state.entities = {};
|
924 | state.ids = [];
|
925 | addManyMutably(newEntities, state);
|
926 | }
|
927 | function updateOneMutably(update, state) {
|
928 | return updateManyMutably([update], state);
|
929 | }
|
930 | function takeUpdatedModel(models, update, state) {
|
931 | if (!(update.id in state.entities)) {
|
932 | return false;
|
933 | }
|
934 | var original2 = state.entities[update.id];
|
935 | var updated = Object.assign({}, original2, update.changes);
|
936 | var newKey = selectIdValue(updated, selectId);
|
937 | delete state.entities[update.id];
|
938 | models.push(updated);
|
939 | return newKey !== update.id;
|
940 | }
|
941 | function updateManyMutably(updates, state) {
|
942 | var models = [];
|
943 | updates.forEach(function (update) { return takeUpdatedModel(models, update, state); });
|
944 | if (models.length !== 0) {
|
945 | merge(models, state);
|
946 | }
|
947 | }
|
948 | function upsertOneMutably(entity, state) {
|
949 | return upsertManyMutably([entity], state);
|
950 | }
|
951 | function upsertManyMutably(newEntities, state) {
|
952 | var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];
|
953 | updateManyMutably(updated, state);
|
954 | addManyMutably(added, state);
|
955 | }
|
956 | function areArraysEqual(a, b) {
|
957 | if (a.length !== b.length) {
|
958 | return false;
|
959 | }
|
960 | for (var i = 0; i < a.length && i < b.length; i++) {
|
961 | if (a[i] === b[i]) {
|
962 | continue;
|
963 | }
|
964 | return false;
|
965 | }
|
966 | return true;
|
967 | }
|
968 | function merge(models, state) {
|
969 | models.forEach(function (model) {
|
970 | state.entities[selectId(model)] = model;
|
971 | });
|
972 | var allEntities = Object.values(state.entities);
|
973 | allEntities.sort(sort);
|
974 | var newSortedIds = allEntities.map(selectId);
|
975 | var ids = state.ids;
|
976 | if (!areArraysEqual(ids, newSortedIds)) {
|
977 | state.ids = newSortedIds;
|
978 | }
|
979 | }
|
980 | return {
|
981 | removeOne: removeOne,
|
982 | removeMany: removeMany,
|
983 | removeAll: removeAll,
|
984 | addOne: createStateOperator(addOneMutably),
|
985 | updateOne: createStateOperator(updateOneMutably),
|
986 | upsertOne: createStateOperator(upsertOneMutably),
|
987 | setOne: createStateOperator(setOneMutably),
|
988 | setMany: createStateOperator(setManyMutably),
|
989 | setAll: createStateOperator(setAllMutably),
|
990 | addMany: createStateOperator(addManyMutably),
|
991 | updateMany: createStateOperator(updateManyMutably),
|
992 | upsertMany: createStateOperator(upsertManyMutably)
|
993 | };
|
994 | }
|
995 |
|
996 | function createEntityAdapter(options) {
|
997 | if (options === void 0) { options = {}; }
|
998 | var _c = __spreadValues({
|
999 | sortComparer: false,
|
1000 | selectId: function (instance) { return instance.id; }
|
1001 | }, options), selectId = _c.selectId, sortComparer = _c.sortComparer;
|
1002 | var stateFactory = createInitialStateFactory();
|
1003 | var selectorsFactory = createSelectorsFactory();
|
1004 | var stateAdapter = sortComparer ? createSortedStateAdapter(selectId, sortComparer) : createUnsortedStateAdapter(selectId);
|
1005 | return __spreadValues(__spreadValues(__spreadValues({
|
1006 | selectId: selectId,
|
1007 | sortComparer: sortComparer
|
1008 | }, stateFactory), selectorsFactory), stateAdapter);
|
1009 | }
|
1010 |
|
1011 | var urlAlphabet = "ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW";
|
1012 | var nanoid = function (size) {
|
1013 | if (size === void 0) { size = 21; }
|
1014 | var id = "";
|
1015 | var i = size;
|
1016 | while (i--) {
|
1017 | id += urlAlphabet[Math.random() * 64 | 0];
|
1018 | }
|
1019 | return id;
|
1020 | };
|
1021 |
|
1022 | var commonProperties = [
|
1023 | "name",
|
1024 | "message",
|
1025 | "stack",
|
1026 | "code"
|
1027 | ];
|
1028 | var RejectWithValue = (function () {
|
1029 | function RejectWithValue(payload, meta) {
|
1030 | this.payload = payload;
|
1031 | this.meta = meta;
|
1032 | }
|
1033 | return RejectWithValue;
|
1034 | }());
|
1035 | var FulfillWithMeta = (function () {
|
1036 | function FulfillWithMeta(payload, meta) {
|
1037 | this.payload = payload;
|
1038 | this.meta = meta;
|
1039 | }
|
1040 | return FulfillWithMeta;
|
1041 | }());
|
1042 | var miniSerializeError = function (value) {
|
1043 | if (typeof value === "object" && value !== null) {
|
1044 | var simpleError = {};
|
1045 | for (var _i = 0, commonProperties_1 = commonProperties; _i < commonProperties_1.length; _i++) {
|
1046 | var property = commonProperties_1[_i];
|
1047 | if (typeof value[property] === "string") {
|
1048 | simpleError[property] = value[property];
|
1049 | }
|
1050 | }
|
1051 | return simpleError;
|
1052 | }
|
1053 | return { message: String(value) };
|
1054 | };
|
1055 | function createAsyncThunk(typePrefix, payloadCreator, options) {
|
1056 | var fulfilled = createAction(typePrefix + "/fulfilled", function (payload, requestId, arg, meta) { return ({
|
1057 | payload: payload,
|
1058 | meta: __spreadProps(__spreadValues({}, meta || {}), {
|
1059 | arg: arg,
|
1060 | requestId: requestId,
|
1061 | requestStatus: "fulfilled"
|
1062 | })
|
1063 | }); });
|
1064 | var pending = createAction(typePrefix + "/pending", function (requestId, arg, meta) { return ({
|
1065 | payload: void 0,
|
1066 | meta: __spreadProps(__spreadValues({}, meta || {}), {
|
1067 | arg: arg,
|
1068 | requestId: requestId,
|
1069 | requestStatus: "pending"
|
1070 | })
|
1071 | }); });
|
1072 | var rejected = createAction(typePrefix + "/rejected", function (error, requestId, arg, payload, meta) { return ({
|
1073 | payload: payload,
|
1074 | error: (options && options.serializeError || miniSerializeError)(error || "Rejected"),
|
1075 | meta: __spreadProps(__spreadValues({}, meta || {}), {
|
1076 | arg: arg,
|
1077 | requestId: requestId,
|
1078 | rejectedWithValue: !!payload,
|
1079 | requestStatus: "rejected",
|
1080 | aborted: (error == null ? void 0 : error.name) === "AbortError",
|
1081 | condition: (error == null ? void 0 : error.name) === "ConditionError"
|
1082 | })
|
1083 | }); });
|
1084 | var displayedWarning = false;
|
1085 | var AC = typeof AbortController !== "undefined" ? AbortController : (function () {
|
1086 | function class_1() {
|
1087 | this.signal = {
|
1088 | aborted: false,
|
1089 | addEventListener: function () {
|
1090 | },
|
1091 | dispatchEvent: function () {
|
1092 | return false;
|
1093 | },
|
1094 | onabort: function () {
|
1095 | },
|
1096 | removeEventListener: function () {
|
1097 | }
|
1098 | };
|
1099 | }
|
1100 | class_1.prototype.abort = function () {
|
1101 | if (process.env.NODE_ENV !== "production") {
|
1102 | if (!displayedWarning) {
|
1103 | displayedWarning = true;
|
1104 | console.info("This platform does not implement AbortController. \nIf you want to use the AbortController to react to `abort` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'.");
|
1105 | }
|
1106 | }
|
1107 | };
|
1108 | return class_1;
|
1109 | }());
|
1110 | function actionCreator(arg) {
|
1111 | return function (dispatch, getState, extra) {
|
1112 | var requestId = (options == null ? void 0 : options.idGenerator) ? options.idGenerator(arg) : nanoid();
|
1113 | var abortController = new AC();
|
1114 | var abortReason;
|
1115 | var abortedPromise = new Promise(function (_, reject) { return abortController.signal.addEventListener("abort", function () { return reject({ name: "AbortError", message: abortReason || "Aborted" }); }); });
|
1116 | var started = false;
|
1117 | function abort(reason) {
|
1118 | if (started) {
|
1119 | abortReason = reason;
|
1120 | abortController.abort();
|
1121 | }
|
1122 | }
|
1123 | var promise = function () {
|
1124 | return __async(this, null, function () {
|
1125 | var _a, _b, finalAction, conditionResult, err_1, skipDispatch;
|
1126 | return __generator(this, function (_c) {
|
1127 | switch (_c.label) {
|
1128 | case 0:
|
1129 | _c.trys.push([0, 4, , 5]);
|
1130 | conditionResult = (_a = options == null ? void 0 : options.condition) == null ? void 0 : _a.call(options, arg, { getState: getState, extra: extra });
|
1131 | if (!isThenable(conditionResult)) return [3 , 2];
|
1132 | return [4 , conditionResult];
|
1133 | case 1:
|
1134 | conditionResult = _c.sent();
|
1135 | _c.label = 2;
|
1136 | case 2:
|
1137 | if (conditionResult === false) {
|
1138 | throw {
|
1139 | name: "ConditionError",
|
1140 | message: "Aborted due to condition callback returning false."
|
1141 | };
|
1142 | }
|
1143 | started = true;
|
1144 | dispatch(pending(requestId, arg, (_b = options == null ? void 0 : options.getPendingMeta) == null ? void 0 : _b.call(options, { requestId: requestId, arg: arg }, { getState: getState, extra: extra })));
|
1145 | return [4 , Promise.race([
|
1146 | abortedPromise,
|
1147 | Promise.resolve(payloadCreator(arg, {
|
1148 | dispatch: dispatch,
|
1149 | getState: getState,
|
1150 | extra: extra,
|
1151 | requestId: requestId,
|
1152 | signal: abortController.signal,
|
1153 | rejectWithValue: function (value, meta) {
|
1154 | return new RejectWithValue(value, meta);
|
1155 | },
|
1156 | fulfillWithValue: function (value, meta) {
|
1157 | return new FulfillWithMeta(value, meta);
|
1158 | }
|
1159 | })).then(function (result) {
|
1160 | if (result instanceof RejectWithValue) {
|
1161 | throw result;
|
1162 | }
|
1163 | if (result instanceof FulfillWithMeta) {
|
1164 | return fulfilled(result.payload, requestId, arg, result.meta);
|
1165 | }
|
1166 | return fulfilled(result, requestId, arg);
|
1167 | })
|
1168 | ])];
|
1169 | case 3:
|
1170 | finalAction = _c.sent();
|
1171 | return [3 , 5];
|
1172 | case 4:
|
1173 | err_1 = _c.sent();
|
1174 | finalAction = err_1 instanceof RejectWithValue ? rejected(null, requestId, arg, err_1.payload, err_1.meta) : rejected(err_1, requestId, arg);
|
1175 | return [3 , 5];
|
1176 | case 5:
|
1177 | skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition;
|
1178 | if (!skipDispatch) {
|
1179 | dispatch(finalAction);
|
1180 | }
|
1181 | return [2 , finalAction];
|
1182 | }
|
1183 | });
|
1184 | });
|
1185 | }();
|
1186 | return Object.assign(promise, {
|
1187 | abort: abort,
|
1188 | requestId: requestId,
|
1189 | arg: arg,
|
1190 | unwrap: function () {
|
1191 | return promise.then(unwrapResult);
|
1192 | }
|
1193 | });
|
1194 | };
|
1195 | }
|
1196 | return Object.assign(actionCreator, {
|
1197 | pending: pending,
|
1198 | rejected: rejected,
|
1199 | fulfilled: fulfilled,
|
1200 | typePrefix: typePrefix
|
1201 | });
|
1202 | }
|
1203 | function unwrapResult(action) {
|
1204 | if (action.meta && action.meta.rejectedWithValue) {
|
1205 | throw action.payload;
|
1206 | }
|
1207 | if (action.error) {
|
1208 | throw action.error;
|
1209 | }
|
1210 | return action.payload;
|
1211 | }
|
1212 | function isThenable(value) {
|
1213 | return value !== null && typeof value === "object" && typeof value.then === "function";
|
1214 | }
|
1215 |
|
1216 | var hasMatchFunction = function (v) {
|
1217 | return v && typeof v.match === "function";
|
1218 | };
|
1219 |
|
1220 | var matches = function (matcher, action) {
|
1221 | if (hasMatchFunction(matcher)) {
|
1222 | return matcher.match(action);
|
1223 | }
|
1224 | else {
|
1225 | return matcher(action);
|
1226 | }
|
1227 | };
|
1228 | function isAnyOf() {
|
1229 | var matchers = [];
|
1230 | for (var _i = 0; _i < arguments.length; _i++) {
|
1231 | matchers[_i] = arguments[_i];
|
1232 | }
|
1233 | return function (action) {
|
1234 | return matchers.some(function (matcher) { return matches(matcher, action); });
|
1235 | };
|
1236 | }
|
1237 | function isAllOf() {
|
1238 | var matchers = [];
|
1239 | for (var _i = 0; _i < arguments.length; _i++) {
|
1240 | matchers[_i] = arguments[_i];
|
1241 | }
|
1242 | return function (action) {
|
1243 | return matchers.every(function (matcher) { return matches(matcher, action); });
|
1244 | };
|
1245 | }
|
1246 | function hasExpectedRequestMetadata(action, validStatus) {
|
1247 | if (!action || !action.meta)
|
1248 | return false;
|
1249 | var hasValidRequestId = typeof action.meta.requestId === "string";
|
1250 | var hasValidRequestStatus = validStatus.indexOf(action.meta.requestStatus) > -1;
|
1251 | return hasValidRequestId && hasValidRequestStatus;
|
1252 | }
|
1253 | function isAsyncThunkArray(a) {
|
1254 | return typeof a[0] === "function" && "pending" in a[0] && "fulfilled" in a[0] && "rejected" in a[0];
|
1255 | }
|
1256 | function isPending() {
|
1257 | var asyncThunks = [];
|
1258 | for (var _i = 0; _i < arguments.length; _i++) {
|
1259 | asyncThunks[_i] = arguments[_i];
|
1260 | }
|
1261 | if (asyncThunks.length === 0) {
|
1262 | return function (action) { return hasExpectedRequestMetadata(action, ["pending"]); };
|
1263 | }
|
1264 | if (!isAsyncThunkArray(asyncThunks)) {
|
1265 | return isPending()(asyncThunks[0]);
|
1266 | }
|
1267 | return function (action) {
|
1268 | var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.pending; });
|
1269 | var combinedMatcher = isAnyOf.apply(void 0, matchers);
|
1270 | return combinedMatcher(action);
|
1271 | };
|
1272 | }
|
1273 | function isRejected() {
|
1274 | var asyncThunks = [];
|
1275 | for (var _i = 0; _i < arguments.length; _i++) {
|
1276 | asyncThunks[_i] = arguments[_i];
|
1277 | }
|
1278 | if (asyncThunks.length === 0) {
|
1279 | return function (action) { return hasExpectedRequestMetadata(action, ["rejected"]); };
|
1280 | }
|
1281 | if (!isAsyncThunkArray(asyncThunks)) {
|
1282 | return isRejected()(asyncThunks[0]);
|
1283 | }
|
1284 | return function (action) {
|
1285 | var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.rejected; });
|
1286 | var combinedMatcher = isAnyOf.apply(void 0, matchers);
|
1287 | return combinedMatcher(action);
|
1288 | };
|
1289 | }
|
1290 | function isRejectedWithValue() {
|
1291 | var asyncThunks = [];
|
1292 | for (var _i = 0; _i < arguments.length; _i++) {
|
1293 | asyncThunks[_i] = arguments[_i];
|
1294 | }
|
1295 | var hasFlag = function (action) {
|
1296 | return action && action.meta && action.meta.rejectedWithValue;
|
1297 | };
|
1298 | if (asyncThunks.length === 0) {
|
1299 | return function (action) {
|
1300 | var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);
|
1301 | return combinedMatcher(action);
|
1302 | };
|
1303 | }
|
1304 | if (!isAsyncThunkArray(asyncThunks)) {
|
1305 | return isRejectedWithValue()(asyncThunks[0]);
|
1306 | }
|
1307 | return function (action) {
|
1308 | var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);
|
1309 | return combinedMatcher(action);
|
1310 | };
|
1311 | }
|
1312 | function isFulfilled() {
|
1313 | var asyncThunks = [];
|
1314 | for (var _i = 0; _i < arguments.length; _i++) {
|
1315 | asyncThunks[_i] = arguments[_i];
|
1316 | }
|
1317 | if (asyncThunks.length === 0) {
|
1318 | return function (action) { return hasExpectedRequestMetadata(action, ["fulfilled"]); };
|
1319 | }
|
1320 | if (!isAsyncThunkArray(asyncThunks)) {
|
1321 | return isFulfilled()(asyncThunks[0]);
|
1322 | }
|
1323 | return function (action) {
|
1324 | var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.fulfilled; });
|
1325 | var combinedMatcher = isAnyOf.apply(void 0, matchers);
|
1326 | return combinedMatcher(action);
|
1327 | };
|
1328 | }
|
1329 | function isAsyncThunkAction() {
|
1330 | var asyncThunks = [];
|
1331 | for (var _i = 0; _i < arguments.length; _i++) {
|
1332 | asyncThunks[_i] = arguments[_i];
|
1333 | }
|
1334 | if (asyncThunks.length === 0) {
|
1335 | return function (action) { return hasExpectedRequestMetadata(action, ["pending", "fulfilled", "rejected"]); };
|
1336 | }
|
1337 | if (!isAsyncThunkArray(asyncThunks)) {
|
1338 | return isAsyncThunkAction()(asyncThunks[0]);
|
1339 | }
|
1340 | return function (action) {
|
1341 | var matchers = [];
|
1342 | for (var _i = 0, asyncThunks_1 = asyncThunks; _i < asyncThunks_1.length; _i++) {
|
1343 | var asyncThunk = asyncThunks_1[_i];
|
1344 | matchers.push(asyncThunk.pending, asyncThunk.rejected, asyncThunk.fulfilled);
|
1345 | }
|
1346 | var combinedMatcher = isAnyOf.apply(void 0, matchers);
|
1347 | return combinedMatcher(action);
|
1348 | };
|
1349 | }
|
1350 |
|
1351 | var assertFunction = function (func, expected) {
|
1352 | if (typeof func !== "function") {
|
1353 | throw new TypeError(expected + " is not a function");
|
1354 | }
|
1355 | };
|
1356 | var noop = function () {
|
1357 | };
|
1358 | var catchRejection = function (promise, onError) {
|
1359 | if (onError === void 0) { onError = noop; }
|
1360 | promise.catch(onError);
|
1361 | return promise;
|
1362 | };
|
1363 | var addAbortSignalListener = function (abortSignal, callback) {
|
1364 | abortSignal.addEventListener("abort", callback, { once: true });
|
1365 | };
|
1366 | var abortControllerWithReason = function (abortController, reason) {
|
1367 | var signal = abortController.signal;
|
1368 | if (signal.aborted) {
|
1369 | return;
|
1370 | }
|
1371 | if (!("reason" in signal)) {
|
1372 | Object.defineProperty(signal, "reason", {
|
1373 | enumerable: true,
|
1374 | value: reason,
|
1375 | configurable: true,
|
1376 | writable: true
|
1377 | });
|
1378 | }
|
1379 | ;
|
1380 | abortController.abort(reason);
|
1381 | };
|
1382 |
|
1383 | var task = "task";
|
1384 | var listener = "listener";
|
1385 | var completed = "completed";
|
1386 | var cancelled = "cancelled";
|
1387 | var taskCancelled = "task-" + cancelled;
|
1388 | var taskCompleted = "task-" + completed;
|
1389 | var listenerCancelled = listener + "-" + cancelled;
|
1390 | var listenerCompleted = listener + "-" + completed;
|
1391 | var TaskAbortError = (function () {
|
1392 | function TaskAbortError(code) {
|
1393 | this.code = code;
|
1394 | this.name = "TaskAbortError";
|
1395 | this.message = task + " " + cancelled + " (reason: " + code + ")";
|
1396 | }
|
1397 | return TaskAbortError;
|
1398 | }());
|
1399 |
|
1400 | var validateActive = function (signal) {
|
1401 | if (signal.aborted) {
|
1402 | throw new TaskAbortError(signal.reason);
|
1403 | }
|
1404 | };
|
1405 | var promisifyAbortSignal = function (signal) {
|
1406 | return catchRejection(new Promise(function (_, reject) {
|
1407 | var notifyRejection = function () { return reject(new TaskAbortError(signal.reason)); };
|
1408 | if (signal.aborted) {
|
1409 | notifyRejection();
|
1410 | }
|
1411 | else {
|
1412 | addAbortSignalListener(signal, notifyRejection);
|
1413 | }
|
1414 | }));
|
1415 | };
|
1416 | var runTask = function (task2, cleanUp) { return __async(void 0, null, function () {
|
1417 | var value, error_1;
|
1418 | return __generator(this, function (_c) {
|
1419 | switch (_c.label) {
|
1420 | case 0:
|
1421 | _c.trys.push([0, 3, 4, 5]);
|
1422 | return [4 , Promise.resolve()];
|
1423 | case 1:
|
1424 | _c.sent();
|
1425 | return [4 , task2()];
|
1426 | case 2:
|
1427 | value = _c.sent();
|
1428 | return [2 , {
|
1429 | status: "ok",
|
1430 | value: value
|
1431 | }];
|
1432 | case 3:
|
1433 | error_1 = _c.sent();
|
1434 | return [2 , {
|
1435 | status: error_1 instanceof TaskAbortError ? "cancelled" : "rejected",
|
1436 | error: error_1
|
1437 | }];
|
1438 | case 4:
|
1439 | cleanUp == null ? void 0 : cleanUp();
|
1440 | return [7 ];
|
1441 | case 5: return [2 ];
|
1442 | }
|
1443 | });
|
1444 | }); };
|
1445 | var createPause = function (signal) {
|
1446 | return function (promise) {
|
1447 | return catchRejection(Promise.race([promisifyAbortSignal(signal), promise]).then(function (output) {
|
1448 | validateActive(signal);
|
1449 | return output;
|
1450 | }));
|
1451 | };
|
1452 | };
|
1453 | var createDelay = function (signal) {
|
1454 | var pause = createPause(signal);
|
1455 | return function (timeoutMs) {
|
1456 | return pause(new Promise(function (resolve) { return setTimeout(resolve, timeoutMs); }));
|
1457 | };
|
1458 | };
|
1459 |
|
1460 | var assign = Object.assign;
|
1461 | var INTERNAL_NIL_TOKEN = {};
|
1462 | var alm = "listenerMiddleware";
|
1463 | var createFork = function (parentAbortSignal) {
|
1464 | var linkControllers = function (controller) { return addAbortSignalListener(parentAbortSignal, function () { return abortControllerWithReason(controller, parentAbortSignal.reason); }); };
|
1465 | return function (taskExecutor) {
|
1466 | assertFunction(taskExecutor, "taskExecutor");
|
1467 | var childAbortController = new AbortController();
|
1468 | linkControllers(childAbortController);
|
1469 | var result = runTask(function () { return __async(void 0, null, function () {
|
1470 | var result2;
|
1471 | return __generator(this, function (_c) {
|
1472 | switch (_c.label) {
|
1473 | case 0:
|
1474 | validateActive(parentAbortSignal);
|
1475 | validateActive(childAbortController.signal);
|
1476 | return [4 , taskExecutor({
|
1477 | pause: createPause(childAbortController.signal),
|
1478 | delay: createDelay(childAbortController.signal),
|
1479 | signal: childAbortController.signal
|
1480 | })];
|
1481 | case 1:
|
1482 | result2 = _c.sent();
|
1483 | validateActive(childAbortController.signal);
|
1484 | return [2 , result2];
|
1485 | }
|
1486 | });
|
1487 | }); }, function () { return abortControllerWithReason(childAbortController, taskCompleted); });
|
1488 | return {
|
1489 | result: createPause(parentAbortSignal)(result),
|
1490 | cancel: function () {
|
1491 | abortControllerWithReason(childAbortController, taskCancelled);
|
1492 | }
|
1493 | };
|
1494 | };
|
1495 | };
|
1496 | var createTakePattern = function (startListening, signal) {
|
1497 | var take = function (predicate, timeout) { return __async(void 0, null, function () {
|
1498 | var unsubscribe, tuplePromise, promises, output;
|
1499 | return __generator(this, function (_c) {
|
1500 | switch (_c.label) {
|
1501 | case 0:
|
1502 | validateActive(signal);
|
1503 | unsubscribe = function () {
|
1504 | };
|
1505 | tuplePromise = new Promise(function (resolve) {
|
1506 | unsubscribe = startListening({
|
1507 | predicate: predicate,
|
1508 | effect: function (action, listenerApi) {
|
1509 | listenerApi.unsubscribe();
|
1510 | resolve([
|
1511 | action,
|
1512 | listenerApi.getState(),
|
1513 | listenerApi.getOriginalState()
|
1514 | ]);
|
1515 | }
|
1516 | });
|
1517 | });
|
1518 | promises = [
|
1519 | promisifyAbortSignal(signal),
|
1520 | tuplePromise
|
1521 | ];
|
1522 | if (timeout != null) {
|
1523 | promises.push(new Promise(function (resolve) { return setTimeout(resolve, timeout, null); }));
|
1524 | }
|
1525 | _c.label = 1;
|
1526 | case 1:
|
1527 | _c.trys.push([1, , 3, 4]);
|
1528 | return [4 , Promise.race(promises)];
|
1529 | case 2:
|
1530 | output = _c.sent();
|
1531 | validateActive(signal);
|
1532 | return [2 , output];
|
1533 | case 3:
|
1534 | unsubscribe();
|
1535 | return [7 ];
|
1536 | case 4: return [2 ];
|
1537 | }
|
1538 | });
|
1539 | }); };
|
1540 | return function (predicate, timeout) { return catchRejection(take(predicate, timeout)); };
|
1541 | };
|
1542 | var getListenerEntryPropsFrom = function (options) {
|
1543 | var type = options.type, actionCreator = options.actionCreator, matcher = options.matcher, predicate = options.predicate, effect = options.effect;
|
1544 | if (type) {
|
1545 | predicate = createAction(type).match;
|
1546 | }
|
1547 | else if (actionCreator) {
|
1548 | type = actionCreator.type;
|
1549 | predicate = actionCreator.match;
|
1550 | }
|
1551 | else if (matcher) {
|
1552 | predicate = matcher;
|
1553 | }
|
1554 | else if (predicate) {
|
1555 | }
|
1556 | else {
|
1557 | throw new Error("Creating or removing a listener requires one of the known fields for matching an action");
|
1558 | }
|
1559 | assertFunction(effect, "options.listener");
|
1560 | return { predicate: predicate, type: type, effect: effect };
|
1561 | };
|
1562 | var createListenerEntry = function (options) {
|
1563 | var _c = getListenerEntryPropsFrom(options), type = _c.type, predicate = _c.predicate, effect = _c.effect;
|
1564 | var id = nanoid();
|
1565 | var entry = {
|
1566 | id: id,
|
1567 | effect: effect,
|
1568 | type: type,
|
1569 | predicate: predicate,
|
1570 | pending: new Set(),
|
1571 | unsubscribe: function () {
|
1572 | throw new Error("Unsubscribe not initialized");
|
1573 | }
|
1574 | };
|
1575 | return entry;
|
1576 | };
|
1577 | var createClearListenerMiddleware = function (listenerMap) {
|
1578 | return function () {
|
1579 | listenerMap.forEach(cancelActiveListeners);
|
1580 | listenerMap.clear();
|
1581 | };
|
1582 | };
|
1583 | var safelyNotifyError = function (errorHandler, errorToNotify, errorInfo) {
|
1584 | try {
|
1585 | errorHandler(errorToNotify, errorInfo);
|
1586 | }
|
1587 | catch (errorHandlerError) {
|
1588 | setTimeout(function () {
|
1589 | throw errorHandlerError;
|
1590 | }, 0);
|
1591 | }
|
1592 | };
|
1593 | var addListener = createAction(alm + "/add");
|
1594 | var clearAllListeners = createAction(alm + "/removeAll");
|
1595 | var removeListener = createAction(alm + "/remove");
|
1596 | var defaultErrorHandler = function () {
|
1597 | var args = [];
|
1598 | for (var _i = 0; _i < arguments.length; _i++) {
|
1599 | args[_i] = arguments[_i];
|
1600 | }
|
1601 | console.error.apply(console, __spreadArray([alm + "/error"], args));
|
1602 | };
|
1603 | var cancelActiveListeners = function (entry) {
|
1604 | entry.pending.forEach(function (controller) {
|
1605 | abortControllerWithReason(controller, listenerCancelled);
|
1606 | });
|
1607 | };
|
1608 | function createListenerMiddleware(middlewareOptions) {
|
1609 | var _this = this;
|
1610 | if (middlewareOptions === void 0) { middlewareOptions = {}; }
|
1611 | var listenerMap = new Map();
|
1612 | var extra = middlewareOptions.extra, _c = middlewareOptions.onError, onError = _c === void 0 ? defaultErrorHandler : _c;
|
1613 | assertFunction(onError, "onError");
|
1614 | var insertEntry = function (entry) {
|
1615 | entry.unsubscribe = function () { return listenerMap.delete(entry.id); };
|
1616 | listenerMap.set(entry.id, entry);
|
1617 | return function (cancelOptions) {
|
1618 | entry.unsubscribe();
|
1619 | if (cancelOptions == null ? void 0 : cancelOptions.cancelActive) {
|
1620 | cancelActiveListeners(entry);
|
1621 | }
|
1622 | };
|
1623 | };
|
1624 | var findListenerEntry = function (comparator) {
|
1625 | for (var _i = 0, _c = Array.from(listenerMap.values()); _i < _c.length; _i++) {
|
1626 | var entry = _c[_i];
|
1627 | if (comparator(entry)) {
|
1628 | return entry;
|
1629 | }
|
1630 | }
|
1631 | return void 0;
|
1632 | };
|
1633 | var startListening = function (options) {
|
1634 | var entry = findListenerEntry(function (existingEntry) { return existingEntry.effect === options.effect; });
|
1635 | if (!entry) {
|
1636 | entry = createListenerEntry(options);
|
1637 | }
|
1638 | return insertEntry(entry);
|
1639 | };
|
1640 | var stopListening = function (options) {
|
1641 | var _c = getListenerEntryPropsFrom(options), type = _c.type, effect = _c.effect, predicate = _c.predicate;
|
1642 | var entry = findListenerEntry(function (entry2) {
|
1643 | var matchPredicateOrType = typeof type === "string" ? entry2.type === type : entry2.predicate === predicate;
|
1644 | return matchPredicateOrType && entry2.effect === effect;
|
1645 | });
|
1646 | if (entry) {
|
1647 | entry.unsubscribe();
|
1648 | if (options.cancelActive) {
|
1649 | cancelActiveListeners(entry);
|
1650 | }
|
1651 | }
|
1652 | return !!entry;
|
1653 | };
|
1654 | var notifyListener = function (entry, action, api, getOriginalState) { return __async(_this, null, function () {
|
1655 | var internalTaskController, take, listenerError_1;
|
1656 | return __generator(this, function (_c) {
|
1657 | switch (_c.label) {
|
1658 | case 0:
|
1659 | internalTaskController = new AbortController();
|
1660 | take = createTakePattern(startListening, internalTaskController.signal);
|
1661 | _c.label = 1;
|
1662 | case 1:
|
1663 | _c.trys.push([1, 3, 4, 5]);
|
1664 | entry.pending.add(internalTaskController);
|
1665 | return [4 , Promise.resolve(entry.effect(action, assign({}, api, {
|
1666 | getOriginalState: getOriginalState,
|
1667 | condition: function (predicate, timeout) { return take(predicate, timeout).then(Boolean); },
|
1668 | take: take,
|
1669 | delay: createDelay(internalTaskController.signal),
|
1670 | pause: createPause(internalTaskController.signal),
|
1671 | extra: extra,
|
1672 | signal: internalTaskController.signal,
|
1673 | fork: createFork(internalTaskController.signal),
|
1674 | unsubscribe: entry.unsubscribe,
|
1675 | subscribe: function () {
|
1676 | listenerMap.set(entry.id, entry);
|
1677 | },
|
1678 | cancelActiveListeners: function () {
|
1679 | entry.pending.forEach(function (controller, _, set) {
|
1680 | if (controller !== internalTaskController) {
|
1681 | abortControllerWithReason(controller, listenerCancelled);
|
1682 | set.delete(controller);
|
1683 | }
|
1684 | });
|
1685 | }
|
1686 | })))];
|
1687 | case 2:
|
1688 | _c.sent();
|
1689 | return [3 /*break*/, 5];
|
1690 | case 3:
|
1691 | listenerError_1 = _c.sent();
|
1692 | if (!(listenerError_1 instanceof TaskAbortError)) {
|
1693 | safelyNotifyError(onError, listenerError_1, {
|
1694 | raisedBy: "effect"
|
1695 | });
|
1696 | }
|
1697 | return [3 , 5];
|
1698 | case 4:
|
1699 | abortControllerWithReason(internalTaskController, listenerCompleted);
|
1700 | entry.pending.delete(internalTaskController);
|
1701 | return [7 ];
|
1702 | case 5: return [2 ];
|
1703 | }
|
1704 | });
|
1705 | }); };
|
1706 | var clearListenerMiddleware = createClearListenerMiddleware(listenerMap);
|
1707 | var middleware = function (api) { return function (next) { return function (action) {
|
1708 | if (addListener.match(action)) {
|
1709 | return startListening(action.payload);
|
1710 | }
|
1711 | if (clearAllListeners.match(action)) {
|
1712 | clearListenerMiddleware();
|
1713 | return;
|
1714 | }
|
1715 | if (removeListener.match(action)) {
|
1716 | return stopListening(action.payload);
|
1717 | }
|
1718 | var originalState = api.getState();
|
1719 | var getOriginalState = function () {
|
1720 | if (originalState === INTERNAL_NIL_TOKEN) {
|
1721 | throw new Error(alm + ": getOriginalState can only be called synchronously");
|
1722 | }
|
1723 | return originalState;
|
1724 | };
|
1725 | var result;
|
1726 | try {
|
1727 | result = next(action);
|
1728 | if (listenerMap.size > 0) {
|
1729 | var currentState = api.getState();
|
1730 | var listenerEntries = Array.from(listenerMap.values());
|
1731 | for (var _i = 0, listenerEntries_1 = listenerEntries; _i < listenerEntries_1.length; _i++) {
|
1732 | var entry = listenerEntries_1[_i];
|
1733 | var runListener = false;
|
1734 | try {
|
1735 | runListener = entry.predicate(action, currentState, originalState);
|
1736 | }
|
1737 | catch (predicateError) {
|
1738 | runListener = false;
|
1739 | safelyNotifyError(onError, predicateError, {
|
1740 | raisedBy: "predicate"
|
1741 | });
|
1742 | }
|
1743 | if (!runListener) {
|
1744 | continue;
|
1745 | }
|
1746 | notifyListener(entry, action, api, getOriginalState);
|
1747 | }
|
1748 | }
|
1749 | }
|
1750 | finally {
|
1751 | originalState = INTERNAL_NIL_TOKEN;
|
1752 | }
|
1753 | return result;
|
1754 | }; }; };
|
1755 | return {
|
1756 | middleware: middleware,
|
1757 | startListening: startListening,
|
1758 | stopListening: stopListening,
|
1759 | clearListeners: clearListenerMiddleware
|
1760 | };
|
1761 | }
|
1762 |
|
1763 | enableES5();
|
1764 | export { MiddlewareArray, TaskAbortError, addListener, clearAllListeners, configureStore, createAction, createAsyncThunk, createDraftSafeSelector, createEntityAdapter, createImmutableStateInvariantMiddleware, createListenerMiddleware, default2 as createNextState, createReducer, createSelector2 as createSelector, createSerializableStateInvariantMiddleware, createSlice, current2 as current, findNonSerializableValue, freeze, getDefaultMiddleware, getType, isAllOf, isAnyOf, isAsyncThunkAction, isDraft4 as isDraft, isFulfilled, isImmutableDefault, isPending, isPlain, isPlainObject, isRejected, isRejectedWithValue, miniSerializeError, nanoid, original, removeListener, unwrapResult };
|
1765 |
|
\ | No newline at end of file |