@frontegg/js 6.97.0 → 6.98.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1204,7 +1204,7 @@ __webpack_require__.r(__webpack_exports__);
1204
1204
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1205
1205
  /* harmony export */ });
1206
1206
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
1207
- cdnVersion: '6.97.0'
1207
+ cdnVersion: '6.98.0-alpha.0'
1208
1208
  });
1209
1209
 
1210
1210
  /***/ }),
@@ -3567,7 +3567,7 @@ __webpack_require__.r(__webpack_exports__);
3567
3567
 
3568
3568
 
3569
3569
  const customLoginState = {
3570
- loading: false,
3570
+ loading: true,
3571
3571
  error: null
3572
3572
  };
3573
3573
  const reducers = {
@@ -18575,7 +18575,7 @@ __webpack_require__.r(__webpack_exports__);
18575
18575
  /* harmony export */ });
18576
18576
  /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js");
18577
18577
  /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../node_modules/redux/es/redux.js");
18578
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../node_modules/reselect/es/index.js");
18578
+ /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../node_modules/@reduxjs/toolkit/node_modules/reselect/es/index.js");
18579
18579
 
18580
18580
 
18581
18581
  /***/ }),
@@ -19832,7 +19832,7 @@ __webpack_require__.r(__webpack_exports__);
19832
19832
  /* harmony export */ });
19833
19833
  /* harmony import */ var _ThemeOptions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ThemeOptions */ "../../dist/@frontegg/types/ThemeOptions/index.js");
19834
19834
  /* harmony import */ var _Metadata__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Metadata */ "../../dist/@frontegg/types/Metadata/index.js");
19835
- /** @license Frontegg v6.97.0
19835
+ /** @license Frontegg v6.98.0-alpha.0
19836
19836
  *
19837
19837
  * This source code is licensed under the MIT license found in the
19838
19838
  * LICENSE file in the root directory of this source tree.
@@ -26278,7 +26278,7 @@ __webpack_require__.r(__webpack_exports__);
26278
26278
  /* harmony export */ });
26279
26279
  /* harmony import */ var immer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! immer */ "../../node_modules/immer/dist/immer.esm.mjs");
26280
26280
  /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! redux */ "../../node_modules/redux/es/redux.js");
26281
- /* harmony import */ var reselect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! reselect */ "../../node_modules/reselect/es/index.js");
26281
+ /* harmony import */ var reselect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! reselect */ "../../node_modules/@reduxjs/toolkit/node_modules/reselect/es/index.js");
26282
26282
  /* harmony import */ var redux_thunk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! redux-thunk */ "../../node_modules/redux-thunk/es/index.js");
26283
26283
  var __extends = (undefined && undefined.__extends) || (function () {
26284
26284
  var extendStatics = function (d, b) {
@@ -28059,343 +28059,655 @@ function createListenerMiddleware(middlewareOptions) {
28059
28059
 
28060
28060
  /***/ }),
28061
28061
 
28062
- /***/ "../../node_modules/deepmerge/dist/cjs.js":
28063
- /*!************************************************!*\
28064
- !*** ../../node_modules/deepmerge/dist/cjs.js ***!
28065
- \************************************************/
28066
- /***/ ((module) => {
28062
+ /***/ "../../node_modules/@reduxjs/toolkit/node_modules/reselect/es/defaultMemoize.js":
28063
+ /*!**************************************************************************************!*\
28064
+ !*** ../../node_modules/@reduxjs/toolkit/node_modules/reselect/es/defaultMemoize.js ***!
28065
+ \**************************************************************************************/
28066
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
28067
28067
 
28068
28068
  "use strict";
28069
+ __webpack_require__.r(__webpack_exports__);
28070
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
28071
+ /* harmony export */ "createCacheKeyComparator": () => (/* binding */ createCacheKeyComparator),
28072
+ /* harmony export */ "defaultEqualityCheck": () => (/* binding */ defaultEqualityCheck),
28073
+ /* harmony export */ "defaultMemoize": () => (/* binding */ defaultMemoize)
28074
+ /* harmony export */ });
28075
+ // Cache implementation based on Erik Rasmussen's `lru-memoize`:
28076
+ // https://github.com/erikras/lru-memoize
28077
+ var NOT_FOUND = 'NOT_FOUND';
28069
28078
 
28079
+ function createSingletonCache(equals) {
28080
+ var entry;
28081
+ return {
28082
+ get: function get(key) {
28083
+ if (entry && equals(entry.key, key)) {
28084
+ return entry.value;
28085
+ }
28070
28086
 
28071
- var isMergeableObject = function isMergeableObject(value) {
28072
- return isNonNullObject(value)
28073
- && !isSpecial(value)
28074
- };
28075
-
28076
- function isNonNullObject(value) {
28077
- return !!value && typeof value === 'object'
28087
+ return NOT_FOUND;
28088
+ },
28089
+ put: function put(key, value) {
28090
+ entry = {
28091
+ key: key,
28092
+ value: value
28093
+ };
28094
+ },
28095
+ getEntries: function getEntries() {
28096
+ return entry ? [entry] : [];
28097
+ },
28098
+ clear: function clear() {
28099
+ entry = undefined;
28100
+ }
28101
+ };
28078
28102
  }
28079
28103
 
28080
- function isSpecial(value) {
28081
- var stringValue = Object.prototype.toString.call(value);
28104
+ function createLruCache(maxSize, equals) {
28105
+ var entries = [];
28082
28106
 
28083
- return stringValue === '[object RegExp]'
28084
- || stringValue === '[object Date]'
28085
- || isReactElement(value)
28086
- }
28107
+ function get(key) {
28108
+ var cacheIndex = entries.findIndex(function (entry) {
28109
+ return equals(key, entry.key);
28110
+ }); // We found a cached entry
28087
28111
 
28088
- // see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25
28089
- var canUseSymbol = typeof Symbol === 'function' && Symbol.for;
28090
- var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;
28112
+ if (cacheIndex > -1) {
28113
+ var entry = entries[cacheIndex]; // Cached entry not at top of cache, move it to the top
28091
28114
 
28092
- function isReactElement(value) {
28093
- return value.$$typeof === REACT_ELEMENT_TYPE
28094
- }
28115
+ if (cacheIndex > 0) {
28116
+ entries.splice(cacheIndex, 1);
28117
+ entries.unshift(entry);
28118
+ }
28095
28119
 
28096
- function emptyTarget(val) {
28097
- return Array.isArray(val) ? [] : {}
28098
- }
28120
+ return entry.value;
28121
+ } // No entry found in cache, return sentinel
28099
28122
 
28100
- function cloneUnlessOtherwiseSpecified(value, options) {
28101
- return (options.clone !== false && options.isMergeableObject(value))
28102
- ? deepmerge(emptyTarget(value), value, options)
28103
- : value
28104
- }
28105
28123
 
28106
- function defaultArrayMerge(target, source, options) {
28107
- return target.concat(source).map(function(element) {
28108
- return cloneUnlessOtherwiseSpecified(element, options)
28109
- })
28110
- }
28124
+ return NOT_FOUND;
28125
+ }
28111
28126
 
28112
- function getMergeFunction(key, options) {
28113
- if (!options.customMerge) {
28114
- return deepmerge
28115
- }
28116
- var customMerge = options.customMerge(key);
28117
- return typeof customMerge === 'function' ? customMerge : deepmerge
28118
- }
28127
+ function put(key, value) {
28128
+ if (get(key) === NOT_FOUND) {
28129
+ // TODO Is unshift slow?
28130
+ entries.unshift({
28131
+ key: key,
28132
+ value: value
28133
+ });
28119
28134
 
28120
- function getEnumerableOwnPropertySymbols(target) {
28121
- return Object.getOwnPropertySymbols
28122
- ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
28123
- return target.propertyIsEnumerable(symbol)
28124
- })
28125
- : []
28126
- }
28135
+ if (entries.length > maxSize) {
28136
+ entries.pop();
28137
+ }
28138
+ }
28139
+ }
28127
28140
 
28128
- function getKeys(target) {
28129
- return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))
28130
- }
28141
+ function getEntries() {
28142
+ return entries;
28143
+ }
28131
28144
 
28132
- function propertyIsOnObject(object, property) {
28133
- try {
28134
- return property in object
28135
- } catch(_) {
28136
- return false
28137
- }
28138
- }
28145
+ function clear() {
28146
+ entries = [];
28147
+ }
28139
28148
 
28140
- // Protects from prototype poisoning and unexpected merging up the prototype chain.
28141
- function propertyIsUnsafe(target, key) {
28142
- return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,
28143
- && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,
28144
- && Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.
28149
+ return {
28150
+ get: get,
28151
+ put: put,
28152
+ getEntries: getEntries,
28153
+ clear: clear
28154
+ };
28145
28155
  }
28146
28156
 
28147
- function mergeObject(target, source, options) {
28148
- var destination = {};
28149
- if (options.isMergeableObject(target)) {
28150
- getKeys(target).forEach(function(key) {
28151
- destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
28152
- });
28153
- }
28154
- getKeys(source).forEach(function(key) {
28155
- if (propertyIsUnsafe(target, key)) {
28156
- return
28157
- }
28157
+ var defaultEqualityCheck = function defaultEqualityCheck(a, b) {
28158
+ return a === b;
28159
+ };
28160
+ function createCacheKeyComparator(equalityCheck) {
28161
+ return function areArgumentsShallowlyEqual(prev, next) {
28162
+ if (prev === null || next === null || prev.length !== next.length) {
28163
+ return false;
28164
+ } // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.
28158
28165
 
28159
- if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
28160
- destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
28161
- } else {
28162
- destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
28163
- }
28164
- });
28165
- return destination
28166
- }
28167
28166
 
28168
- function deepmerge(target, source, options) {
28169
- options = options || {};
28170
- options.arrayMerge = options.arrayMerge || defaultArrayMerge;
28171
- options.isMergeableObject = options.isMergeableObject || isMergeableObject;
28172
- // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()
28173
- // implementations can use it. The caller may not replace it.
28174
- options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
28167
+ var length = prev.length;
28175
28168
 
28176
- var sourceIsArray = Array.isArray(source);
28177
- var targetIsArray = Array.isArray(target);
28178
- var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
28169
+ for (var i = 0; i < length; i++) {
28170
+ if (!equalityCheck(prev[i], next[i])) {
28171
+ return false;
28172
+ }
28173
+ }
28179
28174
 
28180
- if (!sourceAndTargetTypesMatch) {
28181
- return cloneUnlessOtherwiseSpecified(source, options)
28182
- } else if (sourceIsArray) {
28183
- return options.arrayMerge(target, source, options)
28184
- } else {
28185
- return mergeObject(target, source, options)
28186
- }
28175
+ return true;
28176
+ };
28187
28177
  }
28178
+ // defaultMemoize now supports a configurable cache size with LRU behavior,
28179
+ // and optional comparison of the result value with existing values
28180
+ function defaultMemoize(func, equalityCheckOrOptions) {
28181
+ var providedOptions = typeof equalityCheckOrOptions === 'object' ? equalityCheckOrOptions : {
28182
+ equalityCheck: equalityCheckOrOptions
28183
+ };
28184
+ var _providedOptions$equa = providedOptions.equalityCheck,
28185
+ equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa,
28186
+ _providedOptions$maxS = providedOptions.maxSize,
28187
+ maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS,
28188
+ resultEqualityCheck = providedOptions.resultEqualityCheck;
28189
+ var comparator = createCacheKeyComparator(equalityCheck);
28190
+ var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); // we reference arguments instead of spreading them for performance reasons
28188
28191
 
28189
- deepmerge.all = function deepmergeAll(array, options) {
28190
- if (!Array.isArray(array)) {
28191
- throw new Error('first argument should be an array')
28192
- }
28192
+ function memoized() {
28193
+ var value = cache.get(arguments);
28193
28194
 
28194
- return array.reduce(function(prev, next) {
28195
- return deepmerge(prev, next, options)
28196
- }, {})
28197
- };
28195
+ if (value === NOT_FOUND) {
28196
+ // @ts-ignore
28197
+ value = func.apply(null, arguments);
28198
28198
 
28199
- var deepmerge_1 = deepmerge;
28199
+ if (resultEqualityCheck) {
28200
+ var entries = cache.getEntries();
28201
+ var matchingEntry = entries.find(function (entry) {
28202
+ return resultEqualityCheck(entry.value, value);
28203
+ });
28200
28204
 
28201
- module.exports = deepmerge_1;
28205
+ if (matchingEntry) {
28206
+ value = matchingEntry.value;
28207
+ }
28208
+ }
28209
+
28210
+ cache.put(arguments, value);
28211
+ }
28212
+
28213
+ return value;
28214
+ }
28215
+
28216
+ memoized.clearCache = function () {
28217
+ return cache.clear();
28218
+ };
28202
28219
 
28220
+ return memoized;
28221
+ }
28203
28222
 
28204
28223
  /***/ }),
28205
28224
 
28206
- /***/ "../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.esm.js":
28207
- /*!***************************************************************************!*\
28208
- !*** ../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.esm.js ***!
28209
- \***************************************************************************/
28225
+ /***/ "../../node_modules/@reduxjs/toolkit/node_modules/reselect/es/index.js":
28226
+ /*!*****************************************************************************!*\
28227
+ !*** ../../node_modules/@reduxjs/toolkit/node_modules/reselect/es/index.js ***!
28228
+ \*****************************************************************************/
28210
28229
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
28211
28230
 
28212
28231
  "use strict";
28213
28232
  __webpack_require__.r(__webpack_exports__);
28214
28233
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
28215
- /* harmony export */ "CANCEL": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.CANCEL),
28216
- /* harmony export */ "END": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.END),
28217
- /* harmony export */ "SAGA_LOCATION": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.SAGA_LOCATION),
28218
- /* harmony export */ "buffers": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.buffers),
28219
- /* harmony export */ "channel": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.channel),
28220
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
28221
- /* harmony export */ "detach": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.detach),
28222
- /* harmony export */ "eventChannel": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.eventChannel),
28223
- /* harmony export */ "isEnd": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.isEnd),
28224
- /* harmony export */ "multicastChannel": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.multicastChannel),
28225
- /* harmony export */ "runSaga": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.runSaga),
28226
- /* harmony export */ "stdChannel": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.stdChannel)
28234
+ /* harmony export */ "createSelector": () => (/* binding */ createSelector),
28235
+ /* harmony export */ "createSelectorCreator": () => (/* binding */ createSelectorCreator),
28236
+ /* harmony export */ "createStructuredSelector": () => (/* binding */ createStructuredSelector),
28237
+ /* harmony export */ "defaultEqualityCheck": () => (/* reexport safe */ _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultEqualityCheck),
28238
+ /* harmony export */ "defaultMemoize": () => (/* reexport safe */ _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultMemoize)
28227
28239
  /* harmony export */ });
28228
- /* harmony import */ var _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @redux-saga/core */ "../../node_modules/@redux-saga/core/dist/redux-saga-core.esm.js");
28240
+ /* harmony import */ var _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaultMemoize */ "../../node_modules/@reduxjs/toolkit/node_modules/reselect/es/defaultMemoize.js");
28229
28241
 
28230
28242
 
28231
28243
 
28244
+ function getDependencies(funcs) {
28245
+ var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;
28232
28246
 
28247
+ if (!dependencies.every(function (dep) {
28248
+ return typeof dep === 'function';
28249
+ })) {
28250
+ var dependencyTypes = dependencies.map(function (dep) {
28251
+ return typeof dep === 'function' ? "function " + (dep.name || 'unnamed') + "()" : typeof dep;
28252
+ }).join(', ');
28253
+ throw new Error("createSelector expects all input-selectors to be functions, but received the following types: [" + dependencyTypes + "]");
28254
+ }
28233
28255
 
28234
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_redux_saga_core__WEBPACK_IMPORTED_MODULE_0__["default"]);
28256
+ return dependencies;
28257
+ }
28235
28258
 
28259
+ function createSelectorCreator(memoize) {
28260
+ for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
28261
+ memoizeOptionsFromArgs[_key - 1] = arguments[_key];
28262
+ }
28236
28263
 
28237
- /***/ }),
28264
+ var createSelector = function createSelector() {
28265
+ for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
28266
+ funcs[_key2] = arguments[_key2];
28267
+ }
28238
28268
 
28239
- /***/ "../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.esm.js":
28240
- /*!******************************************************************************!*\
28241
- !*** ../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.esm.js ***!
28242
- \******************************************************************************/
28243
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
28269
+ var _recomputations = 0;
28244
28270
 
28245
- "use strict";
28246
- __webpack_require__.r(__webpack_exports__);
28247
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
28248
- /* harmony export */ "actionChannel": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.actionChannel),
28249
- /* harmony export */ "all": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.all),
28250
- /* harmony export */ "apply": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.apply),
28251
- /* harmony export */ "call": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.call),
28252
- /* harmony export */ "cancel": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.cancel),
28253
- /* harmony export */ "cancelled": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.cancelled),
28254
- /* harmony export */ "cps": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.cps),
28255
- /* harmony export */ "debounce": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.debounce),
28256
- /* harmony export */ "delay": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.delay),
28257
- /* harmony export */ "effectTypes": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.effectTypes),
28258
- /* harmony export */ "flush": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.flush),
28259
- /* harmony export */ "fork": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.fork),
28260
- /* harmony export */ "getContext": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.getContext),
28261
- /* harmony export */ "join": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.join),
28262
- /* harmony export */ "put": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.put),
28263
- /* harmony export */ "putResolve": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.putResolve),
28264
- /* harmony export */ "race": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.race),
28265
- /* harmony export */ "retry": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.retry),
28266
- /* harmony export */ "select": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.select),
28267
- /* harmony export */ "setContext": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.setContext),
28268
- /* harmony export */ "spawn": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.spawn),
28269
- /* harmony export */ "take": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.take),
28270
- /* harmony export */ "takeEvery": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.takeEvery),
28271
- /* harmony export */ "takeLatest": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.takeLatest),
28272
- /* harmony export */ "takeLeading": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.takeLeading),
28273
- /* harmony export */ "takeMaybe": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.takeMaybe),
28274
- /* harmony export */ "throttle": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.throttle)
28275
- /* harmony export */ });
28276
- /* harmony import */ var _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @redux-saga/core/effects */ "../../node_modules/@redux-saga/core/dist/redux-saga-effects.esm.js");
28271
+ var _lastResult; // Due to the intricacies of rest params, we can't do an optional arg after `...funcs`.
28272
+ // So, start by declaring the default value here.
28273
+ // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.)
28277
28274
 
28278
28275
 
28276
+ var directlyPassedOptions = {
28277
+ memoizeOptions: undefined
28278
+ }; // Normally, the result func or "output selector" is the last arg
28279
28279
 
28280
- /***/ }),
28280
+ var resultFunc = funcs.pop(); // If the result func is actually an _object_, assume it's our options object
28281
28281
 
28282
- /***/ "../../node_modules/redux-thunk/es/index.js":
28283
- /*!**************************************************!*\
28284
- !*** ../../node_modules/redux-thunk/es/index.js ***!
28285
- \**************************************************/
28286
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
28282
+ if (typeof resultFunc === 'object') {
28283
+ directlyPassedOptions = resultFunc; // and pop the real result func off
28287
28284
 
28288
- "use strict";
28289
- __webpack_require__.r(__webpack_exports__);
28290
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
28291
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
28292
- /* harmony export */ });
28293
- /** A function that accepts a potential "extra argument" value to be injected later,
28294
- * and returns an instance of the thunk middleware that uses that value
28295
- */
28296
- function createThunkMiddleware(extraArgument) {
28297
- // Standard Redux middleware definition pattern:
28298
- // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware
28299
- var middleware = function middleware(_ref) {
28300
- var dispatch = _ref.dispatch,
28301
- getState = _ref.getState;
28302
- return function (next) {
28303
- return function (action) {
28304
- // The thunk middleware looks for any functions that were passed to `store.dispatch`.
28305
- // If this "action" is really a function, call it and return the result.
28306
- if (typeof action === 'function') {
28307
- // Inject the store's `dispatch` and `getState` methods, as well as any "extra arg"
28308
- return action(dispatch, getState, extraArgument);
28309
- } // Otherwise, pass the action down the middleware chain as usual
28285
+ resultFunc = funcs.pop();
28286
+ }
28310
28287
 
28288
+ if (typeof resultFunc !== 'function') {
28289
+ throw new Error("createSelector expects an output function after the inputs, but received: [" + typeof resultFunc + "]");
28290
+ } // Determine which set of options we're using. Prefer options passed directly,
28291
+ // but fall back to options given to createSelectorCreator.
28311
28292
 
28312
- return next(action);
28313
- };
28314
- };
28315
- };
28316
28293
 
28317
- return middleware;
28318
- }
28294
+ var _directlyPassedOption = directlyPassedOptions,
28295
+ _directlyPassedOption2 = _directlyPassedOption.memoizeOptions,
28296
+ memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer
28297
+ // is an array. In most libs I've looked at, it's an equality function or options object.
28298
+ // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full
28299
+ // user-provided array of options. Otherwise, it must be just the _first_ arg, and so
28300
+ // we wrap it in an array so we can apply it.
28319
28301
 
28320
- var thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version
28321
- // with whatever "extra arg" they want to inject into their thunks
28302
+ var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions];
28303
+ var dependencies = getDependencies(funcs);
28304
+ var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() {
28305
+ _recomputations++; // apply arguments instead of spreading for performance.
28322
28306
 
28323
- thunk.withExtraArgument = createThunkMiddleware;
28324
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (thunk);
28307
+ return resultFunc.apply(null, arguments);
28308
+ }].concat(finalMemoizeOptions)); // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.
28325
28309
 
28326
- /***/ }),
28310
+ var selector = memoize(function dependenciesChecker() {
28311
+ var params = [];
28312
+ var length = dependencies.length;
28327
28313
 
28328
- /***/ "../../node_modules/redux/es/redux.js":
28329
- /*!********************************************!*\
28330
- !*** ../../node_modules/redux/es/redux.js ***!
28331
- \********************************************/
28332
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
28314
+ for (var i = 0; i < length; i++) {
28315
+ // apply arguments instead of spreading and mutate a local list of params for performance.
28316
+ // @ts-ignore
28317
+ params.push(dependencies[i].apply(null, arguments));
28318
+ } // apply arguments instead of spreading for performance.
28333
28319
 
28334
- "use strict";
28335
- __webpack_require__.r(__webpack_exports__);
28336
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
28337
- /* harmony export */ "__DO_NOT_USE__ActionTypes": () => (/* binding */ ActionTypes),
28338
- /* harmony export */ "applyMiddleware": () => (/* binding */ applyMiddleware),
28339
- /* harmony export */ "bindActionCreators": () => (/* binding */ bindActionCreators),
28340
- /* harmony export */ "combineReducers": () => (/* binding */ combineReducers),
28341
- /* harmony export */ "compose": () => (/* binding */ compose),
28342
- /* harmony export */ "createStore": () => (/* binding */ createStore),
28343
- /* harmony export */ "legacy_createStore": () => (/* binding */ legacy_createStore)
28344
- /* harmony export */ });
28345
- /* harmony import */ var _babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread2 */ "../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js");
28320
+
28321
+ _lastResult = memoizedResultFunc.apply(null, params);
28322
+ return _lastResult;
28323
+ });
28324
+ Object.assign(selector, {
28325
+ resultFunc: resultFunc,
28326
+ memoizedResultFunc: memoizedResultFunc,
28327
+ dependencies: dependencies,
28328
+ lastResult: function lastResult() {
28329
+ return _lastResult;
28330
+ },
28331
+ recomputations: function recomputations() {
28332
+ return _recomputations;
28333
+ },
28334
+ resetRecomputations: function resetRecomputations() {
28335
+ return _recomputations = 0;
28336
+ }
28337
+ });
28338
+ return selector;
28339
+ }; // @ts-ignore
28346
28340
 
28347
28341
 
28348
- /**
28349
- * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js
28350
- *
28351
- * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes
28352
- * during build.
28353
- * @param {number} code
28354
- */
28355
- function formatProdErrorMessage(code) {
28356
- return "Minified Redux error #" + code + "; visit https://redux.js.org/Errors?code=" + code + " for the full message or " + 'use the non-minified dev environment for full errors. ';
28342
+ return createSelector;
28357
28343
  }
28344
+ var createSelector = /* #__PURE__ */createSelectorCreator(_defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultMemoize);
28345
+ // Manual definition of state and output arguments
28346
+ var createStructuredSelector = function createStructuredSelector(selectors, selectorCreator) {
28347
+ if (selectorCreator === void 0) {
28348
+ selectorCreator = createSelector;
28349
+ }
28358
28350
 
28359
- // Inlined version of the `symbol-observable` polyfill
28360
- var $$observable = (function () {
28361
- return typeof Symbol === 'function' && Symbol.observable || '@@observable';
28362
- })();
28351
+ if (typeof selectors !== 'object') {
28352
+ throw new Error('createStructuredSelector expects first argument to be an object ' + ("where each property is a selector, instead received a " + typeof selectors));
28353
+ }
28363
28354
 
28364
- /**
28365
- * These are private action types reserved by Redux.
28366
- * For any unknown actions, you must return the current state.
28367
- * If the current state is undefined, you must return the initial state.
28368
- * Do not reference these action types directly in your code.
28369
- */
28370
- var randomString = function randomString() {
28371
- return Math.random().toString(36).substring(7).split('').join('.');
28372
- };
28355
+ var objectKeys = Object.keys(selectors);
28356
+ var resultSelector = selectorCreator( // @ts-ignore
28357
+ objectKeys.map(function (key) {
28358
+ return selectors[key];
28359
+ }), function () {
28360
+ for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
28361
+ values[_key3] = arguments[_key3];
28362
+ }
28373
28363
 
28374
- var ActionTypes = {
28375
- INIT: "@@redux/INIT" + randomString(),
28376
- REPLACE: "@@redux/REPLACE" + randomString(),
28377
- PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {
28378
- return "@@redux/PROBE_UNKNOWN_ACTION" + randomString();
28379
- }
28364
+ return values.reduce(function (composition, value, index) {
28365
+ composition[objectKeys[index]] = value;
28366
+ return composition;
28367
+ }, {});
28368
+ });
28369
+ return resultSelector;
28380
28370
  };
28381
28371
 
28382
- /**
28383
- * @param {any} obj The object to inspect.
28384
- * @returns {boolean} True if the argument appears to be a plain object.
28385
- */
28386
- function isPlainObject(obj) {
28387
- if (typeof obj !== 'object' || obj === null) return false;
28388
- var proto = obj;
28372
+ /***/ }),
28389
28373
 
28390
- while (Object.getPrototypeOf(proto) !== null) {
28391
- proto = Object.getPrototypeOf(proto);
28392
- }
28374
+ /***/ "../../node_modules/deepmerge/dist/cjs.js":
28375
+ /*!************************************************!*\
28376
+ !*** ../../node_modules/deepmerge/dist/cjs.js ***!
28377
+ \************************************************/
28378
+ /***/ ((module) => {
28393
28379
 
28394
- return Object.getPrototypeOf(obj) === proto;
28395
- }
28380
+ "use strict";
28396
28381
 
28397
- // Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of
28398
- function miniKindOf(val) {
28382
+
28383
+ var isMergeableObject = function isMergeableObject(value) {
28384
+ return isNonNullObject(value)
28385
+ && !isSpecial(value)
28386
+ };
28387
+
28388
+ function isNonNullObject(value) {
28389
+ return !!value && typeof value === 'object'
28390
+ }
28391
+
28392
+ function isSpecial(value) {
28393
+ var stringValue = Object.prototype.toString.call(value);
28394
+
28395
+ return stringValue === '[object RegExp]'
28396
+ || stringValue === '[object Date]'
28397
+ || isReactElement(value)
28398
+ }
28399
+
28400
+ // see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25
28401
+ var canUseSymbol = typeof Symbol === 'function' && Symbol.for;
28402
+ var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;
28403
+
28404
+ function isReactElement(value) {
28405
+ return value.$$typeof === REACT_ELEMENT_TYPE
28406
+ }
28407
+
28408
+ function emptyTarget(val) {
28409
+ return Array.isArray(val) ? [] : {}
28410
+ }
28411
+
28412
+ function cloneUnlessOtherwiseSpecified(value, options) {
28413
+ return (options.clone !== false && options.isMergeableObject(value))
28414
+ ? deepmerge(emptyTarget(value), value, options)
28415
+ : value
28416
+ }
28417
+
28418
+ function defaultArrayMerge(target, source, options) {
28419
+ return target.concat(source).map(function(element) {
28420
+ return cloneUnlessOtherwiseSpecified(element, options)
28421
+ })
28422
+ }
28423
+
28424
+ function getMergeFunction(key, options) {
28425
+ if (!options.customMerge) {
28426
+ return deepmerge
28427
+ }
28428
+ var customMerge = options.customMerge(key);
28429
+ return typeof customMerge === 'function' ? customMerge : deepmerge
28430
+ }
28431
+
28432
+ function getEnumerableOwnPropertySymbols(target) {
28433
+ return Object.getOwnPropertySymbols
28434
+ ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
28435
+ return target.propertyIsEnumerable(symbol)
28436
+ })
28437
+ : []
28438
+ }
28439
+
28440
+ function getKeys(target) {
28441
+ return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))
28442
+ }
28443
+
28444
+ function propertyIsOnObject(object, property) {
28445
+ try {
28446
+ return property in object
28447
+ } catch(_) {
28448
+ return false
28449
+ }
28450
+ }
28451
+
28452
+ // Protects from prototype poisoning and unexpected merging up the prototype chain.
28453
+ function propertyIsUnsafe(target, key) {
28454
+ return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,
28455
+ && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,
28456
+ && Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.
28457
+ }
28458
+
28459
+ function mergeObject(target, source, options) {
28460
+ var destination = {};
28461
+ if (options.isMergeableObject(target)) {
28462
+ getKeys(target).forEach(function(key) {
28463
+ destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
28464
+ });
28465
+ }
28466
+ getKeys(source).forEach(function(key) {
28467
+ if (propertyIsUnsafe(target, key)) {
28468
+ return
28469
+ }
28470
+
28471
+ if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
28472
+ destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
28473
+ } else {
28474
+ destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
28475
+ }
28476
+ });
28477
+ return destination
28478
+ }
28479
+
28480
+ function deepmerge(target, source, options) {
28481
+ options = options || {};
28482
+ options.arrayMerge = options.arrayMerge || defaultArrayMerge;
28483
+ options.isMergeableObject = options.isMergeableObject || isMergeableObject;
28484
+ // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()
28485
+ // implementations can use it. The caller may not replace it.
28486
+ options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
28487
+
28488
+ var sourceIsArray = Array.isArray(source);
28489
+ var targetIsArray = Array.isArray(target);
28490
+ var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
28491
+
28492
+ if (!sourceAndTargetTypesMatch) {
28493
+ return cloneUnlessOtherwiseSpecified(source, options)
28494
+ } else if (sourceIsArray) {
28495
+ return options.arrayMerge(target, source, options)
28496
+ } else {
28497
+ return mergeObject(target, source, options)
28498
+ }
28499
+ }
28500
+
28501
+ deepmerge.all = function deepmergeAll(array, options) {
28502
+ if (!Array.isArray(array)) {
28503
+ throw new Error('first argument should be an array')
28504
+ }
28505
+
28506
+ return array.reduce(function(prev, next) {
28507
+ return deepmerge(prev, next, options)
28508
+ }, {})
28509
+ };
28510
+
28511
+ var deepmerge_1 = deepmerge;
28512
+
28513
+ module.exports = deepmerge_1;
28514
+
28515
+
28516
+ /***/ }),
28517
+
28518
+ /***/ "../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.esm.js":
28519
+ /*!***************************************************************************!*\
28520
+ !*** ../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.esm.js ***!
28521
+ \***************************************************************************/
28522
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
28523
+
28524
+ "use strict";
28525
+ __webpack_require__.r(__webpack_exports__);
28526
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
28527
+ /* harmony export */ "CANCEL": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.CANCEL),
28528
+ /* harmony export */ "END": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.END),
28529
+ /* harmony export */ "SAGA_LOCATION": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.SAGA_LOCATION),
28530
+ /* harmony export */ "buffers": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.buffers),
28531
+ /* harmony export */ "channel": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.channel),
28532
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
28533
+ /* harmony export */ "detach": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.detach),
28534
+ /* harmony export */ "eventChannel": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.eventChannel),
28535
+ /* harmony export */ "isEnd": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.isEnd),
28536
+ /* harmony export */ "multicastChannel": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.multicastChannel),
28537
+ /* harmony export */ "runSaga": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.runSaga),
28538
+ /* harmony export */ "stdChannel": () => (/* reexport safe */ _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__.stdChannel)
28539
+ /* harmony export */ });
28540
+ /* harmony import */ var _redux_saga_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @redux-saga/core */ "../../node_modules/@redux-saga/core/dist/redux-saga-core.esm.js");
28541
+
28542
+
28543
+
28544
+
28545
+
28546
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_redux_saga_core__WEBPACK_IMPORTED_MODULE_0__["default"]);
28547
+
28548
+
28549
+ /***/ }),
28550
+
28551
+ /***/ "../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.esm.js":
28552
+ /*!******************************************************************************!*\
28553
+ !*** ../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.esm.js ***!
28554
+ \******************************************************************************/
28555
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
28556
+
28557
+ "use strict";
28558
+ __webpack_require__.r(__webpack_exports__);
28559
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
28560
+ /* harmony export */ "actionChannel": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.actionChannel),
28561
+ /* harmony export */ "all": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.all),
28562
+ /* harmony export */ "apply": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.apply),
28563
+ /* harmony export */ "call": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.call),
28564
+ /* harmony export */ "cancel": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.cancel),
28565
+ /* harmony export */ "cancelled": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.cancelled),
28566
+ /* harmony export */ "cps": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.cps),
28567
+ /* harmony export */ "debounce": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.debounce),
28568
+ /* harmony export */ "delay": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.delay),
28569
+ /* harmony export */ "effectTypes": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.effectTypes),
28570
+ /* harmony export */ "flush": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.flush),
28571
+ /* harmony export */ "fork": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.fork),
28572
+ /* harmony export */ "getContext": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.getContext),
28573
+ /* harmony export */ "join": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.join),
28574
+ /* harmony export */ "put": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.put),
28575
+ /* harmony export */ "putResolve": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.putResolve),
28576
+ /* harmony export */ "race": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.race),
28577
+ /* harmony export */ "retry": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.retry),
28578
+ /* harmony export */ "select": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.select),
28579
+ /* harmony export */ "setContext": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.setContext),
28580
+ /* harmony export */ "spawn": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.spawn),
28581
+ /* harmony export */ "take": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.take),
28582
+ /* harmony export */ "takeEvery": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.takeEvery),
28583
+ /* harmony export */ "takeLatest": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.takeLatest),
28584
+ /* harmony export */ "takeLeading": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.takeLeading),
28585
+ /* harmony export */ "takeMaybe": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.takeMaybe),
28586
+ /* harmony export */ "throttle": () => (/* reexport safe */ _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__.throttle)
28587
+ /* harmony export */ });
28588
+ /* harmony import */ var _redux_saga_core_effects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @redux-saga/core/effects */ "../../node_modules/@redux-saga/core/dist/redux-saga-effects.esm.js");
28589
+
28590
+
28591
+
28592
+ /***/ }),
28593
+
28594
+ /***/ "../../node_modules/redux-thunk/es/index.js":
28595
+ /*!**************************************************!*\
28596
+ !*** ../../node_modules/redux-thunk/es/index.js ***!
28597
+ \**************************************************/
28598
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
28599
+
28600
+ "use strict";
28601
+ __webpack_require__.r(__webpack_exports__);
28602
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
28603
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
28604
+ /* harmony export */ });
28605
+ /** A function that accepts a potential "extra argument" value to be injected later,
28606
+ * and returns an instance of the thunk middleware that uses that value
28607
+ */
28608
+ function createThunkMiddleware(extraArgument) {
28609
+ // Standard Redux middleware definition pattern:
28610
+ // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware
28611
+ var middleware = function middleware(_ref) {
28612
+ var dispatch = _ref.dispatch,
28613
+ getState = _ref.getState;
28614
+ return function (next) {
28615
+ return function (action) {
28616
+ // The thunk middleware looks for any functions that were passed to `store.dispatch`.
28617
+ // If this "action" is really a function, call it and return the result.
28618
+ if (typeof action === 'function') {
28619
+ // Inject the store's `dispatch` and `getState` methods, as well as any "extra arg"
28620
+ return action(dispatch, getState, extraArgument);
28621
+ } // Otherwise, pass the action down the middleware chain as usual
28622
+
28623
+
28624
+ return next(action);
28625
+ };
28626
+ };
28627
+ };
28628
+
28629
+ return middleware;
28630
+ }
28631
+
28632
+ var thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version
28633
+ // with whatever "extra arg" they want to inject into their thunks
28634
+
28635
+ thunk.withExtraArgument = createThunkMiddleware;
28636
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (thunk);
28637
+
28638
+ /***/ }),
28639
+
28640
+ /***/ "../../node_modules/redux/es/redux.js":
28641
+ /*!********************************************!*\
28642
+ !*** ../../node_modules/redux/es/redux.js ***!
28643
+ \********************************************/
28644
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
28645
+
28646
+ "use strict";
28647
+ __webpack_require__.r(__webpack_exports__);
28648
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
28649
+ /* harmony export */ "__DO_NOT_USE__ActionTypes": () => (/* binding */ ActionTypes),
28650
+ /* harmony export */ "applyMiddleware": () => (/* binding */ applyMiddleware),
28651
+ /* harmony export */ "bindActionCreators": () => (/* binding */ bindActionCreators),
28652
+ /* harmony export */ "combineReducers": () => (/* binding */ combineReducers),
28653
+ /* harmony export */ "compose": () => (/* binding */ compose),
28654
+ /* harmony export */ "createStore": () => (/* binding */ createStore),
28655
+ /* harmony export */ "legacy_createStore": () => (/* binding */ legacy_createStore)
28656
+ /* harmony export */ });
28657
+ /* harmony import */ var _babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread2 */ "../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js");
28658
+
28659
+
28660
+ /**
28661
+ * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js
28662
+ *
28663
+ * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes
28664
+ * during build.
28665
+ * @param {number} code
28666
+ */
28667
+ function formatProdErrorMessage(code) {
28668
+ return "Minified Redux error #" + code + "; visit https://redux.js.org/Errors?code=" + code + " for the full message or " + 'use the non-minified dev environment for full errors. ';
28669
+ }
28670
+
28671
+ // Inlined version of the `symbol-observable` polyfill
28672
+ var $$observable = (function () {
28673
+ return typeof Symbol === 'function' && Symbol.observable || '@@observable';
28674
+ })();
28675
+
28676
+ /**
28677
+ * These are private action types reserved by Redux.
28678
+ * For any unknown actions, you must return the current state.
28679
+ * If the current state is undefined, you must return the initial state.
28680
+ * Do not reference these action types directly in your code.
28681
+ */
28682
+ var randomString = function randomString() {
28683
+ return Math.random().toString(36).substring(7).split('').join('.');
28684
+ };
28685
+
28686
+ var ActionTypes = {
28687
+ INIT: "@@redux/INIT" + randomString(),
28688
+ REPLACE: "@@redux/REPLACE" + randomString(),
28689
+ PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {
28690
+ return "@@redux/PROBE_UNKNOWN_ACTION" + randomString();
28691
+ }
28692
+ };
28693
+
28694
+ /**
28695
+ * @param {any} obj The object to inspect.
28696
+ * @returns {boolean} True if the argument appears to be a plain object.
28697
+ */
28698
+ function isPlainObject(obj) {
28699
+ if (typeof obj !== 'object' || obj === null) return false;
28700
+ var proto = obj;
28701
+
28702
+ while (Object.getPrototypeOf(proto) !== null) {
28703
+ proto = Object.getPrototypeOf(proto);
28704
+ }
28705
+
28706
+ return Object.getPrototypeOf(obj) === proto;
28707
+ }
28708
+
28709
+ // Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of
28710
+ function miniKindOf(val) {
28399
28711
  if (val === void 0) return 'undefined';
28400
28712
  if (val === null) return 'null';
28401
28713
  var type = typeof val;
@@ -28601,777 +28913,465 @@ function createStore(reducer, preloadedState, enhancer) {
28601
28913
  * wrap your store creating function into the corresponding middleware. For
28602
28914
  * example, see the documentation for the `redux-thunk` package. Even the
28603
28915
  * middleware will eventually dispatch plain object actions using this method.
28604
- *
28605
- * @param {Object} action A plain object representing “what changed”. It is
28606
- * a good idea to keep actions serializable so you can record and replay user
28607
- * sessions, or use the time travelling `redux-devtools`. An action must have
28608
- * a `type` property which may not be `undefined`. It is a good idea to use
28609
- * string constants for action types.
28610
- *
28611
- * @returns {Object} For convenience, the same action object you dispatched.
28612
- *
28613
- * Note that, if you use a custom middleware, it may wrap `dispatch()` to
28614
- * return something else (for example, a Promise you can await).
28615
- */
28616
-
28617
-
28618
- function dispatch(action) {
28619
- if (!isPlainObject(action)) {
28620
- throw new Error( false ? 0 : "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.");
28621
- }
28622
-
28623
- if (typeof action.type === 'undefined') {
28624
- throw new Error( false ? 0 : 'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.');
28625
- }
28626
-
28627
- if (isDispatching) {
28628
- throw new Error( false ? 0 : 'Reducers may not dispatch actions.');
28629
- }
28630
-
28631
- try {
28632
- isDispatching = true;
28633
- currentState = currentReducer(currentState, action);
28634
- } finally {
28635
- isDispatching = false;
28636
- }
28637
-
28638
- var listeners = currentListeners = nextListeners;
28639
-
28640
- for (var i = 0; i < listeners.length; i++) {
28641
- var listener = listeners[i];
28642
- listener();
28643
- }
28644
-
28645
- return action;
28646
- }
28647
- /**
28648
- * Replaces the reducer currently used by the store to calculate the state.
28649
- *
28650
- * You might need this if your app implements code splitting and you want to
28651
- * load some of the reducers dynamically. You might also need this if you
28652
- * implement a hot reloading mechanism for Redux.
28653
- *
28654
- * @param {Function} nextReducer The reducer for the store to use instead.
28655
- * @returns {void}
28656
- */
28657
-
28658
-
28659
- function replaceReducer(nextReducer) {
28660
- if (typeof nextReducer !== 'function') {
28661
- throw new Error( false ? 0 : "Expected the nextReducer to be a function. Instead, received: '" + kindOf(nextReducer));
28662
- }
28663
-
28664
- currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.
28665
- // Any reducers that existed in both the new and old rootReducer
28666
- // will receive the previous state. This effectively populates
28667
- // the new state tree with any relevant data from the old one.
28668
-
28669
- dispatch({
28670
- type: ActionTypes.REPLACE
28671
- });
28672
- }
28673
- /**
28674
- * Interoperability point for observable/reactive libraries.
28675
- * @returns {observable} A minimal observable of state changes.
28676
- * For more information, see the observable proposal:
28677
- * https://github.com/tc39/proposal-observable
28678
- */
28679
-
28680
-
28681
- function observable() {
28682
- var _ref;
28683
-
28684
- var outerSubscribe = subscribe;
28685
- return _ref = {
28686
- /**
28687
- * The minimal observable subscription method.
28688
- * @param {Object} observer Any object that can be used as an observer.
28689
- * The observer object should have a `next` method.
28690
- * @returns {subscription} An object with an `unsubscribe` method that can
28691
- * be used to unsubscribe the observable from the store, and prevent further
28692
- * emission of values from the observable.
28693
- */
28694
- subscribe: function subscribe(observer) {
28695
- if (typeof observer !== 'object' || observer === null) {
28696
- throw new Error( false ? 0 : "Expected the observer to be an object. Instead, received: '" + kindOf(observer) + "'");
28697
- }
28698
-
28699
- function observeState() {
28700
- if (observer.next) {
28701
- observer.next(getState());
28702
- }
28703
- }
28704
-
28705
- observeState();
28706
- var unsubscribe = outerSubscribe(observeState);
28707
- return {
28708
- unsubscribe: unsubscribe
28709
- };
28710
- }
28711
- }, _ref[$$observable] = function () {
28712
- return this;
28713
- }, _ref;
28714
- } // When a store is created, an "INIT" action is dispatched so that every
28715
- // reducer returns their initial state. This effectively populates
28716
- // the initial state tree.
28717
-
28718
-
28719
- dispatch({
28720
- type: ActionTypes.INIT
28721
- });
28722
- return _ref2 = {
28723
- dispatch: dispatch,
28724
- subscribe: subscribe,
28725
- getState: getState,
28726
- replaceReducer: replaceReducer
28727
- }, _ref2[$$observable] = observable, _ref2;
28728
- }
28729
- /**
28730
- * Creates a Redux store that holds the state tree.
28731
- *
28732
- * **We recommend using `configureStore` from the
28733
- * `@reduxjs/toolkit` package**, which replaces `createStore`:
28734
- * **https://redux.js.org/introduction/why-rtk-is-redux-today**
28735
- *
28736
- * The only way to change the data in the store is to call `dispatch()` on it.
28737
- *
28738
- * There should only be a single store in your app. To specify how different
28739
- * parts of the state tree respond to actions, you may combine several reducers
28740
- * into a single reducer function by using `combineReducers`.
28741
- *
28742
- * @param {Function} reducer A function that returns the next state tree, given
28743
- * the current state tree and the action to handle.
28744
- *
28745
- * @param {any} [preloadedState] The initial state. You may optionally specify it
28746
- * to hydrate the state from the server in universal apps, or to restore a
28747
- * previously serialized user session.
28748
- * If you use `combineReducers` to produce the root reducer function, this must be
28749
- * an object with the same shape as `combineReducers` keys.
28750
- *
28751
- * @param {Function} [enhancer] The store enhancer. You may optionally specify it
28752
- * to enhance the store with third-party capabilities such as middleware,
28753
- * time travel, persistence, etc. The only store enhancer that ships with Redux
28754
- * is `applyMiddleware()`.
28755
- *
28756
- * @returns {Store} A Redux store that lets you read the state, dispatch actions
28757
- * and subscribe to changes.
28758
- */
28759
-
28760
- var legacy_createStore = createStore;
28761
-
28762
- /**
28763
- * Prints a warning in the console if it exists.
28764
- *
28765
- * @param {String} message The warning message.
28766
- * @returns {void}
28767
- */
28768
- function warning(message) {
28769
- /* eslint-disable no-console */
28770
- if (typeof console !== 'undefined' && typeof console.error === 'function') {
28771
- console.error(message);
28772
- }
28773
- /* eslint-enable no-console */
28774
-
28775
-
28776
- try {
28777
- // This error was thrown as a convenience so that if you enable
28778
- // "break on all exceptions" in your console,
28779
- // it would pause the execution at this line.
28780
- throw new Error(message);
28781
- } catch (e) {} // eslint-disable-line no-empty
28782
-
28783
- }
28784
-
28785
- function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {
28786
- var reducerKeys = Object.keys(reducers);
28787
- var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';
28788
-
28789
- if (reducerKeys.length === 0) {
28790
- return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';
28791
- }
28792
-
28793
- if (!isPlainObject(inputState)) {
28794
- return "The " + argumentName + " has unexpected type of \"" + kindOf(inputState) + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\"");
28795
- }
28796
-
28797
- var unexpectedKeys = Object.keys(inputState).filter(function (key) {
28798
- return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];
28799
- });
28800
- unexpectedKeys.forEach(function (key) {
28801
- unexpectedKeyCache[key] = true;
28802
- });
28803
- if (action && action.type === ActionTypes.REPLACE) return;
28804
-
28805
- if (unexpectedKeys.length > 0) {
28806
- 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.");
28807
- }
28808
- }
28809
-
28810
- function assertReducerShape(reducers) {
28811
- Object.keys(reducers).forEach(function (key) {
28812
- var reducer = reducers[key];
28813
- var initialState = reducer(undefined, {
28814
- type: ActionTypes.INIT
28815
- });
28816
-
28817
- if (typeof initialState === 'undefined') {
28818
- throw new Error( false ? 0 : "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.");
28819
- }
28820
-
28821
- if (typeof reducer(undefined, {
28822
- type: ActionTypes.PROBE_UNKNOWN_ACTION()
28823
- }) === 'undefined') {
28824
- throw new Error( false ? 0 : "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.");
28825
- }
28826
- });
28827
- }
28828
- /**
28829
- * Turns an object whose values are different reducer functions, into a single
28830
- * reducer function. It will call every child reducer, and gather their results
28831
- * into a single state object, whose keys correspond to the keys of the passed
28832
- * reducer functions.
28833
- *
28834
- * @param {Object} reducers An object whose values correspond to different
28835
- * reducer functions that need to be combined into one. One handy way to obtain
28836
- * it is to use ES6 `import * as reducers` syntax. The reducers may never return
28837
- * undefined for any action. Instead, they should return their initial state
28838
- * if the state passed to them was undefined, and the current state for any
28839
- * unrecognized action.
28840
- *
28841
- * @returns {Function} A reducer function that invokes every reducer inside the
28842
- * passed object, and builds a state object with the same shape.
28843
- */
28844
-
28845
-
28846
- function combineReducers(reducers) {
28847
- var reducerKeys = Object.keys(reducers);
28848
- var finalReducers = {};
28916
+ *
28917
+ * @param {Object} action A plain object representing “what changed”. It is
28918
+ * a good idea to keep actions serializable so you can record and replay user
28919
+ * sessions, or use the time travelling `redux-devtools`. An action must have
28920
+ * a `type` property which may not be `undefined`. It is a good idea to use
28921
+ * string constants for action types.
28922
+ *
28923
+ * @returns {Object} For convenience, the same action object you dispatched.
28924
+ *
28925
+ * Note that, if you use a custom middleware, it may wrap `dispatch()` to
28926
+ * return something else (for example, a Promise you can await).
28927
+ */
28849
28928
 
28850
- for (var i = 0; i < reducerKeys.length; i++) {
28851
- var key = reducerKeys[i];
28852
28929
 
28853
- if (true) {
28854
- if (typeof reducers[key] === 'undefined') {
28855
- warning("No reducer provided for key \"" + key + "\"");
28856
- }
28930
+ function dispatch(action) {
28931
+ if (!isPlainObject(action)) {
28932
+ throw new Error( false ? 0 : "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.");
28857
28933
  }
28858
28934
 
28859
- if (typeof reducers[key] === 'function') {
28860
- finalReducers[key] = reducers[key];
28935
+ if (typeof action.type === 'undefined') {
28936
+ throw new Error( false ? 0 : 'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.');
28861
28937
  }
28862
- }
28863
-
28864
- var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same
28865
- // keys multiple times.
28866
-
28867
- var unexpectedKeyCache;
28868
-
28869
- if (true) {
28870
- unexpectedKeyCache = {};
28871
- }
28872
-
28873
- var shapeAssertionError;
28874
-
28875
- try {
28876
- assertReducerShape(finalReducers);
28877
- } catch (e) {
28878
- shapeAssertionError = e;
28879
- }
28880
28938
 
28881
- return function combination(state, action) {
28882
- if (state === void 0) {
28883
- state = {};
28939
+ if (isDispatching) {
28940
+ throw new Error( false ? 0 : 'Reducers may not dispatch actions.');
28884
28941
  }
28885
28942
 
28886
- if (shapeAssertionError) {
28887
- throw shapeAssertionError;
28943
+ try {
28944
+ isDispatching = true;
28945
+ currentState = currentReducer(currentState, action);
28946
+ } finally {
28947
+ isDispatching = false;
28888
28948
  }
28889
28949
 
28890
- if (true) {
28891
- var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);
28950
+ var listeners = currentListeners = nextListeners;
28892
28951
 
28893
- if (warningMessage) {
28894
- warning(warningMessage);
28895
- }
28952
+ for (var i = 0; i < listeners.length; i++) {
28953
+ var listener = listeners[i];
28954
+ listener();
28896
28955
  }
28897
28956
 
28898
- var hasChanged = false;
28899
- var nextState = {};
28900
-
28901
- for (var _i = 0; _i < finalReducerKeys.length; _i++) {
28902
- var _key = finalReducerKeys[_i];
28903
- var reducer = finalReducers[_key];
28904
- var previousStateForKey = state[_key];
28905
- var nextStateForKey = reducer(previousStateForKey, action);
28957
+ return action;
28958
+ }
28959
+ /**
28960
+ * Replaces the reducer currently used by the store to calculate the state.
28961
+ *
28962
+ * You might need this if your app implements code splitting and you want to
28963
+ * load some of the reducers dynamically. You might also need this if you
28964
+ * implement a hot reloading mechanism for Redux.
28965
+ *
28966
+ * @param {Function} nextReducer The reducer for the store to use instead.
28967
+ * @returns {void}
28968
+ */
28906
28969
 
28907
- if (typeof nextStateForKey === 'undefined') {
28908
- var actionType = action && action.type;
28909
- throw new Error( false ? 0 : "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.");
28910
- }
28911
28970
 
28912
- nextState[_key] = nextStateForKey;
28913
- hasChanged = hasChanged || nextStateForKey !== previousStateForKey;
28971
+ function replaceReducer(nextReducer) {
28972
+ if (typeof nextReducer !== 'function') {
28973
+ throw new Error( false ? 0 : "Expected the nextReducer to be a function. Instead, received: '" + kindOf(nextReducer));
28914
28974
  }
28915
28975
 
28916
- hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;
28917
- return hasChanged ? nextState : state;
28918
- };
28919
- }
28920
-
28921
- function bindActionCreator(actionCreator, dispatch) {
28922
- return function () {
28923
- return dispatch(actionCreator.apply(this, arguments));
28924
- };
28925
- }
28926
- /**
28927
- * Turns an object whose values are action creators, into an object with the
28928
- * same keys, but with every function wrapped into a `dispatch` call so they
28929
- * may be invoked directly. This is just a convenience method, as you can call
28930
- * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.
28931
- *
28932
- * For convenience, you can also pass an action creator as the first argument,
28933
- * and get a dispatch wrapped function in return.
28934
- *
28935
- * @param {Function|Object} actionCreators An object whose values are action
28936
- * creator functions. One handy way to obtain it is to use ES6 `import * as`
28937
- * syntax. You may also pass a single function.
28938
- *
28939
- * @param {Function} dispatch The `dispatch` function available on your Redux
28940
- * store.
28941
- *
28942
- * @returns {Function|Object} The object mimicking the original object, but with
28943
- * every action creator wrapped into the `dispatch` call. If you passed a
28944
- * function as `actionCreators`, the return value will also be a single
28945
- * function.
28946
- */
28947
-
28948
-
28949
- function bindActionCreators(actionCreators, dispatch) {
28950
- if (typeof actionCreators === 'function') {
28951
- return bindActionCreator(actionCreators, dispatch);
28952
- }
28976
+ currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.
28977
+ // Any reducers that existed in both the new and old rootReducer
28978
+ // will receive the previous state. This effectively populates
28979
+ // the new state tree with any relevant data from the old one.
28953
28980
 
28954
- if (typeof actionCreators !== 'object' || actionCreators === null) {
28955
- throw new Error( false ? 0 : "bindActionCreators expected an object or a function, but instead received: '" + kindOf(actionCreators) + "'. " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?");
28981
+ dispatch({
28982
+ type: ActionTypes.REPLACE
28983
+ });
28956
28984
  }
28985
+ /**
28986
+ * Interoperability point for observable/reactive libraries.
28987
+ * @returns {observable} A minimal observable of state changes.
28988
+ * For more information, see the observable proposal:
28989
+ * https://github.com/tc39/proposal-observable
28990
+ */
28957
28991
 
28958
- var boundActionCreators = {};
28959
-
28960
- for (var key in actionCreators) {
28961
- var actionCreator = actionCreators[key];
28962
28992
 
28963
- if (typeof actionCreator === 'function') {
28964
- boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);
28965
- }
28966
- }
28993
+ function observable() {
28994
+ var _ref;
28967
28995
 
28968
- return boundActionCreators;
28969
- }
28996
+ var outerSubscribe = subscribe;
28997
+ return _ref = {
28998
+ /**
28999
+ * The minimal observable subscription method.
29000
+ * @param {Object} observer Any object that can be used as an observer.
29001
+ * The observer object should have a `next` method.
29002
+ * @returns {subscription} An object with an `unsubscribe` method that can
29003
+ * be used to unsubscribe the observable from the store, and prevent further
29004
+ * emission of values from the observable.
29005
+ */
29006
+ subscribe: function subscribe(observer) {
29007
+ if (typeof observer !== 'object' || observer === null) {
29008
+ throw new Error( false ? 0 : "Expected the observer to be an object. Instead, received: '" + kindOf(observer) + "'");
29009
+ }
28970
29010
 
28971
- /**
28972
- * Composes single-argument functions from right to left. The rightmost
28973
- * function can take multiple arguments as it provides the signature for
28974
- * the resulting composite function.
28975
- *
28976
- * @param {...Function} funcs The functions to compose.
28977
- * @returns {Function} A function obtained by composing the argument functions
28978
- * from right to left. For example, compose(f, g, h) is identical to doing
28979
- * (...args) => f(g(h(...args))).
28980
- */
28981
- function compose() {
28982
- for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
28983
- funcs[_key] = arguments[_key];
28984
- }
29011
+ function observeState() {
29012
+ if (observer.next) {
29013
+ observer.next(getState());
29014
+ }
29015
+ }
28985
29016
 
28986
- if (funcs.length === 0) {
28987
- return function (arg) {
28988
- return arg;
28989
- };
28990
- }
29017
+ observeState();
29018
+ var unsubscribe = outerSubscribe(observeState);
29019
+ return {
29020
+ unsubscribe: unsubscribe
29021
+ };
29022
+ }
29023
+ }, _ref[$$observable] = function () {
29024
+ return this;
29025
+ }, _ref;
29026
+ } // When a store is created, an "INIT" action is dispatched so that every
29027
+ // reducer returns their initial state. This effectively populates
29028
+ // the initial state tree.
28991
29029
 
28992
- if (funcs.length === 1) {
28993
- return funcs[0];
28994
- }
28995
29030
 
28996
- return funcs.reduce(function (a, b) {
28997
- return function () {
28998
- return a(b.apply(void 0, arguments));
28999
- };
29031
+ dispatch({
29032
+ type: ActionTypes.INIT
29000
29033
  });
29034
+ return _ref2 = {
29035
+ dispatch: dispatch,
29036
+ subscribe: subscribe,
29037
+ getState: getState,
29038
+ replaceReducer: replaceReducer
29039
+ }, _ref2[$$observable] = observable, _ref2;
29001
29040
  }
29002
-
29003
29041
  /**
29004
- * Creates a store enhancer that applies middleware to the dispatch method
29005
- * of the Redux store. This is handy for a variety of tasks, such as expressing
29006
- * asynchronous actions in a concise manner, or logging every action payload.
29042
+ * Creates a Redux store that holds the state tree.
29007
29043
  *
29008
- * See `redux-thunk` package as an example of the Redux middleware.
29044
+ * **We recommend using `configureStore` from the
29045
+ * `@reduxjs/toolkit` package**, which replaces `createStore`:
29046
+ * **https://redux.js.org/introduction/why-rtk-is-redux-today**
29009
29047
  *
29010
- * Because middleware is potentially asynchronous, this should be the first
29011
- * store enhancer in the composition chain.
29048
+ * The only way to change the data in the store is to call `dispatch()` on it.
29012
29049
  *
29013
- * Note that each middleware will be given the `dispatch` and `getState` functions
29014
- * as named arguments.
29050
+ * There should only be a single store in your app. To specify how different
29051
+ * parts of the state tree respond to actions, you may combine several reducers
29052
+ * into a single reducer function by using `combineReducers`.
29015
29053
  *
29016
- * @param {...Function} middlewares The middleware chain to be applied.
29017
- * @returns {Function} A store enhancer applying the middleware.
29054
+ * @param {Function} reducer A function that returns the next state tree, given
29055
+ * the current state tree and the action to handle.
29056
+ *
29057
+ * @param {any} [preloadedState] The initial state. You may optionally specify it
29058
+ * to hydrate the state from the server in universal apps, or to restore a
29059
+ * previously serialized user session.
29060
+ * If you use `combineReducers` to produce the root reducer function, this must be
29061
+ * an object with the same shape as `combineReducers` keys.
29062
+ *
29063
+ * @param {Function} [enhancer] The store enhancer. You may optionally specify it
29064
+ * to enhance the store with third-party capabilities such as middleware,
29065
+ * time travel, persistence, etc. The only store enhancer that ships with Redux
29066
+ * is `applyMiddleware()`.
29067
+ *
29068
+ * @returns {Store} A Redux store that lets you read the state, dispatch actions
29069
+ * and subscribe to changes.
29018
29070
  */
29019
29071
 
29020
- function applyMiddleware() {
29021
- for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {
29022
- middlewares[_key] = arguments[_key];
29023
- }
29024
-
29025
- return function (createStore) {
29026
- return function () {
29027
- var store = createStore.apply(void 0, arguments);
29028
-
29029
- var _dispatch = function dispatch() {
29030
- throw new Error( false ? 0 : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');
29031
- };
29032
-
29033
- var middlewareAPI = {
29034
- getState: store.getState,
29035
- dispatch: function dispatch() {
29036
- return _dispatch.apply(void 0, arguments);
29037
- }
29038
- };
29039
- var chain = middlewares.map(function (middleware) {
29040
- return middleware(middlewareAPI);
29041
- });
29042
- _dispatch = compose.apply(void 0, chain)(store.dispatch);
29043
- return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__["default"])({}, store), {}, {
29044
- dispatch: _dispatch
29045
- });
29046
- };
29047
- };
29048
- }
29072
+ var legacy_createStore = createStore;
29049
29073
 
29050
- /*
29051
- * This is a dummy function to check if the function name has been altered by minification.
29052
- * If the function has been minified and NODE_ENV !== 'production', warn the user.
29074
+ /**
29075
+ * Prints a warning in the console if it exists.
29076
+ *
29077
+ * @param {String} message The warning message.
29078
+ * @returns {void}
29053
29079
  */
29080
+ function warning(message) {
29081
+ /* eslint-disable no-console */
29082
+ if (typeof console !== 'undefined' && typeof console.error === 'function') {
29083
+ console.error(message);
29084
+ }
29085
+ /* eslint-enable no-console */
29054
29086
 
29055
- function isCrushed() {}
29056
29087
 
29057
- if ( true && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {
29058
- 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.');
29088
+ try {
29089
+ // This error was thrown as a convenience so that if you enable
29090
+ // "break on all exceptions" in your console,
29091
+ // it would pause the execution at this line.
29092
+ throw new Error(message);
29093
+ } catch (e) {} // eslint-disable-line no-empty
29094
+
29059
29095
  }
29060
29096
 
29097
+ function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {
29098
+ var reducerKeys = Object.keys(reducers);
29099
+ var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';
29061
29100
 
29101
+ if (reducerKeys.length === 0) {
29102
+ return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';
29103
+ }
29062
29104
 
29105
+ if (!isPlainObject(inputState)) {
29106
+ return "The " + argumentName + " has unexpected type of \"" + kindOf(inputState) + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\"");
29107
+ }
29063
29108
 
29064
- /***/ }),
29109
+ var unexpectedKeys = Object.keys(inputState).filter(function (key) {
29110
+ return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];
29111
+ });
29112
+ unexpectedKeys.forEach(function (key) {
29113
+ unexpectedKeyCache[key] = true;
29114
+ });
29115
+ if (action && action.type === ActionTypes.REPLACE) return;
29065
29116
 
29066
- /***/ "../../node_modules/reselect/es/defaultMemoize.js":
29067
- /*!********************************************************!*\
29068
- !*** ../../node_modules/reselect/es/defaultMemoize.js ***!
29069
- \********************************************************/
29070
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
29117
+ if (unexpectedKeys.length > 0) {
29118
+ 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.");
29119
+ }
29120
+ }
29071
29121
 
29072
- "use strict";
29073
- __webpack_require__.r(__webpack_exports__);
29074
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
29075
- /* harmony export */ "createCacheKeyComparator": () => (/* binding */ createCacheKeyComparator),
29076
- /* harmony export */ "defaultEqualityCheck": () => (/* binding */ defaultEqualityCheck),
29077
- /* harmony export */ "defaultMemoize": () => (/* binding */ defaultMemoize)
29078
- /* harmony export */ });
29079
- // Cache implementation based on Erik Rasmussen's `lru-memoize`:
29080
- // https://github.com/erikras/lru-memoize
29081
- var NOT_FOUND = 'NOT_FOUND';
29122
+ function assertReducerShape(reducers) {
29123
+ Object.keys(reducers).forEach(function (key) {
29124
+ var reducer = reducers[key];
29125
+ var initialState = reducer(undefined, {
29126
+ type: ActionTypes.INIT
29127
+ });
29082
29128
 
29083
- function createSingletonCache(equals) {
29084
- var entry;
29085
- return {
29086
- get: function get(key) {
29087
- if (entry && equals(entry.key, key)) {
29088
- return entry.value;
29089
- }
29129
+ if (typeof initialState === 'undefined') {
29130
+ throw new Error( false ? 0 : "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.");
29131
+ }
29090
29132
 
29091
- return NOT_FOUND;
29092
- },
29093
- put: function put(key, value) {
29094
- entry = {
29095
- key: key,
29096
- value: value
29097
- };
29098
- },
29099
- getEntries: function getEntries() {
29100
- return entry ? [entry] : [];
29101
- },
29102
- clear: function clear() {
29103
- entry = undefined;
29133
+ if (typeof reducer(undefined, {
29134
+ type: ActionTypes.PROBE_UNKNOWN_ACTION()
29135
+ }) === 'undefined') {
29136
+ throw new Error( false ? 0 : "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.");
29104
29137
  }
29105
- };
29138
+ });
29106
29139
  }
29140
+ /**
29141
+ * Turns an object whose values are different reducer functions, into a single
29142
+ * reducer function. It will call every child reducer, and gather their results
29143
+ * into a single state object, whose keys correspond to the keys of the passed
29144
+ * reducer functions.
29145
+ *
29146
+ * @param {Object} reducers An object whose values correspond to different
29147
+ * reducer functions that need to be combined into one. One handy way to obtain
29148
+ * it is to use ES6 `import * as reducers` syntax. The reducers may never return
29149
+ * undefined for any action. Instead, they should return their initial state
29150
+ * if the state passed to them was undefined, and the current state for any
29151
+ * unrecognized action.
29152
+ *
29153
+ * @returns {Function} A reducer function that invokes every reducer inside the
29154
+ * passed object, and builds a state object with the same shape.
29155
+ */
29107
29156
 
29108
- function createLruCache(maxSize, equals) {
29109
- var entries = [];
29110
29157
 
29111
- function get(key) {
29112
- var cacheIndex = entries.findIndex(function (entry) {
29113
- return equals(key, entry.key);
29114
- }); // We found a cached entry
29158
+ function combineReducers(reducers) {
29159
+ var reducerKeys = Object.keys(reducers);
29160
+ var finalReducers = {};
29115
29161
 
29116
- if (cacheIndex > -1) {
29117
- var entry = entries[cacheIndex]; // Cached entry not at top of cache, move it to the top
29162
+ for (var i = 0; i < reducerKeys.length; i++) {
29163
+ var key = reducerKeys[i];
29118
29164
 
29119
- if (cacheIndex > 0) {
29120
- entries.splice(cacheIndex, 1);
29121
- entries.unshift(entry);
29165
+ if (true) {
29166
+ if (typeof reducers[key] === 'undefined') {
29167
+ warning("No reducer provided for key \"" + key + "\"");
29122
29168
  }
29169
+ }
29123
29170
 
29124
- return entry.value;
29125
- } // No entry found in cache, return sentinel
29126
-
29127
-
29128
- return NOT_FOUND;
29171
+ if (typeof reducers[key] === 'function') {
29172
+ finalReducers[key] = reducers[key];
29173
+ }
29129
29174
  }
29130
29175
 
29131
- function put(key, value) {
29132
- if (get(key) === NOT_FOUND) {
29133
- // TODO Is unshift slow?
29134
- entries.unshift({
29135
- key: key,
29136
- value: value
29137
- });
29176
+ var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same
29177
+ // keys multiple times.
29138
29178
 
29139
- if (entries.length > maxSize) {
29140
- entries.pop();
29141
- }
29142
- }
29143
- }
29179
+ var unexpectedKeyCache;
29144
29180
 
29145
- function getEntries() {
29146
- return entries;
29181
+ if (true) {
29182
+ unexpectedKeyCache = {};
29147
29183
  }
29148
29184
 
29149
- function clear() {
29150
- entries = [];
29151
- }
29185
+ var shapeAssertionError;
29152
29186
 
29153
- return {
29154
- get: get,
29155
- put: put,
29156
- getEntries: getEntries,
29157
- clear: clear
29158
- };
29159
- }
29187
+ try {
29188
+ assertReducerShape(finalReducers);
29189
+ } catch (e) {
29190
+ shapeAssertionError = e;
29191
+ }
29160
29192
 
29161
- var defaultEqualityCheck = function defaultEqualityCheck(a, b) {
29162
- return a === b;
29163
- };
29164
- function createCacheKeyComparator(equalityCheck) {
29165
- return function areArgumentsShallowlyEqual(prev, next) {
29166
- if (prev === null || next === null || prev.length !== next.length) {
29167
- return false;
29168
- } // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.
29193
+ return function combination(state, action) {
29194
+ if (state === void 0) {
29195
+ state = {};
29196
+ }
29169
29197
 
29198
+ if (shapeAssertionError) {
29199
+ throw shapeAssertionError;
29200
+ }
29170
29201
 
29171
- var length = prev.length;
29202
+ if (true) {
29203
+ var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);
29172
29204
 
29173
- for (var i = 0; i < length; i++) {
29174
- if (!equalityCheck(prev[i], next[i])) {
29175
- return false;
29205
+ if (warningMessage) {
29206
+ warning(warningMessage);
29176
29207
  }
29177
29208
  }
29178
29209
 
29179
- return true;
29180
- };
29181
- }
29182
- // defaultMemoize now supports a configurable cache size with LRU behavior,
29183
- // and optional comparison of the result value with existing values
29184
- function defaultMemoize(func, equalityCheckOrOptions) {
29185
- var providedOptions = typeof equalityCheckOrOptions === 'object' ? equalityCheckOrOptions : {
29186
- equalityCheck: equalityCheckOrOptions
29187
- };
29188
- var _providedOptions$equa = providedOptions.equalityCheck,
29189
- equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa,
29190
- _providedOptions$maxS = providedOptions.maxSize,
29191
- maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS,
29192
- resultEqualityCheck = providedOptions.resultEqualityCheck;
29193
- var comparator = createCacheKeyComparator(equalityCheck);
29194
- var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); // we reference arguments instead of spreading them for performance reasons
29195
-
29196
- function memoized() {
29197
- var value = cache.get(arguments);
29198
-
29199
- if (value === NOT_FOUND) {
29200
- // @ts-ignore
29201
- value = func.apply(null, arguments);
29210
+ var hasChanged = false;
29211
+ var nextState = {};
29202
29212
 
29203
- if (resultEqualityCheck) {
29204
- var entries = cache.getEntries();
29205
- var matchingEntry = entries.find(function (entry) {
29206
- return resultEqualityCheck(entry.value, value);
29207
- });
29213
+ for (var _i = 0; _i < finalReducerKeys.length; _i++) {
29214
+ var _key = finalReducerKeys[_i];
29215
+ var reducer = finalReducers[_key];
29216
+ var previousStateForKey = state[_key];
29217
+ var nextStateForKey = reducer(previousStateForKey, action);
29208
29218
 
29209
- if (matchingEntry) {
29210
- value = matchingEntry.value;
29211
- }
29219
+ if (typeof nextStateForKey === 'undefined') {
29220
+ var actionType = action && action.type;
29221
+ throw new Error( false ? 0 : "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.");
29212
29222
  }
29213
29223
 
29214
- cache.put(arguments, value);
29224
+ nextState[_key] = nextStateForKey;
29225
+ hasChanged = hasChanged || nextStateForKey !== previousStateForKey;
29215
29226
  }
29216
29227
 
29217
- return value;
29218
- }
29219
-
29220
- memoized.clearCache = function () {
29221
- return cache.clear();
29228
+ hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;
29229
+ return hasChanged ? nextState : state;
29222
29230
  };
29223
-
29224
- return memoized;
29225
29231
  }
29226
29232
 
29227
- /***/ }),
29233
+ function bindActionCreator(actionCreator, dispatch) {
29234
+ return function () {
29235
+ return dispatch(actionCreator.apply(this, arguments));
29236
+ };
29237
+ }
29238
+ /**
29239
+ * Turns an object whose values are action creators, into an object with the
29240
+ * same keys, but with every function wrapped into a `dispatch` call so they
29241
+ * may be invoked directly. This is just a convenience method, as you can call
29242
+ * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.
29243
+ *
29244
+ * For convenience, you can also pass an action creator as the first argument,
29245
+ * and get a dispatch wrapped function in return.
29246
+ *
29247
+ * @param {Function|Object} actionCreators An object whose values are action
29248
+ * creator functions. One handy way to obtain it is to use ES6 `import * as`
29249
+ * syntax. You may also pass a single function.
29250
+ *
29251
+ * @param {Function} dispatch The `dispatch` function available on your Redux
29252
+ * store.
29253
+ *
29254
+ * @returns {Function|Object} The object mimicking the original object, but with
29255
+ * every action creator wrapped into the `dispatch` call. If you passed a
29256
+ * function as `actionCreators`, the return value will also be a single
29257
+ * function.
29258
+ */
29228
29259
 
29229
- /***/ "../../node_modules/reselect/es/index.js":
29230
- /*!***********************************************!*\
29231
- !*** ../../node_modules/reselect/es/index.js ***!
29232
- \***********************************************/
29233
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
29234
29260
 
29235
- "use strict";
29236
- __webpack_require__.r(__webpack_exports__);
29237
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
29238
- /* harmony export */ "createSelector": () => (/* binding */ createSelector),
29239
- /* harmony export */ "createSelectorCreator": () => (/* binding */ createSelectorCreator),
29240
- /* harmony export */ "createStructuredSelector": () => (/* binding */ createStructuredSelector),
29241
- /* harmony export */ "defaultEqualityCheck": () => (/* reexport safe */ _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultEqualityCheck),
29242
- /* harmony export */ "defaultMemoize": () => (/* reexport safe */ _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultMemoize)
29243
- /* harmony export */ });
29244
- /* harmony import */ var _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaultMemoize */ "../../node_modules/reselect/es/defaultMemoize.js");
29261
+ function bindActionCreators(actionCreators, dispatch) {
29262
+ if (typeof actionCreators === 'function') {
29263
+ return bindActionCreator(actionCreators, dispatch);
29264
+ }
29245
29265
 
29266
+ if (typeof actionCreators !== 'object' || actionCreators === null) {
29267
+ throw new Error( false ? 0 : "bindActionCreators expected an object or a function, but instead received: '" + kindOf(actionCreators) + "'. " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?");
29268
+ }
29246
29269
 
29270
+ var boundActionCreators = {};
29247
29271
 
29248
- function getDependencies(funcs) {
29249
- var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;
29272
+ for (var key in actionCreators) {
29273
+ var actionCreator = actionCreators[key];
29250
29274
 
29251
- if (!dependencies.every(function (dep) {
29252
- return typeof dep === 'function';
29253
- })) {
29254
- var dependencyTypes = dependencies.map(function (dep) {
29255
- return typeof dep === 'function' ? "function " + (dep.name || 'unnamed') + "()" : typeof dep;
29256
- }).join(', ');
29257
- throw new Error("createSelector expects all input-selectors to be functions, but received the following types: [" + dependencyTypes + "]");
29275
+ if (typeof actionCreator === 'function') {
29276
+ boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);
29277
+ }
29258
29278
  }
29259
29279
 
29260
- return dependencies;
29280
+ return boundActionCreators;
29261
29281
  }
29262
29282
 
29263
- function createSelectorCreator(memoize) {
29264
- for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
29265
- memoizeOptionsFromArgs[_key - 1] = arguments[_key];
29283
+ /**
29284
+ * Composes single-argument functions from right to left. The rightmost
29285
+ * function can take multiple arguments as it provides the signature for
29286
+ * the resulting composite function.
29287
+ *
29288
+ * @param {...Function} funcs The functions to compose.
29289
+ * @returns {Function} A function obtained by composing the argument functions
29290
+ * from right to left. For example, compose(f, g, h) is identical to doing
29291
+ * (...args) => f(g(h(...args))).
29292
+ */
29293
+ function compose() {
29294
+ for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
29295
+ funcs[_key] = arguments[_key];
29266
29296
  }
29267
29297
 
29268
- var createSelector = function createSelector() {
29269
- for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
29270
- funcs[_key2] = arguments[_key2];
29271
- }
29272
-
29273
- var _recomputations = 0;
29274
-
29275
- var _lastResult; // Due to the intricacies of rest params, we can't do an optional arg after `...funcs`.
29276
- // So, start by declaring the default value here.
29277
- // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.)
29278
-
29279
-
29280
- var directlyPassedOptions = {
29281
- memoizeOptions: undefined
29282
- }; // Normally, the result func or "output selector" is the last arg
29283
-
29284
- var resultFunc = funcs.pop(); // If the result func is actually an _object_, assume it's our options object
29285
-
29286
- if (typeof resultFunc === 'object') {
29287
- directlyPassedOptions = resultFunc; // and pop the real result func off
29288
-
29289
- resultFunc = funcs.pop();
29290
- }
29291
-
29292
- if (typeof resultFunc !== 'function') {
29293
- throw new Error("createSelector expects an output function after the inputs, but received: [" + typeof resultFunc + "]");
29294
- } // Determine which set of options we're using. Prefer options passed directly,
29295
- // but fall back to options given to createSelectorCreator.
29298
+ if (funcs.length === 0) {
29299
+ return function (arg) {
29300
+ return arg;
29301
+ };
29302
+ }
29296
29303
 
29304
+ if (funcs.length === 1) {
29305
+ return funcs[0];
29306
+ }
29297
29307
 
29298
- var _directlyPassedOption = directlyPassedOptions,
29299
- _directlyPassedOption2 = _directlyPassedOption.memoizeOptions,
29300
- memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer
29301
- // is an array. In most libs I've looked at, it's an equality function or options object.
29302
- // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full
29303
- // user-provided array of options. Otherwise, it must be just the _first_ arg, and so
29304
- // we wrap it in an array so we can apply it.
29308
+ return funcs.reduce(function (a, b) {
29309
+ return function () {
29310
+ return a(b.apply(void 0, arguments));
29311
+ };
29312
+ });
29313
+ }
29305
29314
 
29306
- var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions];
29307
- var dependencies = getDependencies(funcs);
29308
- var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() {
29309
- _recomputations++; // apply arguments instead of spreading for performance.
29315
+ /**
29316
+ * Creates a store enhancer that applies middleware to the dispatch method
29317
+ * of the Redux store. This is handy for a variety of tasks, such as expressing
29318
+ * asynchronous actions in a concise manner, or logging every action payload.
29319
+ *
29320
+ * See `redux-thunk` package as an example of the Redux middleware.
29321
+ *
29322
+ * Because middleware is potentially asynchronous, this should be the first
29323
+ * store enhancer in the composition chain.
29324
+ *
29325
+ * Note that each middleware will be given the `dispatch` and `getState` functions
29326
+ * as named arguments.
29327
+ *
29328
+ * @param {...Function} middlewares The middleware chain to be applied.
29329
+ * @returns {Function} A store enhancer applying the middleware.
29330
+ */
29310
29331
 
29311
- return resultFunc.apply(null, arguments);
29312
- }].concat(finalMemoizeOptions)); // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.
29332
+ function applyMiddleware() {
29333
+ for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {
29334
+ middlewares[_key] = arguments[_key];
29335
+ }
29313
29336
 
29314
- var selector = memoize(function dependenciesChecker() {
29315
- var params = [];
29316
- var length = dependencies.length;
29337
+ return function (createStore) {
29338
+ return function () {
29339
+ var store = createStore.apply(void 0, arguments);
29317
29340
 
29318
- for (var i = 0; i < length; i++) {
29319
- // apply arguments instead of spreading and mutate a local list of params for performance.
29320
- // @ts-ignore
29321
- params.push(dependencies[i].apply(null, arguments));
29322
- } // apply arguments instead of spreading for performance.
29341
+ var _dispatch = function dispatch() {
29342
+ throw new Error( false ? 0 : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');
29343
+ };
29323
29344
 
29345
+ var middlewareAPI = {
29346
+ getState: store.getState,
29347
+ dispatch: function dispatch() {
29348
+ return _dispatch.apply(void 0, arguments);
29349
+ }
29350
+ };
29351
+ var chain = middlewares.map(function (middleware) {
29352
+ return middleware(middlewareAPI);
29353
+ });
29354
+ _dispatch = compose.apply(void 0, chain)(store.dispatch);
29355
+ return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__["default"])({}, store), {}, {
29356
+ dispatch: _dispatch
29357
+ });
29358
+ };
29359
+ };
29360
+ }
29324
29361
 
29325
- _lastResult = memoizedResultFunc.apply(null, params);
29326
- return _lastResult;
29327
- });
29328
- Object.assign(selector, {
29329
- resultFunc: resultFunc,
29330
- memoizedResultFunc: memoizedResultFunc,
29331
- dependencies: dependencies,
29332
- lastResult: function lastResult() {
29333
- return _lastResult;
29334
- },
29335
- recomputations: function recomputations() {
29336
- return _recomputations;
29337
- },
29338
- resetRecomputations: function resetRecomputations() {
29339
- return _recomputations = 0;
29340
- }
29341
- });
29342
- return selector;
29343
- }; // @ts-ignore
29362
+ /*
29363
+ * This is a dummy function to check if the function name has been altered by minification.
29364
+ * If the function has been minified and NODE_ENV !== 'production', warn the user.
29365
+ */
29344
29366
 
29367
+ function isCrushed() {}
29345
29368
 
29346
- return createSelector;
29369
+ if ( true && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {
29370
+ 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.');
29347
29371
  }
29348
- var createSelector = /* #__PURE__ */createSelectorCreator(_defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultMemoize);
29349
- // Manual definition of state and output arguments
29350
- var createStructuredSelector = function createStructuredSelector(selectors, selectorCreator) {
29351
- if (selectorCreator === void 0) {
29352
- selectorCreator = createSelector;
29353
- }
29354
29372
 
29355
- if (typeof selectors !== 'object') {
29356
- throw new Error('createStructuredSelector expects first argument to be an object ' + ("where each property is a selector, instead received a " + typeof selectors));
29357
- }
29358
29373
 
29359
- var objectKeys = Object.keys(selectors);
29360
- var resultSelector = selectorCreator( // @ts-ignore
29361
- objectKeys.map(function (key) {
29362
- return selectors[key];
29363
- }), function () {
29364
- for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
29365
- values[_key3] = arguments[_key3];
29366
- }
29367
29374
 
29368
- return values.reduce(function (composition, value, index) {
29369
- composition[objectKeys[index]] = value;
29370
- return composition;
29371
- }, {});
29372
- });
29373
- return resultSelector;
29374
- };
29375
29375
 
29376
29376
  /***/ }),
29377
29377