state-decorator 7.0.0-beta.0 → 7.0.0-beta.3

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.
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Effect function that sets the first action argument to the specified prop.
3
+ */
4
+ export declare function setArgIn<S, K extends keyof S>(propName: K): (ctx: {
5
+ s: S;
6
+ args: [S[K]];
7
+ }) => Partial<S>;
8
+ /**
9
+ * Effect function that sets <code>true</code> in the specified prop.
10
+ */
11
+ export declare function setTrueIn<S, K extends keyof S>(propName: K): (ctx: {
12
+ s: S;
13
+ }) => Partial<S>;
14
+ /**
15
+ * Effect function that sets <code>false</code> in the specified prop.
16
+ */
17
+ export declare function setFalseIn<S, K extends keyof S>(propName: K): (ctx: {
18
+ s: S;
19
+ }) => Partial<S>;
20
+ /**
21
+ * Effect function that sets toggles the boolean value of the specified prop.
22
+ */
23
+ export declare function toggleProp<S, K extends keyof S>(propName: K): (ctx: {
24
+ s: S;
25
+ }) => Partial<S>;
26
+ /**
27
+ * Effect function that sets the update the specifed prop as an array using first action argument as index
28
+ * and second as value to set.
29
+ */
30
+ export declare function setArgsInMap<S, K extends keyof S, T>(propName: K): (ctx: {
31
+ s: S;
32
+ args: [string, T];
33
+ }) => Partial<S>;
34
+ /**
35
+ * Effect function that sets the update the specifed prop as an array using first action argument as index
36
+ * and second as value to set.
37
+ */
38
+ export declare function setArgsInArray<S, K extends keyof S, T>(propName: K): (ctx: {
39
+ s: S;
40
+ args: [number, T];
41
+ }) => Partial<S>;
42
+ /**
43
+ * Effect function that sets the asynchronous action result to the specified prop.
44
+ */
45
+ export declare function setResIn<S, K extends keyof S>(propName: K): (ctx: {
46
+ s: S;
47
+ res: S[K];
48
+ }) => Partial<S>;
49
+ /**
50
+ * Effect function that sets the update the specifed prop as an array using first action argument as index
51
+ * and second as value to set.
52
+ */
53
+ export declare function setResInArray<S, K extends keyof S, T>(propName: K): (ctx: {
54
+ s: S;
55
+ args: [number];
56
+ res: T;
57
+ }) => Partial<S>;
58
+ /**
59
+ * Effect function that sets the update the specifed prop as an array using first action argument as index
60
+ * and second as value to set.
61
+ */
62
+ export declare function setResInMap<S, K extends keyof S, T>(propName: K): (ctx: {
63
+ s: S;
64
+ args: [string];
65
+ res: T;
66
+ }) => Partial<S>;
package/es/helpers.js ADDED
@@ -0,0 +1,2 @@
1
+ var r=function(){return(r=Object.assign||function(r){for(var n,t=1,u=arguments.length;t<u;t++)for(var e in n=arguments[t])Object.prototype.hasOwnProperty.call(n,e)&&(r[e]=n[e]);return r}).apply(this,arguments)};function n(r,n,t){if(t||2===arguments.length)for(var u,e=0,o=n.length;e<o;e++)!u&&e in n||(u||(u=Array.prototype.slice.call(n,0,e)),u[e]=n[e]);return r.concat(u||Array.prototype.slice.call(n))}function t(r){return function(n){var t,u=n.s,e=n.args[0];return u[r]===e?null:((t={})[r]=e,t)}}function u(r){return function(n){var t;return n.s[r]?null:((t={})[r]=!0,t)}}function e(r){return function(n){var t;return n.s[r]?((t={})[r]=!1,t):null}}function o(r){return function(n){var t,u=n.s;return(t={})[r]=!u[r],t}}function c(n){return function(t){var u,e,o=t.s,c=t.args,i=c[0],a=c[1];return(u={})[n]=r(r({},o[n]),((e={})[i]=a,e)),u}}function i(r){return function(t){var u,e=t.s,o=t.args,c=o[0],i=o[1],a=n([],e[r],!0);return a[c]=i,(u={})[r]=a,u}}function a(r){return function(n){var t,u=n.res;return(t={})[r]=u,t}}function f(r){return function(t){var u,e=t.s,o=t.args[0],c=t.res,i=n([],e[r],!0);return i[o]=c,(u={})[r]=i,u}}function s(n){return function(t){var u,e,o=t.s,c=t.args[0],i=t.res;return(u={})[n]=r(r({},o[n]),((e={})[c]=i,e)),u}}export{t as setArgIn,i as setArgsInArray,c as setArgsInMap,e as setFalseIn,a as setResIn,f as setResInArray,s as setResInMap,u as setTrueIn,o as toggleProp};
2
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.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":"AA+BO,IAAIA,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/es/impl.d.ts CHANGED
@@ -12,7 +12,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
12
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
13
  PERFORMANCE OF THIS SOFTWARE.
14
14
  ***************************************************************************** */
15
- import { AsyncAction, SimpleSyncAction, SyncAction, StoreAction, AsyncActionPromise, AsyncActionPromiseGet, PromiseProvider, DecoratedActions, InternalLoadingMap, StoreOptions, InvocationContextActions, OnMountInvocationContext, OnPropsChangeEffectsContext, ContextState, Middleware, MiddlewareFactory, ContextWithDerived, PromiseIdErrorMap, ErrorMap, ErrorParallelMap } from './types';
15
+ import { AsyncAction, SimpleSyncAction, SyncAction, StoreAction, AsyncActionPromise, AsyncActionPromiseGet, PromiseProvider, DecoratedActions, InternalLoadingMap, StoreOptions, InvocationContextActions, OnMountInvocationContext, OnPropsChangeEffectsContext, ContextState, Middleware, MiddlewareFactory, ContextWithDerived, PromiseIdErrorMap, ErrorMap, ErrorParallelMap, OnUnMountInvocationContext, AbortedActions, ClearErrorFunc } from './types';
16
16
  export declare type SetStateFunc<S, A> = (newState: S, newLoadingMap: InternalLoadingMap<A>, actionName: keyof A | 'onPropsChange', actionType: 'preEffects' | 'effects' | 'errorEffects' | null, // FIXME
17
17
  isAsync: boolean, actionCtx: any, propsChanged: boolean, isInit?: boolean) => void;
18
18
  /** @internal */
@@ -51,6 +51,7 @@ export declare type AsyncActionExecContext<S, DS, F extends (...args: any[]) =>
51
51
  initializedRef: Ref<boolean>;
52
52
  options: StoreOptions<S, A, P, any>;
53
53
  setState: SetStateFunc<S, A>;
54
+ clearError: ClearErrorFunc<A>;
54
55
  };
55
56
  /** @internal */
56
57
  export declare type TimeoutMap<A> = {
@@ -167,6 +168,8 @@ export declare function buildInvocationContextBase<S, DS, P>(stateRef: Ref<S>, d
167
168
  /** @internal */
168
169
  export declare function buildOnMountInvocationContext<S, DS, A, P>(stateRef: Ref<S>, derivedStateRef: Ref<DerivedState<DS>>, propsRef: Ref<P>, actionsRef: Ref<A>): OnMountInvocationContext<S, A, P>;
169
170
  /** @internal */
171
+ export declare function buildOnUnMountInvocationContext<S, DS, A, P>(stateRef: Ref<S>, derivedStateRef: Ref<DerivedState<DS>>, propsRef: Ref<P>, abortedActions: AbortedActions<A>): OnUnMountInvocationContext<S, A, P>;
172
+ /** @internal */
170
173
  export declare function buildOnPropChangeEffects<S, DS, P>(stateRef: Ref<S>, derivedStateRef: Ref<DerivedState<DS>>, propsRef: Ref<P>, indices: number[], index: number, isInit: boolean): OnPropsChangeEffectsContext<S, DS, P>;
171
174
  /** @internal */
172
175
  export declare function addStateToContext<T, S>(ctx: T, stateRef: Ref<S>): T & ContextState<S>;
@@ -175,7 +178,7 @@ export declare function addContextActions<T, A>(ctx: T, actionsRef: Ref<A>): T &
175
178
  /** @internal */
176
179
  export declare function decorateSimpleSyncAction<S, DS, F extends (...args: any[]) => any, A extends DecoratedActions, P>(actionName: keyof A, action: SimpleSyncAction<S, F, P, DS>, stateRef: Ref<S>, derivedStateRef: Ref<DerivedState<DS>>, propsRef: Ref<P>, initializedRef: Ref<boolean>, setState: SetStateFunc<S, A>): (...args: Parameters<F>) => void;
177
180
  /** @internal */
178
- export declare function decorateSyncAction<S, DS, F extends (...args: any[]) => any, A extends DecoratedActions, P>(actionName: keyof A, action: SyncAction<S, F, A, P, DS>, stateRef: Ref<S>, derivedStateRef: Ref<DerivedState<DS>>, propsRef: Ref<P>, actionsRef: Ref<A>, initializedRef: Ref<boolean>, timeoutMap: Ref<TimeoutMap<A>>, options: StoreOptions<S, A, P, any>, setState: SetStateFunc<S, A>): (...args: Parameters<F>) => void;
181
+ export declare function decorateSyncAction<S, DS, F extends (...args: any[]) => any, A extends DecoratedActions, P>(actionName: keyof A, action: SyncAction<S, F, A, P, DS>, stateRef: Ref<S>, derivedStateRef: Ref<DerivedState<DS>>, propsRef: Ref<P>, actionsRef: Ref<A>, initializedRef: Ref<boolean>, timeoutMap: Ref<TimeoutMap<A>>, options: StoreOptions<S, A, P, any>, setState: SetStateFunc<S, A>, clearError: ClearErrorFunc<A>): (...args: Parameters<F>) => void;
179
182
  /** @internal */
180
183
  export declare function decorateAsyncAction<S, DS, F extends (...args: any[]) => any, A extends DecoratedActions, P>(context: AsyncActionExecContext<S, DS, F, A, P>): (...args: Parameters<F>) => Promise<any>;
181
184
  /** @internal */
@@ -186,7 +189,7 @@ export declare function areSameArgs(args1: any[], args2: any[]): boolean;
186
189
  /** @internal */
187
190
  export declare function computeDerivedValues<S, A, P, DS>(s: Ref<S>, p: Ref<P>, derivedStateRef: Ref<DerivedState<DS>>, options: StoreOptions<S, A, P, DS>): boolean;
188
191
  /** @internal */
189
- export declare function onPropChange<S, P, A, DS>(stateRef: Ref<S>, derivedStateRef: Ref<DerivedState<DS>>, propsRef: Ref<P>, oldProps: P, actionsRef: Ref<A>, options: StoreOptions<S, A, P, DS>, setState: SetStateFunc<S, A>, isInit: boolean): void;
192
+ export declare function onPropChange<S, P, A, DS>(stateRef: Ref<S>, derivedStateRef: Ref<DerivedState<DS>>, propsRef: Ref<P>, oldProps: P, actionsRef: Ref<A>, options: StoreOptions<S, A, P, DS>, setState: SetStateFunc<S, A>, isInit: boolean, isDeferred: boolean): void;
190
193
  /** @internal */
191
194
  export declare function runMiddlewares<S, A extends DecoratedActions, P>(middlewares: Middleware<S, A, P>[], oldState: S, newState: S, loading: boolean, actionName: keyof A, actionType: 'preEffects' | 'effects' | 'errorEffects' | null, isAsync: boolean, actionCtx: any): {
192
195
  newState: S;
package/es/impl.js CHANGED
@@ -1,2 +1,2 @@
1
- var e=function(r,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])})(r,n)};var r,n=function(){return(n=Object.assign||function(e){for(var r,n=1,t=arguments.length;n<t;n++)for(var o in r=arguments[n])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e}).apply(this,arguments)};function t(e,r,n,t){return new(n||(n=Promise))((function(o,i){function c(e){try{a(t.next(e))}catch(e){i(e)}}function u(e){try{a(t.throw(e))}catch(e){i(e)}}function a(e){var r;e.done?o(e.value):(r=e.value,r instanceof n?r:new n((function(e){e(r)}))).then(c,u)}a((t=t.apply(e,r||[])).next())}))}function o(e,r){var n,t,o,i,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;c;)try{if(n=1,t&&(o=2&i[0]?t.return:i[0]?t.throw||((o=t.return)&&o.call(t),0):t.next)&&!(o=o.call(t,i[1])).done)return o;switch(t=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return c.label++,{value:i[1],done:!1};case 5:c.label++,t=i[1],i=[0];continue;case 7:i=c.ops.pop(),c.trys.pop();continue;default:if(!(o=c.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){c=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){c.label=i[1];break}if(6===i[0]&&c.label<o[1]){c.label=o[1],o=i;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(i);break}o[2]&&c.ops.pop(),c.trys.pop();continue}i=r.call(e,c)}catch(e){i=[6,e],t=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function i(e,r,n){if(n||2===arguments.length)for(var t,o=0,i=r.length;o<i;o++)!t&&o in r||(t||(t=Array.prototype.slice.call(r,0,o)),t[o]=r[o]);return e.concat(t||Array.prototype.slice.call(r))}!function(e){e.REJECT="reject",e.IGNORE="ignore",e.KEEP_LAST="keepLast",e.KEEP_ALL="keepAll",e.PARALLEL="parallel",e.REUSE="reuse"}(r||(r={}));var c={clone:function(e){return JSON.parse(JSON.stringify(e))},comparator:function(e,r){if(Object.is(e,r))return!0;if("object"!=typeof e||null===e||"object"!=typeof r||null===r)return!1;if(e instanceof Set||r instanceof Set)return!1;var n=Object.keys(e),t=Object.keys(r);if(n.length!==t.length)return!1;for(var o=0;o<n.length;o++)if(!Object.prototype.hasOwnProperty.call(r,n[o])||!Object.is(e[n[o]],r[n[o]]))return!1;return!0},asyncErrorHandler:function(){},retryOnErrorFunction:function(e){return e instanceof TypeError},notifySuccess:void 0,notifyError:void 0,notifyWarning:void 0,getErrorMessage:void 0,defaultMiddlewares:[]};function u(e){Object.keys(e).forEach((function(r){null!=e[r]&&(c[r]=e[r])}))}function a(e){try{return c.clone(e)}catch(e){var r="StateDecorator: Cannot clone object. Call setCloneFunction with another implementation like lodash/cloneDeep.";throw"development"===process.env.NODE_ENV&&(console.error(r),console.error(e.toString())),new Error(r)}}function l(e){return!(e instanceof Function)&&(e.hasOwnProperty("getPromise")||e.hasOwnProperty("getGetPromise"))}function f(e){return"function"==typeof e}function s(e){return"function"!=typeof e&&!e.hasOwnProperty("getPromise")&&!e.hasOwnProperty("getGetPromise")}function d(e){return"function"!=typeof e&&e.hasOwnProperty("getPromise")&&!e.hasOwnProperty("getGetPromise")}function v(e){return"function"!=typeof e&&!e.hasOwnProperty("getPromise")&&e.hasOwnProperty("getGetPromise")}function p(e){return v(e)?n(n({},e),{getPromise:e.getGetPromise,retryCount:3,conflictPolicy:r.REUSE}):e}function g(e,r,t,o){var i,c,u,a;return n(n({},e),o?((i={})[r]=n(n({},e[r]||{}),((c={})[t]=o,c)),i):((u={})[r]=n(n({},e[r]),((a={})[t]=!1,a)),u))}function y(e,r,t,o){var i,c,u,a;return n(n({},e),o?((i={})[r]=n(n({},e[r]||{}),((c={})[t]=o,c)),i):((u={})[r]=n(n({},e[r]),((a={})[t]=void 0,a)),u))}var h=function(r){function n(e){var t=r.call(this,"Error")||this;return t.promiseIds=e,Object.setPrototypeOf(t,n.prototype),t}return function(r,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function t(){this.constructor=r}e(r,n),r.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}(n,r),n}(Error);function E(e){return Object.keys(e).reduce((function(r,n){var t=e[n];if(null==t[K]);else if(t[K])r[n]=t[K];else{var o=Object.keys(t).reduce((function(e,r){return null!=t[r]&&(e.hasErr=!0,e.map[r]=t[r]),e}),{hasErr:!1,map:{}});o.hasErr&&(r[n]=new h(o.map))}return r}),{})}function m(e,r,n,i){return void 0===r&&(r=1),void 0===n&&(n=1e3),void 0===i&&(i=function(){return!0}),1===r?e:function(c){var u=e(c);return null===u?null:function u(a,l){return t(this,void 0,void 0,(function(){return o(this,(function(t){return null===l?[2,null]:[2,l.catch((function(t){return i(t)?a===r?Promise.reject(t):new Promise((function(r,t){setTimeout((function(){var n=e(c);u(a+1,n).then(r).catch(t)}),n*a)})):Promise.reject(t)}))]}))}))}(1,u)}}function P(e){return void 0===e&&(e=null),{current:e}}function w(e,r,n){var t,o;return{state:e.current,s:e.current,ds:null===(t=null==r?void 0:r.current)||void 0===t?void 0:t.state,derived:null===(o=null==r?void 0:r.current)||void 0===o?void 0:o.state,props:n.current,p:n.current}}function S(e,r,n,t){return L(w(e,r,n),t)}function b(e,r,n,t,o,i){var c=w(e,r,n);return c.indices=t,c.index=o,c.isInit=i,c}function R(e,r,n,t,o){var i=w(e,r,n);return i.args=t,o&&(i.promiseId=o),i}function O(e,r,n,t,o,i){var c=R(e,r,n,t,i);return c.result=o,c.res=o,c}function A(e,r,n,t,o,i,c){var u=L(R(e,r,n,t,c),o);return u.abortSignal=i,u}function j(e,r){var n=e;return n.state=r.current,n.s=r.current,n}function L(e,r){var n=e;return n.actions=r.current,n.a=r.current,n}function C(e,r,n,t,o){var i,c=L(e,t);j(e,r);var u=null===(i=null==n?void 0:n.current)||void 0===i?void 0:i.state;return c.derived=u,c.ds=u,c.notifyWarning=o,c}function _(e){"development"===process.env.NODE_ENV&&console.warn("[state-decorator] ".concat(e," action was called while store is not initialized or destroyed, this is probably a leak"))}function k(e,r){return null==r?null:n(n({},e.current),r)}function T(e,r,n,t,o,i,c){return function(){for(var u=[],a=0;a<arguments.length;a++)u[a]=arguments[a];if(i.current){var l=R(n,t,o,u),f=k(n,r(l));c(f,null,e,"effects",!1,l,!1)}else _(e)}}function M(e,r,n,t,o,i,c,u,a,l){var f,s=O(n,t,o,l,void 0),d=!1;if(null!=r.effects){var v=k(n,r.effects(s));null===v?d=!0:a(v,void 0,e,"effects",!1,s,!1)}if(!d)if(r.debounceSideEffectsTimeout>0){var p=c.current[e];p&&clearTimeout(p),c.current[e]=setTimeout((function(){var o;null===(o=r.sideEffects)||void 0===o||o.call(r,C(s,n,t,i,u.notifyWarning)),delete c.current[e]}),r.debounceSideEffectsTimeout)}else null===(f=r.sideEffects)||void 0===f||f.call(r,C(s,n,t,i,u.notifyWarning))}function x(e,r,n,t,o,i,c,u,a,l){return function(){for(var f=[],s=0;s<arguments.length;s++)f[s]=arguments[s];if(c.current)if(r.debounceTimeout){var d=u.current[e];d&&clearTimeout(d),u.current[e]=setTimeout((function(){delete u.current[e],M(e,r,n,t,o,i,u,a,l,f)}),r.debounceTimeout)}else M(e,r,n,t,o,i,u,a,l,f);else _(e)}}function N(e,r,n,t){var o=e.action,i=e.stateRef,u=e.derivedStateRef,a=e.propsRef,l=e.promisesRef,f=e.actionsRef,s=e.loadingMapRef,d=e.conflictActionsRef,v=e.actionName,p=e.options,y=e.setState;if(e.initializedRef.current){var h=null,E=O(i,u,a,t,n,r);o.effects&&(h=k(i,o.effects(E))),y(h,g(s.current,v,r,!1),v,"effects",!0,E,!1);var m=p.notifySuccess||c.notifySuccess;if(m){var P=void 0;o.getSuccessMessage&&(P=o.getSuccessMessage(E)),P&&m(P)}return delete l.current[v][r],o.sideEffects&&o.sideEffects(C(E,i,u,f,c.notifyWarning)),z(v,f.current,d.current),n}}function I(e,r,n,t){var o=e.action,i=e.stateRef,u=e.derivedStateRef,a=e.propsRef,l=e.actionsRef,f=e.loadingMapRef,s=e.errorMapRef,d=e.promisesRef,v=e.conflictActionsRef,p=e.actionName,h=e.options,E=e.setState;if(e.initializedRef.current){var m=null,P=function(e,r,n,t,o,i){var c=R(e,r,n,t,i);return c.error=o,c.err=o,c}(i,u,a,t,n,r);o.errorEffects&&(m=k(i,o.errorEffects(P))),s.current=y(s.current,p,r,n),E(m,g(f.current,p,r,!1),p,"errorEffects",!0,P,!1);var w=!1;(null!=m||o.errorSideEffects||o.isErrorManaged)&&(w=!0);var S=h.notifyError||c.notifyError;if(S){var b=void 0;o.getErrorMessage&&(b=o.getErrorMessage(P)),void 0===b&&!w&&c.getErrorMessage&&(b=c.getErrorMessage(n)),b&&(w=!0,S(b))}return c.asyncErrorHandler(n,w||o.rejectPromiseOnError,i.current,a.current,p,t),delete d.current[p][r],o.errorSideEffects&&o.errorSideEffects(C(P,i,u,l,c.notifyWarning)),z(p,l.current,v.current),!w||o.rejectPromiseOnError?Promise.reject(n):Promise.resolve()}}function D(e){var t=e.action,o=e.stateRef,u=e.derivedStateRef,a=e.propsRef,l=e.actionsRef,f=e.promisesRef,s=e.loadingMapRef,d=e.errorMapRef,v=e.initializedRef,p=e.conflictActionsRef,h=e.actionName,E=e.setState;return function(){for(var P,w,S,b=[],O=0;O<arguments.length;O++)b[O]=arguments[O];if(!v.current)return _(h),null;var j=f.current,L=t.conflictPolicy,C=void 0===L?r.KEEP_ALL:L,T=C===r.PARALLEL,M=null;if(T){if(!t.getPromiseId)throw new Error("If conflict policy is set to ConflictPolicy.PARALLEL, getPromiseId must be set and return a string.");M=t.getPromiseId.apply(t,b)}else M=K;if(!T&&(null===(w=j[h])||void 0===w?void 0:w[M]))return U(j,p.current,h,C,b);var x=null,D=!1,G=R(o,u,a,b,M);t.preEffects&&(x=k(o,t.preEffects(G)))&&(D=!0,o.current=x);var W=t.abortable,z=t.retryCount,F=t.retryDelaySeed,J=t.isTriggerRetryError,H=W&&window.AbortController?new AbortController:null,V=m(t.getPromise,z?1+z:1,F,J||c.retryOnErrorFunction),q=null===(S=V(A(o,u,a,b,l,null==H?void 0:H.signal)))||void 0===S?void 0:S.then((function(r){return N(e,M,r,b)})).catch((function(r){return I(e,M,r,b)}));return null!=q&&(j[h]=n(n({},j[h]||{}),((P={})[M||K]={abortController:H,promise:q,refArgs:C===r.REUSE&&b.length>0?i([],b,!0):[]},P))),d.current=y(d.current,h,M,null),E(null!=q||D?o.current:void 0,null==q?void 0:g(s.current,h,M,!0),h,"preEffects",!0,G,!1),q}}function G(e){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];return r.some((function(r){var n,t=null,o=K;Array.isArray(r)?(t=r[0],o=void 0===(n=r[1])?K:n):t=r;var i=e[t];return null!=i&&(null!=i[o]&&i[o])}))}var K="__def__";function W(e,r){return e.length===r.length&&-1===e.findIndex((function(e,n){return r[n]!==e}))}function U(e,n,t,o,i){var c=o;if(c===r.REUSE){if(W(e[t][K].refArgs,i))return e[t][K].promise;c=r.KEEP_ALL}return new Promise((function(e,o){var u={resolve:e,reject:o,args:a(i),timestamp:Date.now()};switch(c){case r.IGNORE:e(void 0);break;case r.REJECT:o(new Error("An asynchronous action ".concat(t," is already ongoing.")));break;case r.KEEP_LAST:n[t]=[u];break;case r.KEEP_ALL:var l=n[t];l||(n[t]=l=[]),l.push(u);break;case r.PARALLEL:case r.REUSE:}}))}function z(e,r,n){var t=n[e];if(t&&t.length>0){var o=n[e].shift();if(o){var i=r[e].apply(r,o.args);null==i?z(e,r,n):i.then((function(t){null===t&&z(e,r,n),o.resolve(t)})).catch((function(e){return o.reject(e)}))}}}function F(e,r,n,t){if(null==(null==t?void 0:t.derivedState))return!1;var o=!1,i=c.comparator,u=n.current.deps,a=w(e,null,r),l=Object.keys(t.derivedState);return n.current.state=l.reduce((function(e,r){var c=!1,l=u[r],f=t.derivedState[r].getDeps(a);return c=null==l||null!=f.find((function(e,r){return l.length<r||!i(l[r],e)})),o=o||c,u[r]=f,e[r]=c?t.derivedState[r].get(a):n.current.state[r],e}),{}),o}function J(e,r,t,o,i,u,a,l){var f=null!=(null==u?void 0:u.derivedState);if(null!=u.onPropsChange){var s;s=Array.isArray(u.onPropsChange)?u.onPropsChange:[u.onPropsChange];var d=!1,v=P(e.current),p=[],g=c.comparator;s.forEach((function(n,i){var c,u=n.getDeps;if(u){var f=!1,s=[];if(l){if(!n.onMount)return;f=!0}else{var y=u(o),h=u(t.current);y.length!==h.length?(console.warn("options.onPropsChange.getDeps returned array must be stable (same length)"),f=!0):y.forEach((function(e,r){g(e,h[r])||(f=!0,s.push(r))}))}if(f){var E=b(v,r,t,s,i,l),m=k(e,null===(c=n.effects)||void 0===c?void 0:c.call(n,E));null!=m&&(d=!0,v.current=m,a(v.current,void 0,"onPropsChange","effects",!1,E,!0,l)),n.sideEffects&&p.push({index:i,indices:s,ctx:E})}}})),!d&&f&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0),p.length>0&&p.forEach((function(e){s[e.index].sideEffects(n(n({},j(L(e.ctx,i),v)),{indices:e.indices}))}))}else null!=(null==u?void 0:u.derivedState)&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0)}function H(e,r,n,t,o,i,c,u){if("onPropsChange"===o&&void 0===n)return{newState:null,newLoading:!1};if(e&&e.length>0){var a=e.reduce((function(e,r){var n=r.effects({isAsync:c,name:o,type:i,context:u},e.oldState,e.newState,t);return{newState:(null==n?void 0:n.state)||e.newState,oldState:(null==n?void 0:n.state)?e.newState:e.oldState,loading:null==(null==n?void 0:n.loading)?e.loading:n.loading}}),{oldState:r,newState:n,loading:t});return{newLoading:a.loading,newState:a.newState}}return{newState:n,newLoading:t}}export{K as DEFAULT_PROMISE_ID,h as ParallelActionError,L as addContextActions,j as addStateToContext,W as areSameArgs,E as buildErrorMap,w as buildInvocationContextBase,g as buildLoadingMap,S as buildOnMountInvocationContext,b as buildOnPropChangeEffects,p as computeAsyncActionInput,F as computeDerivedValues,P as createRef,D as decorateAsyncAction,T as decorateSimpleSyncAction,x as decorateSyncAction,c as globalConfig,l as isAsyncAction,d as isAsyncGetPromiseAction,v as isAsyncGetPromiseGetAction,G as isLoadingImpl,f as isSimpleSyncAction,s as isSyncAction,J as onPropChange,m as retryPromiseDecorator,H as runMiddlewares,u as setGlobalConfig,y as updateErrorMap};
1
+ var e=function(r,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])})(r,n)};var r,n=function(){return(n=Object.assign||function(e){for(var r,n=1,t=arguments.length;n<t;n++)for(var o in r=arguments[n])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e}).apply(this,arguments)};function t(e,r,n,t){return new(n||(n=Promise))((function(o,i){function c(e){try{a(t.next(e))}catch(e){i(e)}}function u(e){try{a(t.throw(e))}catch(e){i(e)}}function a(e){var r;e.done?o(e.value):(r=e.value,r instanceof n?r:new n((function(e){e(r)}))).then(c,u)}a((t=t.apply(e,r||[])).next())}))}function o(e,r){var n,t,o,i,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;c;)try{if(n=1,t&&(o=2&i[0]?t.return:i[0]?t.throw||((o=t.return)&&o.call(t),0):t.next)&&!(o=o.call(t,i[1])).done)return o;switch(t=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return c.label++,{value:i[1],done:!1};case 5:c.label++,t=i[1],i=[0];continue;case 7:i=c.ops.pop(),c.trys.pop();continue;default:if(!(o=c.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){c=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){c.label=i[1];break}if(6===i[0]&&c.label<o[1]){c.label=o[1],o=i;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(i);break}o[2]&&c.ops.pop(),c.trys.pop();continue}i=r.call(e,c)}catch(e){i=[6,e],t=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function i(e,r,n){if(n||2===arguments.length)for(var t,o=0,i=r.length;o<i;o++)!t&&o in r||(t||(t=Array.prototype.slice.call(r,0,o)),t[o]=r[o]);return e.concat(t||Array.prototype.slice.call(r))}!function(e){e.REJECT="reject",e.IGNORE="ignore",e.KEEP_LAST="keepLast",e.KEEP_ALL="keepAll",e.PARALLEL="parallel",e.REUSE="reuse"}(r||(r={}));var c={clone:function(e){return JSON.parse(JSON.stringify(e))},comparator:function(e,r){if(Object.is(e,r))return!0;if("object"!=typeof e||null===e||"object"!=typeof r||null===r)return!1;if(e instanceof Set||r instanceof Set)return!1;var n=Object.keys(e),t=Object.keys(r);if(n.length!==t.length)return!1;for(var o=0;o<n.length;o++)if(!Object.prototype.hasOwnProperty.call(r,n[o])||!Object.is(e[n[o]],r[n[o]]))return!1;return!0},asyncErrorHandler:function(){},retryOnErrorFunction:function(e){return e instanceof TypeError},notifySuccess:void 0,notifyError:void 0,notifyWarning:void 0,getErrorMessage:void 0,defaultMiddlewares:[]};function u(e){Object.keys(e).forEach((function(r){null!=e[r]&&(c[r]=e[r])}))}function a(e){try{return c.clone(e)}catch(e){var r="StateDecorator: Cannot clone object. Call setCloneFunction with another implementation like lodash/cloneDeep.";throw"development"===process.env.NODE_ENV&&(console.error(r),console.error(e.toString())),new Error(r)}}function l(e){return!(e instanceof Function)&&(e.hasOwnProperty("getPromise")||e.hasOwnProperty("getGetPromise"))}function f(e){return"function"==typeof e}function s(e){return"function"!=typeof e&&!e.hasOwnProperty("getPromise")&&!e.hasOwnProperty("getGetPromise")}function d(e){return"function"!=typeof e&&e.hasOwnProperty("getPromise")&&!e.hasOwnProperty("getGetPromise")}function v(e){return"function"!=typeof e&&!e.hasOwnProperty("getPromise")&&e.hasOwnProperty("getGetPromise")}function p(e){return v(e)?n(n({},e),{getPromise:e.getGetPromise,retryCount:3,conflictPolicy:r.REUSE}):e}function g(e,r,t,o){var i,c,u,a;return n(n({},e),o?((i={})[r]=n(n({},e[r]||{}),((c={})[t]=o,c)),i):((u={})[r]=n(n({},e[r]),((a={})[t]=!1,a)),u))}function y(e,r,t,o){var i,c,u,a;return n(n({},e),o?((i={})[r]=n(n({},e[r]||{}),((c={})[t]=o,c)),i):((u={})[r]=n(n({},e[r]),((a={})[t]=void 0,a)),u))}var h=function(r){function n(e){var t=r.call(this,"Error")||this;return t.promiseIds=e,Object.setPrototypeOf(t,n.prototype),t}return function(r,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function t(){this.constructor=r}e(r,n),r.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}(n,r),n}(Error);function E(e){return Object.keys(e).reduce((function(r,n){var t=e[n];if(null==t[W]);else if(t[W])r[n]=t[W];else{var o=Object.keys(t).reduce((function(e,r){return null!=t[r]&&(e.hasErr=!0,e.map[r]=t[r]),e}),{hasErr:!1,map:{}});o.hasErr&&(r[n]=new h(o.map))}return r}),{})}function m(e,r,n,i){return void 0===r&&(r=1),void 0===n&&(n=1e3),void 0===i&&(i=function(){return!0}),1===r?e:function(c){var u=e(c);return null===u?null:function u(a,l){return t(this,void 0,void 0,(function(){return o(this,(function(t){return null===l?[2,null]:[2,l.catch((function(t){return i(t)?a===r?Promise.reject(t):new Promise((function(r,t){setTimeout((function(){var n=e(c);u(a+1,n).then(r).catch(t)}),n*a)})):Promise.reject(t)}))]}))}))}(1,u)}}function P(e){return void 0===e&&(e=null),{current:e}}function w(e,r,n){var t,o;return{state:e.current,s:e.current,ds:null===(t=null==r?void 0:r.current)||void 0===t?void 0:t.state,derived:null===(o=null==r?void 0:r.current)||void 0===o?void 0:o.state,props:n.current,p:n.current}}function S(e,r,n,t){return C(w(e,r,n),t)}function b(e,r,t,o){return n(n({},w(e,r,t)),{abortedActions:o})}function R(e,r,n,t,o,i){var c=w(e,r,n);return c.indices=t,c.index=o,c.isInit=i,c}function O(e,r,n,t,o){var i=w(e,r,n);return i.args=t,o&&(i.promiseId=o),i}function A(e,r,n,t,o,i){var c=O(e,r,n,t,i);return c.result=o,c.res=o,c}function j(e,r,n,t,o,i,c){var u=C(O(e,r,n,t,c),o);return u.abortSignal=i,u}function L(e,r){var n=e;return n.state=r.current,n.s=r.current,n}function C(e,r){var n=e;return n.actions=r.current,n.a=r.current,n}function _(e,r,n,t,o,i){var c,u=C(e,t);L(e,r);var a=null===(c=null==n?void 0:n.current)||void 0===c?void 0:c.state;return u.derived=a,u.ds=a,u.notifyWarning=o,u.clearError=i,u}function k(e){"development"===process.env.NODE_ENV&&console.warn("[state-decorator] ".concat(e.toString()," action was called while store is not initialized or destroyed, this is probably a leak"))}function M(e,r){return null==r?null:n(n({},e.current),r)}function T(e,r,n,t,o,i,c){return function(){for(var u=[],a=0;a<arguments.length;a++)u[a]=arguments[a];if(i.current){var l=O(n,t,o,u),f=M(n,r(l));c(f,null,e,"effects",!1,l,!1)}else k(e)}}function x(e,r,n,t,o,i,c,u,a,l,f){var s,d=A(n,t,o,f,void 0),v=!1;if(null!=r.effects){var p=M(n,r.effects(d));null===p?v=!0:a(p,void 0,e,"effects",!1,d,!1)}if(!v)if(r.debounceSideEffectsTimeout>0){var g=c.current[e];g&&clearTimeout(g),c.current[e]=setTimeout((function(){var o;null===(o=r.sideEffects)||void 0===o||o.call(r,_(d,n,t,i,u.notifyWarning,l)),delete c.current[e]}),r.debounceSideEffectsTimeout)}else null===(s=r.sideEffects)||void 0===s||s.call(r,_(d,n,t,i,u.notifyWarning,l))}function N(e,r,n,t,o,i,c,u,a,l,f){return function(){for(var s=[],d=0;d<arguments.length;d++)s[d]=arguments[d];if(c.current)if(r.debounceTimeout){var v=u.current[e];v&&clearTimeout(v),u.current[e]=setTimeout((function(){delete u.current[e],x(e,r,n,t,o,i,u,a,l,f,s)}),r.debounceTimeout)}else x(e,r,n,t,o,i,u,a,l,f,s);else k(e)}}function D(e,r,n,t){var o=e.action,i=e.stateRef,u=e.derivedStateRef,a=e.propsRef,l=e.promisesRef,f=e.actionsRef,s=e.loadingMapRef,d=e.conflictActionsRef,v=e.actionName,p=e.options,y=e.setState,h=e.clearError;if(e.initializedRef.current){var E=null,m=A(i,u,a,t,n,r);o.effects&&(E=M(i,o.effects(m))),y(E,g(s.current,v,r,!1),v,"effects",!0,m,!1);var P=p.notifySuccess||c.notifySuccess;if(P){var w=void 0;o.getSuccessMessage&&(w=o.getSuccessMessage(m)),w&&P(w)}return delete l.current[v][r],o.sideEffects&&o.sideEffects(_(m,i,u,f,c.notifyWarning,h)),F(v,f.current,d.current),n}}function I(e,r,n,t){var o=e.action,i=e.stateRef,u=e.derivedStateRef,a=e.propsRef,l=e.actionsRef,f=e.loadingMapRef,s=e.errorMapRef,d=e.promisesRef,v=e.conflictActionsRef,p=e.actionName,h=e.options,E=e.clearError,m=e.setState;if(e.initializedRef.current){var P=null,w=function(e,r,n,t,o,i){var c=O(e,r,n,t,i);return c.error=o,c.err=o,c}(i,u,a,t,n,r);o.errorEffects&&(P=M(i,o.errorEffects(w))),s.current=y(s.current,p,r,n),m(P,g(f.current,p,r,!1),p,"errorEffects",!0,w,!1);var S=!1;(null!=P||o.errorSideEffects||o.isErrorManaged||h.isErrorManaged)&&(S=!0);var b=h.notifyError||c.notifyError;if(b){var R=void 0;o.getErrorMessage&&(R=o.getErrorMessage(w)),void 0===R&&!S&&c.getErrorMessage&&(R=c.getErrorMessage(n)),R&&(S=!0,b(R))}return c.asyncErrorHandler(n,S||o.rejectPromiseOnError,i.current,a.current,p,t),delete d.current[p][r],o.errorSideEffects&&o.errorSideEffects(_(w,i,u,l,c.notifyWarning,E)),F(p,l.current,v.current),!S||o.rejectPromiseOnError?Promise.reject(n):Promise.resolve()}}function G(e){var t=e.action,o=e.stateRef,u=e.derivedStateRef,a=e.propsRef,l=e.actionsRef,f=e.promisesRef,s=e.loadingMapRef,d=e.errorMapRef,v=e.initializedRef,p=e.conflictActionsRef,h=e.actionName,E=e.setState;return function(){for(var P,w,S,b=[],R=0;R<arguments.length;R++)b[R]=arguments[R];if(!v.current)return k(h),null;var A=f.current,L=t.conflictPolicy,C=void 0===L?r.KEEP_ALL:L,_=C===r.PARALLEL,T=null;if(_){if(!t.getPromiseId)throw new Error("If conflict policy is set to ConflictPolicy.PARALLEL, getPromiseId must be set and return a string.");T=t.getPromiseId.apply(t,b)}else T=W;if(!_&&(null===(w=A[h])||void 0===w?void 0:w[T]))return z(A,p.current,h,C,b);var x=null,N=!1,G=O(o,u,a,b,T);t.preEffects&&(x=M(o,t.preEffects(G)))&&(N=!0,o.current=x);var K=t.abortable,U=t.retryCount,F=t.retryDelaySeed,J=t.isTriggerRetryError,H=K&&window.AbortController?new AbortController:null,V=m(t.getPromise,U?1+U:1,F,J||c.retryOnErrorFunction),q=null===(S=V(j(o,u,a,b,l,null==H?void 0:H.signal)))||void 0===S?void 0:S.then((function(r){return D(e,T,r,b)})).catch((function(r){return I(e,T,r,b)}));return null!=q&&(A[h]=n(n({},A[h]||{}),((P={})[T||W]={abortController:H,promise:q,refArgs:C===r.REUSE&&b.length>0?i([],b,!0):[]},P))),d.current=y(d.current,h,T,null),E(null!=q||N?o.current:void 0,null==q?void 0:g(s.current,h,T,!0),h,"preEffects",!0,G,!1),q}}function K(e){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];return r.some((function(r){var n,t=null,o=W;Array.isArray(r)?(t=r[0],o=void 0===(n=r[1])?W:n):t=r;var i=e[t];return null!=i&&(null!=i[o]&&i[o])}))}var W="__def__";function U(e,r){return e.length===r.length&&-1===e.findIndex((function(e,n){return r[n]!==e}))}function z(e,n,t,o,i){var c=o;if(c===r.REUSE){if(U(e[t][W].refArgs,i))return e[t][W].promise;c=r.KEEP_ALL}return new Promise((function(e,o){var u={resolve:e,reject:o,args:a(i),timestamp:Date.now()};switch(c){case r.IGNORE:e(void 0);break;case r.REJECT:o(new Error("An asynchronous action ".concat(t.toString()," is already ongoing.")));break;case r.KEEP_LAST:n[t]=[u];break;case r.KEEP_ALL:var l=n[t];l||(n[t]=l=[]),l.push(u);break;case r.PARALLEL:case r.REUSE:}}))}function F(e,r,n){var t=n[e];if(t&&t.length>0){var o=n[e].shift();if(o){var i=r[e].apply(r,o.args);null==i?F(e,r,n):i.then((function(t){null===t&&F(e,r,n),o.resolve(t)})).catch((function(e){return o.reject(e)}))}}}function J(e,r,n,t){if(null==(null==t?void 0:t.derivedState))return!1;var o=!1,i=c.comparator,u=n.current.deps,a=w(e,null,r),l=Object.keys(t.derivedState);return n.current.state=l.reduce((function(e,r){var c=!1,l=u[r],f=t.derivedState[r].getDeps(a);return c=null==l||null!=f.find((function(e,r){return l.length<r||!i(l[r],e)})),o=o||c,u[r]=f,e[r]=c?t.derivedState[r].get(a):n.current.state[r],e}),{}),o}function H(e,r,t,o,i,u,a,l,f){var s=null!=(null==u?void 0:u.derivedState);if(null!=u.onPropsChange){var d;d=Array.isArray(u.onPropsChange)?u.onPropsChange:[u.onPropsChange];var v=!1,p=P(e.current),g=[],y=c.comparator;d.forEach((function(n,i){var c,u=n.getDeps;if(u){var s=!1,d=[];if(l){if(!(!f&&n.onMount||f&&n.onMountDeferred))return;s=!0}else{var h=u(o),E=u(t.current);h.length!==E.length?(console.warn("options.onPropsChange.getDeps returned array must be stable (same length)"),s=!0):h.forEach((function(e,r){y(e,E[r])||(s=!0,d.push(r))}))}if(s){var m=R(p,r,t,d,i,l),P=M(e,null===(c=n.effects)||void 0===c?void 0:c.call(n,m));null!=P&&(v=!0,p.current=P,a(p.current,void 0,"onPropsChange","effects",!1,m,!0,l)),n.sideEffects&&g.push({index:i,indices:d,ctx:m})}}})),!v&&s&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0),g.length>0&&g.forEach((function(e){d[e.index].sideEffects(n(n({},L(C(e.ctx,i),p)),{indices:e.indices}))}))}else null!=(null==u?void 0:u.derivedState)&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0)}function V(e,r,n,t,o,i,c,u){if("onPropsChange"===o&&void 0===n)return{newState:null,newLoading:!1};if(e&&e.length>0){var a=e.reduce((function(e,r){var n=r.effects({isAsync:c,name:o,type:i,context:u},e.oldState,e.newState,t);return{newState:(null==n?void 0:n.state)||e.newState,oldState:(null==n?void 0:n.state)?e.newState:e.oldState,loading:null==(null==n?void 0:n.loading)?e.loading:n.loading}}),{oldState:r,newState:n,loading:t});return{newLoading:a.loading,newState:a.newState}}return{newState:n,newLoading:t}}export{W as DEFAULT_PROMISE_ID,h as ParallelActionError,C as addContextActions,L as addStateToContext,U as areSameArgs,E as buildErrorMap,w as buildInvocationContextBase,g as buildLoadingMap,S as buildOnMountInvocationContext,R as buildOnPropChangeEffects,b as buildOnUnMountInvocationContext,p as computeAsyncActionInput,J as computeDerivedValues,P as createRef,G as decorateAsyncAction,T as decorateSimpleSyncAction,N as decorateSyncAction,c as globalConfig,l as isAsyncAction,d as isAsyncGetPromiseAction,v as isAsyncGetPromiseGetAction,K as isLoadingImpl,f as isSimpleSyncAction,s as isSyncAction,H as onPropChange,m as retryPromiseDecorator,V as runMiddlewares,u as setGlobalConfig,y as updateErrorMap};
2
2
  //# sourceMappingURL=impl.js.map
package/es/index.d.ts CHANGED
@@ -14,8 +14,8 @@ PERFORMANCE OF THIS SOFTWARE.
14
14
  ***************************************************************************** */
15
15
  import { Context } from 'react';
16
16
  import { setGlobalConfig, GlobalConfig, ParallelActionError } from './impl';
17
- import { DecoratedActions, StoreActions, AsyncAction, SyncAction, SimpleSyncAction, LoadingMap, ErrorMap, LoadingParallelMap, ErrorParallelMap, StoreOptions, AsyncActionPromise, InvocationContext, GetPromiseInvocationContext, EffectsInvocationContext, InvocationContextActions, WarningNotifyFunc, ErrorEffectsInvocationContext, OnMountInvocationContext, ContextBase, OnPropsChangeEffectsContext, ContextState, ConflictPolicy, Middleware, AbortActionCallback, MiddlewareFactory, LoadingProps } from './types';
18
- export { DecoratedActions, StoreActions, LoadingMap, ErrorMap, LoadingParallelMap, ErrorParallelMap, ParallelActionError, StoreOptions, AsyncActionPromise as AsynchActionPromise, InvocationContext, GetPromiseInvocationContext, EffectsInvocationContext, InvocationContextActions, WarningNotifyFunc, ErrorEffectsInvocationContext, OnMountInvocationContext, ContextBase, OnPropsChangeEffectsContext, SyncAction, AsyncAction, SimpleSyncAction, ContextState, ConflictPolicy, GlobalConfig, Middleware, setGlobalConfig, LoadingProps, AbortActionCallback, };
17
+ import { DecoratedActions, StoreActions, AsyncAction, SyncAction, SimpleSyncAction, LoadingMap, ErrorMap, LoadingParallelMap, ErrorParallelMap, StoreOptions, AsyncActionPromise, InvocationContext, GetPromiseInvocationContext, EffectsInvocationContext, InvocationContextActions, WarningNotifyFunc, ErrorEffectsInvocationContext, OnMountInvocationContext, ContextBase, OnPropsChangeEffectsContext, ContextState, ConflictPolicy, Middleware, AbortActionCallback, MiddlewareFactory, LoadingProps, ErrorProps, LoadingMapProps, StoreConfig, ClearErrorFunc } from './types';
18
+ export { DecoratedActions, StoreActions, LoadingMap, ErrorMap, LoadingParallelMap, ErrorParallelMap, ParallelActionError, StoreOptions, AsyncActionPromise as AsynchActionPromise, InvocationContext, GetPromiseInvocationContext, EffectsInvocationContext, InvocationContextActions, WarningNotifyFunc, ErrorEffectsInvocationContext, OnMountInvocationContext, ContextBase, OnPropsChangeEffectsContext, SyncAction, AsyncAction, SimpleSyncAction, ContextState, ConflictPolicy, GlobalConfig, Middleware, setGlobalConfig, LoadingProps, AbortActionCallback, ErrorProps, LoadingMapProps, StoreConfig, };
19
19
  export declare type IsLoadingFunc<A> = (...props: (keyof A | [keyof A, string])[]) => boolean;
20
20
  declare type StateListenerUnregister = () => void;
21
21
  export declare type StoreApi<S, A extends DecoratedActions, P, DS = {}> = {
@@ -71,22 +71,25 @@ export declare type StoreApi<S, A extends DecoratedActions, P, DS = {}> = {
71
71
  * 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.
72
72
  */
73
73
  isLoading: IsLoadingFunc<A>;
74
+ clearError: ClearErrorFunc<A>;
74
75
  getConfig: () => {
75
- getInitialState: (p: P) => S;
76
- options: StoreOptions<S, A, P, DS>;
76
+ getInitialState: S | ((p: P) => S);
77
77
  actions: StoreActions<S, A, P, DS>;
78
- };
78
+ } & StoreOptions<S, A, P, DS>;
79
+ /**
80
+ * Invoke onMountDeferred + onPropChange flagged onMountDeferred
81
+ * @internal
82
+ */
83
+ invokeOnMountDeferred: () => void;
79
84
  };
80
85
  export declare type StateListenerContext<S, DS, A extends DecoratedActions> = S & DS & A & Pick<StoreApi<S, A, any, DS>, 'loading' | 'loadingMap' | 'errorMap' | 'isLoading' | 'abortAction'>;
81
86
  export declare type StateListener<S, DS, A extends DecoratedActions> = (ctx: StateListenerContext<S, DS, A>) => void;
82
87
  /**
83
88
  * Create a new store.
84
- * @param getInitialState The state initialization function (using props)
85
- * @param actionsImpl The actions implementation (pure functions only).
86
- * @param options Options to configure the store
89
+ * @param config Store configuration
87
90
  * @returns a store.
88
91
  */
89
- export declare function createStore<S, A extends DecoratedActions, P, DS = {}>(getInitialState: (p: P) => S, actionsImpl: StoreActions<S, A, P, DS>, options?: StoreOptions<S, A, P, DS>, storeMiddlewares?: MiddlewareFactory<S, A, P>[]): StoreApi<S, A, P, DS>;
92
+ export declare function createStore<S, A extends DecoratedActions, P, DS = {}>(config: StoreConfig<S, A, P, DS>): StoreApi<S, A, P, DS>;
90
93
  /**
91
94
  * A react hook to get a state slice. Will be refresh if, and only if, one property of the slice has changed
92
95
  * @param store The store to listen to.
@@ -147,7 +150,20 @@ export declare function useStore<S, A extends DecoratedActions, P, DS = {}>(stor
147
150
  * @param refreshOnUpdate Whether refresh the component if store state changes.
148
151
  * @returns The state, actions and isLoading function.
149
152
  */
150
- export declare function useLocalStore<S, A extends DecoratedActions, P, DS = {}>(getInitialState: (p: P) => S, actionImpl: StoreActions<S, A, P, DS>, props?: P, options?: StoreOptions<S, A, P, DS>, middlewares?: MiddlewareFactory<S, A, P>[], refreshOnUpdate?: boolean): StoreApi<S, A, P, DS>;
153
+ export declare function useLocalStoreV6<S, A extends DecoratedActions, P, DS = {}>(getInitialState: (p: P) => S, actionImpl: StoreActions<S, A, P, DS>, props?: P, options?: StoreOptions<S, A, P, DS>, middlewares?: MiddlewareFactory<S, A, P>[], refreshOnUpdate?: boolean): StoreApi<S, A, P, DS>;
154
+ /**
155
+ * Creates and manages a local store.
156
+ * The component will be refreshed for every change in the store.
157
+ * Store will NOT be destroyed when component is unmouted.
158
+ *
159
+ * @param getInitialState Function to compute initial state from props.
160
+ * @param actionImpl Actions implementation.
161
+ * @param props Owner component props to update state or react on prop changes
162
+ * @param options The store options.
163
+ * @param refreshOnUpdate Whether refresh the component if store state changes.
164
+ * @returns The state, actions and isLoading function.
165
+ */
166
+ export declare function useLocalStore<S, A extends DecoratedActions, P, DS = {}>(config: StoreConfig<S, A, P, DS>, props?: P, refreshOnUpdate?: boolean): StoreApi<S, A, P, DS>;
151
167
  export default useLocalStore;
152
168
  /**
153
169
  * Creates a new object by picking properties to the object passed a first parameter
package/es/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{useReducer as r,useMemo as n,useRef as t,useLayoutEffect as e,useContext as u,useEffect as c}from"react";import{createRef as o,isSimpleSyncAction as i,decorateSimpleSyncAction as l,isAsyncAction as a,decorateAsyncAction as f,computeAsyncActionInput as d,isSyncAction as s,decorateSyncAction as v,globalConfig as p,onPropChange as g,DEFAULT_PROMISE_ID as y,computeDerivedValues as b,buildOnMountInvocationContext as h,isLoadingImpl as E,runMiddlewares as M,buildLoadingMap as L,buildErrorMap as O}from"./impl";export{ParallelActionError,setGlobalConfig}from"./impl";var m,j=function(){return(j=Object.assign||function(r){for(var n,t=1,e=arguments.length;t<e;t++)for(var u in n=arguments[t])Object.prototype.hasOwnProperty.call(n,u)&&(r[u]=n[u]);return r}).apply(this,arguments)};function k(r,n,t){if(t||2===arguments.length)for(var e,u=0,c=n.length;u<c;u++)!e&&u in n||(e||(e=Array.prototype.slice.call(n,0,u)),e[u]=n[u]);return r.concat(e||Array.prototype.slice.call(n))}function A(r,n,t,e){void 0===t&&(t={}),void 0===e&&(e=null);var u=o(),c=o(),m=o(),A=o(),R=o(),S=o(),P=o(),w=o(),C=o(),I=o(!1),x=o([]),T={},G=0;function K(r,n){var t=j(j({},r),n),e=j(j(j({},t),A.current),{isLoading:F,abortAction:J,loading:q(),loadingMap:B(),errorMap:D()});Object.keys(T).forEach((function(r){T[r](e)}))}function N(r){u.current=r,b(u,m,c,t),K(u.current,c.current.state)}function U(o){var i;if(!I.current){m.current=o,I.current=!0,u.current=r(o);var l=new Set(null==t?void 0:t.initialActionsMarkedLoading);S.current=Object.keys(n).reduce((function(r,n){var t;return r[n]=l.has(n)?((t={})[y]=!0,t):{},r}),{}),P.current=Object.keys(n).reduce((function(r,n){return r[n]={},r}),{}),R.current={},w.current={},C.current={},c.current={state:null,deps:{}},x.current=[];var a={options:t,get state(){return u.current},actions:n,setState:N},f=function(r){var n,t=r();x.current.push(t),null===(n=t.init)||void 0===n||n.call(t,a)};null===(i=p.defaultMiddlewares)||void 0===i||i.forEach(f),null==e||e.forEach(f),b(u,m,c,t),g(u,c,m,null,A,t,_,!0),(null==t?void 0:t.onMount)&&t.onMount(h(u,c,m,A)),K(u.current,c.current.state)}}function _(r,n,e,o,i,l,a,f){void 0===a&&(a=!1),void 0===f&&(f=!1);var d=!1;if(I.current){var s=n,v=!!i&&E(s||S.current,[e,null==l?void 0:l.promiseId]),p=M(x.current,u.current,r,v,e,o,i,l),g=p.newState,h=p.newLoading;if(null!=g&&(d=!0,u.current=g),v!==h&&(s=L(s,e,(null==l?void 0:l.promiseId)||y,h),0===Object.keys(s).length&&(s=void 0)),null!=s&&(d=!0,S.current=s),d)b(u,m,c,t),f||K(g||u.current,c.current.state);else if(a){b(u,m,c,t)&&!f&&K(g||u.current,c.current.state)}}}var z=Object.keys(n);function F(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return E.apply(void 0,k([S.current],r,!1))}function J(r,n){var t,e;void 0===n&&(n=y);var u=null===(e=null===(t=w.current[r])||void 0===t?void 0:t[n])||void 0===e?void 0:e.abortController,c=!1;return u&&(u.abort(),c=!0),c}function q(){if(I.current){var r=S.current;return null!=Object.keys(r).find((function(n){var t=r[n];return Object.keys(t).find((function(r){return!!t[r]}))}))}return null}function B(){if(I.current){var r=S.current;return Object.keys(r).reduce((function(n,t){var e=r[t];return n[t]=null!=Object.keys(e).find((function(r){return!!e[r]})),n}),{})}return null}function D(){return I.current?O(P.current):null}return A.current=z.reduce((function(r,e){var o=n[e];return i(o)?r[e]=l(e,o,u,c,m,I,_):a(o)?r[e]=f({actionName:e,stateRef:u,derivedStateRef:c,propsRef:m,loadingMapRef:S,errorMapRef:P,actionsRef:A,promisesRef:w,conflictActionsRef:C,initializedRef:I,options:t,setState:_,action:d(o)}):s(o)&&(r[e]=v(e,o,u,c,m,A,I,R,t,_)),r}),{}),{getConfig:function(){return{getInitialState:r,options:t,actions:n}},setProps:function(r){var n=m.current;m.current=r,I.current?g(u,c,m,n,A,t,_,!1):U(r)},addStateListener:function(r){var n="".concat(G++);return T[n]=r,function(){delete T[n]}},init:U,destroy:function(){var r;I.current&&(null===(r=null==t?void 0:t.onUnmount)||void 0===r||r.call(t,h(u,c,m,A)),m.current=null,u.current=null,S.current=null,P.current=null,w.current=null,C.current=null,c.current=null,Object.keys(R.current).forEach((function(r){clearTimeout(R.current[r])})),R.current=null,T={},I.current=!1,x.current.forEach((function(r){var n;null===(n=r.destroy)||void 0===n||n.call(r)})),x.current=[])},isLoading:F,abortAction:J,get actions(){return A.current},get state(){return I.current?j(j({},u.current),c.current.state):null},get loading(){return q()},get loadingMap(){return B()},get errorMap(){return D()},get loadingParallelMap(){return I.current?S.current:null},get errorParallelMap(){return I.current?P.current:null}}}function R(u,c,o){var i=r((function(r){return r>100?0:r+1}),0)[1],l=n((function(){return c instanceof Function?c:function(r){return C(r,c)}}),[c]),a=n((function(){return function(r){return null!=o&&o.length>0?C(r.loadingMap,o):null}}),[o]),f=t(null),d=t(null);if(null===f.current){var s=j(j(j({},u.state),u.actions),C(u,["actions","loading","isLoading","abortAction","loadingMap","errorMap"]));f.current=l(s),d.current=a(s)}e((function(){return u.addStateListener((function(r){var n,t=l(r),e=a(r),u=f.current,c=p.comparator;n=null==u||!c(t,u)||!c(e,d.current),f.current=t,d.current=e,n&&i()}))}),[]);var v=f.current,g=d.current;return null==g?v:j(j({},v),{loadingMap:g})}function S(r,n,t){return R(u(r),n,t)}function P(n,u,c){void 0===u&&(u=null),void 0===c&&(c=!0);var o=r((function(r){return r>100?0:r+1}),0)[1],i=t(n);return n.setProps(u),e((function(){c&&i.current.addStateListener((function(){o()}))}),[c]),n}function w(r,n,e,u,o,i){void 0===i&&(i=!0);var l=t();return null==l.current&&(l.current=A(r,n,u,o)),c((function(){return function(){var r;null===(r=l.current)||void 0===r||r.destroy()}}),[]),P(l.current,e,i)}function C(r,n){return n.reduce((function(n,t){return r.hasOwnProperty(t)&&(n[t]=r[t]),n}),{})}function I(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return function(n){return C(n,r)}}!function(r){r.REJECT="reject",r.IGNORE="ignore",r.KEEP_LAST="keepLast",r.KEEP_ALL="keepAll",r.PARALLEL="parallel",r.REUSE="reuse"}(m||(m={}));export default w;export{m as ConflictPolicy,A as createStore,C as pick,I as slice,w as useLocalStore,P as useStore,S as useStoreContextSlice,R as useStoreSlice};
1
+ import{useReducer as r,useMemo as n,useRef as t,useLayoutEffect as e,useContext as u,useEffect as o}from"react";import{createRef as c,isSimpleSyncAction as i,decorateSimpleSyncAction as l,isAsyncAction as a,decorateAsyncAction as f,computeAsyncActionInput as d,isSyncAction as s,decorateSyncAction as v,globalConfig as p,onPropChange as g,DEFAULT_PROMISE_ID as y,computeDerivedValues as b,buildOnMountInvocationContext as O,buildOnUnMountInvocationContext as h,isLoadingImpl as m,runMiddlewares as M,buildLoadingMap as j,buildErrorMap as E}from"./impl";export{ParallelActionError,setGlobalConfig}from"./impl";var k,L=function(){return(L=Object.assign||function(r){for(var n,t=1,e=arguments.length;t<e;t++)for(var u in n=arguments[t])Object.prototype.hasOwnProperty.call(n,u)&&(r[u]=n[u]);return r}).apply(this,arguments)};function S(r,n,t){if(t||2===arguments.length)for(var e,u=0,o=n.length;u<o;u++)!e&&u in n||(e||(e=Array.prototype.slice.call(n,0,u)),e[u]=n[u]);return r.concat(e||Array.prototype.slice.call(n))}function A(r){var n=c(),t=c(),e=c(),u=c(),o=c(),k=c(),A=c(),P=c(),R=c(),w=c(!1),I=c([]),x=r.getInitialState,C=r.actions,D=r.middlewares,T=void 0===D?[]:D,G=function(r,n){var t={};for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&n.indexOf(e)<0&&(t[e]=r[e]);if(null!=r&&"function"==typeof Object.getOwnPropertySymbols){var u=0;for(e=Object.getOwnPropertySymbols(r);u<e.length;u++)n.indexOf(e[u])<0&&Object.prototype.propertyIsEnumerable.call(r,e[u])&&(t[e[u]]=r[e[u]])}return t}(r,["getInitialState","actions","middlewares"]),K={},N=0;function U(r,n){var t=L(L({},r),n),e=L(L(L({},t),u.current),{isLoading:B,abortAction:H,loading:Q(),loadingMap:V(),errorMap:W()});Object.keys(K).forEach((function(r){K[r](e)}))}function _(r){n.current=r,b(n,e,t,G),U(n.current,t.current.state)}function z(r){var c;if(!w.current){e.current=r,w.current=!0,n.current="function"==typeof x?x(r):x;var i=new Set(null==G?void 0:G.initialActionsMarkedLoading);k.current=Object.keys(C).reduce((function(r,n){var t;return r[n]=i.has(n)?((t={})[y]=!0,t):{},r}),{}),A.current=Object.keys(C).reduce((function(r,n){return r[n]={},r}),{}),o.current={},P.current={},R.current={},t.current={state:null,deps:{}},I.current=[];var l={options:G,get state(){return n.current},actions:C,setState:_},a=function(r){var n,t=r();I.current.push(t),null===(n=t.init)||void 0===n||n.call(t,l)};null===(c=p.defaultMiddlewares)||void 0===c||c.forEach(a),null==T||T.forEach(a),b(n,e,t,G),g(n,t,e,null,u,G,J,!0,!1),(null==G?void 0:G.onMount)&&G.onMount(O(n,t,e,u)),U(n.current,t.current.state)}}function F(r,e){void 0===e&&(e=y);var u=A.current[r];(null==u?void 0:u[e])&&delete u[e],U(n.current,t.current.state)}function J(r,u,o,c,i,l,a,f){void 0===a&&(a=!1),void 0===f&&(f=!1);var d=!1;if(w.current){var s=u,v=!!i&&m(s||k.current,[o,null==l?void 0:l.promiseId]),p=M(I.current,n.current,r,v,o,c,i,l),g=p.newState,O=p.newLoading;if(null!=g&&(d=!0,n.current=g),v!==O&&(s=j(s,o,(null==l?void 0:l.promiseId)||y,O),0===Object.keys(s).length&&(s=void 0)),null!=s&&(d=!0,k.current=s),d)b(n,e,t,G),f||U(g||n.current,t.current.state);else if(a){b(n,e,t,G)&&!f&&U(g||n.current,t.current.state)}}}var q=Object.keys(C);function B(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return m.apply(void 0,S([k.current],r,!1))}function H(r,n){var t,e;void 0===n&&(n=y);var u=null===(e=null===(t=P.current[r])||void 0===t?void 0:t[n])||void 0===e?void 0:e.abortController,o=!1;return u&&(u.abort(),o=!0),o}function Q(){if(w.current){var r=k.current;return null!=Object.keys(r).find((function(n){var t=r[n];return Object.keys(t).find((function(r){return!!t[r]}))}))}return null}function V(){if(w.current){var r=k.current;return Object.keys(r).reduce((function(n,t){var e=r[t];return n[t]=null!=Object.keys(e).find((function(r){return!!e[r]})),n}),{})}return null}function W(){return w.current?E(A.current):null}return u.current=q.reduce((function(r,c){var p=C[c];return i(p)?r[c]=l(c,p,n,t,e,w,J):a(p)?r[c]=f({actionName:c,stateRef:n,derivedStateRef:t,propsRef:e,loadingMapRef:k,errorMapRef:A,actionsRef:u,promisesRef:P,conflictActionsRef:R,initializedRef:w,options:G,setState:J,clearError:F,action:d(p)}):s(p)&&(r[c]=v(c,p,n,t,e,u,w,o,G,J,F)),r}),{}),{getConfig:function(){return L({},r)},setProps:function(r){var o=e.current;e.current=r,w.current?g(n,t,e,o,u,G,J,!1,!1):z(r)},addStateListener:function(r){var n="".concat(N++);return K[n]=r,function(){delete K[n]}},init:z,destroy:function(){var r;if(w.current){var u=Object.keys(C).reduce((function(r,n){var t=C[n];if(a(t)&&t.abortable){var e=k.current[n],u=Object.keys(e).reduce((function(r,t){return e[t]&&(H(n,t),r.push(t)),r}),[]);u.length>0&&(r[n]=u)}return r}),{});null===(r=null==G?void 0:G.onUnmount)||void 0===r||r.call(G,h(n,t,e,u)),e.current=null,n.current=null,k.current=null,A.current=null,P.current=null,R.current=null,t.current=null,Object.keys(o.current).forEach((function(r){clearTimeout(o.current[r])})),o.current=null,K={},w.current=!1,I.current.forEach((function(r){var n;null===(n=r.destroy)||void 0===n||n.call(r)})),I.current=[]}},isLoading:B,abortAction:H,clearError:F,get actions(){return u.current},get state(){return w.current?L(L({},n.current),t.current.state):null},get loading(){return Q()},get loadingMap(){return V()},get errorMap(){return W()},get loadingParallelMap(){return w.current?k.current:null},get errorParallelMap(){return w.current?A.current:null},invokeOnMountDeferred:function(){g(n,t,e,null,u,G,J,!0,!0),(null==G?void 0:G.onMountDeferred)&&G.onMountDeferred(O(n,t,e,u))}}}function P(u,o,c){var i=r((function(r){return r>100?0:r+1}),0)[1],l=n((function(){return o instanceof Function?o:function(r){return C(r,o)}}),[o]),a=n((function(){return function(r){return null!=c&&c.length>0?C(r.loadingMap,c):null}}),[c]),f=t(null),d=t(null);if(null===f.current){var s=L(L(L({},u.state),u.actions),C(u,["actions","loading","isLoading","abortAction","loadingMap","errorMap"]));f.current=l(s),d.current=a(s)}e((function(){return u.addStateListener((function(r){var n,t=l(r),e=a(r),u=f.current,o=p.comparator;n=null==u||!o(t,u)||!o(e,d.current),f.current=t,d.current=e,n&&i()}))}),[]);var v=f.current,g=d.current;return null==g?v:L(L({},v),{loadingMap:g})}function R(r,n,t){return P(u(r),n,t)}function w(n,u,o){void 0===u&&(u=null),void 0===o&&(o=!0);var c=r((function(r){return r>100?0:r+1}),0)[1],i=t(n);return n.setProps(u),e((function(){o&&i.current.addStateListener((function(){c()}))}),[o]),n}function I(r,n,t,e,u,o){return void 0===o&&(o=!0),x(L(L({getInitialState:r,actions:n},e),{middlewares:u}),t,o)}function x(r,n,e){void 0===e&&(e=!0);var u=t();return null==u.current&&(u.current=A(r)),o((function(){return u.current.invokeOnMountDeferred(),function(){var r;null===(r=u.current)||void 0===r||r.destroy()}}),[]),w(u.current,n,e)}function C(r,n){return n.reduce((function(n,t){return r.hasOwnProperty(t)&&(n[t]=r[t]),n}),{})}function D(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return function(n){return C(n,r)}}!function(r){r.REJECT="reject",r.IGNORE="ignore",r.KEEP_LAST="keepLast",r.KEEP_ALL="keepAll",r.PARALLEL="parallel",r.REUSE="reuse"}(k||(k={}));export default x;export{k as ConflictPolicy,A as createStore,C as pick,D as slice,x as useLocalStore,I as useLocalStoreV6,w as useStore,R as useStoreContextSlice,P as useStoreSlice};
2
2
  //# sourceMappingURL=index.js.map
package/es/index.js.map CHANGED
@@ -1 +1 @@
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":"4jBA+BO,MAAIA,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"}
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","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable"],"mappings":"imBA+BO,MAAIA,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,gKAjI/C,SAAgBb,EAAGoB,GACtB,IAAIrB,EAAI,GACR,IAAK,IAAIM,KAAKL,EAAOH,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,IAAMe,EAAEC,QAAQhB,GAAK,IAC9EN,EAAEM,GAAKL,EAAEK,IACb,GAAS,MAALL,GAAqD,mBAAjCH,OAAOyB,sBACtB,CAAA,IAAIrB,EAAI,EAAb,IAAgBI,EAAIR,OAAOyB,sBAAsBtB,GAAIC,EAAII,EAAED,OAAQH,IAC3DmB,EAAEC,QAAQhB,EAAEJ,IAAM,GAAKJ,OAAOS,UAAUiB,qBAAqBf,KAAKR,EAAGK,EAAEJ,MACvEF,EAAEM,EAAEJ,IAAMD,EAAEK,EAAEJ,KAE1B,OAAOF"}
package/es/middlewares.js CHANGED
@@ -1,2 +1,2 @@
1
- import{isSimpleSyncAction as e,globalConfig as t}from"./impl";var n=function(){return(n=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)},o=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 l=i[r];if(!e(t[l],n[l]))return!1}return!0}return t!=t&&n!=n};function r(e){void 0===e&&(e=console.log);return 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}}}}function i(e){return void 0===e&&(e=console),function(){var t="",n=e;if("development"===process.env.NODE_ENV||"test"===process.env.NODE_ENV){var r=function(e,t){var n;if(t!==e){var r=null!=e?typeof e:typeof t;if("number"===r||"string"===r||"boolean"===r)n="".concat(e," => ").concat(""===t?'""':t);else if(e&&e.length||t&&t.length)if(null==e)n="was ".concat(e,", now contains ").concat(t.length," element(s)");else if(null==t)n="contained ".concat(e.length," element(s), now is ").concat(t);else if(0===e.length)n="was empty, now contains ".concat(t.length," elements");else if(0===t.length)n="contained ".concat(e.length," elements, now is empty");else{var i=t.filter((function(t){return!e.find((function(e){return o(t,e)}))})),l=e.filter((function(e){return!t.find((function(t){return o(e,t)}))}));i.length>10&&(i="".concat(i.length," element(s) added")),l.length>10&&(l="".concat(l.length," element(s) removed")),n={added:i,removed:l}}else n=t}return n},i=function(e){return"string"==typeof e?'"'.concat(e,'"'):e};return{init:function(o){var r,l;t=(null===(r=o.options)||void 0===r?void 0:r.name)?"[".concat(null===(l=o.options)||void 0===l?void 0:l.name,"]"):"";var c=o.state;e.group(t,"initialState"),Object.keys(c).forEach((function(e){n.log(e,":",i(c[e]))})),e.groupEnd()},destroy:null,effects:function(e,o,l,c){var s,f=null===(s=e.context)||void 0===s?void 0:s.args,a=[t,e.name.toString()];if(e.isAsync&&("preEffects"===e.type?a.push(c?"START":"CANCELLED"):"effects"===e.type?a.push("DONE"):a.push("FAILED")),null!=l||f&&0!==Object.keys(f).length?n.group.apply(n,a):n.log.apply(n,a),f&&Object.keys(f).length>0&&(n.group("Arguments"),f.forEach((function(e){n.log(e,":",i(e))})),n.groupEnd()),null!=l){if(n.groupCollapsed("Before"),null==o)n.log("was null");else Object.keys(o).forEach((function(e){n.log(e,":",i(o[e]))}));if(n.groupEnd(),n.groupCollapsed("After"),null==l)n.log("was null");else Object.keys(l).forEach((function(e){n.log(e,":",i(l[e]))}));if(n.groupEnd(),null!=l){n.group("Diff");var u=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],l=t[o],c=r(i,l);c&&(n[o]=c)}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}(o,l);Object.keys(u).forEach((function(e){return n.log(e,":",u[e])})),n.groupEnd()}}return n.groupEnd(),null}}}return{init:function(){},destroy:null,effects:function(){return null}}}}function l(o){return function(){var r=null,i={history:null,optimisticActions:{},shouldRecordHistory:!1},l=function(e){return(o||t.clone)(e)},c=function(e,t){return"".concat(e,"_").concat(t)};function s(e,t,n,o){void 0===o&&(o=null);var r=i.shouldRecordHistory,c=i.history;if(r){null===c&&(i.history=[]);var s=l(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?l(o):null};i.history.push(f)}}function f(e,t,n){void 0===n&&(n=void 0);var o=i.optimisticActions,r=i.history,l=c(e,t);if(delete o[l],0===Object.keys(o).length)i.history=null,i.shouldRecordHistory=!1;else{var s=void 0===n?r.findIndex((function(e){return c(e.actionName,e.promiseId)===l})):n;if(0===s){var f=r.slice(1).findIndex((function(e){return null!=e.beforeEffectState}))+1;r.splice(0,f)}else void 0===n&&(r[s].beforeEffectState=null)}}return{init:function(e){r=e},destroy:function(){r=null,i.history=null,i.optimisticActions={},i.shouldRecordHistory=!1},effects:function(t,o,l,a){var u=t.name,p=t.type,d=t.context,v=t.isAsync;if((null!=l&&e(r.actions[u])||"onPropsChange"===u||null!=r.actions[u][p])&&s(u,p,d,null),v){var y,g=r.actions[u];if(a&&null!=g.optimisticEffects&&"preEffects"===p)return i.shouldRecordHistory=!0,i.optimisticActions[c(u,d.promiseId)]=!0,s(u,"optimisticEffects",d,y=l||o),{loading:!1,state:n(n({},y),g.optimisticEffects(n(n({},d),{state:y,s:y})))};if(null!=g.optimisticEffects&&"effects"===p)return f(u,d.promiseId),{loading:a,state:l};if(null!=g.optimisticEffects&&"errorEffects"===p)return{state:y=function(t,o){for(var l=i.history,c=l.findIndex((function(e){return"optimisticEffects"===e.effectType&&e.actionName===t&&e.promiseId===o})),s=l[c].beforeEffectState,a=c+1;a<l.length;a++){var u=l[a];u.beforeEffectState&&(u.beforeEffectState=s);var p=n(n({},u.ctx),{state:s,s:s});if("onPropsChange"===u.actionName){var d=Array.isArray(r.options.onPropsChange)?r.options.onPropsChange:[r.options.onPropsChange];s=n(n({},s),d[p.index].effects(p))}else s=e(r.actions[u.actionName])?n(n({},s),r.actions[u.actionName](p)):n(n({},s),r.actions[u.actionName][u.effectType](p))}return f(t,o,c),s}(u,d.promiseId),loading:a}}return null}}}}function c(){return function(){var e,t,o;try{e=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__}catch(e){}return e?{init:function(n){var r,i;(t=e.connect({name:null!==(i=null===(r=n.options)||void 0===r?void 0:r.name)&&void 0!==i?i:"StateDecorator"})).init(n.state);var l=null,c=n.state;o=t.subscribe((function(e){var t,o,r,i;if("DISPATCH"===e.type&&e.state&&"ROLLBACK"!==(null===(t=e.payload)||void 0===t?void 0:t.type)){var s=JSON.parse(e.state);n.setState(s)}else"COMMIT"===(null===(o=e.payload)||void 0===o?void 0:o.type)?l=n.state:"ROLLBACK"===(null===(r=e.payload)||void 0===r?void 0:r.type)?null!=l&&n.setState(l):"RESET"===(null===(i=e.payload)||void 0===i?void 0:i.type)&&n.setState(c)}))},effects:function(e,o,r){if(null!=r){var i=n({},e.context);delete i.a,delete i.s,delete i.p,delete i.res,delete i.err,delete i.ds,t.send({type:"".concat(e.name," ").concat(e.type),args:i.args,context:i},r)}return null},destroy:function(){o(),t=null}}:{init:function(){},destroy:null,effects:function(){return null}}}}export{c as devtools,i as logDetailedEffects,r as logEffects,l as optimisticActions};
1
+ import{isSimpleSyncAction as t,globalConfig as e}from"./impl";var n=function(){return(n=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)},o=function t(e,n){if(e===n)return!0;if(e&&n&&"object"==typeof e&&"object"==typeof n){if(e.constructor!==n.constructor)return!1;var o,r,i;if(Array.isArray(e)){if((o=e.length)!=n.length)return!1;for(r=o;0!=r--;)if(!t(e[r],n[r]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if((o=(i=Object.keys(e)).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 l=i[r];if(!t(e[l],n[l]))return!1}return!0}return e!=e&&n!=n};function r(t){void 0===t&&(t=console.log);return function(){var e=t,n="";return{init:function(t){var o,r;if("development"===process.env.NODE_ENV||"test"===process.env.NODE_ENV){n=(null===(o=t.options)||void 0===o?void 0:o.name)?"[".concat(null===(r=t.options)||void 0===r?void 0:r.name,"]"):"";var i=t.state;e(n,"initialState",i)}},destroy:null,effects:function(t,o,r,i){return"development"!==process.env.NODE_ENV&&"test"!==process.env.NODE_ENV||e(n,t.name,t.type,null===r?"no effect":r,t.isAsync?"preEffects"!==t.type||i?"loading: ".concat(i):"Promise cancelled":""),null}}}}function i(t){return void 0===t&&(t=console),function(){var e="",n=t;if("development"===process.env.NODE_ENV||"test"===process.env.NODE_ENV){var r=function(t,e){var n;if(e!==t){var r=null!=t?typeof t:typeof e;if("number"===r||"string"===r||"boolean"===r)n="".concat(t," => ").concat(""===e?'""':e);else if(t&&t.length||e&&e.length)if(null==t)n="was ".concat(t,", now contains ").concat(e.length," element(s)");else if(null==e)n="contained ".concat(t.length," element(s), now is ").concat(e);else if(0===t.length)n="was empty, now contains ".concat(e.length," elements");else if(0===e.length)n="contained ".concat(t.length," elements, now is empty");else{var i=e.filter((function(e){return!t.find((function(t){return o(e,t)}))})),l=t.filter((function(t){return!e.find((function(e){return o(t,e)}))}));i.length>10&&(i="".concat(i.length," element(s) added")),l.length>10&&(l="".concat(l.length," element(s) removed")),n={added:i,removed:l}}else n=e}return n},i=function(t){return"string"==typeof t?'"'.concat(t,'"'):t};return{init:function(o){var r,l;e=(null===(r=o.options)||void 0===r?void 0:r.name)?"[".concat(null===(l=o.options)||void 0===l?void 0:l.name,"]"):"";var c=o.state;t.group(e,"initialState"),Object.keys(c).forEach((function(t){n.log(t,":",i(c[t]))})),t.groupEnd()},destroy:null,effects:function(t,o,l,c){var s,f=null===(s=t.context)||void 0===s?void 0:s.args,a=[e,t.name.toString()];if(t.isAsync&&("preEffects"===t.type?a.push(c?"START":"CANCELLED"):"effects"===t.type?a.push("DONE"):a.push("FAILED")),null!=l||f&&0!==Object.keys(f).length?n.group.apply(n,a):n.log.apply(n,a),f&&Object.keys(f).length>0&&(n.group("Arguments"),f.forEach((function(t){n.log(t,":",i(t))})),n.groupEnd()),null!=l){if(n.groupCollapsed("Before"),null==o)n.log("was null");else Object.keys(o).forEach((function(t){n.log(t,":",i(o[t]))}));if(n.groupEnd(),n.groupCollapsed("After"),null==l)n.log("was null");else Object.keys(l).forEach((function(t){n.log(t,":",i(l[t]))}));if(n.groupEnd(),null!=l){n.group("Diff");var u=function(t,e){var n={};"development"===process.env.NODE_ENV&&(t&&Object.keys(t).forEach((function(o){if(e.hasOwnProperty(o)){var i=t[o],l=e[o],c=r(i,l);c&&(n[o]=c)}else n[o]="was deleted"})),Object.keys(e).forEach((function(o){if(null==t||!t.hasOwnProperty(o)){var i=e[o];n[o]=r(void 0,i)}})));return n}(o,l);Object.keys(u).forEach((function(t){return n.log(t,":",u[t])})),n.groupEnd()}}return n.groupEnd(),null}}}return{init:function(){},destroy:null,effects:function(){return null}}}}function l(o){return function(){var r=null,i={history:null,optimisticActions:{},shouldRecordHistory:!1},l=function(t){return(o||e.clone)(t)},c=function(t,e){return"".concat(t.toString(),"_").concat(e)};function s(t,e,n,o){void 0===o&&(o=null);var r=i.shouldRecordHistory,c=i.history;if(r){null===c&&(i.history=[]);var s=l(n);delete s.state,delete s.s,delete s.abortSignal,s.error=n.err,s.err=n.err;var f={effectType:e,actionName:t,promiseId:n.promiseId,ctx:s,beforeEffectState:o?l(o):null};i.history.push(f)}}function f(t,e,n){void 0===n&&(n=void 0);var o=i.optimisticActions,r=i.history,l=c(t,e);if(delete o[l],0===Object.keys(o).length)i.history=null,i.shouldRecordHistory=!1;else{var s=void 0===n?r.findIndex((function(t){return c(t.actionName,t.promiseId)===l})):n;if(0===s){var f=r.slice(1).findIndex((function(t){return null!=t.beforeEffectState}))+1;r.splice(0,f)}else void 0===n&&(r[s].beforeEffectState=null)}}return{init:function(t){r=t},destroy:function(){r=null,i.history=null,i.optimisticActions={},i.shouldRecordHistory=!1},effects:function(e,o,l,a){var u=e.name,p=e.type,d=e.context,v=e.isAsync;if((null!=l&&t(r.actions[u])||"onPropsChange"===u||null!=r.actions[u][p])&&s(u,p,d,null),v){var y,g=r.actions[u];if(a&&null!=g.optimisticEffects&&"preEffects"===p)return i.shouldRecordHistory=!0,i.optimisticActions[c(u,d.promiseId)]=!0,s(u,"optimisticEffects",d,y=l||o),{loading:!1,state:n(n({},y),g.optimisticEffects(n(n({},d),{state:y,s:y})))};if(null!=g.optimisticEffects&&"effects"===p)return f(u,d.promiseId),{loading:a,state:l};if(null!=g.optimisticEffects&&"errorEffects"===p)return{state:y=function(e,o){for(var l=i.history,c=l.findIndex((function(t){return"optimisticEffects"===t.effectType&&t.actionName===e&&t.promiseId===o})),s=l[c].beforeEffectState,a=c+1;a<l.length;a++){var u=l[a];u.beforeEffectState&&(u.beforeEffectState=s);var p=n(n({},u.ctx),{state:s,s:s});if("onPropsChange"===u.actionName){var d=Array.isArray(r.options.onPropsChange)?r.options.onPropsChange:[r.options.onPropsChange];s=n(n({},s),d[p.index].effects(p))}else s=t(r.actions[u.actionName])?n(n({},s),r.actions[u.actionName](p)):n(n({},s),r.actions[u.actionName][u.effectType](p))}return f(e,o,c),s}(u,d.promiseId),loading:a}}return null}}}}function c(){return function(){var t,e,o;try{t=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__}catch(t){}return t?{init:function(n){var r,i;(e=t.connect({name:null!==(i=null===(r=n.options)||void 0===r?void 0:r.name)&&void 0!==i?i:"StateDecorator"})).init(n.state);var l=null,c=n.state;o=e.subscribe((function(t){var e,o,r,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===(o=t.payload)||void 0===o?void 0:o.type)?l=n.state:"ROLLBACK"===(null===(r=t.payload)||void 0===r?void 0:r.type)?null!=l&&n.setState(l):"RESET"===(null===(i=t.payload)||void 0===i?void 0:i.type)&&n.setState(c)}))},effects:function(t,o,r){if(null!=r){var i=n({},t.context);delete i.a,delete i.s,delete i.p,delete i.res,delete i.err,delete i.ds,e.send({type:"".concat(t.name.toString()," ").concat(t.type),args:i.args,context:i},r)}return null},destroy:function(){o(),e=null}}:{init:function(){},destroy:null,effects:function(){return null}}}}export{c as devtools,i as logDetailedEffects,r as logEffects,l as optimisticActions};
2
2
  //# sourceMappingURL=middlewares.js.map
package/es/test.d.ts CHANGED
@@ -14,7 +14,7 @@ PERFORMANCE OF THIS SOFTWARE.
14
14
  ***************************************************************************** */
15
15
  import { ErrorMap, StoreActions, StoreApi, StoreOptions } from '.';
16
16
  import { DerivedState, SetStateFunc, Ref } from './impl';
17
- import { DecoratedActions } from './types';
17
+ import { DecoratedActions, StoreConfig } from './types';
18
18
  declare type MockActions<A, MockAction> = {
19
19
  [k in keyof A]: MockAction;
20
20
  };
@@ -112,11 +112,12 @@ declare type MockStore<S, A extends DecoratedActions, P, DS> = {
112
112
  */
113
113
  onInit: (props?: Partial<P>) => MockResultWithTest<S, A, P, DS>;
114
114
  /** @internal */
115
- onPropsChangeImpl: (newStateRef: Ref<S>, newPropsRef: Ref<P>, newDerivedStateRef: Ref<DerivedState<DS>>, newActionsRef: Ref<StoreActions<S, A, P, DS, S>>, setState: SetStateFunc<S, A>, init?: boolean) => MockResult<S, A, P, DS>;
115
+ onPropsChangeImpl: (newStateRef: Ref<S>, newPropsRef: Ref<P>, newDerivedStateRef: Ref<DerivedState<DS>>, newActionsRef: Ref<StoreActions<S, A, P, DS, S>>, setState: SetStateFunc<S, A>, init?: boolean, deferred?: boolean) => MockResult<S, A, P, DS>;
116
116
  getAction: <K extends keyof A>(name: K) => MockStoreAction<S, A, A[K], P, DS>;
117
117
  };
118
118
  export declare function createMockFromStore<S, A extends DecoratedActions, P, DS>(store: StoreApi<S, A, P, DS>, props?: P): MockStore<S, A, P, DS>;
119
- export declare function createMockStore<S, A extends DecoratedActions, P = {}, DS = {}>(initialState: S | ((p: P) => S), actions: StoreActions<S, A, P, DS>, props?: P, options?: StoreOptions<S, A, P, DS>, mockActions?: MockActionImpl<A>): MockStore<S, A, P, DS>;
119
+ export declare function createMockStore<S, A extends DecoratedActions, P, DS>(config: StoreConfig<S, A, P, DS>, props?: P): MockStore<S, A, P, DS>;
120
+ export declare function createMockStoreV6<S, A extends DecoratedActions, P = {}, DS = {}>(initialState: S | ((p: P) => S), actions: StoreActions<S, A, P, DS>, props?: P, options?: StoreOptions<S, A, P, DS>, mockActions?: MockActionImpl<A>): MockStore<S, A, P, DS>;
120
121
  /**
121
122
  * Set the mock factory. Each mock action will be created using this factory.
122
123
  * @param factory the mock factory
@@ -130,5 +131,5 @@ export declare class ActionError<S = any, P = any, A = any> extends Error {
130
131
  actions: MockActions<A, any>;
131
132
  constructor(sourceError: Error, prevState: S, state: S, props: P, actions: MockActions<A, any>);
132
133
  }
133
- export declare function createMockStoreAction<S, A extends DecoratedActions, F extends (...args: any[]) => any, P, DS>(state: S, actionName: keyof A, actions: StoreActions<S, A, P, DS, S>, props: P, promiseRes: Promise<F> | Error, options: StoreOptions<S, A, P, DS>, mockActions: Partial<Record<keyof A, (...args: any[]) => any>>): MockStoreAction<S, A, F, P, DS>;
134
+ export declare function createMockStoreAction<S, A extends DecoratedActions, F extends (...args: any[]) => any, P, DS>(state: S, actionName: keyof A, actions: StoreActions<S, A, P, DS>, props: P, promiseRes: Promise<F> | Error, options: StoreOptions<S, A, P, DS>, mockActions: Partial<Record<keyof A, (...args: any[]) => any>>): MockStoreAction<S, A, F, P, DS>;
134
135
  export {};
package/es/test.js CHANGED
@@ -1,2 +1,2 @@
1
- import{createRef as t,computeDerivedValues as r,onPropChange as n,buildOnMountInvocationContext as e,isSimpleSyncAction as o,decorateSimpleSyncAction as i,isSyncAction as u,decorateSyncAction as c,isAsyncAction as s,computeAsyncActionInput as a,decorateAsyncAction as l,buildErrorMap as f}from"./impl";var p=function(t,r){return(p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])})(t,r)};var v=function(){return(v=Object.assign||function(t){for(var r,n=1,e=arguments.length;n<e;n++)for(var o in r=arguments[n])Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o]);return t}).apply(this,arguments)};function d(t,r){void 0===r&&(r={});var n=t.getConfig();return m(n.getInitialState,n.actions,r,n.options)}function m(o,i,u,c,s){void 0===u&&(u={}),void 0===c&&(c={});var a=t(),l=t(u);function f(t,r,n){return m(null!=t?t:a.current,i,null!=r?r:l.current,c,null!=n?n:s)}function p(n,e){void 0===n&&(n=void 0),void 0===e&&(e=void 0);var o=t({state:null,deps:{}});return r(n||a,e||l,o,c),v(v({},(null==n?void 0:n.current)||a.current),o.current.state||{})}return a.current="function"==typeof o?o(u):o,{test:function(t){return t(p(),l.current),this},setMockActions:function(t){return f(void 0,void 0,t)},onMount:function(t){return void 0===t&&(t={}),this.onInit(t)},setState:function(t){return f(t,void 0)},setProps:function(t){return f(void 0,t)},setPartialState:function(t){return f(v(v({},a.current),t),void 0)},setPartialProps:function(t){return f(void 0,v(v({},l.current),t))},onPropsChange:function(r,n){void 0===n&&(n=!1);var e=t(a.current),o=t(v(v({},l.current),r)),u=t({state:null,deps:{}}),c=P(i,s),f=this.onPropsChangeImpl(e,o,u,c,(function(t,r,n,o,i){null!=t&&(e.current=t)}),n);return v(v({},f),{test:function(t){t(f)}})},onPropsChangeImpl:function(t,e,o,i,u,s){return r(a,l,o,c),n(t,o,e,l.current,i,c,u,s),{prevState:p(a,l),state:p(t,e),props:e.current,actions:i.current,errorMap:{}}},onInit:function(r){void 0===r&&(r={});var n="function"==typeof o?o(u):o,a=t(n),f=t(v(v({},l.current),r)),d=t({state:null,deps:{}}),m=P(i,s);this.onPropsChangeImpl(a,f,d,m,(function(t,r,n,e,o){null!=t&&(a.current=t)}),!0),(null==c?void 0:c.onMount)&&c.onMount(e(a,d,f,m));var h={prevState:null,state:p(a,f),props:f.current,actions:m.current,errorMap:{}};return v(v({},h),{test:function(t){t(h)}})},getAction:function(t){return S(a.current,t,i,l.current,null,c,void 0)}}}function P(r,n){var e=Object.keys(r);return t(e.reduce((function(t,r){return t[r]=h(null==n?void 0:n[r]),t}),{}))}var h=function(t){return jest.fn(t)};function y(t){h=t}var g=function(t){function r(n,e,o,i,u){var c=t.call(this,n.message)||this;return Object.setPrototypeOf(c,r.prototype),c.sourceError=n,c.prevState=e,c.props=i,c.state=o,c.actions=u,Error.captureStackTrace&&Error.captureStackTrace(c,r),c}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=t}p(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}(r,t),r}(Error);function S(n,e,p,d,m,h,y){var j=t(n),O=t(d),R=m;function M(t,r,n,o){return void 0===o&&(o=y),S(null!=t?t:j.current,e,p,null!=r?r:O.current,null!=n?n:R,h,o)}function b(n,e){void 0===n&&(n=void 0),void 0===e&&(e=void 0);var o=t({state:null,deps:{}});return r(null!=n?n:j,null!=e?e:O,o,h),v(v({},(null==n?void 0:n.current)||j.current),o.current.state||{})}return{setMockActions:function(t){return M(void 0,void 0,void 0,t)},setState:function(t){return M(t,void 0,void 0)},setProps:function(t){return M(void 0,t,void 0)},setPartialState:function(t){return M(v(v({},j.current),t),void 0,void 0)},setPartialProps:function(t){return M(void 0,v(v({},O.current),t),void 0)},promiseResolves:function(t){return M(void 0,void 0,Promise.resolve(t))},promiseRejects:function(t){return M(void 0,void 0,Promise.reject(t))},test:function(t){return t(b(),O.current),this},call:function(){for(var n=[],d=0;d<arguments.length;d++)n[d]=arguments[d];var m=t(v({},j.current)),S=t({state:null,deps:{}});r(m,O,S,h);var M=P(p,y),E=t({}),_=t({}),w=function(t){null!=t&&(m.current=t)},C=p[e],I=null;if(o(C))i(e,C,m,S,O,t(!0),w).apply(void 0,n),I=Promise.resolve();else if(u(C))c(e,v(v({},C),{debounceSideEffectsTimeout:0,debounceTimeout:0}),m,S,O,M,t(!0),null,h,w).apply(void 0,n),I=Promise.resolve();else if(s(C)){var k=t({}),A=t({}),T=t(!0),x=v({},a(C));R&&(x.getPromise=function(){return R}),x.optimisticEffects&&(x.effects=x.optimisticEffects,delete x.optimisticEffects),I=l({actionName:e,derivedStateRef:S,propsRef:O,loadingMapRef:E,errorMapRef:_,promisesRef:k,conflictActionsRef:A,initializedRef:T,options:h,setState:w,stateRef:m,actionsRef:M,action:x}).apply(void 0,n)}return(null!=I?I:Promise.resolve()).then((function(){return E.current={},{prevState:b(j),state:b(m),props:O.current,errorMap:f(_.current),actions:M.current}})).catch((function(t){return Promise.reject(new g(t,b(j),b(m),O.current,M.current))}))}}}export{g as ActionError,d as createMockFromStore,m as createMockStore,S as createMockStoreAction,y as setMockFactory};
1
+ import{createRef as t,computeDerivedValues as r,onPropChange as n,buildOnMountInvocationContext as e,isSimpleSyncAction as o,decorateSimpleSyncAction as i,isSyncAction as u,decorateSyncAction as c,isAsyncAction as s,computeAsyncActionInput as a,decorateAsyncAction as l,buildErrorMap as f}from"./impl";var p=function(t,r){return(p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])})(t,r)};var v=function(){return(v=Object.assign||function(t){for(var r,n=1,e=arguments.length;n<e;n++)for(var o in r=arguments[n])Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o]);return t}).apply(this,arguments)};function d(t,r){return void 0===r&&(r={}),y(t.getConfig(),r)}function y(t,r){return void 0===r&&(r={}),m(t.getInitialState,t.actions,r,function(t,r){var n={};for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&r.indexOf(e)<0&&(n[e]=t[e]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(e=Object.getOwnPropertySymbols(t);o<e.length;o++)r.indexOf(e[o])<0&&Object.prototype.propertyIsEnumerable.call(t,e[o])&&(n[e[o]]=t[e[o]])}return n}(t,["getInitialState","actions"]))}function m(o,i,u,c,s){void 0===u&&(u={}),void 0===c&&(c={});var a=t(),l=t(u);function f(t,r,n){return m(null!=t?t:a.current,i,null!=r?r:l.current,c,null!=n?n:s)}function p(n,e){void 0===n&&(n=void 0),void 0===e&&(e=void 0);var o=t({state:null,deps:{}});return r(n||a,e||l,o,c),v(v({},(null==n?void 0:n.current)||a.current),o.current.state||{})}return a.current="function"==typeof o?o(u):o,{test:function(t){return t(p(),l.current),this},setMockActions:function(t){return f(void 0,void 0,t)},onMount:function(t){return void 0===t&&(t={}),this.onInit(t)},setState:function(t){return f(t,void 0)},setProps:function(t){return f(void 0,t)},setPartialState:function(t){return f(v(v({},a.current),t),void 0)},setPartialProps:function(t){return f(void 0,v(v({},l.current),t))},onPropsChange:function(r,n){void 0===n&&(n=!1);var e=t(a.current),o=t(v(v({},l.current),r)),u=t({state:null,deps:{}}),c=P(i,s),f=this.onPropsChangeImpl(e,o,u,c,(function(t,r,n,o,i){null!=t&&(e.current=t)}),n,!1);return v(v({},f),{test:function(t){t(f)}})},onPropsChangeImpl:function(t,e,o,i,u,s,f){return r(a,l,o,c),n(t,o,e,l.current,i,c,u,s,f),{prevState:p(a,l),state:p(t,e),props:e.current,actions:i.current,errorMap:{}}},onInit:function(r){void 0===r&&(r={});var n="function"==typeof o?o(u):o,a=t(n),f=t(v(v({},l.current),r)),d=t({state:null,deps:{}}),y=P(i,s),m=function(t,r,n,e,o){null!=t&&(a.current=t)};this.onPropsChangeImpl(a,f,d,y,m,!0,!1),(null==c?void 0:c.onMount)&&c.onMount(e(a,d,f,y)),this.onPropsChangeImpl(a,f,d,y,m,!0,!0),(null==c?void 0:c.onMountDeferred)&&c.onMountDeferred(e(a,d,f,y));var h={prevState:null,state:p(a,f),props:f.current,actions:y.current,errorMap:{}};return v(v({},h),{test:function(t){t(h)}})},getAction:function(t){return S(a.current,t,i,l.current,null,c,void 0)}}}function P(r,n){var e=Object.keys(r);return t(e.reduce((function(t,r){return t[r]=h(null==n?void 0:n[r]),t}),{}))}var h=function(t){return jest.fn(t)};function g(t){h=t}var O=function(t){function r(n,e,o,i,u){var c=t.call(this,n.message)||this;return Object.setPrototypeOf(c,r.prototype),c.sourceError=n,c.prevState=e,c.props=i,c.state=o,c.actions=u,Error.captureStackTrace&&Error.captureStackTrace(c,r),c}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=t}p(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}(r,t),r}(Error);function S(n,e,p,d,y,m,h){var g=t(n),b=t(d),j=y;function M(t,r,n,o){return void 0===o&&(o=h),S(null!=t?t:g.current,e,p,null!=r?r:b.current,null!=n?n:j,m,o)}function E(n,e){void 0===n&&(n=void 0),void 0===e&&(e=void 0);var o=t({state:null,deps:{}});return r(null!=n?n:g,null!=e?e:b,o,m),v(v({},(null==n?void 0:n.current)||g.current),o.current.state||{})}return{setMockActions:function(t){return M(void 0,void 0,void 0,t)},setState:function(t){return M(t,void 0,void 0)},setProps:function(t){return M(void 0,t,void 0)},setPartialState:function(t){return M(v(v({},g.current),t),void 0,void 0)},setPartialProps:function(t){return M(void 0,v(v({},b.current),t),void 0)},promiseResolves:function(t){return M(void 0,void 0,Promise.resolve(t))},promiseRejects:function(t){return M(void 0,void 0,Promise.reject(t))},test:function(t){return t(E(),b.current),this},call:function(){for(var n=[],d=0;d<arguments.length;d++)n[d]=arguments[d];var y=t(v({},g.current)),S=t({state:null,deps:{}});r(y,b,S,m);var M=P(p,h),R=t({}),w=t({}),I=function(t){null!=t&&(y.current=t)},_=p[e],C=null;if(o(_))i(e,_,y,S,b,t(!0),I).apply(void 0,n),C=Promise.resolve();else if(u(_))c(e,v(v({},_),{debounceSideEffectsTimeout:0,debounceTimeout:0}),y,S,b,M,t(!0),null,m,I,(function(t){})).apply(void 0,n),C=Promise.resolve();else if(s(_)){var k=t({}),A=t({}),T=t(!0),x=v({},a(_));j&&(x.getPromise=function(){return j}),x.optimisticEffects&&(x.effects=x.optimisticEffects,delete x.optimisticEffects),C=l({actionName:e,derivedStateRef:S,propsRef:b,loadingMapRef:R,errorMapRef:w,promisesRef:k,conflictActionsRef:A,initializedRef:T,options:m,setState:I,stateRef:y,actionsRef:M,action:x,clearError:function(t){}}).apply(void 0,n)}return(null!=C?C:Promise.resolve()).then((function(){return R.current={},{prevState:E(g),state:E(y),props:b.current,errorMap:f(w.current),actions:M.current}})).catch((function(t){return Promise.reject(new O(t,E(g),E(y),b.current,M.current))}))}}}export{O as ActionError,d as createMockFromStore,y as createMockStore,S as createMockStoreAction,m as createMockStoreV6,g as setMockFactory};
2
2
  //# sourceMappingURL=test.js.map