state-decorator 6.1.0 → 6.2.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.
package/README.md CHANGED
@@ -165,17 +165,19 @@ export const CounterContainer = () => {
165
165
 
166
166
  The action context contain all the data needed to implement the actions. It contains the action arguments and the injected data.
167
167
 
168
- | Property | Alias | Availability | Description |
169
- | ------------- | ----- | ------------------------------ | ------------------------------------------------- |
170
- | state | s | everywhere | Current state |
171
- | args | | action related | Action arguments |
172
- | props | p | everywhere | Current bound component props |
173
- | actions | a | side effects / onMount | Store actions (decorated) |
174
- | result | res | promise effects / side effects | The promise result |
175
- | error | err | error effects / side effects | The promise error |
176
- | derived | ds | everywhere | The derived state (from props/state) |
177
- | promiseId | | asynchronous actions callbacks | Parallel asynchronous actions promise identifier |
178
- | notifyWarning | | side effects | Injected function if set at store or global level |
168
+ | Property | Alias | Availability | Description |
169
+ | ------------- | ----- | ------------------------------ | ------------------------------------------------------- |
170
+ | state | s | everywhere | Current state |
171
+ | args | | action related | Action arguments |
172
+ | props | p | everywhere | Current bound component props |
173
+ | actions | a | side effects / onMount | Store actions (decorated) |
174
+ | result | res | promise effects / side effects | The promise result |
175
+ | error | err | error effects / side effects | The promise error |
176
+ | derived | ds | everywhere | The derived state (from props/state) |
177
+ | promiseId | | asynchronous actions callbacks | Parallel asynchronous actions promise identifier |
178
+ | notifyWarning | | side effects | Injected function if set at store or global level |
179
+ | indices | | onPropsChange | Indices in the getDeps array of changed props |
180
+ | isInit | | onPropsChange | Whether the onPropsCHange is executed during init phase |
179
181
 
180
182
  # Actions
181
183
 
@@ -497,6 +499,8 @@ function Container(p: ContainerProps) {
497
499
  }
498
500
  ```
499
501
 
502
+ If an initial action is launched each time a property changes, consider using the **onMount** flag of the **onPropsChange** entry.
503
+
500
504
  ## State sharing and slices
501
505
 
502
506
  - Declare a store and bind it to a component using _useStore_ or _useBindStore_ hooks.
@@ -579,11 +583,13 @@ const store = createStore(getInitialState, actionsImpl, {
579
583
  // list of depedencies that should trigger effects & side effects if changed
580
584
  getDeps: (p) => [p.id],
581
585
  // state changes, indices contains the indices of dependencies that have changed
582
- effects: ({ state, props, indices }) => ({ ...state, selectedId: props.id }),
586
+ effects: ({ state, props, indices, isInit }) => ({ ...state, selectedId: props.id }),
583
587
  // other changes (use short aliases)
584
- sideEffects: ({ p, a }) => {
588
+ sideEffects: ({ p, a, indices, isInit }) => {
585
589
  a.loadItem(p.id);
586
590
  },
591
+ // whether apply effects & side effects on mount
592
+ onMount: true,
587
593
  },
588
594
  });
589
595
  ```
@@ -622,6 +628,51 @@ const store = createStore(getInitialState, actionsImpl, {
622
628
  });
623
629
  ```
624
630
 
631
+ ## OnMount
632
+
633
+ If the onMount flag is set on the props change configuration, the effects and side effects will be executed at the store creation when the component is mounted.
634
+
635
+ It allows to trigger same actions at creation time and when the dependencies props are changed.
636
+
637
+ ```typescript
638
+ const store = createStore(getInitialState, actionsImpl, {
639
+ onMount: ({ p }) => {
640
+ a.loadUser(p.userId);
641
+ },
642
+ onPropsChange: [
643
+ {
644
+ getDeps: (p) => [p.userId],
645
+ effects: ({ s, p }) => ({ ...s, userId: p.userId }),
646
+ sideEffects: ({ p, a }) => {
647
+ a.loadUser(p.userId);
648
+ },
649
+ },
650
+ ],
651
+ });
652
+
653
+ // SAME AS
654
+
655
+ const store = createStore(getInitialState, actionsImpl, {
656
+ onPropsChange: [
657
+ {
658
+ getDeps: (p) => [p.userId],
659
+ effects: ({ s, p, isInit }) => (isInit ? null : { ...s, userId: p.userId }),
660
+ sideEffects: ({ p, a }) => {
661
+ a.loadUser(p.userId);
662
+ },
663
+ onMount: true,
664
+ },
665
+ ],
666
+ });
667
+ ```
668
+
669
+ **Caution**: the effects are executed too. Use the isInit parameter is passed to the context to apply or not state change.
670
+
671
+ ## Recipes
672
+
673
+ - Use several prop change configurations to separate dependencies between props and have simple definition.
674
+ - Use onMount flag to have a more systematic and simpler code.
675
+
625
676
  # Derived state
626
677
 
627
678
  A derived state is a state that can be deduced from state and props.
package/impl.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { AsyncAction, SimpleSyncAction, SyncAction, StoreAction, AsyncActionPromise, AsyncActionPromiseGet, InternalLoadingMap, MiddlewareFactory } from './types';
2
2
  export declare type SetStateFunc<S, A, P> = (newState: S, newLoadingMap: InternalLoadingMap<A>, actionName: keyof A | 'onPropsChange', actionType: 'preEffects' | 'effects' | 'errorEffects' | null, // FIXME
3
- isAsync: boolean, actionCtx: any, propsChanged: boolean) => void;
3
+ isAsync: boolean, actionCtx: any, propsChanged: boolean, isInit?: boolean) => void;
4
4
  export declare type NotifyFunc = (msg: string) => void;
5
5
  export declare type CloneFunction = <C>(obj: C) => C;
6
6
  export declare type ComparatorFunction = <C>(obj1: C, Obj2: C) => boolean;
package/impl.es.js CHANGED
@@ -1,2 +1,2 @@
1
- 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}var r,n=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})),o=e((function(t){t.exports=function(t){if(Array.isArray(t))return n(t)},t.exports.default=t.exports,t.exports.__esModule=!0})),i=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})),a=e((function(t){t.exports=function(t,e){if(t){if("string"==typeof t)return n(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)?n(t,e):void 0}},t.exports.default=t.exports,t.exports.__esModule=!0})),u=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})),c=t(e((function(t){t.exports=function(t){return o(t)||i(t)||a(t)||u()},t.exports.default=t.exports,t.exports.__esModule=!0}))),s=e((function(t){t.exports=function(t){if(Array.isArray(t))return t},t.exports.default=t.exports,t.exports.__esModule=!0})),f=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 a,u=t[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){o=!0,i=t}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}},t.exports.default=t.exports,t.exports.__esModule=!0})),l=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})),p=t(e((function(t){t.exports=function(t,e){return s(t)||f(t,e)||a(t,e)||l()},t.exports.default=t.exports,t.exports.__esModule=!0}))),d=t(e((function(t){function e(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}t.exports=function(t){return function(){var r=this,n=arguments;return new Promise((function(o,i){var a=t.apply(r,n);function u(t){e(a,o,i,u,c,"next",t)}function c(t){e(a,o,i,u,c,"throw",t)}u(void 0)}))}},t.exports.default=t.exports,t.exports.__esModule=!0}))),h=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}))),v=e((function(t){var e=function(t){var e,r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var o=e&&e.prototype instanceof y?e:y,i=Object.create(o.prototype),a=new j(n||[]);return i._invoke=function(t,e,r){var n=l;return function(o,i){if(n===d)throw new Error("Generator is already running");if(n===h){if("throw"===o)throw i;return R()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=O(a,r);if(u){if(u===v)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===l)throw n=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=d;var c=f(t,e,r);if("normal"===c.type){if(n=r.done?h:p,c.arg===v)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n=h,r.method="throw",r.arg=c.arg)}}}(t,r,a),i}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=s;var l="suspendedStart",p="suspendedYield",d="executing",h="completed",v={};function y(){}function g(){}function m(){}var w={};w[i]=function(){return this};var E=Object.getPrototypeOf,x=E&&E(E(A([])));x&&x!==r&&n.call(x,i)&&(w=x);var b=m.prototype=y.prototype=Object.create(w);function P(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function r(o,i,a,u){var c=f(t[o],t,i);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,u)}),(function(t){r("throw",t,a,u)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,u)}))}u(c.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 O(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,O(t,r),"throw"===r.method))return v;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var o=f(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;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,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function _(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 j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function A(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,a=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 a.next=a}}return{next:R}}function R(){return{value:e,done:!0}}return g.prototype=b.constructor=m,m.constructor=g,g.displayName=c(m,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,c(t,u,"GeneratorFunction")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},P(S.prototype),S.prototype[a]=function(){return this},t.AsyncIterator=S,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new S(s(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},P(b),c(b,u,"Generator"),b[i]=function(){return this},b.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=A,j.prototype={constructor:j,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 u.type="throw",u.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var c=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(c&&s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.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 a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(a)},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),v},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),v}},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:A(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}})),y=t(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})));function g(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 m(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?g(Object(r),!0).forEach((function(e){h(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):g(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}!function(t){t.REJECT="reject",t.IGNORE="ignore",t.KEEP_LAST="keepLast",t.KEEP_ALL="keepAll",t.PARALLEL="parallel",t.REUSE="reuse"}(r||(r={}));var w={clone:function(t){return JSON.parse(JSON.stringify(t))},comparator:function(t,e){if(Object.is(t,e))return!0;if("object"!==y(t)||null===t||"object"!==y(e)||null===e)return!1;var r=Object.keys(t);if(r.length!==Object.keys(e).length)return!1;for(var n=0;n<r.length;n++)if(!Object.prototype.hasOwnProperty.call(e,r[n])||!Object.is(t[r[n]],e[r[n]]))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 E(t){Object.keys(t).forEach((function(e){null!=t[e]&&(w[e]=t[e])}))}function x(t){try{return w.clone(t)}catch(t){var e="StateDecorator: Cannot clone object. Call setCloneFunction with another implementation like lodash/cloneDeep.";throw"development"===process.env.NODE_ENV&&(console.error(e),console.error(t.toString())),new Error(e)}}function b(t){return!(t instanceof Function)&&(t.hasOwnProperty("getPromise")||t.hasOwnProperty("getGetPromise"))}function P(t){return"function"==typeof t}function S(t){return"function"!=typeof t&&!t.hasOwnProperty("getPromise")&&!t.hasOwnProperty("getGetPromise")}function O(t){return"function"!=typeof t&&t.hasOwnProperty("getPromise")&&!t.hasOwnProperty("getGetPromise")}function _(t){return"function"!=typeof t&&!t.hasOwnProperty("getPromise")&&t.hasOwnProperty("getGetPromise")}function L(t){return _(t)?m(m({},t),{},{getPromise:t.getGetPromise,retryCount:3,conflictPolicy:r.REUSE}):t}function j(t,e,r,n){return m(m({},t),{},h({},e,n?m(m({},t[e]||{}),{},h({},r,n)):m(m({},t[e]),{},h({},r,!1))))}function A(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return!0};return 1===e?t:function(o){function i(t,e){return a.apply(this,arguments)}function a(){return(a=d(v.mark((function a(u,c){return v.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(null!==c){a.next=2;break}return a.abrupt("return",null);case 2:return a.abrupt("return",c.catch((function(a){return n(a)?u===e?Promise.reject(a):new Promise((function(e,n){setTimeout((function(){var r=t(o);i(u+1,r).then(e).catch(n)}),r*u)})):Promise.reject(a)})));case 3:case"end":return a.stop()}}),a)})))).apply(this,arguments)}var u=t(o);return null===u?null:i(1,u)}}function R(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return{current:t}}function M(t,e,r){var n,o;return{state:t.current,s:t.current,ds:null==e||null===(n=e.current)||void 0===n?void 0:n.state,derived:null==e||null===(o=e.current)||void 0===o?void 0:o.state,props:r.current,p:r.current}}function k(t,e,r,n){return D(M(t,e,r),n)}function T(t,e,r,n,o){var i=M(t,e,r);return i.indices=n,i.index=o,i}function C(t,e,r,n,o){var i=M(t,e,r);return i.args=n,o&&(i.promiseId=o),i}function N(t,e,r,n,o,i){var a=C(t,e,r,n,i);return a.result=o,a.res=o,a}function I(t,e,r,n,o,i,a){var u=D(C(t,e,r,n,a),o);return u.abortSignal=i,u}function G(t,e){var r=t;return r.state=e.current,r.s=e.current,r}function D(t,e){var r=t;return r.actions=e.current,r.a=e.current,r}function F(t,e,r,n){var o=D(t,r);return G(t,e),o.notifyWarning=n,o}function K(t){"development"===process.env.NODE_ENV&&console.warn("[state-decorator] ".concat(t," action was called while store is not initialized or destroyed, this is probably a leak"))}function U(t,e,r,n,o,i,a){return function(){if(i.current){for(var u=arguments.length,c=new Array(u),s=0;s<u;s++)c[s]=arguments[s];var f=C(r,n,o,c),l=e(f);a(l,null,t,"effects",!1,f,!1)}else K(t)}}function W(t,e,r,n,o,i,a,u,c,s){var f=N(r,n,o,s,void 0),l=e.effects(f);if(c(l,void 0,t,"effects",!1,f,!1),null!==l)if(e.debounceSideEffectsTimeout>0){var p=a.current[t];p&&clearTimeout(p),a.current[t]=setTimeout((function(){e.sideEffects(F(f,r,i,u.notifyWarning)),delete a.current[t]}),e.debounceSideEffectsTimeout)}else e.sideEffects&&e.sideEffects(F(f,r,i,u.notifyWarning))}function z(t,e,r,n,o,i,a,u,c,s){return function(){for(var f=arguments.length,l=new Array(f),p=0;p<f;p++)l[p]=arguments[p];if(a.current)if(e.debounceTimeout){var d=u.current[t];d&&clearTimeout(d),u.current[t]=setTimeout((function(){delete u.current[t],W(t,e,r,n,o,i,u,c,s,l)}),e.debounceTimeout)}else W(t,e,r,n,o,i,u,c,s,l);else K(t)}}function J(t,e,r,n){var o=t.action,i=t.stateRef,a=t.derivedStateRef,u=t.propsRef,c=t.promisesRef,s=t.actionsRef,f=t.loadingMapRef,l=t.conflictActionsRef,p=t.actionName,d=t.options,h=t.setState;if(t.initializedRef.current){var v=null,y=N(i,a,u,n,r,e);o.effects&&(v=o.effects(y)),h(v,j(f.current,p,e,!1),p,"effects",!0,y,!1);var g,m=d.notifySuccess||w.notifySuccess;if(m)o.getSuccessMessage&&(g=o.getSuccessMessage(y)),g&&m(g);return delete c.current[p][e],o.sideEffects&&o.sideEffects(F(y,i,s,w.notifyWarning)),Q(p,s.current,l.current),r}}function H(t,e,r,n){var o=t.action,i=t.stateRef,a=t.derivedStateRef,u=t.propsRef,c=t.actionsRef,s=t.loadingMapRef,f=t.promisesRef,l=t.conflictActionsRef,p=t.actionName,d=t.options,h=t.setState;if(t.initializedRef.current){var v=null,y=function(t,e,r,n,o,i){var a=C(t,e,r,n,i);return a.error=o,a.err=o,a}(i,a,u,n,r,e);o.errorEffects&&(v=o.errorEffects(y)),h(v,j(s.current,p,e,!1),p,"errorEffects",!0,y,!1);var g=!1;(null!=v||o.errorSideEffects)&&(g=!0);var m,E=d.notifyError||w.notifyError;if(E)o.getErrorMessage&&(m=o.getErrorMessage(y)),m||g||!w.getErrorMessage||(m=w.getErrorMessage(r)),m&&(g=!0,E(m));return w.asyncErrorHandler(r,g||o.rejectPromiseOnError,i.current,u.current,p,n),delete f.current[p][e],o.errorSideEffects&&o.errorSideEffects(F(y,i,c,w.notifyWarning)),Q(p,c.current,l.current),!g||o.rejectPromiseOnError?Promise.reject(r):Promise.resolve()}}function V(t){var e=t.action,n=t.stateRef,o=t.derivedStateRef,i=t.propsRef,a=t.actionsRef,u=t.promisesRef,c=t.loadingMapRef,s=t.initializedRef,f=t.conflictActionsRef,l=t.actionName,p=t.setState;return function(){for(var d,v,y=arguments.length,g=new Array(y),E=0;E<y;E++)g[E]=arguments[E];if(!s.current)return K(l),null;var x=u.current,b=e.conflictPolicy,P=void 0===b?r.KEEP_ALL:b,S=P===r.PARALLEL,O=null;if(S){if(!e.getPromiseId)throw new Error("If conflict policy is set to ConflictPolicy.PARALLEL, getPromiseId must be set and return a string.");O=e.getPromiseId.apply(e,g)}else O=$;if(!S&&null!==(d=x[l])&&void 0!==d&&d[O])return B(x,f.current,l,P,g);var _=null,L=!1,R=C(n,o,i,g,O);e.preEffects&&(_=e.preEffects(R))&&(L=!0,n.current=_);var M=e.abortable,k=e.retryCount,T=e.retryDelaySeed,N=e.isTriggerRetryError,G=M&&window.AbortController?new AbortController:null,D=A(e.getPromise,k?1+k:1,T,N||w.retryOnErrorFunction),F=null===(v=D(I(n,o,i,g,a,null==G?void 0:G.signal)))||void 0===v?void 0:v.then((function(e){return J(t,O,e,g)})).catch((function(e){return H(t,O,e,g)}));return null!=F&&(x[l]=m(m({},x[l]||{}),{},h({},O||$,{abortController:G,promise:F,refArgs:P===r.REUSE&&g.length>0?[].concat(g):[]}))),p(null!=F||L?n.current:void 0,null==F?void 0:j(c.current,l,O,!0),l,"preEffects",!0,R,!1),F}}function Y(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];return r.some((function(e){var r=null,n=$;if(Array.isArray(e)){var o=p(e,2);r=o[0];var i=o[1];n=void 0===i?$:i}else r=e;var a=t[r];return null!=a&&(null!=a[n]&&a[n])}))}var $="__def__";function q(t,e){return t.length===e.length&&-1===t.findIndex((function(t,r){return e[r]!==t}))}function B(t,e,n,o,i){var a=o;if(a===r.REUSE){if(q(t[n][$].refArgs,i))return t[n][$].promise;a=r.KEEP_ALL}return new Promise((function(t,o){var u={resolve:t,reject:o,args:x(i),timestamp:Date.now()};switch(a){case r.IGNORE:t(void 0);break;case r.REJECT:o(new Error("An asynchronous action ".concat(n," is already ongoing.")));break;case r.KEEP_LAST:e[n]=[u];break;case r.KEEP_ALL:var c=e[n];c||(e[n]=c=[]),c.push(u);break;case r.PARALLEL:case r.REUSE:}}))}function Q(t,e,r){var n=r[t];if(n&&n.length>0){var o=r[t].shift();if(o){var i=e[t].apply(e,c(o.args));null==i?Q(t,e,r):i.then((function(n){null===n&&Q(t,e,r),o.resolve(n)})).catch((function(t){return o.reject(t)}))}}}function X(t,e,r,n){if(null==(null==n?void 0:n.derivedState))return!1;var o=!1,i=w.comparator,a=r.current.deps,u=M(t,null,e),c=Object.keys(n.derivedState);return r.current.state=c.reduce((function(t,e){var c=!1,s=a[e],f=n.derivedState[e].getDeps(u);return c=null==s||null!=f.find((function(t,e){return s.length<e||!i(s[e],t)})),o=o||c,a[e]=f,t[e]=c?n.derivedState[e].get(u):r.current.state[e],t}),{}),o}function Z(t,e,r,n,o,i,a){var u=null!=(null==i?void 0:i.derivedState);if(null!=i.onPropsChange){var c;c=Array.isArray(i.onPropsChange)?i.onPropsChange:[i.onPropsChange];var s=!1,f=R(t.current),l=[],p=w.comparator;c.forEach((function(t,o){var i=t.getDeps;if(i){var u=!1,c=i(n),d=i(r.current),h=[];if(c.length!==d.length?(console.warn("options.onPropsChange.getDeps returned array must be stable (same length)"),u=!0):c.forEach((function(t,e){p(t,d[e])||(u=!0,h.push(e))})),u){var v,y,g=T(f,e,r,h,o),m=null!==(v=null===(y=t.effects)||void 0===y?void 0:y.call(t,g))&&void 0!==v?v:null;null!=m&&(s=!0,f.current=m,a(f.current,void 0,"onPropsChange","effects",!1,g,!0)),t.sideEffects&&l.push({index:o,indices:h,ctx:g})}}})),!s&&u&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0),l.length>0&&l.forEach((function(t){c[t.index].sideEffects(m(m({},G(D(t.ctx,o),f)),{},{indices:t.indices}))}))}else null!=(null==i?void 0:i.derivedState)&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0)}function tt(t,e,r,n,o,i,a,u){if("onPropsChange"===o&&void 0===r)return{newState:null,newLoading:!1};if(t&&t.length>0){var c=t.reduce((function(t,e){var r=e.effects({isAsync:a,name:o,type:i,context:u},t.oldState,t.newState,n);return{newState:(null==r?void 0:r.state)||t.newState,oldState:null!=r&&r.state?t.newState:t.oldState,loading:null==(null==r?void 0:r.loading)?t.loading:r.loading}}),{oldState:e,newState:r,loading:n});return{newLoading:c.loading,newState:c.newState}}return{newState:r,newLoading:n}}export{$ as DEFAULT_PROMISE_ID,D as addContextActions,G as addStateToContext,q as areSameArgs,M as buildInvocationContextBase,j as buildLoadingMap,k as buildOnMountInvocationContext,T as buildOnPropChangeEffects,L as computeAsyncActionInput,X as computeDerivedValues,R as createRef,V as decorateAsyncAction,U as decorateSimpleSyncAction,z as decorateSyncAction,w as globalConfig,b as isAsyncAction,O as isAsyncGetPromiseAction,_ as isAsyncGetPromiseGetAction,Y as isLoadingImpl,P as isSimpleSyncAction,S as isSyncAction,Z as onPropChange,A as retryPromiseDecorator,tt as runMiddlewares,E as setGlobalConfig};
1
+ 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}var r,n=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})),o=e((function(t){t.exports=function(t){if(Array.isArray(t))return n(t)},t.exports.default=t.exports,t.exports.__esModule=!0})),i=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})),a=e((function(t){t.exports=function(t,e){if(t){if("string"==typeof t)return n(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)?n(t,e):void 0}},t.exports.default=t.exports,t.exports.__esModule=!0})),u=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})),c=t(e((function(t){t.exports=function(t){return o(t)||i(t)||a(t)||u()},t.exports.default=t.exports,t.exports.__esModule=!0}))),s=e((function(t){t.exports=function(t){if(Array.isArray(t))return t},t.exports.default=t.exports,t.exports.__esModule=!0})),f=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 a,u=t[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){o=!0,i=t}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}},t.exports.default=t.exports,t.exports.__esModule=!0})),l=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})),p=t(e((function(t){t.exports=function(t,e){return s(t)||f(t,e)||a(t,e)||l()},t.exports.default=t.exports,t.exports.__esModule=!0}))),d=t(e((function(t){function e(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}t.exports=function(t){return function(){var r=this,n=arguments;return new Promise((function(o,i){var a=t.apply(r,n);function u(t){e(a,o,i,u,c,"next",t)}function c(t){e(a,o,i,u,c,"throw",t)}u(void 0)}))}},t.exports.default=t.exports,t.exports.__esModule=!0}))),h=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}))),v=e((function(t){var e=function(t){var e,r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var o=e&&e.prototype instanceof y?e:y,i=Object.create(o.prototype),a=new j(n||[]);return i._invoke=function(t,e,r){var n=l;return function(o,i){if(n===d)throw new Error("Generator is already running");if(n===h){if("throw"===o)throw i;return R()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=O(a,r);if(u){if(u===v)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===l)throw n=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=d;var c=f(t,e,r);if("normal"===c.type){if(n=r.done?h:p,c.arg===v)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n=h,r.method="throw",r.arg=c.arg)}}}(t,r,a),i}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=s;var l="suspendedStart",p="suspendedYield",d="executing",h="completed",v={};function y(){}function g(){}function m(){}var w={};w[i]=function(){return this};var E=Object.getPrototypeOf,x=E&&E(E(A([])));x&&x!==r&&n.call(x,i)&&(w=x);var b=m.prototype=y.prototype=Object.create(w);function P(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function r(o,i,a,u){var c=f(t[o],t,i);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,u)}),(function(t){r("throw",t,a,u)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,u)}))}u(c.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 O(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,O(t,r),"throw"===r.method))return v;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var o=f(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;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,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function _(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 j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function A(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,a=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 a.next=a}}return{next:R}}function R(){return{value:e,done:!0}}return g.prototype=b.constructor=m,m.constructor=g,g.displayName=c(m,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,c(t,u,"GeneratorFunction")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},P(S.prototype),S.prototype[a]=function(){return this},t.AsyncIterator=S,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new S(s(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},P(b),c(b,u,"Generator"),b[i]=function(){return this},b.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=A,j.prototype={constructor:j,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 u.type="throw",u.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var c=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(c&&s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.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 a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(a)},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),v},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),v}},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:A(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}})),y=t(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})));function g(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 m(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?g(Object(r),!0).forEach((function(e){h(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):g(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}!function(t){t.REJECT="reject",t.IGNORE="ignore",t.KEEP_LAST="keepLast",t.KEEP_ALL="keepAll",t.PARALLEL="parallel",t.REUSE="reuse"}(r||(r={}));var w={clone:function(t){return JSON.parse(JSON.stringify(t))},comparator:function(t,e){if(Object.is(t,e))return!0;if("object"!==y(t)||null===t||"object"!==y(e)||null===e)return!1;var r=Object.keys(t);if(r.length!==Object.keys(e).length)return!1;for(var n=0;n<r.length;n++)if(!Object.prototype.hasOwnProperty.call(e,r[n])||!Object.is(t[r[n]],e[r[n]]))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 E(t){Object.keys(t).forEach((function(e){null!=t[e]&&(w[e]=t[e])}))}function x(t){try{return w.clone(t)}catch(t){var e="StateDecorator: Cannot clone object. Call setCloneFunction with another implementation like lodash/cloneDeep.";throw"development"===process.env.NODE_ENV&&(console.error(e),console.error(t.toString())),new Error(e)}}function b(t){return!(t instanceof Function)&&(t.hasOwnProperty("getPromise")||t.hasOwnProperty("getGetPromise"))}function P(t){return"function"==typeof t}function S(t){return"function"!=typeof t&&!t.hasOwnProperty("getPromise")&&!t.hasOwnProperty("getGetPromise")}function O(t){return"function"!=typeof t&&t.hasOwnProperty("getPromise")&&!t.hasOwnProperty("getGetPromise")}function _(t){return"function"!=typeof t&&!t.hasOwnProperty("getPromise")&&t.hasOwnProperty("getGetPromise")}function L(t){return _(t)?m(m({},t),{},{getPromise:t.getGetPromise,retryCount:3,conflictPolicy:r.REUSE}):t}function j(t,e,r,n){return m(m({},t),{},h({},e,n?m(m({},t[e]||{}),{},h({},r,n)):m(m({},t[e]),{},h({},r,!1))))}function A(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return!0};return 1===e?t:function(o){function i(t,e){return a.apply(this,arguments)}function a(){return(a=d(v.mark((function a(u,c){return v.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(null!==c){a.next=2;break}return a.abrupt("return",null);case 2:return a.abrupt("return",c.catch((function(a){return n(a)?u===e?Promise.reject(a):new Promise((function(e,n){setTimeout((function(){var r=t(o);i(u+1,r).then(e).catch(n)}),r*u)})):Promise.reject(a)})));case 3:case"end":return a.stop()}}),a)})))).apply(this,arguments)}var u=t(o);return null===u?null:i(1,u)}}function R(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return{current:t}}function M(t,e,r){var n,o;return{state:t.current,s:t.current,ds:null==e||null===(n=e.current)||void 0===n?void 0:n.state,derived:null==e||null===(o=e.current)||void 0===o?void 0:o.state,props:r.current,p:r.current}}function k(t,e,r,n){return D(M(t,e,r),n)}function T(t,e,r,n,o,i){var a=M(t,e,r);return a.indices=n,a.index=o,a.isInit=i,a}function C(t,e,r,n,o){var i=M(t,e,r);return i.args=n,o&&(i.promiseId=o),i}function N(t,e,r,n,o,i){var a=C(t,e,r,n,i);return a.result=o,a.res=o,a}function I(t,e,r,n,o,i,a){var u=D(C(t,e,r,n,a),o);return u.abortSignal=i,u}function G(t,e){var r=t;return r.state=e.current,r.s=e.current,r}function D(t,e){var r=t;return r.actions=e.current,r.a=e.current,r}function F(t,e,r,n){var o=D(t,r);return G(t,e),o.notifyWarning=n,o}function K(t){"development"===process.env.NODE_ENV&&console.warn("[state-decorator] ".concat(t," action was called while store is not initialized or destroyed, this is probably a leak"))}function U(t,e,r,n,o,i,a){return function(){if(i.current){for(var u=arguments.length,c=new Array(u),s=0;s<u;s++)c[s]=arguments[s];var f=C(r,n,o,c),l=e(f);a(l,null,t,"effects",!1,f,!1)}else K(t)}}function W(t,e,r,n,o,i,a,u,c,s){var f=N(r,n,o,s,void 0),l=e.effects(f);if(c(l,void 0,t,"effects",!1,f,!1),null!==l)if(e.debounceSideEffectsTimeout>0){var p=a.current[t];p&&clearTimeout(p),a.current[t]=setTimeout((function(){e.sideEffects(F(f,r,i,u.notifyWarning)),delete a.current[t]}),e.debounceSideEffectsTimeout)}else e.sideEffects&&e.sideEffects(F(f,r,i,u.notifyWarning))}function z(t,e,r,n,o,i,a,u,c,s){return function(){for(var f=arguments.length,l=new Array(f),p=0;p<f;p++)l[p]=arguments[p];if(a.current)if(e.debounceTimeout){var d=u.current[t];d&&clearTimeout(d),u.current[t]=setTimeout((function(){delete u.current[t],W(t,e,r,n,o,i,u,c,s,l)}),e.debounceTimeout)}else W(t,e,r,n,o,i,u,c,s,l);else K(t)}}function J(t,e,r,n){var o=t.action,i=t.stateRef,a=t.derivedStateRef,u=t.propsRef,c=t.promisesRef,s=t.actionsRef,f=t.loadingMapRef,l=t.conflictActionsRef,p=t.actionName,d=t.options,h=t.setState;if(t.initializedRef.current){var v=null,y=N(i,a,u,n,r,e);o.effects&&(v=o.effects(y)),h(v,j(f.current,p,e,!1),p,"effects",!0,y,!1);var g,m=d.notifySuccess||w.notifySuccess;if(m)o.getSuccessMessage&&(g=o.getSuccessMessage(y)),g&&m(g);return delete c.current[p][e],o.sideEffects&&o.sideEffects(F(y,i,s,w.notifyWarning)),Q(p,s.current,l.current),r}}function H(t,e,r,n){var o=t.action,i=t.stateRef,a=t.derivedStateRef,u=t.propsRef,c=t.actionsRef,s=t.loadingMapRef,f=t.promisesRef,l=t.conflictActionsRef,p=t.actionName,d=t.options,h=t.setState;if(t.initializedRef.current){var v=null,y=function(t,e,r,n,o,i){var a=C(t,e,r,n,i);return a.error=o,a.err=o,a}(i,a,u,n,r,e);o.errorEffects&&(v=o.errorEffects(y)),h(v,j(s.current,p,e,!1),p,"errorEffects",!0,y,!1);var g=!1;(null!=v||o.errorSideEffects)&&(g=!0);var m,E=d.notifyError||w.notifyError;if(E)o.getErrorMessage&&(m=o.getErrorMessage(y)),m||g||!w.getErrorMessage||(m=w.getErrorMessage(r)),m&&(g=!0,E(m));return w.asyncErrorHandler(r,g||o.rejectPromiseOnError,i.current,u.current,p,n),delete f.current[p][e],o.errorSideEffects&&o.errorSideEffects(F(y,i,c,w.notifyWarning)),Q(p,c.current,l.current),!g||o.rejectPromiseOnError?Promise.reject(r):Promise.resolve()}}function V(t){var e=t.action,n=t.stateRef,o=t.derivedStateRef,i=t.propsRef,a=t.actionsRef,u=t.promisesRef,c=t.loadingMapRef,s=t.initializedRef,f=t.conflictActionsRef,l=t.actionName,p=t.setState;return function(){for(var d,v,y=arguments.length,g=new Array(y),E=0;E<y;E++)g[E]=arguments[E];if(!s.current)return K(l),null;var x=u.current,b=e.conflictPolicy,P=void 0===b?r.KEEP_ALL:b,S=P===r.PARALLEL,O=null;if(S){if(!e.getPromiseId)throw new Error("If conflict policy is set to ConflictPolicy.PARALLEL, getPromiseId must be set and return a string.");O=e.getPromiseId.apply(e,g)}else O=$;if(!S&&null!==(d=x[l])&&void 0!==d&&d[O])return B(x,f.current,l,P,g);var _=null,L=!1,R=C(n,o,i,g,O);e.preEffects&&(_=e.preEffects(R))&&(L=!0,n.current=_);var M=e.abortable,k=e.retryCount,T=e.retryDelaySeed,N=e.isTriggerRetryError,G=M&&window.AbortController?new AbortController:null,D=A(e.getPromise,k?1+k:1,T,N||w.retryOnErrorFunction),F=null===(v=D(I(n,o,i,g,a,null==G?void 0:G.signal)))||void 0===v?void 0:v.then((function(e){return J(t,O,e,g)})).catch((function(e){return H(t,O,e,g)}));return null!=F&&(x[l]=m(m({},x[l]||{}),{},h({},O||$,{abortController:G,promise:F,refArgs:P===r.REUSE&&g.length>0?[].concat(g):[]}))),p(null!=F||L?n.current:void 0,null==F?void 0:j(c.current,l,O,!0),l,"preEffects",!0,R,!1),F}}function Y(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];return r.some((function(e){var r=null,n=$;if(Array.isArray(e)){var o=p(e,2);r=o[0];var i=o[1];n=void 0===i?$:i}else r=e;var a=t[r];return null!=a&&(null!=a[n]&&a[n])}))}var $="__def__";function q(t,e){return t.length===e.length&&-1===t.findIndex((function(t,r){return e[r]!==t}))}function B(t,e,n,o,i){var a=o;if(a===r.REUSE){if(q(t[n][$].refArgs,i))return t[n][$].promise;a=r.KEEP_ALL}return new Promise((function(t,o){var u={resolve:t,reject:o,args:x(i),timestamp:Date.now()};switch(a){case r.IGNORE:t(void 0);break;case r.REJECT:o(new Error("An asynchronous action ".concat(n," is already ongoing.")));break;case r.KEEP_LAST:e[n]=[u];break;case r.KEEP_ALL:var c=e[n];c||(e[n]=c=[]),c.push(u);break;case r.PARALLEL:case r.REUSE:}}))}function Q(t,e,r){var n=r[t];if(n&&n.length>0){var o=r[t].shift();if(o){var i=e[t].apply(e,c(o.args));null==i?Q(t,e,r):i.then((function(n){null===n&&Q(t,e,r),o.resolve(n)})).catch((function(t){return o.reject(t)}))}}}function X(t,e,r,n){if(null==(null==n?void 0:n.derivedState))return!1;var o=!1,i=w.comparator,a=r.current.deps,u=M(t,null,e),c=Object.keys(n.derivedState);return r.current.state=c.reduce((function(t,e){var c=!1,s=a[e],f=n.derivedState[e].getDeps(u);return c=null==s||null!=f.find((function(t,e){return s.length<e||!i(s[e],t)})),o=o||c,a[e]=f,t[e]=c?n.derivedState[e].get(u):r.current.state[e],t}),{}),o}function Z(t,e,r,n,o,i,a,u){var c=null!=(null==i?void 0:i.derivedState);if(null!=i.onPropsChange){var s;s=Array.isArray(i.onPropsChange)?i.onPropsChange:[i.onPropsChange];var f=!1,l=R(t.current),p=[],d=w.comparator;s.forEach((function(t,o){var i=t.getDeps;if(i){var c=!1,s=[];if(u){if(!t.onMount)return;c=!0}else{var h=i(n),v=i(r.current);h.length!==v.length?(console.warn("options.onPropsChange.getDeps returned array must be stable (same length)"),c=!0):h.forEach((function(t,e){d(t,v[e])||(c=!0,s.push(e))}))}if(c){var y,g,m=T(l,e,r,s,o,u),w=null!==(y=null===(g=t.effects)||void 0===g?void 0:g.call(t,m))&&void 0!==y?y:null;null!=w&&(f=!0,l.current=w,a(l.current,void 0,"onPropsChange","effects",!1,m,!0,u)),t.sideEffects&&p.push({index:o,indices:s,ctx:m})}}})),!f&&c&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0),p.length>0&&p.forEach((function(t){s[t.index].sideEffects(m(m({},G(D(t.ctx,o),l)),{},{indices:t.indices}))}))}else null!=(null==i?void 0:i.derivedState)&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0)}function tt(t,e,r,n,o,i,a,u){if("onPropsChange"===o&&void 0===r)return{newState:null,newLoading:!1};if(t&&t.length>0){var c=t.reduce((function(t,e){var r=e.effects({isAsync:a,name:o,type:i,context:u},t.oldState,t.newState,n);return{newState:(null==r?void 0:r.state)||t.newState,oldState:null!=r&&r.state?t.newState:t.oldState,loading:null==(null==r?void 0:r.loading)?t.loading:r.loading}}),{oldState:e,newState:r,loading:n});return{newLoading:c.loading,newState:c.newState}}return{newState:r,newLoading:n}}export{$ as DEFAULT_PROMISE_ID,D as addContextActions,G as addStateToContext,q as areSameArgs,M as buildInvocationContextBase,j as buildLoadingMap,k as buildOnMountInvocationContext,T as buildOnPropChangeEffects,L as computeAsyncActionInput,X as computeDerivedValues,R as createRef,V as decorateAsyncAction,U as decorateSimpleSyncAction,z as decorateSyncAction,w as globalConfig,b as isAsyncAction,O as isAsyncGetPromiseAction,_ as isAsyncGetPromiseGetAction,Y as isLoadingImpl,P as isSimpleSyncAction,S as isSyncAction,Z as onPropChange,A as retryPromiseDecorator,tt as runMiddlewares,E as setGlobalConfig};
2
2
  //# sourceMappingURL=impl.es.js.map