state-decorator 6.9.0 → 6.10.1

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.
Files changed (77) hide show
  1. package/README.md +3 -1
  2. package/dist/impl.d.ts +195 -0
  3. package/dist/impl.js +2 -0
  4. package/dist/impl.js.map +1 -0
  5. package/dist/index.d.ts +168 -0
  6. package/dist/index.js +2 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/middlewares.d.ts +26 -0
  9. package/dist/middlewares.js +2 -0
  10. package/dist/middlewares.js.map +1 -0
  11. package/dist/shallow.d.ts +15 -0
  12. package/dist/test.d.ts +134 -0
  13. package/dist/test.js +2 -0
  14. package/dist/test.js.map +1 -0
  15. package/dist/types.d.ts +352 -0
  16. package/dist/v5.d.ts +58 -0
  17. package/dist/v5.js +2 -0
  18. package/dist/v5.js.map +1 -0
  19. package/dist/v5_test.d.ts +70 -0
  20. package/dist/v5_test.js +2 -0
  21. package/dist/v5_test.js.map +1 -0
  22. package/dist/v5_types.d.ts +227 -0
  23. package/es/impl.d.ts +195 -0
  24. package/es/impl.js +2 -0
  25. package/es/impl.js.map +1 -0
  26. package/es/index.d.ts +168 -0
  27. package/es/index.js +2 -0
  28. package/es/index.js.map +1 -0
  29. package/es/middlewares.d.ts +26 -0
  30. package/es/middlewares.js +2 -0
  31. package/es/middlewares.js.map +1 -0
  32. package/es/shallow.d.ts +15 -0
  33. package/es/test.d.ts +134 -0
  34. package/es/test.js +2 -0
  35. package/es/test.js.map +1 -0
  36. package/es/types.d.ts +352 -0
  37. package/es/v5.d.ts +58 -0
  38. package/es/v5.js +2 -0
  39. package/es/v5.js.map +1 -0
  40. package/es/v5_test.d.ts +70 -0
  41. package/es/v5_test.js +2 -0
  42. package/es/v5_test.js.map +1 -0
  43. package/es/v5_types.d.ts +227 -0
  44. package/impl.d.ts +107 -3
  45. package/impl.js +1 -1
  46. package/impl.js.map +1 -1
  47. package/index.d.ts +14 -0
  48. package/index.js +1 -1
  49. package/index.js.map +1 -1
  50. package/middlewares.d.ts +14 -0
  51. package/middlewares.js +1 -1
  52. package/middlewares.js.map +1 -1
  53. package/package.json +4 -6
  54. package/shallow.d.ts +14 -0
  55. package/test.d.ts +17 -0
  56. package/test.js +1 -1
  57. package/test.js.map +1 -1
  58. package/types.d.ts +14 -0
  59. package/v5.d.ts +14 -0
  60. package/v5.js +1 -1
  61. package/v5.js.map +1 -1
  62. package/v5_test.d.ts +14 -0
  63. package/v5_test.js +1 -1
  64. package/v5_test.js.map +1 -1
  65. package/v5_types.d.ts +14 -0
  66. package/impl.es.js +0 -2
  67. package/impl.es.js.map +0 -1
  68. package/index.es.js +0 -2
  69. package/index.es.js.map +0 -1
  70. package/middlewares.es.js +0 -2
  71. package/middlewares.es.js.map +0 -1
  72. package/test.es.js +0 -2
  73. package/test.es.js.map +0 -1
  74. package/v5.es.js +0 -2
  75. package/v5.es.js.map +0 -1
  76. package/v5_test.es.js +0 -2
  77. package/v5_test.es.js.map +0 -1
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/types.ts","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../src/index.ts"],"sourcesContent":["/*\n * Copyright 2019 Globalsport SAS\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nexport type PromiseResult<Type> = Type extends Promise<infer X> ? X : null;\n\nexport type NotifyFunc = (msg: string) => void;\n\nexport type PromiseIdMap = { [promiseId: string]: boolean };\n\nexport type LoadingMap<A> = { [pId in keyof A]?: boolean };\nexport type LoadingParallelMap<A> = { [P in keyof A]?: PromiseIdMap };\nexport type InternalLoadingMap<A> = LoadingParallelMap<A>;\n\nexport type LoadingProps<A> = {\n loading: boolean;\n loadingMap: LoadingMap<A>;\n loadingParallelMap: LoadingParallelMap<A>;\n};\n\nexport type PromiseIdErrorMap = { [promiseId: string]: Error };\nexport type ErrorMap<A> = { [pId in keyof A]?: Error };\nexport type ErrorParallelMap<A> = { [P in keyof A]?: PromiseIdErrorMap };\n\n// https://github.com/Microsoft/TypeScript/issues/15300\nexport interface DecoratedActions {\n [name: string]: (...args: any[]) => Promise<any> | void;\n}\n\n/**\n * The State decorator can manage only one asynchronous action of same name at a time.\n * This enum is enumertaing all the policies in such case.\n */\nexport enum ConflictPolicy {\n /**\n * Reject the promise.\n */\n REJECT = 'reject',\n\n /**\n * Return a resolved promise with no result.\n */\n IGNORE = 'ignore',\n\n /**\n * Execute only the last call that conflicts after the one ongoing.\n */\n KEEP_LAST = 'keepLast',\n\n /**\n * Execute all calls one after another.\n */\n KEEP_ALL = 'keepAll',\n\n /**\n * Execute all calls one after another.\n * @see getPromiseId\n */\n PARALLEL = 'parallel',\n\n /**\n * Reuse the ongoing promise if any and if possible (same arguments). Only for GET requests!\n */\n REUSE = 'reuse',\n}\n\nexport type PromiseProvider<S, DS, F extends (...args: any[]) => any, A, P> = (\n ctx: GetPromiseInvocationContext<S, DS, F, P, A>\n) => ReturnType<F> | null;\n\n/**\n * Simple form of a synchronous action.\n */\nexport type SimpleSyncAction<S, F extends (...args: any[]) => any, P, DS, FxRes = S> = (\n ctx: InvocationContext<S, DS, F, P>\n) => FxRes | null;\n\nexport type SyncAction<S, F extends (...args: any[]) => any, A, P, DS, FxRes = S> = {\n /**\n * Function that update the state when the action is called.\n */\n effects?: (ctx: EffectsInvocationContext<S, DS, F, P>) => FxRes | null;\n\n /**\n * Debounces the action if this parameter is defined.\n */\n debounceTimeout?: number;\n\n /**\n * Debounces the action side effects if this parameter is defined.\n */\n debounceSideEffectsTimeout?: number;\n\n /**\n * Function that calls side effects, ie. effects that are not changing the state directly.\n */\n sideEffects?: (ctx: SideEffectsInvocationContext<S, DS, F, P, A>) => void;\n};\n\n/**\n * Try to abort an action, if the action is <code>abortable</code>.\n * @param actionName The action name\n * @param promiseId If the action conflict type is <code>ConflictType.PARALLEL</code>, the identifier of the promise.\n * @returns <code>true</code> if the action is abortable and an action is ongoing, <code>false</code> otherwise.\n */\nexport type AbortActionCallback<A> = (actionName: keyof A, promiseId?: string) => boolean;\n\nexport type GetErrorMessage<S, DS, F extends (...args: any[]) => any, P> = (\n ctx: ErrorMessageInvocationContext<S, DS, F, P>\n) => string;\n\nexport type ContextState<S> = {\n state: S;\n s: S;\n};\n\nexport type ContextDerivedStateState<DS> = {\n derived: DS;\n ds: DS;\n};\n\nexport type ContextBase<S, P> = ContextState<S> & {\n props: P;\n p: P;\n};\n\nexport type ContextWithDerived<S, DS, P> = ContextBase<S, P> & ContextDerivedStateState<DS>;\n\nexport type InvocationContextActions<A> = {\n actions: A;\n a: A;\n};\n\nexport type WarningNotifyFunc = {\n notifyWarning?: NotifyFunc;\n};\n\nexport type InvocationContext<S, DS, F extends (...args: any[]) => any, P> = ContextWithDerived<S, DS, P> & {\n args: Parameters<F>;\n promiseId: string;\n};\n\nexport type EffectsInvocationContext<S, DS, F extends (...args: any[]) => any, P> = InvocationContext<S, DS, F, P> & {\n result: PromiseResult<ReturnType<F>>;\n res: PromiseResult<ReturnType<F>>;\n};\n\nexport type GetPromiseInvocationContext<S, DS, F extends (...args: any[]) => any, P, A> = InvocationContextActions<A> &\n InvocationContext<S, DS, F, P> & {\n abortSignal: AbortSignal;\n };\n\nexport type ErrorEffectsInvocationContext<S, DS, F extends (...args: any[]) => any, P> = InvocationContext<\n S,\n DS,\n F,\n P\n> & {\n error: Error;\n err: Error;\n};\n\nexport type SuccessMessageInvocationContext<S, DS, F extends (...args: any[]) => any, P> = EffectsInvocationContext<\n S,\n DS,\n F,\n P\n>;\nexport type ErrorMessageInvocationContext<S, DS, F extends (...args: any[]) => any, P> = ErrorEffectsInvocationContext<\n S,\n DS,\n F,\n P\n>;\n\nexport type SideEffectsInvocationContext<S, DS, F extends (...args: any[]) => any, P, A> = EffectsInvocationContext<\n S,\n DS,\n F,\n P\n> &\n InvocationContextActions<A> &\n WarningNotifyFunc;\n\nexport type ErrorSideEffectsInvocationContext<\n S,\n DS,\n F extends (...args: any[]) => any,\n P,\n A\n> = ErrorEffectsInvocationContext<S, DS, F, P> & InvocationContextActions<A> & WarningNotifyFunc;\n\nexport type OnMountInvocationContext<S, A, P> = ContextBase<S, P> & InvocationContextActions<A>;\n\nexport type EffectsType = 'preEffects' | 'effects' | 'errorEffects' | 'optimisticEffects' | null;\n\nexport type MiddlewareActionContext<S, A, P> = {\n name: keyof A;\n type: EffectsType;\n isAsync: boolean;\n context: InvocationContext<S, any, any, P>;\n};\n\nexport type MiddlewareStoreContext<S, A extends DecoratedActions, P> = {\n actions: StoreActions<S, A, P, any, any>;\n state: S;\n setState: (s: S) => void;\n options: StoreOptions<S, A, P, any>;\n};\n\nexport type MiddlewareFactory<S, A extends DecoratedActions, P> = () => Middleware<S, A, P>;\n\n/**\n * A state change middleware.\n * Allow to listen and change a state change on the fly.\n */\nexport type Middleware<S, A extends DecoratedActions, P> = {\n /**\n * Initializes the middleware. Called when the store is initializing.\n */\n init: (storeContext: MiddlewareStoreContext<S, A, P>) => void;\n\n /**\n * Invoked on a state change has occurred and returns a new state or <code>null</code> if unchanged.\n */\n effects: (\n actionContext: MiddlewareActionContext<S, A, P>,\n oldState: S,\n newState: S,\n loading: boolean\n ) => null | {\n state: S;\n loading: boolean;\n };\n\n /**\n * Destroys the middleware. Called when the store is being destroyed.\n */\n destroy: () => void;\n};\n\nexport type AsyncActionBase<S, F extends (...args: any[]) => any, A, P, DS, FxRes = S> = {\n /**\n * This action can be aborted. An abortSignal will be injected to the <code>promise</code> / <code>promiseGet</code>.\n */\n abortable?: boolean;\n\n /**\n * A function that provides the success message to pass to the notifySuccess function passed as property to the StateDecorator.\n */\n getSuccessMessage?: (ctx: SuccessMessageInvocationContext<S, DS, F, P>) => string;\n\n /**\n * A function that provides the error message to pass to the notifyError function passed as property to the StateDecorator.\n */\n getErrorMessage?: GetErrorMessage<S, DS, F, P>;\n\n /**\n * If set, called with the result of the promise to update the current state.\n */\n effects?: (ctx: EffectsInvocationContext<S, DS, F, P>) => FxRes | null;\n\n /**\n * If set, called with the error of the promise to update the current state.\n */\n errorEffects?: (ctx: ErrorEffectsInvocationContext<S, DS, F, P>) => FxRes | null;\n\n /**\n * Whether reject the promise instead of handling it.\n */\n rejectPromiseOnError?: boolean;\n\n /**\n * When the error will not be managed by an errorEffect, errorSideEffect, getErrorMessage,\n * the state decorator will not display an error message and will not return a failed promise\n * (unless <code>rejectPromiseOnError</code>) is set.\n */\n isErrorManaged?: boolean;\n\n /**\n * Handle side effects when the request succeeded.\n * @param result The result of the request\n * @param newData The data after the reducer is applied\n * @param args The argument during the call of the request function\n * @param props The props passed to the state decorator\n * @param actions The actions available\n * @param notifyWarning If specified, a notify function to indicate that the action is a semi success (use successMessage / getSuccessMessage otherwise).\n */\n sideEffects?: (ctx: SideEffectsInvocationContext<S, DS, F, P, A>) => void;\n\n /**\n * Handle side effects when the request failed.\n * @param error The error of the request\n * @param args The argument during the call of the request function\n * @param props The props passed to the state decorator\n * @param actions The actions available\n * @param notifyWarning If specified, a notify function to indicate that the action is a semi failure (use errorMessage / getErrorMessage otherwise).\n */\n errorSideEffects?: (ctx: ErrorSideEffectsInvocationContext<S, DS, F, P, A>) => void;\n\n /**\n * Retrieve the state to set as current data before the promise is resolved.\n * If the there's no reducer, this data will be used after the promise is done.\n */\n preEffects?: (ctx: InvocationContext<S, DS, F, P>) => FxRes | null;\n\n /**\n * Retrieve the state to set as current data before the promise is resolved.\n * If the there's no reducer, this data will be used after the promise is done.\n */\n optimisticEffects?: (ctx: InvocationContext<S, DS, F, P>) => FxRes | null;\n\n /**\n * Policy to apply when a call to an asynchronous action is done but a previous call is still not resolved.\n */\n conflictPolicy?: ConflictPolicy;\n\n /**\n * Get an identifier for an action call. Used only when conflictPolicy is ConflictPolicy.PARALLEL.\n * This information will be available in loadingMap. loadingMap[actionName] will be an array of promise identifiers.\n */\n getPromiseId?: (...args: Parameters<F>) => string;\n\n /**\n * Number of retries in case of error (failed to fetch).\n * Do not use this if you are creating objects...\n * Default value is 0 (no retry).\n */\n retryCount?: number;\n\n /**\n * Seed of delay between each retry in milliseconds.\n * The applied delay is retryDelaySeed * retry count.\n * Default value is 1000 (1 second).\n */\n retryDelaySeed?: number;\n\n /**\n * Function to test if the error will trigger an action retry or will fail directly.\n */\n isTriggerRetryError?: (e: Error) => boolean;\n};\n\nexport type AsyncActionPromise<S, F extends (...args: any[]) => any, A, P, DS = {}, FxRes = S> = AsyncActionBase<\n S,\n F,\n A,\n P,\n DS,\n FxRes\n> & {\n /**\n * The request, returns a promise\n */\n getPromise: PromiseProvider<S, DS, F, A, P>;\n};\n\nexport type AsyncActionPromiseGet<S, F extends (...args: any[]) => any, A, P, DS, FxRes = S> = AsyncActionBase<\n S,\n F,\n A,\n P,\n DS,\n FxRes\n> & {\n /**\n * The request, returns a promise that is a GET request.\n * A shortcut to set:\n * - retryCount: 3\n * - conflictPolicy: ConflictPolicy.REUSE\n */\n getGetPromise: PromiseProvider<S, DS, F, A, P>;\n};\n\nexport type AsyncAction<S, F extends (...args: any[]) => any, A, P, DS = {}, FxRes = S> =\n | AsyncActionPromise<S, F, A, P, DS, FxRes>\n | AsyncActionPromiseGet<S, F, A, P, DS, FxRes>;\n\nexport type StoreAction<S, F extends (...args: any[]) => any, A, P, DS = {}, FxRes = S> =\n | AsyncAction<S, F, A, P, DS, FxRes>\n | SimpleSyncAction<S, F, P, DS, FxRes>\n | SyncAction<S, F, A, P, DS, FxRes>;\n\n/**\n * S: The type of the state\n * A: The type of the actions to pass to the children (used to check keys only).\n */\nexport type StoreActions<S, A extends DecoratedActions, P = {}, DS = {}, FxRes = S> = {\n [Prop in keyof A]: StoreAction<S, A[Prop], A, P, DS, FxRes>;\n};\n\nexport type OnPropsChangeEffectsContext<S, DS, P> = ContextWithDerived<S, DS, P> & {\n indices: number[];\n index: number;\n isInit: boolean;\n};\n\nexport type OnPropsChangeSideEffectsContext<S, P, A, DS = {}> = OnPropsChangeEffectsContext<S, DS, P> & {\n actions: A;\n a: A;\n};\n\ntype DerivedStateOption<S, P, DS> = {\n [k in keyof DS]: {\n getDeps: (ctx: ContextBase<S, P>) => any[];\n get: (ctx: ContextBase<S, P>) => DS[k];\n };\n};\n\nexport type OnPropsChangeOptions<S, DS, A, P> = {\n onMount?: boolean;\n getDeps: (p: P) => any[];\n effects?: (ctx: OnPropsChangeEffectsContext<S, DS, P>) => S;\n sideEffects?: (ctx: OnPropsChangeSideEffectsContext<S, P, A>) => void;\n};\n\nexport type StoreOptions<S, A, P = {}, DS = {}> = {\n /**\n * The state decorator name. Use in debug traces to identify the useStateDecorator instance.\n */\n name?: string;\n\n /**\n * List of action names that are marked as loading at initial time.\n * If you must start your initial actions in a useSideEffect, a render is done before\n * first actions can be trigerred, some actions can be marked as loading at initial time.\n */\n initialActionsMarkedLoading?: (keyof A)[];\n\n /**\n * One or several configurations of inbound properties change managements.\n */\n onPropsChange?: OnPropsChangeOptions<S, DS, A, P> | OnPropsChangeOptions<S, DS, A, P>[];\n\n /**\n * The callback function called if an asynchronous function succeeded and a success messsage is defined.\n */\n notifySuccess?: NotifyFunc;\n\n /**\n * The callback function called if an asynchronous function fails and an error messsage is defined.\n */\n notifyError?: NotifyFunc;\n\n /**\n * The callback function injected in onDone and onFail of asynchronous functions to notify a semi success / failed request.\n */\n notifyWarning?: NotifyFunc;\n\n /**\n * Initial actions.\n */\n onMount?: (ctx: OnMountInvocationContext<S, A, P>) => void;\n\n /**\n * Callback on store destruction.\n */\n onUnmount?: (ctx: OnMountInvocationContext<S, A, P>) => Promise<any> | void;\n\n /**\n * Compute derived state\n */\n derivedState?: DerivedStateOption<S, P, DS>;\n};\n","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","/*\n * Copyright 2019 Globalsport SAS\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { useEffect, useLayoutEffect, useMemo, useReducer, useRef } from 'react';\nimport {\n computeAsyncActionInput,\n createRef,\n isSyncAction,\n isAsyncAction,\n isSimpleSyncAction,\n TimeoutMap,\n PromiseMap,\n DEFAULT_PROMISE_ID,\n globalConfig,\n setGlobalConfig,\n GlobalConfig,\n ConflictActionsMap,\n buildOnMountInvocationContext,\n decorateSimpleSyncAction,\n decorateSyncAction,\n decorateAsyncAction,\n computeDerivedValues,\n DerivedState,\n onPropChange,\n runMiddlewares,\n buildLoadingMap,\n isLoadingImpl,\n ParallelActionError,\n buildErrorMap,\n} from './impl';\n\nimport {\n DecoratedActions,\n StoreActions,\n AsyncAction,\n SyncAction,\n SimpleSyncAction,\n InternalLoadingMap,\n LoadingMap,\n ErrorMap,\n LoadingParallelMap,\n ErrorParallelMap,\n StoreOptions,\n AsyncActionPromise,\n InvocationContext,\n GetPromiseInvocationContext,\n EffectsInvocationContext,\n InvocationContextActions,\n WarningNotifyFunc,\n ErrorEffectsInvocationContext,\n OnMountInvocationContext,\n ContextBase,\n OnPropsChangeEffectsContext,\n ContextState,\n ConflictPolicy,\n Middleware,\n AbortActionCallback,\n MiddlewareFactory,\n MiddlewareStoreContext,\n LoadingProps,\n} from './types';\n\nexport {\n DecoratedActions,\n StoreActions,\n LoadingMap,\n ErrorMap,\n LoadingParallelMap,\n ErrorParallelMap,\n ParallelActionError,\n StoreOptions,\n AsyncActionPromise as AsynchActionPromise,\n InvocationContext,\n GetPromiseInvocationContext,\n EffectsInvocationContext,\n InvocationContextActions,\n WarningNotifyFunc,\n ErrorEffectsInvocationContext,\n OnMountInvocationContext,\n ContextBase,\n OnPropsChangeEffectsContext,\n SyncAction,\n AsyncAction,\n SimpleSyncAction,\n ContextState,\n ConflictPolicy,\n GlobalConfig,\n Middleware,\n setGlobalConfig,\n LoadingProps,\n AbortActionCallback,\n};\n\nexport type IsLoadingFunc<A> = (...props: (keyof A | [keyof A, string])[]) => boolean;\ntype StateListenerUnregister = () => void;\n\nexport type StoreApi<S, A extends DecoratedActions, P, DS = {}> = {\n /**\n * The current store state (with derived state if any).\n */\n readonly state: S & DS;\n /**\n * The store decorator (ie. ready to use) actions.\n */\n readonly actions: A;\n /**\n * A boolean that indicates that at least one asynchronous action is loading.\n */\n readonly loading: boolean;\n /**\n * A map of loading actions map (computed on property access)\n */\n readonly loadingMap: LoadingMap<A>;\n /**\n * A map of loading actions map (computed on property access)\n */\n readonly errorMap: ErrorMap<A>;\n /**\n * A map of parallel loading actions map (computed on property access)\n */\n readonly loadingParallelMap: LoadingParallelMap<A>;\n /**\n * A map of parallel actions error map (computed on property access)\n */\n readonly errorParallelMap: ErrorParallelMap<A>;\n /**\n * Initializes the store with the specified props\n */\n init: (p: P) => void;\n /**\n * Update the store with the specified props\n */\n setProps: (p: P) => void;\n /**\n * Destroy the store\n */\n destroy: () => void;\n /**\n * Abort an asynchronous action marked as abortable.\n */\n abortAction: (actionName: keyof A, promiseId?: string) => boolean;\n /**\n * Add a store state change listener\n */\n addStateListener: (listener: StateListener<S, DS, A>) => StateListenerUnregister;\n /**\n * A function that takes a list of action names or a tuple of [action name, promiseId] and returns <code>true</code> if any action is loading.\n */\n isLoading: IsLoadingFunc<A>;\n\n getConfig: () => {\n getInitialState: (p: P) => S;\n options: StoreOptions<S, A, P, DS>;\n actions: StoreActions<S, A, P, DS>;\n };\n};\n\nexport type StateListenerContext<S, DS, A extends DecoratedActions> = S &\n DS &\n A &\n Pick<StoreApi<S, A, any, DS>, 'loading' | 'loadingMap' | 'errorMap' | 'isLoading' | 'abortAction'>;\n\nexport type StateListener<S, DS, A extends DecoratedActions> = (ctx: StateListenerContext<S, DS, A>) => void;\n\n// =============================\n//\n// STORE\n//\n// =============================\n\n/**\n * Create a new store.\n * @param getInitialState The state initialization function (using props)\n * @param actionsImpl The actions implementation (pure functions only).\n * @param options Options to configure the store\n * @returns a store.\n */\nexport function createStore<S, A extends DecoratedActions, P, DS = {}>(\n getInitialState: (p: P) => S,\n actionsImpl: StoreActions<S, A, P, DS>,\n options: StoreOptions<S, A, P, DS> = {},\n storeMiddlewares: MiddlewareFactory<S, A, P>[] = null\n): StoreApi<S, A, P, DS> {\n const stateRef = createRef<S>();\n const derivedStateRef = createRef<DerivedState<DS>>();\n const propsRef = createRef<P>();\n const actionsRef = createRef<A>();\n const timeoutRef = createRef<TimeoutMap<A>>();\n const loadingMapRef = createRef<InternalLoadingMap<A>>();\n const errorMapRef = createRef<ErrorParallelMap<A>>();\n const promisesRef = createRef<PromiseMap<A>>();\n const conflictActionsRef = createRef<ConflictActionsMap<A>>();\n const initializedRef = createRef(false);\n\n const middlewaresRef = createRef<Middleware<S, A, P>[]>([]);\n\n let stateListeners: Record<string, StateListener<S, DS, A>> = {};\n let stateListenerCount = 0;\n\n function addStateListener(listener: StateListener<S, DS, A>): () => void {\n const id = `${stateListenerCount++}`;\n stateListeners[id] = listener;\n return () => {\n delete stateListeners[id];\n };\n }\n\n function notifyStateListeners(newState: S, derivedState: DS) {\n const s = {\n ...newState,\n ...derivedState,\n };\n\n const ctx: StateListenerContext<S, DS, A> = {\n ...s,\n ...actionsRef.current,\n isLoading,\n abortAction,\n loading: isAnyLoading(),\n loadingMap: getLoadingMap(),\n errorMap: getErrorMap(),\n };\n\n Object.keys(stateListeners).forEach((listenerId) => {\n stateListeners[listenerId](ctx);\n });\n }\n\n function setProps(p: P) {\n const oldProps = propsRef.current;\n\n propsRef.current = p;\n\n if (!initializedRef.current) {\n init(p);\n } else {\n onPropChange(stateRef, derivedStateRef, propsRef, oldProps, actionsRef, options, setState, false);\n }\n }\n\n /** Middleware only: sets the internal state, recompute derived state and notify listeners */\n function setInternalState(s: S) {\n stateRef.current = s;\n computeDerivedValues(stateRef, propsRef, derivedStateRef, options);\n notifyStateListeners(stateRef.current, derivedStateRef.current.state);\n }\n\n function init(p: P) {\n if (!initializedRef.current) {\n propsRef.current = p;\n initializedRef.current = true;\n stateRef.current = getInitialState(p);\n\n const initialActionSet = new Set(options?.initialActionsMarkedLoading);\n\n loadingMapRef.current = (Object.keys(actionsImpl) as (keyof A)[]).reduce<InternalLoadingMap<A>>((acc, name) => {\n acc[name] = initialActionSet.has(name) ? { [DEFAULT_PROMISE_ID]: true } : {};\n return acc;\n }, {});\n\n errorMapRef.current = (Object.keys(actionsImpl) as (keyof A)[]).reduce<ErrorParallelMap<A>>((acc, name) => {\n acc[name] = {};\n return acc;\n }, {});\n\n timeoutRef.current = {};\n promisesRef.current = {};\n conflictActionsRef.current = {};\n derivedStateRef.current = {\n state: null,\n deps: {},\n };\n\n // init middlewares\n middlewaresRef.current = [];\n const ctx: MiddlewareStoreContext<S, A, P> = {\n options,\n get state() {\n return stateRef.current;\n },\n actions: actionsImpl,\n setState: setInternalState,\n };\n const mapper = (m: MiddlewareFactory<S, A, P>) => {\n const middleware = m();\n middlewaresRef.current.push(middleware);\n middleware.init?.(ctx);\n };\n globalConfig.defaultMiddlewares?.forEach(mapper);\n storeMiddlewares?.forEach(mapper);\n // end init\n\n computeDerivedValues(stateRef, propsRef, derivedStateRef, options);\n\n // manage PropsChange with onMount\n onPropChange(stateRef, derivedStateRef, propsRef, null, actionsRef, options, setState, true);\n\n if (options?.onMount) {\n options.onMount(buildOnMountInvocationContext(stateRef, derivedStateRef, propsRef, actionsRef));\n }\n\n notifyStateListeners(stateRef.current, derivedStateRef.current.state);\n }\n }\n\n function destroy() {\n if (initializedRef.current) {\n options?.onUnmount?.(buildOnMountInvocationContext(stateRef, derivedStateRef, propsRef, actionsRef));\n\n propsRef.current = null;\n stateRef.current = null;\n loadingMapRef.current = null;\n errorMapRef.current = null;\n promisesRef.current = null;\n conflictActionsRef.current = null;\n derivedStateRef.current = null;\n\n Object.keys(timeoutRef.current).forEach((name) => {\n clearTimeout(timeoutRef.current[name]);\n });\n\n timeoutRef.current = null;\n stateListeners = {};\n initializedRef.current = false;\n\n middlewaresRef.current.forEach((m) => {\n m.destroy?.();\n });\n\n middlewaresRef.current = [];\n }\n }\n\n function setState(\n newStateIn: S,\n newLoadingMapIn: InternalLoadingMap<A>,\n actionName: keyof A,\n actionType: 'preEffects' | 'effects' | 'errorEffects' | null,\n isAsync: boolean,\n actionCtx: any,\n propsChanged: boolean = false,\n init = false\n ) {\n let hasChanged = false;\n\n if (!initializedRef.current) {\n return;\n }\n\n let newLoadingMap = newLoadingMapIn;\n\n const oldLoading = isAsync\n ? isLoadingImpl(newLoadingMap || loadingMapRef.current, [actionName, actionCtx?.promiseId])\n : false;\n\n const { newState, newLoading } = runMiddlewares(\n middlewaresRef.current,\n stateRef.current,\n newStateIn,\n oldLoading,\n actionName,\n actionType,\n isAsync,\n actionCtx\n );\n\n if (newState != null) {\n hasChanged = true;\n stateRef.current = newState;\n }\n\n if (oldLoading !== newLoading) {\n newLoadingMap = buildLoadingMap(\n newLoadingMap,\n actionName,\n actionCtx?.promiseId || DEFAULT_PROMISE_ID,\n newLoading\n );\n if (Object.keys(newLoadingMap).length === 0) {\n newLoadingMap = undefined;\n }\n }\n\n if (newLoadingMap != null) {\n hasChanged = true;\n loadingMapRef.current = newLoadingMap;\n }\n\n if (hasChanged) {\n computeDerivedValues(stateRef, propsRef, derivedStateRef, options);\n if (!init) {\n notifyStateListeners(newState || stateRef.current, derivedStateRef.current.state);\n }\n } else if (propsChanged) {\n const derivedChanged = computeDerivedValues(stateRef, propsRef, derivedStateRef, options);\n if (derivedChanged && !init) {\n notifyStateListeners(newState || stateRef.current, derivedStateRef.current.state);\n }\n }\n }\n\n const keys = Object.keys(actionsImpl) as (keyof A)[];\n actionsRef.current = keys.reduce<A>((acc, actionName) => {\n const action = actionsImpl[actionName];\n if (isSimpleSyncAction(action)) {\n acc[actionName] = decorateSimpleSyncAction(\n actionName,\n action,\n stateRef,\n derivedStateRef,\n propsRef,\n initializedRef,\n setState\n ) as any;\n } else if (isAsyncAction(action)) {\n acc[actionName] = decorateAsyncAction({\n actionName,\n stateRef,\n derivedStateRef,\n propsRef,\n loadingMapRef,\n errorMapRef,\n actionsRef,\n promisesRef,\n conflictActionsRef,\n initializedRef,\n options,\n setState,\n action: computeAsyncActionInput(action),\n }) as any;\n } else if (isSyncAction(action)) {\n acc[actionName] = decorateSyncAction(\n actionName,\n action,\n stateRef,\n derivedStateRef,\n propsRef,\n actionsRef,\n initializedRef,\n timeoutRef,\n options,\n setState\n ) as any;\n }\n\n return acc;\n }, {} as A);\n\n function isLoading<K extends keyof A>(...props: (K | [K, string])[]) {\n return isLoadingImpl(loadingMapRef.current, ...props);\n }\n\n function abortAction(actionName: keyof A, promiseId: string = DEFAULT_PROMISE_ID) {\n const abortController = promisesRef.current[actionName]?.[promiseId]?.abortController;\n\n let res = false;\n if (abortController) {\n abortController.abort();\n res = true;\n }\n\n return res;\n }\n\n function isAnyLoading() {\n if (initializedRef.current) {\n const loadingMap = loadingMapRef.current;\n return (\n Object.keys(loadingMap).find((actionName) => {\n const promises = loadingMap[actionName];\n return Object.keys(promises).find((pId) => !!promises[pId]);\n }) != null\n );\n }\n return null;\n }\n\n function getLoadingMap() {\n if (initializedRef.current) {\n const map = loadingMapRef.current;\n const keys = Object.keys(map) as (keyof A)[];\n return keys.reduce<LoadingMap<A>>((acc, actionName) => {\n const subMap = map[actionName];\n acc[actionName] = Object.keys(subMap).find((pId) => !!subMap[pId]) != null;\n return acc;\n }, {});\n }\n return null;\n }\n\n function getErrorMap() {\n if (initializedRef.current) {\n return buildErrorMap(errorMapRef.current);\n }\n return null;\n }\n\n function getConfig() {\n return {\n getInitialState,\n options,\n actions: actionsImpl,\n };\n }\n\n return {\n getConfig,\n setProps,\n addStateListener,\n init,\n destroy,\n isLoading,\n abortAction,\n get actions() {\n return actionsRef.current;\n },\n get state() {\n if (initializedRef.current) {\n return {\n ...stateRef.current,\n ...derivedStateRef.current.state,\n };\n }\n return null;\n },\n get loading() {\n return isAnyLoading();\n },\n get loadingMap() {\n return getLoadingMap();\n },\n get errorMap() {\n return getErrorMap();\n },\n get loadingParallelMap() {\n if (initializedRef.current) {\n return loadingMapRef.current;\n }\n return null;\n },\n get errorParallelMap() {\n if (initializedRef.current) {\n return errorMapRef.current;\n }\n return null;\n },\n };\n}\n\n// =====================================\n//\n// REACT HOOKS\n//\n// =====================================\n\ntype useStoreSlice<S, A extends DecoratedActions, P, DS, SLICE> = (\n store: StoreApi<S, A, P, DS>,\n slicer: (ctx: StateListenerContext<S, DS, A>) => SLICE\n) => SLICE;\n\n/**\n * A react hook to get a state slice. Will be refresh if, and only if, one property of the slice has changed\n * @param store The store to listen to.\n * @param slicerFunc A function that returns a state slice\n * @param comparator An optional function to compare if slice property has changed (shallow test by default)\n * @returns The state slice.\n */\nexport function useStoreSlice<S, A extends DecoratedActions, P, DS, SLICE>(\n store: StoreApi<S, A, P, DS>,\n slicerFunc: (ctx: StateListenerContext<S, DS, A>) => SLICE\n): SLICE;\n\nexport function useStoreSlice<S, A extends DecoratedActions, P, DS, K extends keyof StateListenerContext<S, DS, A>>(\n store: StoreApi<S, A, P, DS>,\n properties: K[]\n): Pick<StateListenerContext<S, DS, A>, K>;\n\nexport function useStoreSlice<S, A extends DecoratedActions, P, DS>(store: StoreApi<S, A, P, DS>, funcOrArr: any) {\n const [, forceRefresh] = useReducer((s) => (s > 100 ? 0 : s + 1), 0);\n\n const slicerFunc = useMemo(\n () => (funcOrArr instanceof Function ? funcOrArr : (ctx: StateListenerContext<S, DS, A>) => pick(ctx, funcOrArr)),\n [funcOrArr]\n );\n\n const sliceRef = useRef<any>(null);\n if (sliceRef.current === null) {\n const s = store.state;\n sliceRef.current = slicerFunc({\n ...s,\n ...store.actions,\n actions: store.actions,\n loading: store.loading,\n isLoading: store.isLoading,\n abortAction: store.abortAction,\n loadingMap: store.loadingMap,\n errorMap: store.errorMap,\n });\n }\n\n useLayoutEffect(() => {\n const unregister = store.addStateListener((ctx) => {\n let hasChanged = false;\n\n const slice = slicerFunc(ctx);\n const prevSlice = sliceRef.current;\n const compare = globalConfig.comparator;\n\n hasChanged = prevSlice == null || !compare(slice, prevSlice);\n\n sliceRef.current = slice;\n\n if (hasChanged) {\n forceRefresh();\n }\n });\n\n return unregister;\n }, []);\n\n return sliceRef.current;\n}\n\n/**\n * Binds the store to this component.\n * Store will be destroyed when component is unmouted.\n * Props passed to actions will come from this components.\n * If store is configured to react of props changes, it will used passed props.\n * A store must be bound to only one React component.\n * This component will be refreshed for every change in the store.\n *\n * @param store The store to listen to.\n * @param props The parent component props\n * @returns The state, actions and isLoading function.\n */\nexport function useStore<S, A extends DecoratedActions, P, DS = {}>(store: StoreApi<S, A, P, DS>, props: P = null) {\n const [, forceRefresh] = useReducer((s) => (s > 100 ? 0 : s + 1), 0);\n\n const storeRef = useRef(store);\n\n store.setProps(props);\n\n useLayoutEffect(\n () =>\n storeRef.current.addStateListener(() => {\n forceRefresh();\n }),\n []\n );\n\n useEffect(() => () => store.destroy(), []);\n\n return {\n state: store.state,\n actions: store.actions,\n loading: store.loading,\n isLoading: store.isLoading,\n abortAction: store.abortAction,\n loadingMap: store.loadingMap,\n errorMap: store.errorMap,\n loadingParallelMap: store.loadingParallelMap,\n errorParallelMap: store.errorParallelMap,\n };\n}\n\n/**\n * Binds the store to this component.\n * Store will be destroyed when component is unmouted.\n * Props passed to actions will come from this components.\n * If store is configured to react of props changes, it will used passed props.\n * A store must be bound to only one React component.\n *\n * This component will NOT be refreshed for any change in the store.\n *\n * @param store The store to listen to.\n * @param props The parent component props\n */\nexport function useBindStore<S, A extends DecoratedActions, P, DS = {}>(store: StoreApi<S, A, P, DS>, props: P = null) {\n // access to store in debugger\n useRef(store);\n\n store.setProps(props);\n useEffect(() => {\n return () => store.destroy();\n }, []);\n return store;\n}\n\n/**\n * Creates and manages a local store.\n * @param getInitialState Function to compute initial state from props.\n * @param actionImpl Actions implementation.\n * @param props Owner component props to update state or react on prop changes\n * @param options The store options.\n * @returns The state, actions and isLoading function.\n */\nexport function useLocalStore<S, A extends DecoratedActions, P, DS = {}>(\n getInitialState: (p: P) => S,\n actionImpl: StoreActions<S, A, P, DS>,\n props?: P,\n options?: StoreOptions<S, A, P, DS>,\n middlewares?: MiddlewareFactory<S, A, P>[]\n) {\n const storeRef = useRef<StoreApi<S, A, P, DS>>();\n if (storeRef.current == null) {\n storeRef.current = createStore(getInitialState, actionImpl, options, middlewares);\n }\n\n return useStore(storeRef.current, props);\n}\n\nexport default useLocalStore;\n\n// ------------- UTILS\n\n/**\n * Creates a new object by picking properties to the object passed a first parameter\n * @param obj Object to pick properties from\n * @param props Property names\n * @returns a new object containing only picked properties\n */\nexport function pick<T, K extends keyof T>(obj: T, props: K[]): Pick<T, K> {\n return props.reduce((acc, p) => {\n if (obj.hasOwnProperty(p)) {\n acc[p] = obj[p];\n }\n return acc;\n }, {} as any);\n}\n\n/**\n * Returns a function that creates a new object by picking properties to the object passed as first parameter.\n * To be used in conjunction of <code>useStoreSlice</code> like in example:\n * const s = useStoreSlice(myStore, slice('list', 'addItem'));\n * @param props Property names\n * @returns a function to pick property from an passed object.\n */\nexport function slice<T, K extends keyof T>(...props: K[]): (obj: T) => Pick<T, K> {\n return (store: T) => pick(store, props);\n}\n"],"names":["ConflictPolicy","module","arr","Array","isArray","exports","i","Symbol","iterator","Object","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","value","length","err","len","arr2","o","minLen","arrayLikeToArray","n","prototype","toString","call","slice","constructor","name","from","test","TypeError","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","obj","key","defineProperty","enumerable","configurable","writable","createStore","getInitialState","actionsImpl","options","storeMiddlewares","stateRef","createRef","derivedStateRef","propsRef","actionsRef","timeoutRef","loadingMapRef","errorMapRef","promisesRef","conflictActionsRef","initializedRef","middlewaresRef","stateListeners","stateListenerCount","addStateListener","listener","id","notifyStateListeners","newState","derivedState","s","ctx","current","isLoading","abortAction","loading","isAnyLoading","loadingMap","getLoadingMap","errorMap","getErrorMap","keys","forEach","listenerId","setProps","p","oldProps","onPropChange","setState","init","setInternalState","computeDerivedValues","state","initialActionSet","Set","initialActionsMarkedLoading","reduce","acc","has","DEFAULT_PROMISE_ID","deps","actions","mapper","m","middleware","globalConfig","defaultMiddlewares","onMount","buildOnMountInvocationContext","destroy","onUnmount","clearTimeout","newStateIn","newLoadingMapIn","actionName","actionType","isAsync","actionCtx","propsChanged","hasChanged","newLoadingMap","oldLoading","isLoadingImpl","promiseId","runMiddlewares","newLoading","buildLoadingMap","derivedChanged","props","abortController","_promisesRef$current$","_promisesRef$current$2","res","abort","find","promises","pId","map","subMap","buildErrorMap","getConfig","action","isSimpleSyncAction","decorateSimpleSyncAction","isAsyncAction","decorateAsyncAction","computeAsyncActionInput","isSyncAction","decorateSyncAction","useStore","store","useReducer","forceRefresh","storeRef","useRef","useLayoutEffect","useEffect","loadingParallelMap","errorParallelMap","useLocalStore","actionImpl","middlewares","pick","hasOwnProperty","funcOrArr","slicerFunc","useMemo","Function","sliceRef","prevSlice","compare","comparator"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__spreadArray","to","from","pack","ar","l","Array","slice","concat"],"mappings":"iHA+BWA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,IAEKU,MAAMC,KAAMP,YA6HzB,SAASQ,EAAcC,EAAIC,EAAMC,GACpC,GAAIA,GAA6B,IAArBX,UAAUC,OAAc,IAAK,IAA4BW,EAAxBd,EAAI,EAAGe,EAAIH,EAAKT,OAAYH,EAAIe,EAAGf,KACxEc,GAAQd,KAAKY,IACRE,IAAIA,EAAKE,MAAMX,UAAUY,MAAMV,KAAKK,EAAM,EAAGZ,IAClDc,EAAGd,GAAKY,EAAKZ,IAGrB,OAAOW,EAAGO,OAAOJ,GAAME,MAAMX,UAAUY,MAAMV,KAAKK"}
package/middlewares.d.ts CHANGED
@@ -1,3 +1,17 @@
1
+ /*! *****************************************************************************
2
+ Copyright (c) GlobalSport SAS.
3
+
4
+ Permission to use, copy, modify, and/or distribute this software for any
5
+ purpose with or without fee is hereby granted.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
+ PERFORMANCE OF THIS SOFTWARE.
14
+ ***************************************************************************** */
1
15
  import type { DecoratedActions, MiddlewareFactory } from './types';
2
16
  import { CloneFunction } from './impl';
3
17
  export declare function logEffects<S, A extends DecoratedActions, P>(log?: (...msg: any[]) => void): MiddlewareFactory<S, A, P>;
package/middlewares.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";function t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function e(t){var e={exports:{}};return t(e,e.exports),e.exports}Object.defineProperty(exports,"__esModule",{value:!0});var r=t(e((function(t){t.exports=function(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t},t.exports.default=t.exports,t.exports.__esModule=!0}))),n=e((function(t){function e(r){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=e=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),e(r)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0})),o=t(n),i=Array.isArray,u=Object.keys,c=Object.prototype.hasOwnProperty,s=function t(e,r){if(e===r)return!0;if(e&&r&&"object"==typeof e&&"object"==typeof r){var n,o,s,a=i(e),l=i(r);if(a&&l){if((o=e.length)!=r.length)return!1;for(n=o;0!=n--;)if(!t(e[n],r[n]))return!1;return!0}if(a!=l)return!1;var f=e instanceof Date,p=r instanceof Date;if(f!=p)return!1;if(f&&p)return e.getTime()==r.getTime();var d=e instanceof RegExp,y=r instanceof RegExp;if(d!=y)return!1;if(d&&y)return e.toString()==r.toString();var h=u(e);if((o=h.length)!==u(r).length)return!1;for(n=o;0!=n--;)if(!c.call(r,h[n]))return!1;for(n=o;0!=n--;)if(!t(e[s=h[n]],r[s]))return!1;return!0}return e!=e&&r!=r},a=e((function(t){t.exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n},t.exports.default=t.exports,t.exports.__esModule=!0})),l=e((function(t){t.exports=function(t){if(Array.isArray(t))return a(t)},t.exports.default=t.exports,t.exports.__esModule=!0})),f=e((function(t){t.exports=function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)},t.exports.default=t.exports,t.exports.__esModule=!0})),p=e((function(t){t.exports=function(t,e){if(t){if("string"==typeof t)return a(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(t,e):void 0}},t.exports.default=t.exports,t.exports.__esModule=!0})),d=e((function(t){t.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},t.exports.default=t.exports,t.exports.__esModule=!0}));e((function(t){t.exports=function(t){return l(t)||f(t)||p(t)||d()},t.exports.default=t.exports,t.exports.__esModule=!0}));var y=e((function(t){t.exports=function(t){if(Array.isArray(t))return t},t.exports.default=t.exports,t.exports.__esModule=!0})),h=e((function(t){t.exports=function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var r=[],n=!0,o=!1,i=void 0;try{for(var u,c=t[Symbol.iterator]();!(n=(u=c.next()).done)&&(r.push(u.value),!e||r.length!==e);n=!0);}catch(t){o=!0,i=t}finally{try{n||null==c.return||c.return()}finally{if(o)throw i}}return r}},t.exports.default=t.exports,t.exports.__esModule=!0})),v=e((function(t){t.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},t.exports.default=t.exports,t.exports.__esModule=!0}));e((function(t){t.exports=function(t,e){return y(t)||h(t,e)||p(t,e)||v()},t.exports.default=t.exports,t.exports.__esModule=!0})),e((function(t){function e(t,e,r,n,o,i,u){try{var c=t[i](u),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}t.exports=function(t){return function(){var r=this,n=arguments;return new Promise((function(o,i){var u=t.apply(r,n);function c(t){e(u,o,i,c,s,"next",t)}function s(t){e(u,o,i,c,s,"throw",t)}c(void 0)}))}},t.exports.default=t.exports,t.exports.__esModule=!0})),e((function(t){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t.exports.default=t.exports,t.exports.__esModule=!0}));var x=e((function(t){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t},t.exports.default=t.exports,t.exports.__esModule=!0})),g=e((function(t){function e(r,n){return t.exports=e=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},t.exports.default=t.exports,t.exports.__esModule=!0,e(r,n)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0}));e((function(t){t.exports=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&g(t,e)},t.exports.default=t.exports,t.exports.__esModule=!0})),e((function(t){var e=n.default;t.exports=function(t,r){return!r||"object"!==e(r)&&"function"!=typeof r?x(t):r},t.exports.default=t.exports,t.exports.__esModule=!0}));var m,b=e((function(t){function e(r){return t.exports=e=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},t.exports.default=t.exports,t.exports.__esModule=!0,e(r)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0})),_=e((function(t){t.exports=function(t){return-1!==Function.toString.call(t).indexOf("[native code]")},t.exports.default=t.exports,t.exports.__esModule=!0})),E=e((function(t){t.exports=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}},t.exports.default=t.exports,t.exports.__esModule=!0})),O=e((function(t){function e(r,n,o){return E()?(t.exports=e=Reflect.construct,t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=e=function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&g(o,r.prototype),o},t.exports.default=t.exports,t.exports.__esModule=!0),e.apply(null,arguments)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0}));e((function(t){function e(r){var n="function"==typeof Map?new Map:void 0;return t.exports=e=function(t){if(null===t||!_(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(t))return n.get(t);n.set(t,e)}function e(){return O(t,arguments,b(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),g(e,t)},t.exports.default=t.exports,t.exports.__esModule=!0,e(r)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0})),e((function(t){var e=function(t){var e,r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",u=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function a(t,e,r,n){var o=e&&e.prototype instanceof v?e:v,i=Object.create(o.prototype),u=new M(n||[]);return i._invoke=function(t,e,r){var n=f;return function(o,i){if(n===d)throw new Error("Generator is already running");if(n===y){if("throw"===o)throw i;return P()}for(r.method=o,r.arg=i;;){var u=r.delegate;if(u){var c=j(u,r);if(c){if(c===h)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=y,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=d;var s=l(t,e,r);if("normal"===s.type){if(n=r.done?y:p,s.arg===h)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n=y,r.method="throw",r.arg=s.arg)}}}(t,r,u),i}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=a;var f="suspendedStart",p="suspendedYield",d="executing",y="completed",h={};function v(){}function x(){}function g(){}var m={};m[i]=function(){return this};var b=Object.getPrototypeOf,_=b&&b(b(N([])));_&&_!==r&&n.call(_,i)&&(m=_);var E=g.prototype=v.prototype=Object.create(m);function O(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function r(o,i,u,c){var s=l(t[o],t,i);if("throw"!==s.type){var a=s.arg,f=a.value;return f&&"object"==typeof f&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,u,c)}),(function(t){r("throw",t,u,c)})):e.resolve(f).then((function(t){a.value=t,u(a)}),(function(t){return r("throw",t,u,c)}))}c(s.arg)}var o;this._invoke=function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}}function j(t,r){var n=t.iterator[r.method];if(n===e){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=e,j(t,r),"throw"===r.method))return h;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var o=l(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,h;var i=o.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,h):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,h)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function L(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function M(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function N(t){if(t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,u=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return u.next=u}}return{next:P}}function P(){return{value:e,done:!0}}return x.prototype=E.constructor=g,g.constructor=x,x.displayName=s(g,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===x||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,g):(t.__proto__=g,s(t,c,"GeneratorFunction")),t.prototype=Object.create(E),t},t.awrap=function(t){return{__await:t}},O(w.prototype),w.prototype[u]=function(){return this},t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var u=new w(a(e,r,n,o),i);return t.isGeneratorFunction(r)?u:u.next().then((function(t){return t.done?t.value:u.next()}))},O(E),s(E,c,"Generator"),E[i]=function(){return this},E.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=N,M.prototype={constructor:M,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(L),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return c.type="throw",c.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var u=this.tryEntries[i],c=u.completion;if("root"===u.tryLoc)return o("end");if(u.tryLoc<=this.prev){var s=n.call(u,"catchLoc"),a=n.call(u,"finallyLoc");if(s&&a){if(this.prev<u.catchLoc)return o(u.catchLoc,!0);if(this.prev<u.finallyLoc)return o(u.finallyLoc)}else if(s){if(this.prev<u.catchLoc)return o(u.catchLoc,!0)}else{if(!a)throw new Error("try statement without catch or finally");if(this.prev<u.finallyLoc)return o(u.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var u=i?i.completion:{};return u.type=t,u.arg=e,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(u)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),h},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),L(r),h}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;L(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:N(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),h}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}})),function(t){t.REJECT="reject",t.IGNORE="ignore",t.KEEP_LAST="keepLast",t.KEEP_ALL="keepAll",t.PARALLEL="parallel",t.REUSE="reuse"}(m||(m={}));var w={clone:function(t){return JSON.parse(JSON.stringify(t))},comparator:function(t,e){if(Object.is(t,e))return!0;if("object"!==o(t)||null===t||"object"!==o(e)||null===e)return!1;if(t instanceof Set||e instanceof Set)return!1;var r=Object.keys(t),n=Object.keys(e);if(r.length!==n.length)return!1;for(var i=0;i<r.length;i++)if(!Object.prototype.hasOwnProperty.call(e,r[i])||!Object.is(t[r[i]],e[r[i]]))return!1;return!0},asyncErrorHandler:function(){},retryOnErrorFunction:function(t){return t instanceof TypeError},notifySuccess:void 0,notifyError:void 0,notifyWarning:void 0,getErrorMessage:void 0,defaultMiddlewares:[]};function j(t){return"function"==typeof t}function S(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function L(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?S(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):S(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}exports.devtools=function(){return function(){var t,e,r;try{t=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__}catch(t){}return t?{init:function(n){var o,i;(e=t.connect({name:null!==(o=null===(i=n.options)||void 0===i?void 0:i.name)&&void 0!==o?o:"StateDecorator"})).init(n.state);var u=null,c=n.state;r=e.subscribe((function(t){var e,r,o,i;if("DISPATCH"===t.type&&t.state&&"ROLLBACK"!==(null===(e=t.payload)||void 0===e?void 0:e.type)){var s=JSON.parse(t.state);n.setState(s)}else"COMMIT"===(null===(r=t.payload)||void 0===r?void 0:r.type)?u=n.state:"ROLLBACK"===(null===(o=t.payload)||void 0===o?void 0:o.type)?null!=u&&n.setState(u):"RESET"===(null===(i=t.payload)||void 0===i?void 0:i.type)&&n.setState(c)}))},effects:function(t,r,n){if(null!=n){var o=L({},t.context);delete o.a,delete o.s,delete o.p,delete o.res,delete o.err,delete o.ds,e.send({type:"".concat(t.name," ").concat(t.type),args:o.args,context:o},n)}return null},destroy:function(){r(),e=null}}:{init:function(){},destroy:null,effects:function(){return null}}}},exports.logDetailedEffects=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:console;return function(){var e="",r=t;if("development"===process.env.NODE_ENV||"test"===process.env.NODE_ENV){var n=function(t,e){var r;if(e!==t){var n=o(null!=t?t:e);if("number"===n||"string"===n||"boolean"===n)r="".concat(t," => ").concat(""===e?'""':e);else if(t&&t.length||e&&e.length)if(null==t)r="was ".concat(t,", now contains ").concat(e.length," element(s)");else if(null==e)r="contained ".concat(t.length," element(s), now is ").concat(e);else if(0===t.length)r="was empty, now contains ".concat(e.length," elements");else if(0===e.length)r="contained ".concat(t.length," elements, now is empty");else{var i=e.filter((function(e){return!t.find((function(t){return s(e,t)}))})),u=t.filter((function(t){return!e.find((function(e){return s(t,e)}))}));i.length>10&&(i="".concat(i.length," element(s) added")),u.length>10&&(u="".concat(u.length," element(s) removed")),r={added:i,removed:u}}else r=e}return r},i=function(t){return"string"==typeof t?'"'.concat(t,'"'):t};return{init:function(n){var o,u;e=null!==(o=n.options)&&void 0!==o&&o.name?"[".concat(null===(u=n.options)||void 0===u?void 0:u.name,"]"):"";var c=n.state;t.group(e,"initialState"),Object.keys(c).forEach((function(t){r.log(t,":",i(c[t]))})),t.groupEnd()},destroy:null,effects:function(t,o,u,c){var s,a=null===(s=t.context)||void 0===s?void 0:s.args,l=[e,t.name.toString()];if(t.isAsync&&("preEffects"===t.type?l.push(c?"START":"CANCELLED"):"effects"===t.type?l.push("DONE"):l.push("FAILED")),null!=u||a&&0!==Object.keys(a).length?r.group.apply(r,l):r.log.apply(r,l),a&&Object.keys(a).length>0&&(r.group("Arguments"),a.forEach((function(t){r.log(t,":",i(t))})),r.groupEnd()),null!=u){if(r.groupCollapsed("Before"),null==o)r.log("was null");else Object.keys(o).forEach((function(t){r.log(t,":",i(o[t]))}));if(r.groupEnd(),r.groupCollapsed("After"),null==u)r.log("was null");else Object.keys(u).forEach((function(t){r.log(t,":",i(u[t]))}));if(r.groupEnd(),null!=u){r.group("Diff");var f=function(t,e){var r={};"development"===process.env.NODE_ENV&&(t&&Object.keys(t).forEach((function(o){if(e.hasOwnProperty(o)){var i=t[o],u=e[o],c=n(i,u);c&&(r[o]=c)}else r[o]="was deleted"})),Object.keys(e).forEach((function(o){if(null==t||!t.hasOwnProperty(o)){var i=e[o];r[o]=n(void 0,i)}})));return r}(o,u);Object.keys(f).forEach((function(t){return r.log(t,":",f[t])})),r.groupEnd()}}return r.groupEnd(),null}}}return{init:function(){},destroy:null,effects:function(){return null}}}},exports.logEffects=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:console.log,e=function(){var e=t,r="";return{init:function(t){if("development"===process.env.NODE_ENV||"test"===process.env.NODE_ENV){var n,o;r=null!==(n=t.options)&&void 0!==n&&n.name?"[".concat(null===(o=t.options)||void 0===o?void 0:o.name,"]"):"";var i=t.state;e(r,"initialState",i)}},destroy:null,effects:function(t,n,o,i){return"development"!==process.env.NODE_ENV&&"test"!==process.env.NODE_ENV||e(r,t.name,t.type,null===o?"no effect":o,t.isAsync?"preEffects"!==t.type||i?"loading: ".concat(i):"Promise cancelled":""),null}}};return e},exports.optimisticActions=function(t){return function(){var e=null,r={history:null,optimisticActions:{},shouldRecordHistory:!1},n=function(e){return(t||w.clone)(e)},o=function(t,e){return"".concat(t,"_").concat(e)};function i(t,e,o){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,u=r.shouldRecordHistory,c=r.history;if(u){null===c&&(r.history=[]);var s=n(o);delete s.state,delete s.s,delete s.abortSignal,s.error=o.err,s.err=o.err;var a={effectType:e,actionName:t,promiseId:o.promiseId,ctx:s,beforeEffectState:i?n(i):null};r.history.push(a)}}function u(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,i=r.optimisticActions,u=r.history,c=o(t,e);delete i[c];var s=Object.keys(i);if(0===s.length)r.history=null,r.shouldRecordHistory=!1;else{var a=void 0===n?u.findIndex((function(t){return o(t.actionName,t.promiseId)===c})):n;if(0===a){var l=u.slice(1).findIndex((function(t){return null!=t.beforeEffectState}))+1;u.splice(0,l)}else void 0===n&&(u[a].beforeEffectState=null)}}return{init:function(t){e=t},destroy:function(){e=null,r.history=null,r.optimisticActions={},r.shouldRecordHistory=!1},effects:function(t,n,c,s){var a=t.name,l=t.type,f=t.context,p=t.isAsync;if((null!=c&&j(e.actions[a])||"onPropsChange"===a||null!=e.actions[a][l])&&i(a,l,f,null),p){var d=e.actions[a];if(s&&null!=d.optimisticEffects&&"preEffects"===l){r.shouldRecordHistory=!0,r.optimisticActions[o(a,f.promiseId)]=!0;var y=c||n;return i(a,"optimisticEffects",f,y),{loading:!1,state:d.optimisticEffects(L(L({},f),{},{state:y,s:y}))}}if(null!=d.optimisticEffects&&"effects"===l)return u(a,f.promiseId),{loading:s,state:c};if(null!=d.optimisticEffects&&"errorEffects"===l)return{state:function(t,n){for(var o=r.history,i=o.findIndex((function(e){return"optimisticEffects"===e.effectType&&e.actionName===t&&e.promiseId===n})),c=o[i].beforeEffectState,s=i+1;s<o.length;s++){var a=o[s];a.beforeEffectState&&(a.beforeEffectState=c);var l=L(L({},a.ctx),{},{state:c,s:c});c="onPropsChange"===a.actionName?(Array.isArray(e.options.onPropsChange)?e.options.onPropsChange:[e.options.onPropsChange])[l.index].effects(l):j(e.actions[a.actionName])?e.actions[a.actionName](l):e.actions[a.actionName][a.effectType](l)}return u(t,n,i),c}(a,f.promiseId),loading:s}}return null}}}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./impl"),t=function(){return(t=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},n=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var o,r,i;if(Array.isArray(t)){if((o=t.length)!=n.length)return!1;for(r=o;0!=r--;)if(!e(t[r],n[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((o=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(r=o;0!=r--;)if(!Object.prototype.hasOwnProperty.call(n,i[r]))return!1;for(r=o;0!=r--;){var c=i[r];if(!e(t[c],n[c]))return!1}return!0}return t!=t&&n!=n};exports.devtools=function(){return function(){var e,n,o;try{e=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__}catch(e){}return e?{init:function(t){var r,i;(n=e.connect({name:null!==(i=null===(r=t.options)||void 0===r?void 0:r.name)&&void 0!==i?i:"StateDecorator"})).init(t.state);var c=null,l=t.state;o=n.subscribe((function(e){var n,o,r,i;if("DISPATCH"===e.type&&e.state&&"ROLLBACK"!==(null===(n=e.payload)||void 0===n?void 0:n.type)){var s=JSON.parse(e.state);t.setState(s)}else"COMMIT"===(null===(o=e.payload)||void 0===o?void 0:o.type)?c=t.state:"ROLLBACK"===(null===(r=e.payload)||void 0===r?void 0:r.type)?null!=c&&t.setState(c):"RESET"===(null===(i=e.payload)||void 0===i?void 0:i.type)&&t.setState(l)}))},effects:function(e,o,r){if(null!=r){var i=t({},e.context);delete i.a,delete i.s,delete i.p,delete i.res,delete i.err,delete i.ds,n.send({type:"".concat(e.name," ").concat(e.type),args:i.args,context:i},r)}return null},destroy:function(){o(),n=null}}:{init:function(){},destroy:null,effects:function(){return null}}}},exports.logDetailedEffects=function(e){return void 0===e&&(e=console),function(){var t="",o=e;if("development"===process.env.NODE_ENV||"test"===process.env.NODE_ENV){var r=function(e,t){var o;if(t!==e){var r=null!=e?typeof e:typeof t;if("number"===r||"string"===r||"boolean"===r)o="".concat(e," => ").concat(""===t?'""':t);else if(e&&e.length||t&&t.length)if(null==e)o="was ".concat(e,", now contains ").concat(t.length," element(s)");else if(null==t)o="contained ".concat(e.length," element(s), now is ").concat(t);else if(0===e.length)o="was empty, now contains ".concat(t.length," elements");else if(0===t.length)o="contained ".concat(e.length," elements, now is empty");else{var i=t.filter((function(t){return!e.find((function(e){return n(t,e)}))})),c=e.filter((function(e){return!t.find((function(t){return n(e,t)}))}));i.length>10&&(i="".concat(i.length," element(s) added")),c.length>10&&(c="".concat(c.length," element(s) removed")),o={added:i,removed:c}}else o=t}return o},i=function(e){return"string"==typeof e?'"'.concat(e,'"'):e};return{init:function(n){var r,c;t=(null===(r=n.options)||void 0===r?void 0:r.name)?"[".concat(null===(c=n.options)||void 0===c?void 0:c.name,"]"):"";var l=n.state;e.group(t,"initialState"),Object.keys(l).forEach((function(e){o.log(e,":",i(l[e]))})),e.groupEnd()},destroy:null,effects:function(e,n,c,l){var s,f=null===(s=e.context)||void 0===s?void 0:s.args,u=[t,e.name.toString()];if(e.isAsync&&("preEffects"===e.type?u.push(l?"START":"CANCELLED"):"effects"===e.type?u.push("DONE"):u.push("FAILED")),null!=c||f&&0!==Object.keys(f).length?o.group.apply(o,u):o.log.apply(o,u),f&&Object.keys(f).length>0&&(o.group("Arguments"),f.forEach((function(e){o.log(e,":",i(e))})),o.groupEnd()),null!=c){if(o.groupCollapsed("Before"),null==n)o.log("was null");else Object.keys(n).forEach((function(e){o.log(e,":",i(n[e]))}));if(o.groupEnd(),o.groupCollapsed("After"),null==c)o.log("was null");else Object.keys(c).forEach((function(e){o.log(e,":",i(c[e]))}));if(o.groupEnd(),null!=c){o.group("Diff");var a=function(e,t){var n={};"development"===process.env.NODE_ENV&&(e&&Object.keys(e).forEach((function(o){if(t.hasOwnProperty(o)){var i=e[o],c=t[o],l=r(i,c);l&&(n[o]=l)}else n[o]="was deleted"})),Object.keys(t).forEach((function(o){if(null==e||!e.hasOwnProperty(o)){var i=t[o];n[o]=r(void 0,i)}})));return n}(n,c);Object.keys(a).forEach((function(e){return o.log(e,":",a[e])})),o.groupEnd()}}return o.groupEnd(),null}}}return{init:function(){},destroy:null,effects:function(){return null}}}},exports.logEffects=function(e){return void 0===e&&(e=console.log),function(){var t=e,n="";return{init:function(e){var o,r;if("development"===process.env.NODE_ENV||"test"===process.env.NODE_ENV){n=(null===(o=e.options)||void 0===o?void 0:o.name)?"[".concat(null===(r=e.options)||void 0===r?void 0:r.name,"]"):"";var i=e.state;t(n,"initialState",i)}},destroy:null,effects:function(e,o,r,i){return"development"!==process.env.NODE_ENV&&"test"!==process.env.NODE_ENV||t(n,e.name,e.type,null===r?"no effect":r,e.isAsync?"preEffects"!==e.type||i?"loading: ".concat(i):"Promise cancelled":""),null}}}},exports.optimisticActions=function(n){return function(){var o=null,r={history:null,optimisticActions:{},shouldRecordHistory:!1},i=function(t){return(n||e.globalConfig.clone)(t)},c=function(e,t){return"".concat(e,"_").concat(t)};function l(e,t,n,o){void 0===o&&(o=null);var c=r.shouldRecordHistory,l=r.history;if(c){null===l&&(r.history=[]);var s=i(n);delete s.state,delete s.s,delete s.abortSignal,s.error=n.err,s.err=n.err;var f={effectType:t,actionName:e,promiseId:n.promiseId,ctx:s,beforeEffectState:o?i(o):null};r.history.push(f)}}function s(e,t,n){void 0===n&&(n=void 0);var o=r.optimisticActions,i=r.history,l=c(e,t);if(delete o[l],0===Object.keys(o).length)r.history=null,r.shouldRecordHistory=!1;else{var s=void 0===n?i.findIndex((function(e){return c(e.actionName,e.promiseId)===l})):n;if(0===s){var f=i.slice(1).findIndex((function(e){return null!=e.beforeEffectState}))+1;i.splice(0,f)}else void 0===n&&(i[s].beforeEffectState=null)}}return{init:function(e){o=e},destroy:function(){o=null,r.history=null,r.optimisticActions={},r.shouldRecordHistory=!1},effects:function(n,i,f,u){var a=n.name,p=n.type,d=n.context,v=n.isAsync;if((null!=f&&e.isSimpleSyncAction(o.actions[a])||"onPropsChange"===a||null!=o.actions[a][p])&&l(a,p,d,null),v){var y,g=o.actions[a];if(u&&null!=g.optimisticEffects&&"preEffects"===p)return r.shouldRecordHistory=!0,r.optimisticActions[c(a,d.promiseId)]=!0,l(a,"optimisticEffects",d,y=f||i),{loading:!1,state:g.optimisticEffects(t(t({},d),{state:y,s:y}))};if(null!=g.optimisticEffects&&"effects"===p)return s(a,d.promiseId),{loading:u,state:f};if(null!=g.optimisticEffects&&"errorEffects"===p)return{state:y=function(n,i){for(var c=r.history,l=c.findIndex((function(e){return"optimisticEffects"===e.effectType&&e.actionName===n&&e.promiseId===i})),f=c[l].beforeEffectState,u=l+1;u<c.length;u++){var a=c[u];a.beforeEffectState&&(a.beforeEffectState=f);var p=t(t({},a.ctx),{state:f,s:f});f="onPropsChange"===a.actionName?(Array.isArray(o.options.onPropsChange)?o.options.onPropsChange:[o.options.onPropsChange])[p.index].effects(p):e.isSimpleSyncAction(o.actions[a.actionName])?o.actions[a.actionName](p):o.actions[a.actionName][a.effectType](p)}return s(n,i,l),f}(a,d.promiseId),loading:u}}return null}}}};
2
2
  //# sourceMappingURL=middlewares.js.map