UNPKG

133 kBJavaScriptView Raw
1(function (global, factory) {
2 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3 typeof define === 'function' && define.amd ? define(['exports'], factory) :
4 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.RTK = {}));
5}(this, (function (exports) { 'use strict';
6
7 var __extends = (undefined && undefined.__extends) || (function () {
8 var extendStatics = function (d, b) {
9 extendStatics = Object.setPrototypeOf ||
10 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
11 function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
12 return extendStatics(d, b);
13 };
14 return function (d, b) {
15 if (typeof b !== "function" && b !== null)
16 throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
17 extendStatics(d, b);
18 function __() { this.constructor = d; }
19 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
20 };
21 })();
22 var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
23 var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24 return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25 function verb(n) { return function (v) { return step([n, v]); }; }
26 function step(op) {
27 if (f) throw new TypeError("Generator is already executing.");
28 while (_) try {
29 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;
30 if (y = 0, t) op = [op[0] & 2, t.value];
31 switch (op[0]) {
32 case 0: case 1: t = op; break;
33 case 4: _.label++; return { value: op[1], done: false };
34 case 5: _.label++; y = op[1]; op = [0]; continue;
35 case 7: op = _.ops.pop(); _.trys.pop(); continue;
36 default:
37 if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38 if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39 if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40 if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41 if (t[2]) _.ops.pop();
42 _.trys.pop(); continue;
43 }
44 op = body.call(thisArg, _);
45 } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46 if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47 }
48 };
49 var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) {
50 for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
51 to[j] = from[i];
52 return to;
53 };
54 var __defProp = Object.defineProperty;
55 var __defProps = Object.defineProperties;
56 var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
57 var __getOwnPropSymbols = Object.getOwnPropertySymbols;
58 var __hasOwnProp = Object.prototype.hasOwnProperty;
59 var __propIsEnum = Object.prototype.propertyIsEnumerable;
60 var __defNormalProp = function (obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; };
61 var __spreadValues = function (a2, b2) {
62 for (var prop in b2 || (b2 = {}))
63 if (__hasOwnProp.call(b2, prop))
64 __defNormalProp(a2, prop, b2[prop]);
65 if (__getOwnPropSymbols)
66 for (var _c = 0, _d = __getOwnPropSymbols(b2); _c < _d.length; _c++) {
67 var prop = _d[_c];
68 if (__propIsEnum.call(b2, prop))
69 __defNormalProp(a2, prop, b2[prop]);
70 }
71 return a2;
72 };
73 var __spreadProps = function (a2, b2) { return __defProps(a2, __getOwnPropDescs(b2)); };
74 var __async = function (__this, __arguments, generator) {
75 return new Promise(function (resolve, reject) {
76 var fulfilled = function (value) {
77 try {
78 step(generator.next(value));
79 }
80 catch (e2) {
81 reject(e2);
82 }
83 };
84 var rejected = function (value) {
85 try {
86 step(generator.throw(value));
87 }
88 catch (e2) {
89 reject(e2);
90 }
91 };
92 var step = function (x2) { return x2.done ? resolve(x2.value) : Promise.resolve(x2.value).then(fulfilled, rejected); };
93 step((generator = generator.apply(__this, __arguments)).next());
94 });
95 };
96 // ../../node_modules/immer/dist/immer.esm.js
97 function n(n2) {
98 for (var t2 = arguments.length, r2 = Array(t2 > 1 ? t2 - 1 : 0), e2 = 1; e2 < t2; e2++)
99 r2[e2 - 1] = arguments[e2];
100 {
101 var i2 = Y[n2], o2 = i2 ? typeof i2 == "function" ? i2.apply(null, r2) : i2 : "unknown error nr: " + n2;
102 throw Error("[Immer] " + o2);
103 }
104 }
105 function t(n2) {
106 return !!n2 && !!n2[Q];
107 }
108 function r(n2) {
109 return !!n2 && (function (n3) {
110 if (!n3 || typeof n3 != "object")
111 return false;
112 var t2 = Object.getPrototypeOf(n3);
113 if (t2 === null)
114 return true;
115 var r2 = Object.hasOwnProperty.call(t2, "constructor") && t2.constructor;
116 return r2 === Object || typeof r2 == "function" && Function.toString.call(r2) === Z;
117 }(n2) || Array.isArray(n2) || !!n2[L] || !!n2.constructor[L] || s(n2) || v(n2));
118 }
119 function e(r2) {
120 return t(r2) || n(23, r2), r2[Q].t;
121 }
122 function i(n2, t2, r2) {
123 r2 === void 0 && (r2 = false), o(n2) === 0 ? (r2 ? Object.keys : nn)(n2).forEach(function (e2) {
124 r2 && typeof e2 == "symbol" || t2(e2, n2[e2], n2);
125 }) : n2.forEach(function (r3, e2) {
126 return t2(e2, r3, n2);
127 });
128 }
129 function o(n2) {
130 var t2 = n2[Q];
131 return t2 ? t2.i > 3 ? t2.i - 4 : t2.i : Array.isArray(n2) ? 1 : s(n2) ? 2 : v(n2) ? 3 : 0;
132 }
133 function u(n2, t2) {
134 return o(n2) === 2 ? n2.has(t2) : Object.prototype.hasOwnProperty.call(n2, t2);
135 }
136 function a(n2, t2) {
137 return o(n2) === 2 ? n2.get(t2) : n2[t2];
138 }
139 function f(n2, t2, r2) {
140 var e2 = o(n2);
141 e2 === 2 ? n2.set(t2, r2) : e2 === 3 ? (n2.delete(t2), n2.add(r2)) : n2[t2] = r2;
142 }
143 function c(n2, t2) {
144 return n2 === t2 ? n2 !== 0 || 1 / n2 == 1 / t2 : n2 != n2 && t2 != t2;
145 }
146 function s(n2) {
147 return X && n2 instanceof Map;
148 }
149 function v(n2) {
150 return q && n2 instanceof Set;
151 }
152 function p(n2) {
153 return n2.o || n2.t;
154 }
155 function l(n2) {
156 if (Array.isArray(n2))
157 return Array.prototype.slice.call(n2);
158 var t2 = tn(n2);
159 delete t2[Q];
160 for (var r2 = nn(t2), e2 = 0; e2 < r2.length; e2++) {
161 var i2 = r2[e2], o2 = t2[i2];
162 o2.writable === false && (o2.writable = true, o2.configurable = true), (o2.get || o2.set) && (t2[i2] = { configurable: true, writable: true, enumerable: o2.enumerable, value: n2[i2] });
163 }
164 return Object.create(Object.getPrototypeOf(n2), t2);
165 }
166 function d(n2, e2) {
167 return e2 === void 0 && (e2 = false), y(n2) || t(n2) || !r(n2) ? n2 : (o(n2) > 1 && (n2.set = n2.add = n2.clear = n2.delete = h), Object.freeze(n2), e2 && i(n2, function (n3, t2) {
168 return d(t2, true);
169 }, true), n2);
170 }
171 function h() {
172 n(2);
173 }
174 function y(n2) {
175 return n2 == null || typeof n2 != "object" || Object.isFrozen(n2);
176 }
177 function b(t2) {
178 var r2 = rn[t2];
179 return r2 || n(18, t2), r2;
180 }
181 function m(n2, t2) {
182 rn[n2] || (rn[n2] = t2);
183 }
184 function _() {
185 return U || n(0), U;
186 }
187 function j(n2, t2) {
188 t2 && (b("Patches"), n2.u = [], n2.s = [], n2.v = t2);
189 }
190 function O(n2) {
191 g(n2), n2.p.forEach(S), n2.p = null;
192 }
193 function g(n2) {
194 n2 === U && (U = n2.l);
195 }
196 function w(n2) {
197 return U = { p: [], l: U, h: n2, m: true, _: 0 };
198 }
199 function S(n2) {
200 var t2 = n2[Q];
201 t2.i === 0 || t2.i === 1 ? t2.j() : t2.O = true;
202 }
203 function P(t2, e2) {
204 e2._ = e2.p.length;
205 var i2 = e2.p[0], o2 = t2 !== void 0 && t2 !== i2;
206 return e2.h.g || b("ES5").S(e2, t2, o2), o2 ? (i2[Q].P && (O(e2), n(4)), r(t2) && (t2 = M(e2, t2), e2.l || x(e2, t2)), e2.u && b("Patches").M(i2[Q], t2, e2.u, e2.s)) : t2 = M(e2, i2, []), O(e2), e2.u && e2.v(e2.u, e2.s), t2 !== H ? t2 : void 0;
207 }
208 function M(n2, t2, r2) {
209 if (y(t2))
210 return t2;
211 var e2 = t2[Q];
212 if (!e2)
213 return i(t2, function (i2, o3) {
214 return A(n2, e2, t2, i2, o3, r2);
215 }, true), t2;
216 if (e2.A !== n2)
217 return t2;
218 if (!e2.P)
219 return x(n2, e2.t, true), e2.t;
220 if (!e2.I) {
221 e2.I = true, e2.A._--;
222 var o2 = e2.i === 4 || e2.i === 5 ? e2.o = l(e2.k) : e2.o;
223 i(e2.i === 3 ? new Set(o2) : o2, function (t3, i2) {
224 return A(n2, e2, o2, t3, i2, r2);
225 }), x(n2, o2, false), r2 && n2.u && b("Patches").R(e2, r2, n2.u, n2.s);
226 }
227 return e2.o;
228 }
229 function A(e2, i2, o2, a2, c2, s2) {
230 if (c2 === o2 && n(5), t(c2)) {
231 var v2 = M(e2, c2, s2 && i2 && i2.i !== 3 && !u(i2.D, a2) ? s2.concat(a2) : void 0);
232 if (f(o2, a2, v2), !t(v2))
233 return;
234 e2.m = false;
235 }
236 if (r(c2) && !y(c2)) {
237 if (!e2.h.F && e2._ < 1)
238 return;
239 M(e2, c2), i2 && i2.A.l || x(e2, c2);
240 }
241 }
242 function x(n2, t2, r2) {
243 r2 === void 0 && (r2 = false), n2.h.F && n2.m && d(t2, r2);
244 }
245 function z(n2, t2) {
246 var r2 = n2[Q];
247 return (r2 ? p(r2) : n2)[t2];
248 }
249 function I(n2, t2) {
250 if (t2 in n2)
251 for (var r2 = Object.getPrototypeOf(n2); r2;) {
252 var e2 = Object.getOwnPropertyDescriptor(r2, t2);
253 if (e2)
254 return e2;
255 r2 = Object.getPrototypeOf(r2);
256 }
257 }
258 function k(n2) {
259 n2.P || (n2.P = true, n2.l && k(n2.l));
260 }
261 function E(n2) {
262 n2.o || (n2.o = l(n2.t));
263 }
264 function R(n2, t2, r2) {
265 var e2 = s(t2) ? b("MapSet").N(t2, r2) : v(t2) ? b("MapSet").T(t2, r2) : n2.g ? function (n3, t3) {
266 var r3 = Array.isArray(n3), e3 = { i: r3 ? 1 : 0, A: t3 ? t3.A : _(), P: false, I: false, D: {}, l: t3, t: n3, k: null, o: null, j: null, C: false }, i2 = e3, o2 = en;
267 r3 && (i2 = [e3], o2 = on);
268 var u2 = Proxy.revocable(i2, o2), a2 = u2.revoke, f2 = u2.proxy;
269 return e3.k = f2, e3.j = a2, f2;
270 }(t2, r2) : b("ES5").J(t2, r2);
271 return (r2 ? r2.A : _()).p.push(e2), e2;
272 }
273 function D(e2) {
274 return t(e2) || n(22, e2), function n2(t2) {
275 if (!r(t2))
276 return t2;
277 var e3, u2 = t2[Q], c2 = o(t2);
278 if (u2) {
279 if (!u2.P && (u2.i < 4 || !b("ES5").K(u2)))
280 return u2.t;
281 u2.I = true, e3 = F(t2, c2), u2.I = false;
282 }
283 else
284 e3 = F(t2, c2);
285 return i(e3, function (t3, r2) {
286 u2 && a(u2.t, t3) === r2 || f(e3, t3, n2(r2));
287 }), c2 === 3 ? new Set(e3) : e3;
288 }(e2);
289 }
290 function F(n2, t2) {
291 switch (t2) {
292 case 2:
293 return new Map(n2);
294 case 3:
295 return Array.from(n2);
296 }
297 return l(n2);
298 }
299 function N() {
300 function r2(n2, t2) {
301 var r3 = s2[n2];
302 return r3 ? r3.enumerable = t2 : s2[n2] = r3 = { configurable: true, enumerable: t2, get: function () {
303 var t3 = this[Q];
304 return f2(t3), en.get(t3, n2);
305 }, set: function (t3) {
306 var r4 = this[Q];
307 f2(r4), en.set(r4, n2, t3);
308 } }, r3;
309 }
310 function e2(n2) {
311 for (var t2 = n2.length - 1; t2 >= 0; t2--) {
312 var r3 = n2[t2][Q];
313 if (!r3.P)
314 switch (r3.i) {
315 case 5:
316 a2(r3) && k(r3);
317 break;
318 case 4:
319 o2(r3) && k(r3);
320 }
321 }
322 }
323 function o2(n2) {
324 for (var t2 = n2.t, r3 = n2.k, e3 = nn(r3), i2 = e3.length - 1; i2 >= 0; i2--) {
325 var o3 = e3[i2];
326 if (o3 !== Q) {
327 var a3 = t2[o3];
328 if (a3 === void 0 && !u(t2, o3))
329 return true;
330 var f3 = r3[o3], s3 = f3 && f3[Q];
331 if (s3 ? s3.t !== a3 : !c(f3, a3))
332 return true;
333 }
334 }
335 var v2 = !!t2[Q];
336 return e3.length !== nn(t2).length + (v2 ? 0 : 1);
337 }
338 function a2(n2) {
339 var t2 = n2.k;
340 if (t2.length !== n2.t.length)
341 return true;
342 var r3 = Object.getOwnPropertyDescriptor(t2, t2.length - 1);
343 return !(!r3 || r3.get);
344 }
345 function f2(t2) {
346 t2.O && n(3, JSON.stringify(p(t2)));
347 }
348 var s2 = {};
349 m("ES5", { J: function (n2, t2) {
350 var e3 = Array.isArray(n2), i2 = function (n3, t3) {
351 if (n3) {
352 for (var e4 = Array(t3.length), i3 = 0; i3 < t3.length; i3++)
353 Object.defineProperty(e4, "" + i3, r2(i3, true));
354 return e4;
355 }
356 var o4 = tn(t3);
357 delete o4[Q];
358 for (var u2 = nn(o4), a3 = 0; a3 < u2.length; a3++) {
359 var f3 = u2[a3];
360 o4[f3] = r2(f3, n3 || !!o4[f3].enumerable);
361 }
362 return Object.create(Object.getPrototypeOf(t3), o4);
363 }(e3, n2), o3 = { i: e3 ? 5 : 4, A: t2 ? t2.A : _(), P: false, I: false, D: {}, l: t2, t: n2, k: i2, o: null, O: false, C: false };
364 return Object.defineProperty(i2, Q, { value: o3, writable: true }), i2;
365 }, S: function (n2, r3, o3) {
366 o3 ? t(r3) && r3[Q].A === n2 && e2(n2.p) : (n2.u && function n3(t2) {
367 if (t2 && typeof t2 == "object") {
368 var r4 = t2[Q];
369 if (r4) {
370 var e3 = r4.t, o4 = r4.k, f3 = r4.D, c2 = r4.i;
371 if (c2 === 4)
372 i(o4, function (t3) {
373 t3 !== Q && (e3[t3] !== void 0 || u(e3, t3) ? f3[t3] || n3(o4[t3]) : (f3[t3] = true, k(r4)));
374 }), i(e3, function (n4) {
375 o4[n4] !== void 0 || u(o4, n4) || (f3[n4] = false, k(r4));
376 });
377 else if (c2 === 5) {
378 if (a2(r4) && (k(r4), f3.length = true), o4.length < e3.length)
379 for (var s3 = o4.length; s3 < e3.length; s3++)
380 f3[s3] = false;
381 else
382 for (var v2 = e3.length; v2 < o4.length; v2++)
383 f3[v2] = true;
384 for (var p2 = Math.min(o4.length, e3.length), l2 = 0; l2 < p2; l2++)
385 f3[l2] === void 0 && n3(o4[l2]);
386 }
387 }
388 }
389 }(n2.p[0]), e2(n2.p));
390 }, K: function (n2) {
391 return n2.i === 4 ? o2(n2) : a2(n2);
392 } });
393 }
394 var G;
395 var U;
396 var W = typeof Symbol != "undefined" && typeof Symbol("x") == "symbol";
397 var X = typeof Map != "undefined";
398 var q = typeof Set != "undefined";
399 var B = typeof Proxy != "undefined" && Proxy.revocable !== void 0 && typeof Reflect != "undefined";
400 var H = W ? Symbol.for("immer-nothing") : ((G = {})["immer-nothing"] = true, G);
401 var L = W ? Symbol.for("immer-draftable") : "__$immer_draftable";
402 var Q = W ? Symbol.for("immer-state") : "__$immer_state";
403 var Y = { 0: "Illegal state", 1: "Immer drafts cannot have computed properties", 2: "This object has been frozen and should not be mutated", 3: function (n2) {
404 return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? " + n2;
405 }, 4: "An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.", 5: "Immer forbids circular references", 6: "The first or second argument to `produce` must be a function", 7: "The third argument to `produce` must be a function or undefined", 8: "First argument to `createDraft` must be a plain object, an array, or an immerable object", 9: "First argument to `finishDraft` must be a draft returned by `createDraft`", 10: "The given draft is already finalized", 11: "Object.defineProperty() cannot be used on an Immer draft", 12: "Object.setPrototypeOf() cannot be used on an Immer draft", 13: "Immer only supports deleting array indices", 14: "Immer only supports setting array indices and the 'length' property", 15: function (n2) {
406 return "Cannot apply patch, path doesn't resolve: " + n2;
407 }, 16: 'Sets cannot have "replace" patches.', 17: function (n2) {
408 return "Unsupported patch operation: " + n2;
409 }, 18: function (n2) {
410 return "The plugin for '" + n2 + "' has not been loaded into Immer. To enable the plugin, import and call `enable" + n2 + "()` when initializing your application.";
411 }, 20: "Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available", 21: function (n2) {
412 return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '" + n2 + "'";
413 }, 22: function (n2) {
414 return "'current' expects a draft, got: " + n2;
415 }, 23: function (n2) {
416 return "'original' expects a draft, got: " + n2;
417 }, 24: "Patching reserved attributes like __proto__, prototype and constructor is not allowed" };
418 var Z = "" + Object.prototype.constructor;
419 var nn = typeof Reflect != "undefined" && Reflect.ownKeys ? Reflect.ownKeys : Object.getOwnPropertySymbols !== void 0 ? function (n2) {
420 return Object.getOwnPropertyNames(n2).concat(Object.getOwnPropertySymbols(n2));
421 } : Object.getOwnPropertyNames;
422 var tn = Object.getOwnPropertyDescriptors || function (n2) {
423 var t2 = {};
424 return nn(n2).forEach(function (r2) {
425 t2[r2] = Object.getOwnPropertyDescriptor(n2, r2);
426 }), t2;
427 };
428 var rn = {};
429 var en = { get: function (n2, t2) {
430 if (t2 === Q)
431 return n2;
432 var e2 = p(n2);
433 if (!u(e2, t2))
434 return function (n3, t3, r2) {
435 var e3, i3 = I(t3, r2);
436 return i3 ? "value" in i3 ? i3.value : (e3 = i3.get) === null || e3 === void 0 ? void 0 : e3.call(n3.k) : void 0;
437 }(n2, e2, t2);
438 var i2 = e2[t2];
439 return n2.I || !r(i2) ? i2 : i2 === z(n2.t, t2) ? (E(n2), n2.o[t2] = R(n2.A.h, i2, n2)) : i2;
440 }, has: function (n2, t2) {
441 return t2 in p(n2);
442 }, ownKeys: function (n2) {
443 return Reflect.ownKeys(p(n2));
444 }, set: function (n2, t2, r2) {
445 var e2 = I(p(n2), t2);
446 if (e2 == null ? void 0 : e2.set)
447 return e2.set.call(n2.k, r2), true;
448 if (!n2.P) {
449 var i2 = z(p(n2), t2), o2 = i2 == null ? void 0 : i2[Q];
450 if (o2 && o2.t === r2)
451 return n2.o[t2] = r2, n2.D[t2] = false, true;
452 if (c(r2, i2) && (r2 !== void 0 || u(n2.t, t2)))
453 return true;
454 E(n2), k(n2);
455 }
456 return n2.o[t2] === r2 && typeof r2 != "number" && (r2 !== void 0 || t2 in n2.o) || (n2.o[t2] = r2, n2.D[t2] = true, true);
457 }, deleteProperty: function (n2, t2) {
458 return z(n2.t, t2) !== void 0 || t2 in n2.t ? (n2.D[t2] = false, E(n2), k(n2)) : delete n2.D[t2], n2.o && delete n2.o[t2], true;
459 }, getOwnPropertyDescriptor: function (n2, t2) {
460 var r2 = p(n2), e2 = Reflect.getOwnPropertyDescriptor(r2, t2);
461 return e2 ? { writable: true, configurable: n2.i !== 1 || t2 !== "length", enumerable: e2.enumerable, value: r2[t2] } : e2;
462 }, defineProperty: function () {
463 n(11);
464 }, getPrototypeOf: function (n2) {
465 return Object.getPrototypeOf(n2.t);
466 }, setPrototypeOf: function () {
467 n(12);
468 } };
469 var on = {};
470 i(en, function (n2, t2) {
471 on[n2] = function () {
472 return arguments[0] = arguments[0][0], t2.apply(this, arguments);
473 };
474 }), on.deleteProperty = function (t2, r2) {
475 return isNaN(parseInt(r2)) && n(13), en.deleteProperty.call(this, t2[0], r2);
476 }, on.set = function (t2, r2, e2) {
477 return r2 !== "length" && isNaN(parseInt(r2)) && n(14), en.set.call(this, t2[0], r2, e2, t2[0]);
478 };
479 var un = function () {
480 function e2(t2) {
481 var e3 = this;
482 this.g = B, this.F = true, this.produce = function (t3, i3, o2) {
483 if (typeof t3 == "function" && typeof i3 != "function") {
484 var u2 = i3;
485 i3 = t3;
486 var a2 = e3;
487 return function (n2) {
488 var t4 = this;
489 n2 === void 0 && (n2 = u2);
490 for (var r2 = arguments.length, e4 = Array(r2 > 1 ? r2 - 1 : 0), o3 = 1; o3 < r2; o3++)
491 e4[o3 - 1] = arguments[o3];
492 return a2.produce(n2, function (n3) {
493 var r3;
494 return (r3 = i3).call.apply(r3, [t4, n3].concat(e4));
495 });
496 };
497 }
498 var f2;
499 if (typeof i3 != "function" && n(6), o2 !== void 0 && typeof o2 != "function" && n(7), r(t3)) {
500 var c2 = w(e3), s2 = R(e3, t3, void 0), v2 = true;
501 try {
502 f2 = i3(s2), v2 = false;
503 }
504 finally {
505 v2 ? O(c2) : g(c2);
506 }
507 return typeof Promise != "undefined" && f2 instanceof Promise ? f2.then(function (n2) {
508 return j(c2, o2), P(n2, c2);
509 }, function (n2) {
510 throw O(c2), n2;
511 }) : (j(c2, o2), P(f2, c2));
512 }
513 if (!t3 || typeof t3 != "object") {
514 if ((f2 = i3(t3)) === H)
515 return;
516 return f2 === void 0 && (f2 = t3), e3.F && d(f2, true), f2;
517 }
518 n(21, t3);
519 }, this.produceWithPatches = function (n2, t3) {
520 return typeof n2 == "function" ? function (t4) {
521 for (var r3 = arguments.length, i4 = Array(r3 > 1 ? r3 - 1 : 0), o2 = 1; o2 < r3; o2++)
522 i4[o2 - 1] = arguments[o2];
523 return e3.produceWithPatches(t4, function (t5) {
524 return n2.apply(void 0, [t5].concat(i4));
525 });
526 } : [e3.produce(n2, t3, function (n3, t4) {
527 r2 = n3, i3 = t4;
528 }), r2, i3];
529 var r2, i3;
530 }, typeof (t2 == null ? void 0 : t2.useProxies) == "boolean" && this.setUseProxies(t2.useProxies), typeof (t2 == null ? void 0 : t2.autoFreeze) == "boolean" && this.setAutoFreeze(t2.autoFreeze);
531 }
532 var i2 = e2.prototype;
533 return i2.createDraft = function (e3) {
534 r(e3) || n(8), t(e3) && (e3 = D(e3));
535 var i3 = w(this), o2 = R(this, e3, void 0);
536 return o2[Q].C = true, g(i3), o2;
537 }, i2.finishDraft = function (t2, r2) {
538 var e3 = t2 && t2[Q];
539 e3 && e3.C || n(9), e3.I && n(10);
540 var i3 = e3.A;
541 return j(i3, r2), P(void 0, i3);
542 }, i2.setAutoFreeze = function (n2) {
543 this.F = n2;
544 }, i2.setUseProxies = function (t2) {
545 t2 && !B && n(20), this.g = t2;
546 }, i2.applyPatches = function (n2, r2) {
547 var e3;
548 for (e3 = r2.length - 1; e3 >= 0; e3--) {
549 var i3 = r2[e3];
550 if (i3.path.length === 0 && i3.op === "replace") {
551 n2 = i3.value;
552 break;
553 }
554 }
555 e3 > -1 && (r2 = r2.slice(e3 + 1));
556 var o2 = b("Patches").$;
557 return t(n2) ? o2(n2, r2) : this.produce(n2, function (n3) {
558 return o2(n3, r2);
559 });
560 }, e2;
561 }();
562 var an = new un();
563 var fn = an.produce;
564 an.produceWithPatches.bind(an);
565 an.setAutoFreeze.bind(an);
566 an.setUseProxies.bind(an);
567 an.applyPatches.bind(an);
568 an.createDraft.bind(an);
569 an.finishDraft.bind(an);
570 var immer_esm_default = fn;
571 // ../../node_modules/@babel/runtime/helpers/esm/defineProperty.js
572 function _defineProperty(obj, key, value) {
573 if (key in obj) {
574 Object.defineProperty(obj, key, {
575 value: value,
576 enumerable: true,
577 configurable: true,
578 writable: true
579 });
580 }
581 else {
582 obj[key] = value;
583 }
584 return obj;
585 }
586 // ../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js
587 function ownKeys(object, enumerableOnly) {
588 var keys = Object.keys(object);
589 if (Object.getOwnPropertySymbols) {
590 var symbols = Object.getOwnPropertySymbols(object);
591 if (enumerableOnly) {
592 symbols = symbols.filter(function (sym) {
593 return Object.getOwnPropertyDescriptor(object, sym).enumerable;
594 });
595 }
596 keys.push.apply(keys, symbols);
597 }
598 return keys;
599 }
600 function _objectSpread2(target) {
601 for (var i2 = 1; i2 < arguments.length; i2++) {
602 var source = arguments[i2] != null ? arguments[i2] : {};
603 if (i2 % 2) {
604 ownKeys(Object(source), true).forEach(function (key) {
605 _defineProperty(target, key, source[key]);
606 });
607 }
608 else if (Object.getOwnPropertyDescriptors) {
609 Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
610 }
611 else {
612 ownKeys(Object(source)).forEach(function (key) {
613 Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
614 });
615 }
616 }
617 return target;
618 }
619 // ../../node_modules/redux/es/redux.js
620 var $$observable = function () {
621 return typeof Symbol === "function" && Symbol.observable || "@@observable";
622 }();
623 var randomString = function randomString2() {
624 return Math.random().toString(36).substring(7).split("").join(".");
625 };
626 var ActionTypes = {
627 INIT: "@@redux/INIT" + randomString(),
628 REPLACE: "@@redux/REPLACE" + randomString(),
629 PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {
630 return "@@redux/PROBE_UNKNOWN_ACTION" + randomString();
631 }
632 };
633 function isPlainObject(obj) {
634 if (typeof obj !== "object" || obj === null)
635 return false;
636 var proto = obj;
637 while (Object.getPrototypeOf(proto) !== null) {
638 proto = Object.getPrototypeOf(proto);
639 }
640 return Object.getPrototypeOf(obj) === proto;
641 }
642 function miniKindOf(val) {
643 if (val === void 0)
644 return "undefined";
645 if (val === null)
646 return "null";
647 var type = typeof val;
648 switch (type) {
649 case "boolean":
650 case "string":
651 case "number":
652 case "symbol":
653 case "function": {
654 return type;
655 }
656 }
657 if (Array.isArray(val))
658 return "array";
659 if (isDate(val))
660 return "date";
661 if (isError(val))
662 return "error";
663 var constructorName = ctorName(val);
664 switch (constructorName) {
665 case "Symbol":
666 case "Promise":
667 case "WeakMap":
668 case "WeakSet":
669 case "Map":
670 case "Set":
671 return constructorName;
672 }
673 return type.slice(8, -1).toLowerCase().replace(/\s/g, "");
674 }
675 function ctorName(val) {
676 return typeof val.constructor === "function" ? val.constructor.name : null;
677 }
678 function isError(val) {
679 return val instanceof Error || typeof val.message === "string" && val.constructor && typeof val.constructor.stackTraceLimit === "number";
680 }
681 function isDate(val) {
682 if (val instanceof Date)
683 return true;
684 return typeof val.toDateString === "function" && typeof val.getDate === "function" && typeof val.setDate === "function";
685 }
686 function kindOf(val) {
687 var typeOfVal = typeof val;
688 {
689 typeOfVal = miniKindOf(val);
690 }
691 return typeOfVal;
692 }
693 function createStore(reducer, preloadedState, enhancer) {
694 var _ref2;
695 if (typeof preloadedState === "function" && typeof enhancer === "function" || typeof enhancer === "function" && typeof arguments[3] === "function") {
696 throw new Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.");
697 }
698 if (typeof preloadedState === "function" && typeof enhancer === "undefined") {
699 enhancer = preloadedState;
700 preloadedState = void 0;
701 }
702 if (typeof enhancer !== "undefined") {
703 if (typeof enhancer !== "function") {
704 throw new Error("Expected the enhancer to be a function. Instead, received: '" + kindOf(enhancer) + "'");
705 }
706 return enhancer(createStore)(reducer, preloadedState);
707 }
708 if (typeof reducer !== "function") {
709 throw new Error("Expected the root reducer to be a function. Instead, received: '" + kindOf(reducer) + "'");
710 }
711 var currentReducer = reducer;
712 var currentState = preloadedState;
713 var currentListeners = [];
714 var nextListeners = currentListeners;
715 var isDispatching = false;
716 function ensureCanMutateNextListeners() {
717 if (nextListeners === currentListeners) {
718 nextListeners = currentListeners.slice();
719 }
720 }
721 function getState() {
722 if (isDispatching) {
723 throw new Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");
724 }
725 return currentState;
726 }
727 function subscribe(listener2) {
728 if (typeof listener2 !== "function") {
729 throw new Error("Expected the listener to be a function. Instead, received: '" + kindOf(listener2) + "'");
730 }
731 if (isDispatching) {
732 throw new Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.");
733 }
734 var isSubscribed = true;
735 ensureCanMutateNextListeners();
736 nextListeners.push(listener2);
737 return function unsubscribe() {
738 if (!isSubscribed) {
739 return;
740 }
741 if (isDispatching) {
742 throw new Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.");
743 }
744 isSubscribed = false;
745 ensureCanMutateNextListeners();
746 var index = nextListeners.indexOf(listener2);
747 nextListeners.splice(index, 1);
748 currentListeners = null;
749 };
750 }
751 function dispatch(action) {
752 if (!isPlainObject(action)) {
753 throw new Error("Actions must be plain objects. Instead, the actual type was: '" + kindOf(action) + "'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.");
754 }
755 if (typeof action.type === "undefined") {
756 throw new Error('Actions may not have an undefined "type" property. You may have misspelled an action type string constant.');
757 }
758 if (isDispatching) {
759 throw new Error("Reducers may not dispatch actions.");
760 }
761 try {
762 isDispatching = true;
763 currentState = currentReducer(currentState, action);
764 }
765 finally {
766 isDispatching = false;
767 }
768 var listeners = currentListeners = nextListeners;
769 for (var i2 = 0; i2 < listeners.length; i2++) {
770 var listener2 = listeners[i2];
771 listener2();
772 }
773 return action;
774 }
775 function replaceReducer(nextReducer) {
776 if (typeof nextReducer !== "function") {
777 throw new Error("Expected the nextReducer to be a function. Instead, received: '" + kindOf(nextReducer));
778 }
779 currentReducer = nextReducer;
780 dispatch({
781 type: ActionTypes.REPLACE
782 });
783 }
784 function observable() {
785 var _ref;
786 var outerSubscribe = subscribe;
787 return _ref = {
788 subscribe: function subscribe2(observer) {
789 if (typeof observer !== "object" || observer === null) {
790 throw new Error("Expected the observer to be an object. Instead, received: '" + kindOf(observer) + "'");
791 }
792 function observeState() {
793 if (observer.next) {
794 observer.next(getState());
795 }
796 }
797 observeState();
798 var unsubscribe = outerSubscribe(observeState);
799 return {
800 unsubscribe: unsubscribe
801 };
802 }
803 }, _ref[$$observable] = function () {
804 return this;
805 }, _ref;
806 }
807 dispatch({
808 type: ActionTypes.INIT
809 });
810 return _ref2 = {
811 dispatch: dispatch,
812 subscribe: subscribe,
813 getState: getState,
814 replaceReducer: replaceReducer
815 }, _ref2[$$observable] = observable, _ref2;
816 }
817 function warning(message) {
818 if (typeof console !== "undefined" && typeof console.error === "function") {
819 console.error(message);
820 }
821 try {
822 throw new Error(message);
823 }
824 catch (e2) {
825 }
826 }
827 function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {
828 var reducerKeys = Object.keys(reducers);
829 var argumentName = action && action.type === ActionTypes.INIT ? "preloadedState argument passed to createStore" : "previous state received by the reducer";
830 if (reducerKeys.length === 0) {
831 return "Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.";
832 }
833 if (!isPlainObject(inputState)) {
834 return "The " + argumentName + ' has unexpected type of "' + kindOf(inputState) + '". Expected argument to be an object with the following ' + ('keys: "' + reducerKeys.join('", "') + '"');
835 }
836 var unexpectedKeys = Object.keys(inputState).filter(function (key) {
837 return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];
838 });
839 unexpectedKeys.forEach(function (key) {
840 unexpectedKeyCache[key] = true;
841 });
842 if (action && action.type === ActionTypes.REPLACE)
843 return;
844 if (unexpectedKeys.length > 0) {
845 return "Unexpected " + (unexpectedKeys.length > 1 ? "keys" : "key") + " " + ('"' + unexpectedKeys.join('", "') + '" found in ' + argumentName + ". ") + "Expected to find one of the known reducer keys instead: " + ('"' + reducerKeys.join('", "') + '". Unexpected keys will be ignored.');
846 }
847 }
848 function assertReducerShape(reducers) {
849 Object.keys(reducers).forEach(function (key) {
850 var reducer = reducers[key];
851 var initialState = reducer(void 0, {
852 type: ActionTypes.INIT
853 });
854 if (typeof initialState === "undefined") {
855 throw new Error('The slice reducer for key "' + key + "\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.");
856 }
857 if (typeof reducer(void 0, {
858 type: ActionTypes.PROBE_UNKNOWN_ACTION()
859 }) === "undefined") {
860 throw new Error('The slice reducer for key "' + key + '" returned undefined when probed with a random type. ' + ("Don't try to handle '" + ActionTypes.INIT + "' or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.");
861 }
862 });
863 }
864 function combineReducers(reducers) {
865 var reducerKeys = Object.keys(reducers);
866 var finalReducers = {};
867 for (var i2 = 0; i2 < reducerKeys.length; i2++) {
868 var key = reducerKeys[i2];
869 {
870 if (typeof reducers[key] === "undefined") {
871 warning('No reducer provided for key "' + key + '"');
872 }
873 }
874 if (typeof reducers[key] === "function") {
875 finalReducers[key] = reducers[key];
876 }
877 }
878 var finalReducerKeys = Object.keys(finalReducers);
879 var unexpectedKeyCache;
880 {
881 unexpectedKeyCache = {};
882 }
883 var shapeAssertionError;
884 try {
885 assertReducerShape(finalReducers);
886 }
887 catch (e2) {
888 shapeAssertionError = e2;
889 }
890 return function combination(state, action) {
891 if (state === void 0) {
892 state = {};
893 }
894 if (shapeAssertionError) {
895 throw shapeAssertionError;
896 }
897 {
898 var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);
899 if (warningMessage) {
900 warning(warningMessage);
901 }
902 }
903 var hasChanged = false;
904 var nextState = {};
905 for (var _i = 0; _i < finalReducerKeys.length; _i++) {
906 var _key = finalReducerKeys[_i];
907 var reducer = finalReducers[_key];
908 var previousStateForKey = state[_key];
909 var nextStateForKey = reducer(previousStateForKey, action);
910 if (typeof nextStateForKey === "undefined") {
911 var actionType = action && action.type;
912 throw new Error("When called with an action of type " + (actionType ? '"' + String(actionType) + '"' : "(unknown type)") + ', the slice reducer for key "' + _key + '" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.');
913 }
914 nextState[_key] = nextStateForKey;
915 hasChanged = hasChanged || nextStateForKey !== previousStateForKey;
916 }
917 hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;
918 return hasChanged ? nextState : state;
919 };
920 }
921 function bindActionCreator(actionCreator, dispatch) {
922 return function () {
923 return dispatch(actionCreator.apply(this, arguments));
924 };
925 }
926 function bindActionCreators(actionCreators, dispatch) {
927 if (typeof actionCreators === "function") {
928 return bindActionCreator(actionCreators, dispatch);
929 }
930 if (typeof actionCreators !== "object" || actionCreators === null) {
931 throw new Error("bindActionCreators expected an object or a function, but instead received: '" + kindOf(actionCreators) + "'. Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?");
932 }
933 var boundActionCreators = {};
934 for (var key in actionCreators) {
935 var actionCreator = actionCreators[key];
936 if (typeof actionCreator === "function") {
937 boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);
938 }
939 }
940 return boundActionCreators;
941 }
942 function compose() {
943 for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
944 funcs[_key] = arguments[_key];
945 }
946 if (funcs.length === 0) {
947 return function (arg) {
948 return arg;
949 };
950 }
951 if (funcs.length === 1) {
952 return funcs[0];
953 }
954 return funcs.reduce(function (a2, b2) {
955 return function () {
956 return a2(b2.apply(void 0, arguments));
957 };
958 });
959 }
960 function applyMiddleware() {
961 for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {
962 middlewares[_key] = arguments[_key];
963 }
964 return function (createStore2) {
965 return function () {
966 var store = createStore2.apply(void 0, arguments);
967 var _dispatch = function dispatch() {
968 throw new Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.");
969 };
970 var middlewareAPI = {
971 getState: store.getState,
972 dispatch: function dispatch() {
973 return _dispatch.apply(void 0, arguments);
974 }
975 };
976 var chain = middlewares.map(function (middleware) {
977 return middleware(middlewareAPI);
978 });
979 _dispatch = compose.apply(void 0, chain)(store.dispatch);
980 return _objectSpread2(_objectSpread2({}, store), {}, {
981 dispatch: _dispatch
982 });
983 };
984 };
985 }
986 function isCrushed() {
987 }
988 if (typeof isCrushed.name === "string" && isCrushed.name !== "isCrushed") {
989 warning('You are currently using minified code outside of NODE_ENV === "production". This means that you are running a slower development build of Redux. You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) to ensure you have the correct code for your production build.');
990 }
991 // ../../node_modules/reselect/es/defaultMemoize.js
992 var NOT_FOUND = "NOT_FOUND";
993 function createSingletonCache(equals) {
994 var entry;
995 return {
996 get: function get(key) {
997 if (entry && equals(entry.key, key)) {
998 return entry.value;
999 }
1000 return NOT_FOUND;
1001 },
1002 put: function put(key, value) {
1003 entry = {
1004 key: key,
1005 value: value
1006 };
1007 },
1008 getEntries: function getEntries() {
1009 return entry ? [entry] : [];
1010 },
1011 clear: function clear() {
1012 entry = void 0;
1013 }
1014 };
1015 }
1016 function createLruCache(maxSize, equals) {
1017 var entries = [];
1018 function get(key) {
1019 var cacheIndex = entries.findIndex(function (entry2) {
1020 return equals(key, entry2.key);
1021 });
1022 if (cacheIndex > -1) {
1023 var entry = entries[cacheIndex];
1024 if (cacheIndex > 0) {
1025 entries.splice(cacheIndex, 1);
1026 entries.unshift(entry);
1027 }
1028 return entry.value;
1029 }
1030 return NOT_FOUND;
1031 }
1032 function put(key, value) {
1033 if (get(key) === NOT_FOUND) {
1034 entries.unshift({
1035 key: key,
1036 value: value
1037 });
1038 if (entries.length > maxSize) {
1039 entries.pop();
1040 }
1041 }
1042 }
1043 function getEntries() {
1044 return entries;
1045 }
1046 function clear() {
1047 entries = [];
1048 }
1049 return {
1050 get: get,
1051 put: put,
1052 getEntries: getEntries,
1053 clear: clear
1054 };
1055 }
1056 var defaultEqualityCheck = function defaultEqualityCheck2(a2, b2) {
1057 return a2 === b2;
1058 };
1059 function createCacheKeyComparator(equalityCheck) {
1060 return function areArgumentsShallowlyEqual(prev, next) {
1061 if (prev === null || next === null || prev.length !== next.length) {
1062 return false;
1063 }
1064 var length = prev.length;
1065 for (var i2 = 0; i2 < length; i2++) {
1066 if (!equalityCheck(prev[i2], next[i2])) {
1067 return false;
1068 }
1069 }
1070 return true;
1071 };
1072 }
1073 function defaultMemoize(func, equalityCheckOrOptions) {
1074 var providedOptions = typeof equalityCheckOrOptions === "object" ? equalityCheckOrOptions : {
1075 equalityCheck: equalityCheckOrOptions
1076 };
1077 var _providedOptions$equa = providedOptions.equalityCheck, equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa, _providedOptions$maxS = providedOptions.maxSize, maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS, resultEqualityCheck = providedOptions.resultEqualityCheck;
1078 var comparator = createCacheKeyComparator(equalityCheck);
1079 var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator);
1080 function memoized() {
1081 var value = cache.get(arguments);
1082 if (value === NOT_FOUND) {
1083 value = func.apply(null, arguments);
1084 if (resultEqualityCheck) {
1085 var entries = cache.getEntries();
1086 var matchingEntry = entries.find(function (entry) {
1087 return resultEqualityCheck(entry.value, value);
1088 });
1089 if (matchingEntry) {
1090 value = matchingEntry.value;
1091 }
1092 }
1093 cache.put(arguments, value);
1094 }
1095 return value;
1096 }
1097 memoized.clearCache = function () {
1098 return cache.clear();
1099 };
1100 return memoized;
1101 }
1102 // ../../node_modules/reselect/es/index.js
1103 function getDependencies(funcs) {
1104 var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;
1105 if (!dependencies.every(function (dep) {
1106 return typeof dep === "function";
1107 })) {
1108 var dependencyTypes = dependencies.map(function (dep) {
1109 return typeof dep === "function" ? "function " + (dep.name || "unnamed") + "()" : typeof dep;
1110 }).join(", ");
1111 throw new Error("createSelector expects all input-selectors to be functions, but received the following types: [" + dependencyTypes + "]");
1112 }
1113 return dependencies;
1114 }
1115 function createSelectorCreator(memoize) {
1116 for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1117 memoizeOptionsFromArgs[_key - 1] = arguments[_key];
1118 }
1119 var createSelector2 = function createSelector3() {
1120 for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
1121 funcs[_key2] = arguments[_key2];
1122 }
1123 var _recomputations = 0;
1124 var _lastResult;
1125 var directlyPassedOptions = {
1126 memoizeOptions: void 0
1127 };
1128 var resultFunc = funcs.pop();
1129 if (typeof resultFunc === "object") {
1130 directlyPassedOptions = resultFunc;
1131 resultFunc = funcs.pop();
1132 }
1133 if (typeof resultFunc !== "function") {
1134 throw new Error("createSelector expects an output function after the inputs, but received: [" + typeof resultFunc + "]");
1135 }
1136 var _directlyPassedOption = directlyPassedOptions, _directlyPassedOption2 = _directlyPassedOption.memoizeOptions, memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2;
1137 var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions];
1138 var dependencies = getDependencies(funcs);
1139 var memoizedResultFunc = memoize.apply(void 0, [function () {
1140 _recomputations++;
1141 return resultFunc.apply(null, arguments);
1142 }].concat(finalMemoizeOptions));
1143 var selector = memoize(function () {
1144 var params = [];
1145 var length = dependencies.length;
1146 for (var i2 = 0; i2 < length; i2++) {
1147 params.push(dependencies[i2].apply(null, arguments));
1148 }
1149 _lastResult = memoizedResultFunc.apply(null, params);
1150 return _lastResult;
1151 });
1152 Object.assign(selector, {
1153 resultFunc: resultFunc,
1154 memoizedResultFunc: memoizedResultFunc,
1155 dependencies: dependencies,
1156 lastResult: function lastResult() {
1157 return _lastResult;
1158 },
1159 recomputations: function recomputations() {
1160 return _recomputations;
1161 },
1162 resetRecomputations: function resetRecomputations() {
1163 return _recomputations = 0;
1164 }
1165 });
1166 return selector;
1167 };
1168 return createSelector2;
1169 }
1170 var createSelector = /* @__PURE__ */ createSelectorCreator(defaultMemoize);
1171 // src/createDraftSafeSelector.ts
1172 var createDraftSafeSelector = function () {
1173 var args = [];
1174 for (var _c = 0; _c < arguments.length; _c++) {
1175 args[_c] = arguments[_c];
1176 }
1177 var selector = createSelector.apply(void 0, args);
1178 var wrappedSelector = function (value) {
1179 var rest = [];
1180 for (var _c = 1; _c < arguments.length; _c++) {
1181 rest[_c - 1] = arguments[_c];
1182 }
1183 return selector.apply(void 0, __spreadArray([t(value) ? D(value) : value], rest));
1184 };
1185 return wrappedSelector;
1186 };
1187 // src/devtoolsExtension.ts
1188 var composeWithDevTools = typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function () {
1189 if (arguments.length === 0)
1190 return void 0;
1191 if (typeof arguments[0] === "object")
1192 return compose;
1193 return compose.apply(null, arguments);
1194 };
1195 // src/isPlainObject.ts
1196 function isPlainObject2(value) {
1197 if (typeof value !== "object" || value === null)
1198 return false;
1199 var proto = Object.getPrototypeOf(value);
1200 if (proto === null)
1201 return true;
1202 var baseProto = proto;
1203 while (Object.getPrototypeOf(baseProto) !== null) {
1204 baseProto = Object.getPrototypeOf(baseProto);
1205 }
1206 return proto === baseProto;
1207 }
1208 // ../../node_modules/redux-thunk/es/index.js
1209 function createThunkMiddleware(extraArgument) {
1210 var middleware = function middleware2(_ref) {
1211 var dispatch = _ref.dispatch, getState = _ref.getState;
1212 return function (next) {
1213 return function (action) {
1214 if (typeof action === "function") {
1215 return action(dispatch, getState, extraArgument);
1216 }
1217 return next(action);
1218 };
1219 };
1220 };
1221 return middleware;
1222 }
1223 var thunk = createThunkMiddleware();
1224 thunk.withExtraArgument = createThunkMiddleware;
1225 var es_default = thunk;
1226 // src/utils.ts
1227 function getTimeMeasureUtils(maxDelay, fnName) {
1228 var elapsed = 0;
1229 return {
1230 measureTime: function (fn2) {
1231 var started = Date.now();
1232 try {
1233 return fn2();
1234 }
1235 finally {
1236 var finished = Date.now();
1237 elapsed += finished - started;
1238 }
1239 },
1240 warnIfExceeded: function () {
1241 if (elapsed > maxDelay) {
1242 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.");
1243 }
1244 }
1245 };
1246 }
1247 var MiddlewareArray = /** @class */ (function (_super) {
1248 __extends(MiddlewareArray, _super);
1249 function MiddlewareArray() {
1250 var args = [];
1251 for (var _c = 0; _c < arguments.length; _c++) {
1252 args[_c] = arguments[_c];
1253 }
1254 var _this = _super.apply(this, args) || this;
1255 Object.setPrototypeOf(_this, MiddlewareArray.prototype);
1256 return _this;
1257 }
1258 Object.defineProperty(MiddlewareArray, Symbol.species, {
1259 get: function () {
1260 return MiddlewareArray;
1261 },
1262 enumerable: false,
1263 configurable: true
1264 });
1265 MiddlewareArray.prototype.concat = function () {
1266 var arr = [];
1267 for (var _c = 0; _c < arguments.length; _c++) {
1268 arr[_c] = arguments[_c];
1269 }
1270 return _super.prototype.concat.apply(this, arr);
1271 };
1272 MiddlewareArray.prototype.prepend = function () {
1273 var arr = [];
1274 for (var _c = 0; _c < arguments.length; _c++) {
1275 arr[_c] = arguments[_c];
1276 }
1277 if (arr.length === 1 && Array.isArray(arr[0])) {
1278 return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr[0].concat(this))))();
1279 }
1280 return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr.concat(this))))();
1281 };
1282 return MiddlewareArray;
1283 }(Array));
1284 var prefix = "Invariant failed";
1285 function invariant(condition, message) {
1286 if (condition) {
1287 return;
1288 }
1289 throw new Error(prefix + ": " + (message || ""));
1290 }
1291 function stringify(obj, serializer, indent, decycler) {
1292 return JSON.stringify(obj, getSerialize(serializer, decycler), indent);
1293 }
1294 function getSerialize(serializer, decycler) {
1295 var stack = [], keys = [];
1296 if (!decycler)
1297 decycler = function (_2, value) {
1298 if (stack[0] === value)
1299 return "[Circular ~]";
1300 return "[Circular ~." + keys.slice(0, stack.indexOf(value)).join(".") + "]";
1301 };
1302 return function (key, value) {
1303 if (stack.length > 0) {
1304 var thisPos = stack.indexOf(this);
1305 ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);
1306 ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key);
1307 if (~stack.indexOf(value))
1308 value = decycler.call(this, key, value);
1309 }
1310 else
1311 stack.push(value);
1312 return serializer == null ? value : serializer.call(this, key, value);
1313 };
1314 }
1315 function isImmutableDefault(value) {
1316 return typeof value !== "object" || value === null || typeof value === "undefined" || Object.isFrozen(value);
1317 }
1318 function trackForMutations(isImmutable, ignorePaths, obj) {
1319 var trackedProperties = trackProperties(isImmutable, ignorePaths, obj);
1320 return {
1321 detectMutations: function () {
1322 return detectMutations(isImmutable, ignorePaths, trackedProperties, obj);
1323 }
1324 };
1325 }
1326 function trackProperties(isImmutable, ignorePaths, obj, path) {
1327 if (ignorePaths === void 0) { ignorePaths = []; }
1328 if (path === void 0) { path = ""; }
1329 var tracked = { value: obj };
1330 if (!isImmutable(obj)) {
1331 tracked.children = {};
1332 for (var key in obj) {
1333 var childPath = path ? path + "." + key : key;
1334 if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {
1335 continue;
1336 }
1337 tracked.children[key] = trackProperties(isImmutable, ignorePaths, obj[key], childPath);
1338 }
1339 }
1340 return tracked;
1341 }
1342 function detectMutations(isImmutable, ignorePaths, trackedProperty, obj, sameParentRef, path) {
1343 if (ignorePaths === void 0) { ignorePaths = []; }
1344 if (sameParentRef === void 0) { sameParentRef = false; }
1345 if (path === void 0) { path = ""; }
1346 var prevObj = trackedProperty ? trackedProperty.value : void 0;
1347 var sameRef = prevObj === obj;
1348 if (sameParentRef && !sameRef && !Number.isNaN(obj)) {
1349 return { wasMutated: true, path: path };
1350 }
1351 if (isImmutable(prevObj) || isImmutable(obj)) {
1352 return { wasMutated: false };
1353 }
1354 var keysToDetect = {};
1355 for (var key in trackedProperty.children) {
1356 keysToDetect[key] = true;
1357 }
1358 for (var key in obj) {
1359 keysToDetect[key] = true;
1360 }
1361 for (var key in keysToDetect) {
1362 var childPath = path ? path + "." + key : key;
1363 if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {
1364 continue;
1365 }
1366 var result = detectMutations(isImmutable, ignorePaths, trackedProperty.children[key], obj[key], sameRef, childPath);
1367 if (result.wasMutated) {
1368 return result;
1369 }
1370 }
1371 return { wasMutated: false };
1372 }
1373 function createImmutableStateInvariantMiddleware(options) {
1374 if (options === void 0) { options = {}; }
1375 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;
1376 ignoredPaths = ignoredPaths || ignore;
1377 var track = trackForMutations.bind(null, isImmutable, ignoredPaths);
1378 return function (_c) {
1379 var getState = _c.getState;
1380 var state = getState();
1381 var tracker = track(state);
1382 var result;
1383 return function (next) { return function (action) {
1384 var measureUtils = getTimeMeasureUtils(warnAfter, "ImmutableStateInvariantMiddleware");
1385 measureUtils.measureTime(function () {
1386 state = getState();
1387 result = tracker.detectMutations();
1388 tracker = track(state);
1389 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)");
1390 });
1391 var dispatchedAction = next(action);
1392 measureUtils.measureTime(function () {
1393 state = getState();
1394 result = tracker.detectMutations();
1395 tracker = track(state);
1396 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)");
1397 });
1398 measureUtils.warnIfExceeded();
1399 return dispatchedAction;
1400 }; };
1401 };
1402 }
1403 // src/serializableStateInvariantMiddleware.ts
1404 function isPlain(val) {
1405 var type = typeof val;
1406 return type === "undefined" || val === null || type === "string" || type === "boolean" || type === "number" || Array.isArray(val) || isPlainObject2(val);
1407 }
1408 function findNonSerializableValue(value, path, isSerializable, getEntries, ignoredPaths) {
1409 if (path === void 0) { path = ""; }
1410 if (isSerializable === void 0) { isSerializable = isPlain; }
1411 if (ignoredPaths === void 0) { ignoredPaths = []; }
1412 var foundNestedSerializable;
1413 if (!isSerializable(value)) {
1414 return {
1415 keyPath: path || "<root>",
1416 value: value
1417 };
1418 }
1419 if (typeof value !== "object" || value === null) {
1420 return false;
1421 }
1422 var entries = getEntries != null ? getEntries(value) : Object.entries(value);
1423 var hasIgnoredPaths = ignoredPaths.length > 0;
1424 for (var _c = 0, entries_1 = entries; _c < entries_1.length; _c++) {
1425 var _d = entries_1[_c], key = _d[0], nestedValue = _d[1];
1426 var nestedPath = path ? path + "." + key : key;
1427 if (hasIgnoredPaths && ignoredPaths.indexOf(nestedPath) >= 0) {
1428 continue;
1429 }
1430 if (!isSerializable(nestedValue)) {
1431 return {
1432 keyPath: nestedPath,
1433 value: nestedValue
1434 };
1435 }
1436 if (typeof nestedValue === "object") {
1437 foundNestedSerializable = findNonSerializableValue(nestedValue, nestedPath, isSerializable, getEntries, ignoredPaths);
1438 if (foundNestedSerializable) {
1439 return foundNestedSerializable;
1440 }
1441 }
1442 }
1443 return false;
1444 }
1445 function createSerializableStateInvariantMiddleware(options) {
1446 if (options === void 0) { options = {}; }
1447 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;
1448 return function (storeAPI) { return function (next) { return function (action) {
1449 var result = next(action);
1450 var measureUtils = getTimeMeasureUtils(warnAfter, "SerializableStateInvariantMiddleware");
1451 if (!ignoreActions && !(ignoredActions.length && ignoredActions.indexOf(action.type) !== -1)) {
1452 measureUtils.measureTime(function () {
1453 var foundActionNonSerializableValue = findNonSerializableValue(action, "", isSerializable, getEntries, ignoredActionPaths);
1454 if (foundActionNonSerializableValue) {
1455 var keyPath = foundActionNonSerializableValue.keyPath, value = foundActionNonSerializableValue.value;
1456 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)");
1457 }
1458 });
1459 }
1460 if (!ignoreState) {
1461 measureUtils.measureTime(function () {
1462 var state = storeAPI.getState();
1463 var foundStateNonSerializableValue = findNonSerializableValue(state, "", isSerializable, getEntries, ignoredPaths);
1464 if (foundStateNonSerializableValue) {
1465 var keyPath = foundStateNonSerializableValue.keyPath, value = foundStateNonSerializableValue.value;
1466 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)");
1467 }
1468 });
1469 measureUtils.warnIfExceeded();
1470 }
1471 return result;
1472 }; }; };
1473 }
1474 // src/getDefaultMiddleware.ts
1475 function isBoolean(x2) {
1476 return typeof x2 === "boolean";
1477 }
1478 function curryGetDefaultMiddleware() {
1479 return function curriedGetDefaultMiddleware(options) {
1480 return getDefaultMiddleware(options);
1481 };
1482 }
1483 function getDefaultMiddleware(options) {
1484 if (options === void 0) { options = {}; }
1485 var _c = options.thunk, thunk2 = _c === void 0 ? true : _c, _d = options.immutableCheck, immutableCheck = _d === void 0 ? true : _d, _e = options.serializableCheck, serializableCheck = _e === void 0 ? true : _e;
1486 var middlewareArray = new MiddlewareArray();
1487 if (thunk2) {
1488 if (isBoolean(thunk2)) {
1489 middlewareArray.push(es_default);
1490 }
1491 else {
1492 middlewareArray.push(es_default.withExtraArgument(thunk2.extraArgument));
1493 }
1494 }
1495 {
1496 if (immutableCheck) {
1497 var immutableOptions = {};
1498 if (!isBoolean(immutableCheck)) {
1499 immutableOptions = immutableCheck;
1500 }
1501 middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions));
1502 }
1503 if (serializableCheck) {
1504 var serializableOptions = {};
1505 if (!isBoolean(serializableCheck)) {
1506 serializableOptions = serializableCheck;
1507 }
1508 middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions));
1509 }
1510 }
1511 return middlewareArray;
1512 }
1513 // src/configureStore.ts
1514 var IS_PRODUCTION = false;
1515 function configureStore(options) {
1516 var curriedGetDefaultMiddleware = curryGetDefaultMiddleware();
1517 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;
1518 var rootReducer;
1519 if (typeof reducer === "function") {
1520 rootReducer = reducer;
1521 }
1522 else if (isPlainObject2(reducer)) {
1523 rootReducer = combineReducers(reducer);
1524 }
1525 else {
1526 throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');
1527 }
1528 var finalMiddleware = middleware;
1529 if (typeof finalMiddleware === "function") {
1530 finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware);
1531 if (!Array.isArray(finalMiddleware)) {
1532 throw new Error("when using a middleware builder function, an array of middleware must be returned");
1533 }
1534 }
1535 if (finalMiddleware.some(function (item) { return typeof item !== "function"; })) {
1536 throw new Error("each middleware provided to configureStore must be a function");
1537 }
1538 var middlewareEnhancer = applyMiddleware.apply(void 0, finalMiddleware);
1539 var finalCompose = compose;
1540 if (devTools) {
1541 finalCompose = composeWithDevTools(__spreadValues({
1542 trace: !IS_PRODUCTION
1543 }, typeof devTools === "object" && devTools));
1544 }
1545 var storeEnhancers = [middlewareEnhancer];
1546 if (Array.isArray(enhancers)) {
1547 storeEnhancers = __spreadArray([middlewareEnhancer], enhancers);
1548 }
1549 else if (typeof enhancers === "function") {
1550 storeEnhancers = enhancers(storeEnhancers);
1551 }
1552 var composedEnhancer = finalCompose.apply(void 0, storeEnhancers);
1553 return createStore(rootReducer, preloadedState, composedEnhancer);
1554 }
1555 // src/createAction.ts
1556 function createAction(type, prepareAction) {
1557 function actionCreator() {
1558 var args = [];
1559 for (var _c = 0; _c < arguments.length; _c++) {
1560 args[_c] = arguments[_c];
1561 }
1562 if (prepareAction) {
1563 var prepared = prepareAction.apply(void 0, args);
1564 if (!prepared) {
1565 throw new Error("prepareAction did not return an object");
1566 }
1567 return __spreadValues(__spreadValues({
1568 type: type,
1569 payload: prepared.payload
1570 }, "meta" in prepared && { meta: prepared.meta }), "error" in prepared && { error: prepared.error });
1571 }
1572 return { type: type, payload: args[0] };
1573 }
1574 actionCreator.toString = function () { return "" + type; };
1575 actionCreator.type = type;
1576 actionCreator.match = function (action) { return action.type === type; };
1577 return actionCreator;
1578 }
1579 function isFSA(action) {
1580 return isPlainObject2(action) && typeof action.type === "string" && Object.keys(action).every(isValidKey);
1581 }
1582 function isValidKey(key) {
1583 return ["type", "payload", "error", "meta"].indexOf(key) > -1;
1584 }
1585 function getType(actionCreator) {
1586 return "" + actionCreator;
1587 }
1588 // src/mapBuilders.ts
1589 function executeReducerBuilderCallback(builderCallback) {
1590 var actionsMap = {};
1591 var actionMatchers = [];
1592 var defaultCaseReducer;
1593 var builder = {
1594 addCase: function (typeOrActionCreator, reducer) {
1595 {
1596 if (actionMatchers.length > 0) {
1597 throw new Error("`builder.addCase` should only be called before calling `builder.addMatcher`");
1598 }
1599 if (defaultCaseReducer) {
1600 throw new Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`");
1601 }
1602 }
1603 var type = typeof typeOrActionCreator === "string" ? typeOrActionCreator : typeOrActionCreator.type;
1604 if (type in actionsMap) {
1605 throw new Error("addCase cannot be called with two reducers for the same action type");
1606 }
1607 actionsMap[type] = reducer;
1608 return builder;
1609 },
1610 addMatcher: function (matcher, reducer) {
1611 {
1612 if (defaultCaseReducer) {
1613 throw new Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`");
1614 }
1615 }
1616 actionMatchers.push({ matcher: matcher, reducer: reducer });
1617 return builder;
1618 },
1619 addDefaultCase: function (reducer) {
1620 {
1621 if (defaultCaseReducer) {
1622 throw new Error("`builder.addDefaultCase` can only be called once");
1623 }
1624 }
1625 defaultCaseReducer = reducer;
1626 return builder;
1627 }
1628 };
1629 builderCallback(builder);
1630 return [actionsMap, actionMatchers, defaultCaseReducer];
1631 }
1632 // src/createReducer.ts
1633 function isStateFunction(x2) {
1634 return typeof x2 === "function";
1635 }
1636 function createReducer(initialState, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) {
1637 if (actionMatchers === void 0) { actionMatchers = []; }
1638 var _c = typeof mapOrBuilderCallback === "function" ? executeReducerBuilderCallback(mapOrBuilderCallback) : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer], actionsMap = _c[0], finalActionMatchers = _c[1], finalDefaultCaseReducer = _c[2];
1639 var getInitialState;
1640 if (isStateFunction(initialState)) {
1641 getInitialState = function () { return immer_esm_default(initialState(), function () {
1642 }); };
1643 }
1644 else {
1645 var frozenInitialState_1 = immer_esm_default(initialState, function () {
1646 });
1647 getInitialState = function () { return frozenInitialState_1; };
1648 }
1649 function reducer(state, action) {
1650 if (state === void 0) { state = getInitialState(); }
1651 var caseReducers = __spreadArray([
1652 actionsMap[action.type]
1653 ], finalActionMatchers.filter(function (_c) {
1654 var matcher = _c.matcher;
1655 return matcher(action);
1656 }).map(function (_c) {
1657 var reducer2 = _c.reducer;
1658 return reducer2;
1659 }));
1660 if (caseReducers.filter(function (cr) { return !!cr; }).length === 0) {
1661 caseReducers = [finalDefaultCaseReducer];
1662 }
1663 return caseReducers.reduce(function (previousState, caseReducer) {
1664 if (caseReducer) {
1665 if (t(previousState)) {
1666 var draft = previousState;
1667 var result = caseReducer(draft, action);
1668 if (typeof result === "undefined") {
1669 return previousState;
1670 }
1671 return result;
1672 }
1673 else if (!r(previousState)) {
1674 var result = caseReducer(previousState, action);
1675 if (typeof result === "undefined") {
1676 if (previousState === null) {
1677 return previousState;
1678 }
1679 throw Error("A case reducer on a non-draftable value must not return undefined");
1680 }
1681 return result;
1682 }
1683 else {
1684 return immer_esm_default(previousState, function (draft) {
1685 return caseReducer(draft, action);
1686 });
1687 }
1688 }
1689 return previousState;
1690 }, state);
1691 }
1692 reducer.getInitialState = getInitialState;
1693 return reducer;
1694 }
1695 // src/createSlice.ts
1696 function getType2(slice, actionKey) {
1697 return slice + "/" + actionKey;
1698 }
1699 function createSlice(options) {
1700 var name = options.name;
1701 if (!name) {
1702 throw new Error("`name` is a required option for createSlice");
1703 }
1704 var initialState = typeof options.initialState == "function" ? options.initialState : immer_esm_default(options.initialState, function () {
1705 });
1706 var reducers = options.reducers || {};
1707 var reducerNames = Object.keys(reducers);
1708 var sliceCaseReducersByName = {};
1709 var sliceCaseReducersByType = {};
1710 var actionCreators = {};
1711 reducerNames.forEach(function (reducerName) {
1712 var maybeReducerWithPrepare = reducers[reducerName];
1713 var type = getType2(name, reducerName);
1714 var caseReducer;
1715 var prepareCallback;
1716 if ("reducer" in maybeReducerWithPrepare) {
1717 caseReducer = maybeReducerWithPrepare.reducer;
1718 prepareCallback = maybeReducerWithPrepare.prepare;
1719 }
1720 else {
1721 caseReducer = maybeReducerWithPrepare;
1722 }
1723 sliceCaseReducersByName[reducerName] = caseReducer;
1724 sliceCaseReducersByType[type] = caseReducer;
1725 actionCreators[reducerName] = prepareCallback ? createAction(type, prepareCallback) : createAction(type);
1726 });
1727 function buildReducer() {
1728 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;
1729 var finalCaseReducers = __spreadValues(__spreadValues({}, extraReducers), sliceCaseReducersByType);
1730 return createReducer(initialState, finalCaseReducers, actionMatchers, defaultCaseReducer);
1731 }
1732 var _reducer;
1733 return {
1734 name: name,
1735 reducer: function (state, action) {
1736 if (!_reducer)
1737 _reducer = buildReducer();
1738 return _reducer(state, action);
1739 },
1740 actions: actionCreators,
1741 caseReducers: sliceCaseReducersByName,
1742 getInitialState: function () {
1743 if (!_reducer)
1744 _reducer = buildReducer();
1745 return _reducer.getInitialState();
1746 }
1747 };
1748 }
1749 // src/entities/entity_state.ts
1750 function getInitialEntityState() {
1751 return {
1752 ids: [],
1753 entities: {}
1754 };
1755 }
1756 function createInitialStateFactory() {
1757 function getInitialState(additionalState) {
1758 if (additionalState === void 0) { additionalState = {}; }
1759 return Object.assign(getInitialEntityState(), additionalState);
1760 }
1761 return { getInitialState: getInitialState };
1762 }
1763 // src/entities/state_selectors.ts
1764 function createSelectorsFactory() {
1765 function getSelectors(selectState) {
1766 var selectIds = function (state) { return state.ids; };
1767 var selectEntities = function (state) { return state.entities; };
1768 var selectAll = createDraftSafeSelector(selectIds, selectEntities, function (ids, entities) { return ids.map(function (id) { return entities[id]; }); });
1769 var selectId = function (_2, id) { return id; };
1770 var selectById = function (entities, id) { return entities[id]; };
1771 var selectTotal = createDraftSafeSelector(selectIds, function (ids) { return ids.length; });
1772 if (!selectState) {
1773 return {
1774 selectIds: selectIds,
1775 selectEntities: selectEntities,
1776 selectAll: selectAll,
1777 selectTotal: selectTotal,
1778 selectById: createDraftSafeSelector(selectEntities, selectId, selectById)
1779 };
1780 }
1781 var selectGlobalizedEntities = createDraftSafeSelector(selectState, selectEntities);
1782 return {
1783 selectIds: createDraftSafeSelector(selectState, selectIds),
1784 selectEntities: selectGlobalizedEntities,
1785 selectAll: createDraftSafeSelector(selectState, selectAll),
1786 selectTotal: createDraftSafeSelector(selectState, selectTotal),
1787 selectById: createDraftSafeSelector(selectGlobalizedEntities, selectId, selectById)
1788 };
1789 }
1790 return { getSelectors: getSelectors };
1791 }
1792 // src/entities/state_adapter.ts
1793 function createSingleArgumentStateOperator(mutator) {
1794 var operator = createStateOperator(function (_2, state) { return mutator(state); });
1795 return function operation(state) {
1796 return operator(state, void 0);
1797 };
1798 }
1799 function createStateOperator(mutator) {
1800 return function operation(state, arg) {
1801 function isPayloadActionArgument(arg2) {
1802 return isFSA(arg2);
1803 }
1804 var runMutator = function (draft) {
1805 if (isPayloadActionArgument(arg)) {
1806 mutator(arg.payload, draft);
1807 }
1808 else {
1809 mutator(arg, draft);
1810 }
1811 };
1812 if (t(state)) {
1813 runMutator(state);
1814 return state;
1815 }
1816 else {
1817 return immer_esm_default(state, runMutator);
1818 }
1819 };
1820 }
1821 // src/entities/utils.ts
1822 function selectIdValue(entity, selectId) {
1823 var key = selectId(entity);
1824 if (key === void 0) {
1825 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());
1826 }
1827 return key;
1828 }
1829 function ensureEntitiesArray(entities) {
1830 if (!Array.isArray(entities)) {
1831 entities = Object.values(entities);
1832 }
1833 return entities;
1834 }
1835 function splitAddedUpdatedEntities(newEntities, selectId, state) {
1836 newEntities = ensureEntitiesArray(newEntities);
1837 var added = [];
1838 var updated = [];
1839 for (var _c = 0, newEntities_1 = newEntities; _c < newEntities_1.length; _c++) {
1840 var entity = newEntities_1[_c];
1841 var id = selectIdValue(entity, selectId);
1842 if (id in state.entities) {
1843 updated.push({ id: id, changes: entity });
1844 }
1845 else {
1846 added.push(entity);
1847 }
1848 }
1849 return [added, updated];
1850 }
1851 // src/entities/unsorted_state_adapter.ts
1852 function createUnsortedStateAdapter(selectId) {
1853 function addOneMutably(entity, state) {
1854 var key = selectIdValue(entity, selectId);
1855 if (key in state.entities) {
1856 return;
1857 }
1858 state.ids.push(key);
1859 state.entities[key] = entity;
1860 }
1861 function addManyMutably(newEntities, state) {
1862 newEntities = ensureEntitiesArray(newEntities);
1863 for (var _c = 0, newEntities_2 = newEntities; _c < newEntities_2.length; _c++) {
1864 var entity = newEntities_2[_c];
1865 addOneMutably(entity, state);
1866 }
1867 }
1868 function setOneMutably(entity, state) {
1869 var key = selectIdValue(entity, selectId);
1870 if (!(key in state.entities)) {
1871 state.ids.push(key);
1872 }
1873 state.entities[key] = entity;
1874 }
1875 function setManyMutably(newEntities, state) {
1876 newEntities = ensureEntitiesArray(newEntities);
1877 for (var _c = 0, newEntities_3 = newEntities; _c < newEntities_3.length; _c++) {
1878 var entity = newEntities_3[_c];
1879 setOneMutably(entity, state);
1880 }
1881 }
1882 function setAllMutably(newEntities, state) {
1883 newEntities = ensureEntitiesArray(newEntities);
1884 state.ids = [];
1885 state.entities = {};
1886 addManyMutably(newEntities, state);
1887 }
1888 function removeOneMutably(key, state) {
1889 return removeManyMutably([key], state);
1890 }
1891 function removeManyMutably(keys, state) {
1892 var didMutate = false;
1893 keys.forEach(function (key) {
1894 if (key in state.entities) {
1895 delete state.entities[key];
1896 didMutate = true;
1897 }
1898 });
1899 if (didMutate) {
1900 state.ids = state.ids.filter(function (id) { return id in state.entities; });
1901 }
1902 }
1903 function removeAllMutably(state) {
1904 Object.assign(state, {
1905 ids: [],
1906 entities: {}
1907 });
1908 }
1909 function takeNewKey(keys, update, state) {
1910 var original = state.entities[update.id];
1911 var updated = Object.assign({}, original, update.changes);
1912 var newKey = selectIdValue(updated, selectId);
1913 var hasNewKey = newKey !== update.id;
1914 if (hasNewKey) {
1915 keys[update.id] = newKey;
1916 delete state.entities[update.id];
1917 }
1918 state.entities[newKey] = updated;
1919 return hasNewKey;
1920 }
1921 function updateOneMutably(update, state) {
1922 return updateManyMutably([update], state);
1923 }
1924 function updateManyMutably(updates, state) {
1925 var newKeys = {};
1926 var updatesPerEntity = {};
1927 updates.forEach(function (update) {
1928 if (update.id in state.entities) {
1929 updatesPerEntity[update.id] = {
1930 id: update.id,
1931 changes: __spreadValues(__spreadValues({}, updatesPerEntity[update.id] ? updatesPerEntity[update.id].changes : null), update.changes)
1932 };
1933 }
1934 });
1935 updates = Object.values(updatesPerEntity);
1936 var didMutateEntities = updates.length > 0;
1937 if (didMutateEntities) {
1938 var didMutateIds = updates.filter(function (update) { return takeNewKey(newKeys, update, state); }).length > 0;
1939 if (didMutateIds) {
1940 state.ids = state.ids.map(function (id) { return newKeys[id] || id; });
1941 }
1942 }
1943 }
1944 function upsertOneMutably(entity, state) {
1945 return upsertManyMutably([entity], state);
1946 }
1947 function upsertManyMutably(newEntities, state) {
1948 var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];
1949 updateManyMutably(updated, state);
1950 addManyMutably(added, state);
1951 }
1952 return {
1953 removeAll: createSingleArgumentStateOperator(removeAllMutably),
1954 addOne: createStateOperator(addOneMutably),
1955 addMany: createStateOperator(addManyMutably),
1956 setOne: createStateOperator(setOneMutably),
1957 setMany: createStateOperator(setManyMutably),
1958 setAll: createStateOperator(setAllMutably),
1959 updateOne: createStateOperator(updateOneMutably),
1960 updateMany: createStateOperator(updateManyMutably),
1961 upsertOne: createStateOperator(upsertOneMutably),
1962 upsertMany: createStateOperator(upsertManyMutably),
1963 removeOne: createStateOperator(removeOneMutably),
1964 removeMany: createStateOperator(removeManyMutably)
1965 };
1966 }
1967 // src/entities/sorted_state_adapter.ts
1968 function createSortedStateAdapter(selectId, sort) {
1969 var _c = createUnsortedStateAdapter(selectId), removeOne = _c.removeOne, removeMany = _c.removeMany, removeAll = _c.removeAll;
1970 function addOneMutably(entity, state) {
1971 return addManyMutably([entity], state);
1972 }
1973 function addManyMutably(newEntities, state) {
1974 newEntities = ensureEntitiesArray(newEntities);
1975 var models = newEntities.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); });
1976 if (models.length !== 0) {
1977 merge(models, state);
1978 }
1979 }
1980 function setOneMutably(entity, state) {
1981 return setManyMutably([entity], state);
1982 }
1983 function setManyMutably(newEntities, state) {
1984 newEntities = ensureEntitiesArray(newEntities);
1985 if (newEntities.length !== 0) {
1986 merge(newEntities, state);
1987 }
1988 }
1989 function setAllMutably(newEntities, state) {
1990 newEntities = ensureEntitiesArray(newEntities);
1991 state.entities = {};
1992 state.ids = [];
1993 addManyMutably(newEntities, state);
1994 }
1995 function updateOneMutably(update, state) {
1996 return updateManyMutably([update], state);
1997 }
1998 function takeUpdatedModel(models, update, state) {
1999 if (!(update.id in state.entities)) {
2000 return false;
2001 }
2002 var original = state.entities[update.id];
2003 var updated = Object.assign({}, original, update.changes);
2004 var newKey = selectIdValue(updated, selectId);
2005 delete state.entities[update.id];
2006 models.push(updated);
2007 return newKey !== update.id;
2008 }
2009 function updateManyMutably(updates, state) {
2010 var models = [];
2011 updates.forEach(function (update) { return takeUpdatedModel(models, update, state); });
2012 if (models.length !== 0) {
2013 merge(models, state);
2014 }
2015 }
2016 function upsertOneMutably(entity, state) {
2017 return upsertManyMutably([entity], state);
2018 }
2019 function upsertManyMutably(newEntities, state) {
2020 var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];
2021 updateManyMutably(updated, state);
2022 addManyMutably(added, state);
2023 }
2024 function areArraysEqual(a2, b2) {
2025 if (a2.length !== b2.length) {
2026 return false;
2027 }
2028 for (var i2 = 0; i2 < a2.length && i2 < b2.length; i2++) {
2029 if (a2[i2] === b2[i2]) {
2030 continue;
2031 }
2032 return false;
2033 }
2034 return true;
2035 }
2036 function merge(models, state) {
2037 models.forEach(function (model) {
2038 state.entities[selectId(model)] = model;
2039 });
2040 var allEntities = Object.values(state.entities);
2041 allEntities.sort(sort);
2042 var newSortedIds = allEntities.map(selectId);
2043 var ids = state.ids;
2044 if (!areArraysEqual(ids, newSortedIds)) {
2045 state.ids = newSortedIds;
2046 }
2047 }
2048 return {
2049 removeOne: removeOne,
2050 removeMany: removeMany,
2051 removeAll: removeAll,
2052 addOne: createStateOperator(addOneMutably),
2053 updateOne: createStateOperator(updateOneMutably),
2054 upsertOne: createStateOperator(upsertOneMutably),
2055 setOne: createStateOperator(setOneMutably),
2056 setMany: createStateOperator(setManyMutably),
2057 setAll: createStateOperator(setAllMutably),
2058 addMany: createStateOperator(addManyMutably),
2059 updateMany: createStateOperator(updateManyMutably),
2060 upsertMany: createStateOperator(upsertManyMutably)
2061 };
2062 }
2063 // src/entities/create_adapter.ts
2064 function createEntityAdapter(options) {
2065 if (options === void 0) { options = {}; }
2066 var _c = __spreadValues({
2067 sortComparer: false,
2068 selectId: function (instance) { return instance.id; }
2069 }, options), selectId = _c.selectId, sortComparer = _c.sortComparer;
2070 var stateFactory = createInitialStateFactory();
2071 var selectorsFactory = createSelectorsFactory();
2072 var stateAdapter = sortComparer ? createSortedStateAdapter(selectId, sortComparer) : createUnsortedStateAdapter(selectId);
2073 return __spreadValues(__spreadValues(__spreadValues({
2074 selectId: selectId,
2075 sortComparer: sortComparer
2076 }, stateFactory), selectorsFactory), stateAdapter);
2077 }
2078 // src/nanoid.ts
2079 var urlAlphabet = "ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW";
2080 var nanoid = function (size) {
2081 if (size === void 0) { size = 21; }
2082 var id = "";
2083 var i2 = size;
2084 while (i2--) {
2085 id += urlAlphabet[Math.random() * 64 | 0];
2086 }
2087 return id;
2088 };
2089 // src/createAsyncThunk.ts
2090 var commonProperties = [
2091 "name",
2092 "message",
2093 "stack",
2094 "code"
2095 ];
2096 var RejectWithValue = /** @class */ (function () {
2097 function RejectWithValue(payload, meta) {
2098 this.payload = payload;
2099 this.meta = meta;
2100 }
2101 return RejectWithValue;
2102 }());
2103 var FulfillWithMeta = /** @class */ (function () {
2104 function FulfillWithMeta(payload, meta) {
2105 this.payload = payload;
2106 this.meta = meta;
2107 }
2108 return FulfillWithMeta;
2109 }());
2110 var miniSerializeError = function (value) {
2111 if (typeof value === "object" && value !== null) {
2112 var simpleError = {};
2113 for (var _c = 0, commonProperties_1 = commonProperties; _c < commonProperties_1.length; _c++) {
2114 var property = commonProperties_1[_c];
2115 if (typeof value[property] === "string") {
2116 simpleError[property] = value[property];
2117 }
2118 }
2119 return simpleError;
2120 }
2121 return { message: String(value) };
2122 };
2123 function createAsyncThunk(typePrefix, payloadCreator, options) {
2124 var fulfilled = createAction(typePrefix + "/fulfilled", function (payload, requestId, arg, meta) { return ({
2125 payload: payload,
2126 meta: __spreadProps(__spreadValues({}, meta || {}), {
2127 arg: arg,
2128 requestId: requestId,
2129 requestStatus: "fulfilled"
2130 })
2131 }); });
2132 var pending = createAction(typePrefix + "/pending", function (requestId, arg, meta) { return ({
2133 payload: void 0,
2134 meta: __spreadProps(__spreadValues({}, meta || {}), {
2135 arg: arg,
2136 requestId: requestId,
2137 requestStatus: "pending"
2138 })
2139 }); });
2140 var rejected = createAction(typePrefix + "/rejected", function (error, requestId, arg, payload, meta) { return ({
2141 payload: payload,
2142 error: (options && options.serializeError || miniSerializeError)(error || "Rejected"),
2143 meta: __spreadProps(__spreadValues({}, meta || {}), {
2144 arg: arg,
2145 requestId: requestId,
2146 rejectedWithValue: !!payload,
2147 requestStatus: "rejected",
2148 aborted: (error == null ? void 0 : error.name) === "AbortError",
2149 condition: (error == null ? void 0 : error.name) === "ConditionError"
2150 })
2151 }); });
2152 var displayedWarning = false;
2153 var AC = typeof AbortController !== "undefined" ? AbortController : /** @class */ (function () {
2154 function class_1() {
2155 this.signal = {
2156 aborted: false,
2157 addEventListener: function () {
2158 },
2159 dispatchEvent: function () {
2160 return false;
2161 },
2162 onabort: function () {
2163 },
2164 removeEventListener: function () {
2165 }
2166 };
2167 }
2168 class_1.prototype.abort = function () {
2169 {
2170 if (!displayedWarning) {
2171 displayedWarning = true;
2172 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'.");
2173 }
2174 }
2175 };
2176 return class_1;
2177 }());
2178 function actionCreator(arg) {
2179 return function (dispatch, getState, extra) {
2180 var requestId = (options == null ? void 0 : options.idGenerator) ? options.idGenerator(arg) : nanoid();
2181 var abortController = new AC();
2182 var abortReason;
2183 var abortedPromise = new Promise(function (_2, reject) { return abortController.signal.addEventListener("abort", function () { return reject({ name: "AbortError", message: abortReason || "Aborted" }); }); });
2184 var started = false;
2185 function abort(reason) {
2186 if (started) {
2187 abortReason = reason;
2188 abortController.abort();
2189 }
2190 }
2191 var promise = function () {
2192 return __async(this, null, function () {
2193 var _a, _b, finalAction, conditionResult, err_1, skipDispatch;
2194 return __generator(this, function (_c) {
2195 switch (_c.label) {
2196 case 0:
2197 _c.trys.push([0, 4, , 5]);
2198 conditionResult = (_a = options == null ? void 0 : options.condition) == null ? void 0 : _a.call(options, arg, { getState: getState, extra: extra });
2199 if (!isThenable(conditionResult)) return [3 /*break*/, 2];
2200 return [4 /*yield*/, conditionResult];
2201 case 1:
2202 conditionResult = _c.sent();
2203 _c.label = 2;
2204 case 2:
2205 if (conditionResult === false) {
2206 throw {
2207 name: "ConditionError",
2208 message: "Aborted due to condition callback returning false."
2209 };
2210 }
2211 started = true;
2212 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 })));
2213 return [4 /*yield*/, Promise.race([
2214 abortedPromise,
2215 Promise.resolve(payloadCreator(arg, {
2216 dispatch: dispatch,
2217 getState: getState,
2218 extra: extra,
2219 requestId: requestId,
2220 signal: abortController.signal,
2221 rejectWithValue: function (value, meta) {
2222 return new RejectWithValue(value, meta);
2223 },
2224 fulfillWithValue: function (value, meta) {
2225 return new FulfillWithMeta(value, meta);
2226 }
2227 })).then(function (result) {
2228 if (result instanceof RejectWithValue) {
2229 throw result;
2230 }
2231 if (result instanceof FulfillWithMeta) {
2232 return fulfilled(result.payload, requestId, arg, result.meta);
2233 }
2234 return fulfilled(result, requestId, arg);
2235 })
2236 ])];
2237 case 3:
2238 finalAction = _c.sent();
2239 return [3 /*break*/, 5];
2240 case 4:
2241 err_1 = _c.sent();
2242 finalAction = err_1 instanceof RejectWithValue ? rejected(null, requestId, arg, err_1.payload, err_1.meta) : rejected(err_1, requestId, arg);
2243 return [3 /*break*/, 5];
2244 case 5:
2245 skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition;
2246 if (!skipDispatch) {
2247 dispatch(finalAction);
2248 }
2249 return [2 /*return*/, finalAction];
2250 }
2251 });
2252 });
2253 }();
2254 return Object.assign(promise, {
2255 abort: abort,
2256 requestId: requestId,
2257 arg: arg,
2258 unwrap: function () {
2259 return promise.then(unwrapResult);
2260 }
2261 });
2262 };
2263 }
2264 return Object.assign(actionCreator, {
2265 pending: pending,
2266 rejected: rejected,
2267 fulfilled: fulfilled,
2268 typePrefix: typePrefix
2269 });
2270 }
2271 function unwrapResult(action) {
2272 if (action.meta && action.meta.rejectedWithValue) {
2273 throw action.payload;
2274 }
2275 if (action.error) {
2276 throw action.error;
2277 }
2278 return action.payload;
2279 }
2280 function isThenable(value) {
2281 return value !== null && typeof value === "object" && typeof value.then === "function";
2282 }
2283 // src/tsHelpers.ts
2284 var hasMatchFunction = function (v2) {
2285 return v2 && typeof v2.match === "function";
2286 };
2287 // src/matchers.ts
2288 var matches = function (matcher, action) {
2289 if (hasMatchFunction(matcher)) {
2290 return matcher.match(action);
2291 }
2292 else {
2293 return matcher(action);
2294 }
2295 };
2296 function isAnyOf() {
2297 var matchers = [];
2298 for (var _c = 0; _c < arguments.length; _c++) {
2299 matchers[_c] = arguments[_c];
2300 }
2301 return function (action) {
2302 return matchers.some(function (matcher) { return matches(matcher, action); });
2303 };
2304 }
2305 function isAllOf() {
2306 var matchers = [];
2307 for (var _c = 0; _c < arguments.length; _c++) {
2308 matchers[_c] = arguments[_c];
2309 }
2310 return function (action) {
2311 return matchers.every(function (matcher) { return matches(matcher, action); });
2312 };
2313 }
2314 function hasExpectedRequestMetadata(action, validStatus) {
2315 if (!action || !action.meta)
2316 return false;
2317 var hasValidRequestId = typeof action.meta.requestId === "string";
2318 var hasValidRequestStatus = validStatus.indexOf(action.meta.requestStatus) > -1;
2319 return hasValidRequestId && hasValidRequestStatus;
2320 }
2321 function isAsyncThunkArray(a2) {
2322 return typeof a2[0] === "function" && "pending" in a2[0] && "fulfilled" in a2[0] && "rejected" in a2[0];
2323 }
2324 function isPending() {
2325 var asyncThunks = [];
2326 for (var _c = 0; _c < arguments.length; _c++) {
2327 asyncThunks[_c] = arguments[_c];
2328 }
2329 if (asyncThunks.length === 0) {
2330 return function (action) { return hasExpectedRequestMetadata(action, ["pending"]); };
2331 }
2332 if (!isAsyncThunkArray(asyncThunks)) {
2333 return isPending()(asyncThunks[0]);
2334 }
2335 return function (action) {
2336 var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.pending; });
2337 var combinedMatcher = isAnyOf.apply(void 0, matchers);
2338 return combinedMatcher(action);
2339 };
2340 }
2341 function isRejected() {
2342 var asyncThunks = [];
2343 for (var _c = 0; _c < arguments.length; _c++) {
2344 asyncThunks[_c] = arguments[_c];
2345 }
2346 if (asyncThunks.length === 0) {
2347 return function (action) { return hasExpectedRequestMetadata(action, ["rejected"]); };
2348 }
2349 if (!isAsyncThunkArray(asyncThunks)) {
2350 return isRejected()(asyncThunks[0]);
2351 }
2352 return function (action) {
2353 var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.rejected; });
2354 var combinedMatcher = isAnyOf.apply(void 0, matchers);
2355 return combinedMatcher(action);
2356 };
2357 }
2358 function isRejectedWithValue() {
2359 var asyncThunks = [];
2360 for (var _c = 0; _c < arguments.length; _c++) {
2361 asyncThunks[_c] = arguments[_c];
2362 }
2363 var hasFlag = function (action) {
2364 return action && action.meta && action.meta.rejectedWithValue;
2365 };
2366 if (asyncThunks.length === 0) {
2367 return function (action) {
2368 var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);
2369 return combinedMatcher(action);
2370 };
2371 }
2372 if (!isAsyncThunkArray(asyncThunks)) {
2373 return isRejectedWithValue()(asyncThunks[0]);
2374 }
2375 return function (action) {
2376 var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);
2377 return combinedMatcher(action);
2378 };
2379 }
2380 function isFulfilled() {
2381 var asyncThunks = [];
2382 for (var _c = 0; _c < arguments.length; _c++) {
2383 asyncThunks[_c] = arguments[_c];
2384 }
2385 if (asyncThunks.length === 0) {
2386 return function (action) { return hasExpectedRequestMetadata(action, ["fulfilled"]); };
2387 }
2388 if (!isAsyncThunkArray(asyncThunks)) {
2389 return isFulfilled()(asyncThunks[0]);
2390 }
2391 return function (action) {
2392 var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.fulfilled; });
2393 var combinedMatcher = isAnyOf.apply(void 0, matchers);
2394 return combinedMatcher(action);
2395 };
2396 }
2397 function isAsyncThunkAction() {
2398 var asyncThunks = [];
2399 for (var _c = 0; _c < arguments.length; _c++) {
2400 asyncThunks[_c] = arguments[_c];
2401 }
2402 if (asyncThunks.length === 0) {
2403 return function (action) { return hasExpectedRequestMetadata(action, ["pending", "fulfilled", "rejected"]); };
2404 }
2405 if (!isAsyncThunkArray(asyncThunks)) {
2406 return isAsyncThunkAction()(asyncThunks[0]);
2407 }
2408 return function (action) {
2409 var matchers = [];
2410 for (var _c = 0, asyncThunks_1 = asyncThunks; _c < asyncThunks_1.length; _c++) {
2411 var asyncThunk = asyncThunks_1[_c];
2412 matchers.push(asyncThunk.pending, asyncThunk.rejected, asyncThunk.fulfilled);
2413 }
2414 var combinedMatcher = isAnyOf.apply(void 0, matchers);
2415 return combinedMatcher(action);
2416 };
2417 }
2418 // src/listenerMiddleware/utils.ts
2419 var assertFunction = function (func, expected) {
2420 if (typeof func !== "function") {
2421 throw new TypeError(expected + " is not a function");
2422 }
2423 };
2424 var noop = function () {
2425 };
2426 var catchRejection = function (promise, onError) {
2427 if (onError === void 0) { onError = noop; }
2428 promise.catch(onError);
2429 return promise;
2430 };
2431 var addAbortSignalListener = function (abortSignal, callback) {
2432 abortSignal.addEventListener("abort", callback, { once: true });
2433 };
2434 var abortControllerWithReason = function (abortController, reason) {
2435 var signal = abortController.signal;
2436 if (signal.aborted) {
2437 return;
2438 }
2439 if (!("reason" in signal)) {
2440 Object.defineProperty(signal, "reason", {
2441 enumerable: true,
2442 value: reason,
2443 configurable: true,
2444 writable: true
2445 });
2446 }
2447 abortController.abort(reason);
2448 };
2449 // src/listenerMiddleware/exceptions.ts
2450 var task = "task";
2451 var listener = "listener";
2452 var completed = "completed";
2453 var cancelled = "cancelled";
2454 var taskCancelled = "task-" + cancelled;
2455 var taskCompleted = "task-" + completed;
2456 var listenerCancelled = listener + "-" + cancelled;
2457 var listenerCompleted = listener + "-" + completed;
2458 var TaskAbortError = /** @class */ (function () {
2459 function TaskAbortError(code) {
2460 this.code = code;
2461 this.name = "TaskAbortError";
2462 this.message = task + " " + cancelled + " (reason: " + code + ")";
2463 }
2464 return TaskAbortError;
2465 }());
2466 // src/listenerMiddleware/task.ts
2467 var validateActive = function (signal) {
2468 if (signal.aborted) {
2469 throw new TaskAbortError(signal.reason);
2470 }
2471 };
2472 var promisifyAbortSignal = function (signal) {
2473 return catchRejection(new Promise(function (_2, reject) {
2474 var notifyRejection = function () { return reject(new TaskAbortError(signal.reason)); };
2475 if (signal.aborted) {
2476 notifyRejection();
2477 }
2478 else {
2479 addAbortSignalListener(signal, notifyRejection);
2480 }
2481 }));
2482 };
2483 var runTask = function (task2, cleanUp) { return __async(void 0, null, function () {
2484 var value, error_1;
2485 return __generator(this, function (_c) {
2486 switch (_c.label) {
2487 case 0:
2488 _c.trys.push([0, 3, 4, 5]);
2489 return [4 /*yield*/, Promise.resolve()];
2490 case 1:
2491 _c.sent();
2492 return [4 /*yield*/, task2()];
2493 case 2:
2494 value = _c.sent();
2495 return [2 /*return*/, {
2496 status: "ok",
2497 value: value
2498 }];
2499 case 3:
2500 error_1 = _c.sent();
2501 return [2 /*return*/, {
2502 status: error_1 instanceof TaskAbortError ? "cancelled" : "rejected",
2503 error: error_1
2504 }];
2505 case 4:
2506 cleanUp == null ? void 0 : cleanUp();
2507 return [7 /*endfinally*/];
2508 case 5: return [2 /*return*/];
2509 }
2510 });
2511 }); };
2512 var createPause = function (signal) {
2513 return function (promise) {
2514 return catchRejection(Promise.race([promisifyAbortSignal(signal), promise]).then(function (output) {
2515 validateActive(signal);
2516 return output;
2517 }));
2518 };
2519 };
2520 var createDelay = function (signal) {
2521 var pause = createPause(signal);
2522 return function (timeoutMs) {
2523 return pause(new Promise(function (resolve) { return setTimeout(resolve, timeoutMs); }));
2524 };
2525 };
2526 // src/listenerMiddleware/index.ts
2527 var assign = Object.assign;
2528 var INTERNAL_NIL_TOKEN = {};
2529 var alm = "listenerMiddleware";
2530 var createFork = function (parentAbortSignal) {
2531 var linkControllers = function (controller) { return addAbortSignalListener(parentAbortSignal, function () { return abortControllerWithReason(controller, parentAbortSignal.reason); }); };
2532 return function (taskExecutor) {
2533 assertFunction(taskExecutor, "taskExecutor");
2534 var childAbortController = new AbortController();
2535 linkControllers(childAbortController);
2536 var result = runTask(function () { return __async(void 0, null, function () {
2537 var result2;
2538 return __generator(this, function (_c) {
2539 switch (_c.label) {
2540 case 0:
2541 validateActive(parentAbortSignal);
2542 validateActive(childAbortController.signal);
2543 return [4 /*yield*/, taskExecutor({
2544 pause: createPause(childAbortController.signal),
2545 delay: createDelay(childAbortController.signal),
2546 signal: childAbortController.signal
2547 })];
2548 case 1:
2549 result2 = _c.sent();
2550 validateActive(childAbortController.signal);
2551 return [2 /*return*/, result2];
2552 }
2553 });
2554 }); }, function () { return abortControllerWithReason(childAbortController, taskCompleted); });
2555 return {
2556 result: createPause(parentAbortSignal)(result),
2557 cancel: function () {
2558 abortControllerWithReason(childAbortController, taskCancelled);
2559 }
2560 };
2561 };
2562 };
2563 var createTakePattern = function (startListening, signal) {
2564 var take = function (predicate, timeout) { return __async(void 0, null, function () {
2565 var unsubscribe, tuplePromise, promises, output;
2566 return __generator(this, function (_c) {
2567 switch (_c.label) {
2568 case 0:
2569 validateActive(signal);
2570 unsubscribe = function () {
2571 };
2572 tuplePromise = new Promise(function (resolve) {
2573 unsubscribe = startListening({
2574 predicate: predicate,
2575 effect: function (action, listenerApi) {
2576 listenerApi.unsubscribe();
2577 resolve([
2578 action,
2579 listenerApi.getState(),
2580 listenerApi.getOriginalState()
2581 ]);
2582 }
2583 });
2584 });
2585 promises = [
2586 promisifyAbortSignal(signal),
2587 tuplePromise
2588 ];
2589 if (timeout != null) {
2590 promises.push(new Promise(function (resolve) { return setTimeout(resolve, timeout, null); }));
2591 }
2592 _c.label = 1;
2593 case 1:
2594 _c.trys.push([1, , 3, 4]);
2595 return [4 /*yield*/, Promise.race(promises)];
2596 case 2:
2597 output = _c.sent();
2598 validateActive(signal);
2599 return [2 /*return*/, output];
2600 case 3:
2601 unsubscribe();
2602 return [7 /*endfinally*/];
2603 case 4: return [2 /*return*/];
2604 }
2605 });
2606 }); };
2607 return function (predicate, timeout) { return catchRejection(take(predicate, timeout)); };
2608 };
2609 var getListenerEntryPropsFrom = function (options) {
2610 var type = options.type, actionCreator = options.actionCreator, matcher = options.matcher, predicate = options.predicate, effect = options.effect;
2611 if (type) {
2612 predicate = createAction(type).match;
2613 }
2614 else if (actionCreator) {
2615 type = actionCreator.type;
2616 predicate = actionCreator.match;
2617 }
2618 else if (matcher) {
2619 predicate = matcher;
2620 }
2621 else if (predicate) ;
2622 else {
2623 throw new Error("Creating or removing a listener requires one of the known fields for matching an action");
2624 }
2625 assertFunction(effect, "options.listener");
2626 return { predicate: predicate, type: type, effect: effect };
2627 };
2628 var createListenerEntry = function (options) {
2629 var _c = getListenerEntryPropsFrom(options), type = _c.type, predicate = _c.predicate, effect = _c.effect;
2630 var id = nanoid();
2631 var entry = {
2632 id: id,
2633 effect: effect,
2634 type: type,
2635 predicate: predicate,
2636 pending: new Set(),
2637 unsubscribe: function () {
2638 throw new Error("Unsubscribe not initialized");
2639 }
2640 };
2641 return entry;
2642 };
2643 var createClearListenerMiddleware = function (listenerMap) {
2644 return function () {
2645 listenerMap.forEach(cancelActiveListeners);
2646 listenerMap.clear();
2647 };
2648 };
2649 var safelyNotifyError = function (errorHandler, errorToNotify, errorInfo) {
2650 try {
2651 errorHandler(errorToNotify, errorInfo);
2652 }
2653 catch (errorHandlerError) {
2654 setTimeout(function () {
2655 throw errorHandlerError;
2656 }, 0);
2657 }
2658 };
2659 var addListener = createAction(alm + "/add");
2660 var clearAllListeners = createAction(alm + "/removeAll");
2661 var removeListener = createAction(alm + "/remove");
2662 var defaultErrorHandler = function () {
2663 var args = [];
2664 for (var _c = 0; _c < arguments.length; _c++) {
2665 args[_c] = arguments[_c];
2666 }
2667 console.error.apply(console, __spreadArray([alm + "/error"], args));
2668 };
2669 var cancelActiveListeners = function (entry) {
2670 entry.pending.forEach(function (controller) {
2671 abortControllerWithReason(controller, listenerCancelled);
2672 });
2673 };
2674 function createListenerMiddleware(middlewareOptions) {
2675 var _this = this;
2676 if (middlewareOptions === void 0) { middlewareOptions = {}; }
2677 var listenerMap = new Map();
2678 var extra = middlewareOptions.extra, _c = middlewareOptions.onError, onError = _c === void 0 ? defaultErrorHandler : _c;
2679 assertFunction(onError, "onError");
2680 var insertEntry = function (entry) {
2681 entry.unsubscribe = function () { return listenerMap.delete(entry.id); };
2682 listenerMap.set(entry.id, entry);
2683 return function (cancelOptions) {
2684 entry.unsubscribe();
2685 if (cancelOptions == null ? void 0 : cancelOptions.cancelActive) {
2686 cancelActiveListeners(entry);
2687 }
2688 };
2689 };
2690 var findListenerEntry = function (comparator) {
2691 for (var _c = 0, _d = Array.from(listenerMap.values()); _c < _d.length; _c++) {
2692 var entry = _d[_c];
2693 if (comparator(entry)) {
2694 return entry;
2695 }
2696 }
2697 return void 0;
2698 };
2699 var startListening = function (options) {
2700 var entry = findListenerEntry(function (existingEntry) { return existingEntry.effect === options.effect; });
2701 if (!entry) {
2702 entry = createListenerEntry(options);
2703 }
2704 return insertEntry(entry);
2705 };
2706 var stopListening = function (options) {
2707 var _c = getListenerEntryPropsFrom(options), type = _c.type, effect = _c.effect, predicate = _c.predicate;
2708 var entry = findListenerEntry(function (entry2) {
2709 var matchPredicateOrType = typeof type === "string" ? entry2.type === type : entry2.predicate === predicate;
2710 return matchPredicateOrType && entry2.effect === effect;
2711 });
2712 if (entry) {
2713 entry.unsubscribe();
2714 if (options.cancelActive) {
2715 cancelActiveListeners(entry);
2716 }
2717 }
2718 return !!entry;
2719 };
2720 var notifyListener = function (entry, action, api, getOriginalState) { return __async(_this, null, function () {
2721 var internalTaskController, take, listenerError_1;
2722 return __generator(this, function (_c) {
2723 switch (_c.label) {
2724 case 0:
2725 internalTaskController = new AbortController();
2726 take = createTakePattern(startListening, internalTaskController.signal);
2727 _c.label = 1;
2728 case 1:
2729 _c.trys.push([1, 3, 4, 5]);
2730 entry.pending.add(internalTaskController);
2731 return [4 /*yield*/, Promise.resolve(entry.effect(action, assign({}, api, {
2732 getOriginalState: getOriginalState,
2733 condition: function (predicate, timeout) { return take(predicate, timeout).then(Boolean); },
2734 take: take,
2735 delay: createDelay(internalTaskController.signal),
2736 pause: createPause(internalTaskController.signal),
2737 extra: extra,
2738 signal: internalTaskController.signal,
2739 fork: createFork(internalTaskController.signal),
2740 unsubscribe: entry.unsubscribe,
2741 subscribe: function () {
2742 listenerMap.set(entry.id, entry);
2743 },
2744 cancelActiveListeners: function () {
2745 entry.pending.forEach(function (controller, _2, set) {
2746 if (controller !== internalTaskController) {
2747 abortControllerWithReason(controller, listenerCancelled);
2748 set.delete(controller);
2749 }
2750 });
2751 }
2752 })))];
2753 case 2:
2754 _c.sent();
2755 return [3 /*break*/, 5];
2756 case 3:
2757 listenerError_1 = _c.sent();
2758 if (!(listenerError_1 instanceof TaskAbortError)) {
2759 safelyNotifyError(onError, listenerError_1, {
2760 raisedBy: "effect"
2761 });
2762 }
2763 return [3 /*break*/, 5];
2764 case 4:
2765 abortControllerWithReason(internalTaskController, listenerCompleted);
2766 entry.pending.delete(internalTaskController);
2767 return [7 /*endfinally*/];
2768 case 5: return [2 /*return*/];
2769 }
2770 });
2771 }); };
2772 var clearListenerMiddleware = createClearListenerMiddleware(listenerMap);
2773 var middleware = function (api) { return function (next) { return function (action) {
2774 if (addListener.match(action)) {
2775 return startListening(action.payload);
2776 }
2777 if (clearAllListeners.match(action)) {
2778 clearListenerMiddleware();
2779 return;
2780 }
2781 if (removeListener.match(action)) {
2782 return stopListening(action.payload);
2783 }
2784 var originalState = api.getState();
2785 var getOriginalState = function () {
2786 if (originalState === INTERNAL_NIL_TOKEN) {
2787 throw new Error(alm + ": getOriginalState can only be called synchronously");
2788 }
2789 return originalState;
2790 };
2791 var result;
2792 try {
2793 result = next(action);
2794 if (listenerMap.size > 0) {
2795 var currentState = api.getState();
2796 var listenerEntries = Array.from(listenerMap.values());
2797 for (var _c = 0, listenerEntries_1 = listenerEntries; _c < listenerEntries_1.length; _c++) {
2798 var entry = listenerEntries_1[_c];
2799 var runListener = false;
2800 try {
2801 runListener = entry.predicate(action, currentState, originalState);
2802 }
2803 catch (predicateError) {
2804 runListener = false;
2805 safelyNotifyError(onError, predicateError, {
2806 raisedBy: "predicate"
2807 });
2808 }
2809 if (!runListener) {
2810 continue;
2811 }
2812 notifyListener(entry, action, api, getOriginalState);
2813 }
2814 }
2815 }
2816 finally {
2817 originalState = INTERNAL_NIL_TOKEN;
2818 }
2819 return result;
2820 }; }; };
2821 return {
2822 middleware: middleware,
2823 startListening: startListening,
2824 stopListening: stopListening,
2825 clearListeners: clearListenerMiddleware
2826 };
2827 }
2828 // src/index.ts
2829 N();
2830
2831 exports.MiddlewareArray = MiddlewareArray;
2832 exports.TaskAbortError = TaskAbortError;
2833 exports.__DO_NOT_USE__ActionTypes = ActionTypes;
2834 exports.addListener = addListener;
2835 exports.applyMiddleware = applyMiddleware;
2836 exports.bindActionCreators = bindActionCreators;
2837 exports.clearAllListeners = clearAllListeners;
2838 exports.combineReducers = combineReducers;
2839 exports.compose = compose;
2840 exports.configureStore = configureStore;
2841 exports.createAction = createAction;
2842 exports.createAsyncThunk = createAsyncThunk;
2843 exports.createDraftSafeSelector = createDraftSafeSelector;
2844 exports.createEntityAdapter = createEntityAdapter;
2845 exports.createImmutableStateInvariantMiddleware = createImmutableStateInvariantMiddleware;
2846 exports.createListenerMiddleware = createListenerMiddleware;
2847 exports.createNextState = immer_esm_default;
2848 exports.createReducer = createReducer;
2849 exports.createSelector = createSelector;
2850 exports.createSerializableStateInvariantMiddleware = createSerializableStateInvariantMiddleware;
2851 exports.createSlice = createSlice;
2852 exports.createStore = createStore;
2853 exports.current = D;
2854 exports.findNonSerializableValue = findNonSerializableValue;
2855 exports.freeze = d;
2856 exports.getDefaultMiddleware = getDefaultMiddleware;
2857 exports.getType = getType;
2858 exports.isAllOf = isAllOf;
2859 exports.isAnyOf = isAnyOf;
2860 exports.isAsyncThunkAction = isAsyncThunkAction;
2861 exports.isDraft = t;
2862 exports.isFulfilled = isFulfilled;
2863 exports.isImmutableDefault = isImmutableDefault;
2864 exports.isPending = isPending;
2865 exports.isPlain = isPlain;
2866 exports.isPlainObject = isPlainObject2;
2867 exports.isRejected = isRejected;
2868 exports.isRejectedWithValue = isRejectedWithValue;
2869 exports.miniSerializeError = miniSerializeError;
2870 exports.nanoid = nanoid;
2871 exports.original = e;
2872 exports.removeListener = removeListener;
2873 exports.unwrapResult = unwrapResult;
2874
2875 Object.defineProperty(exports, '__esModule', { value: true });
2876
2877})));
2878//# sourceMappingURL=redux-toolkit.umd.js.map