react-elmish 10.3.0-beta.1 → 10.3.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -33,6 +33,7 @@ This library brings the elmish pattern to react.
33
33
  - [Testing the init function](#testing-the-init-function)
34
34
  - [Testing the update handler](#testing-the-update-handler)
35
35
  - [Combine update and execCmd](#combine-update-and-execcmd)
36
+ - [Testing consecutive updates](#testing-consecutive-updates)
36
37
  - [Testing subscriptions](#testing-subscriptions)
37
38
  - [UI Tests](#ui-tests)
38
39
  - [Redux Dev Tools](#redux-dev-tools)
@@ -525,7 +526,7 @@ const updateMap: UpdateMap<Props, Model, Message> = {
525
526
 
526
527
  ### Testing
527
528
 
528
- If you want to test your component with immutable data structures, you can use the `react-elmish/testing/immutable` module. This module provides the same functions as the normal testing module.
529
+ If you want to test your component with immutable data structures, you can use the `react-elmish/testing/immutable` module. This module provides the same functions as the normal [testing](#testing-1) module.
529
530
 
530
531
  ## Setup
531
532
 
@@ -990,6 +991,7 @@ To test your **update** handler you can use some helper functions in `react-elmi
990
991
  | `initAndExecCmd` | Calls the `init` function with the provided props and executes the returned commands. |
991
992
  | `getUpdateFn` | Returns an `update` function for your update map object. |
992
993
  | `getUpdateAndExecCmdFn` | Returns an `update` function for your update map object, which immediately executes the command. |
994
+ | `getConsecutiveUpdateFn` | Returns an `update` function for your update map object, which runs all consecutive commands until only the model gets updated or nothing happens. |
993
995
  | `getCreateUpdateArgs` | Creates a factory function to create a message, a model, and props in a test. |
994
996
  | `createUpdateArgsFactory` | This is an alternative for `getCreateUpdateArgs`. Creates a factory function to create a message, a model, and props in a test. |
995
997
  | `execCmd` | Executes the provided command and returns an array of all messages. |
@@ -1085,6 +1087,35 @@ it("returns the correct cmd", async () => {
1085
1087
  ...
1086
1088
  ```
1087
1089
 
1090
+ ### Testing consecutive updates
1091
+
1092
+ If you want to test multiple `update` functions which are called in a row, you can use the `getConsecutiveUpdateFn` function. This function returns an `update` function that runs all consecutive commands until only the model gets updated or nothing happens.
1093
+
1094
+ You may have something like this in your `update` map:
1095
+
1096
+ "load message -> load function -> loaded message -> filter message -> filter function -> filtered message"
1097
+
1098
+ Then the `consecutiveUpdateFn` will execute all these commands in a row and return the final model after all commands have been executed.
1099
+
1100
+ ```ts
1101
+ import { getConsecutiveUpdateFn, createUpdateArgsFactory } from "react-elmish/testing";
1102
+ import { init, Msg } from "./MyComponent";
1103
+
1104
+ const createUpdateArgs = createUpdateArgsFactory(init, () => ({ /* initial props */ }));
1105
+ const consecutiveUpdateFn = getConsecutiveUpdateFn(updateMap);
1106
+
1107
+ it("updates the model and executes all commands", async () => {
1108
+ // arrange
1109
+ const args = createUpdateArgs(Msg.load(), { /* optionally override model here */ }, { /* optionally override props here */ }, { /* optionally override options here */ });
1110
+
1111
+ // act
1112
+ const newModel = await consecutiveUpdateFn(...args);
1113
+
1114
+ // assert
1115
+ expect(newModel).toStrictEqual({ /* what you expect in the model */ });
1116
+ });
1117
+ ```
1118
+
1088
1119
  ### Testing subscriptions
1089
1120
 
1090
1121
  It is almost the same as testing the `update` function. You can use the `getCreateModelAndProps` function to create a factory for the model and the props. Then use `execSubscription` to execute the subscriptions:
@@ -0,0 +1,5 @@
1
+ import type { Immutable } from "immer";
2
+ import type { Message } from "../../Types";
3
+ import type { UpdateFunctionOptions, UpdateMap } from "../Types";
4
+ declare function getConsecutiveUpdateFn<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>): (msg: TMessage, model: Immutable<TModel>, props: TProps, optionsTemplate?: Partial<UpdateFunctionOptions<TProps, TModel, TMessage>>) => Promise<Partial<TModel>>;
5
+ export { getConsecutiveUpdateFn };
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getConsecutiveUpdateFn = getConsecutiveUpdateFn;
8
+ var _getUpdateFn = require("./getUpdateFn");
9
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
10
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
11
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
12
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
14
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
19
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
21
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
23
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
24
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
25
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
26
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
27
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
28
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
29
+ function getConsecutiveUpdateFn(updateMap) {
30
+ return /*#__PURE__*/function () {
31
+ var _consecutiveUpdateFn = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(msg, model, props, optionsTemplate) {
32
+ var messages, currentModel, totalUpdatedModel, updatedAndExecFn, currentMessages, _iterator, _step, nextMsg, _yield$updatedAndExec, _yield$updatedAndExec2, updatedModel, newMessages, _t;
33
+ return _regenerator().w(function (_context) {
34
+ while (1) switch (_context.p = _context.n) {
35
+ case 0:
36
+ messages = [msg];
37
+ currentModel = model;
38
+ totalUpdatedModel = {};
39
+ updatedAndExecFn = (0, _getUpdateFn.getUpdateAndExecCmdFn)(updateMap);
40
+ case 1:
41
+ if (!(messages.length > 0)) {
42
+ _context.n = 10;
43
+ break;
44
+ }
45
+ currentMessages = [];
46
+ _iterator = _createForOfIteratorHelper(messages);
47
+ _context.p = 2;
48
+ _iterator.s();
49
+ case 3:
50
+ if ((_step = _iterator.n()).done) {
51
+ _context.n = 6;
52
+ break;
53
+ }
54
+ nextMsg = _step.value;
55
+ _context.n = 4;
56
+ return updatedAndExecFn(nextMsg, currentModel, props, optionsTemplate);
57
+ case 4:
58
+ _yield$updatedAndExec = _context.v;
59
+ _yield$updatedAndExec2 = _slicedToArray(_yield$updatedAndExec, 2);
60
+ updatedModel = _yield$updatedAndExec2[0];
61
+ newMessages = _yield$updatedAndExec2[1];
62
+ currentModel = _objectSpread(_objectSpread({}, currentModel), updatedModel);
63
+ totalUpdatedModel = _objectSpread(_objectSpread({}, totalUpdatedModel), updatedModel);
64
+ currentMessages.push.apply(currentMessages, _toConsumableArray(newMessages));
65
+ case 5:
66
+ _context.n = 3;
67
+ break;
68
+ case 6:
69
+ _context.n = 8;
70
+ break;
71
+ case 7:
72
+ _context.p = 7;
73
+ _t = _context.v;
74
+ _iterator.e(_t);
75
+ case 8:
76
+ _context.p = 8;
77
+ _iterator.f();
78
+ return _context.f(8);
79
+ case 9:
80
+ messages = currentMessages.filter(function (message) {
81
+ return message != null;
82
+ });
83
+ _context.n = 1;
84
+ break;
85
+ case 10:
86
+ return _context.a(2, totalUpdatedModel);
87
+ }
88
+ }, _callee, null, [[2, 7, 8, 9]]);
89
+ }));
90
+ function consecutiveUpdateFn(_x, _x2, _x3, _x4) {
91
+ return _consecutiveUpdateFn.apply(this, arguments);
92
+ }
93
+ return consecutiveUpdateFn;
94
+ }();
95
+ }
96
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0VXBkYXRlRm4iLCJyZXF1aXJlIiwiX3JlZ2VuZXJhdG9yIiwiZSIsInQiLCJyIiwiU3ltYm9sIiwibiIsIml0ZXJhdG9yIiwibyIsInRvU3RyaW5nVGFnIiwiaSIsImMiLCJwcm90b3R5cGUiLCJHZW5lcmF0b3IiLCJ1IiwiT2JqZWN0IiwiY3JlYXRlIiwiX3JlZ2VuZXJhdG9yRGVmaW5lMiIsImYiLCJwIiwieSIsIkciLCJ2IiwiYSIsImQiLCJiaW5kIiwibGVuZ3RoIiwibCIsIlR5cGVFcnJvciIsImNhbGwiLCJkb25lIiwidmFsdWUiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwiZ2V0UHJvdG90eXBlT2YiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImRpc3BsYXlOYW1lIiwidyIsIm0iLCJkZWZpbmVQcm9wZXJ0eSIsIl9yZWdlbmVyYXRvckRlZmluZSIsIl9pbnZva2UiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJfdHlwZW9mIiwidG9QcmltaXRpdmUiLCJTdHJpbmciLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJuZXh0IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfbiIsIkYiLCJzIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInRlc3QiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9uZXh0IiwiX3Rocm93IiwiZ2V0Q29uc2VjdXRpdmVVcGRhdGVGbiIsInVwZGF0ZU1hcCIsIl9jb25zZWN1dGl2ZVVwZGF0ZUZuIiwiX2NhbGxlZSIsIm1zZyIsIm1vZGVsIiwicHJvcHMiLCJvcHRpb25zVGVtcGxhdGUiLCJtZXNzYWdlcyIsImN1cnJlbnRNb2RlbCIsInRvdGFsVXBkYXRlZE1vZGVsIiwidXBkYXRlZEFuZEV4ZWNGbiIsImN1cnJlbnRNZXNzYWdlcyIsIl9pdGVyYXRvciIsIl9zdGVwIiwibmV4dE1zZyIsIl95aWVsZCR1cGRhdGVkQW5kRXhlYyIsIl95aWVsZCR1cGRhdGVkQW5kRXhlYzIiLCJ1cGRhdGVkTW9kZWwiLCJuZXdNZXNzYWdlcyIsIl90IiwiX2NvbnRleHQiLCJnZXRVcGRhdGVBbmRFeGVjQ21kRm4iLCJtZXNzYWdlIiwiY29uc2VjdXRpdmVVcGRhdGVGbiIsIl94IiwiX3gyIiwiX3gzIiwiX3g0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltbXV0YWJsZS90ZXN0aW5nL2dldENvbnNlY3V0aXZlVXBkYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW1tdXRhYmxlIH0gZnJvbSBcImltbWVyXCI7XG5pbXBvcnQgdHlwZSB7IE1lc3NhZ2UsIE51bGxhYmxlIH0gZnJvbSBcIi4uLy4uL1R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IFVwZGF0ZUZ1bmN0aW9uT3B0aW9ucywgVXBkYXRlTWFwIH0gZnJvbSBcIi4uL1R5cGVzXCI7XG5pbXBvcnQgeyBnZXRVcGRhdGVBbmRFeGVjQ21kRm4gfSBmcm9tIFwiLi9nZXRVcGRhdGVGblwiO1xuXG5mdW5jdGlvbiBnZXRDb25zZWN1dGl2ZVVwZGF0ZUZuPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHR1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKTogKFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnNUZW1wbGF0ZT86IFBhcnRpYWw8VXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4+LFxuKSA9PiBQcm9taXNlPFBhcnRpYWw8VE1vZGVsPj4ge1xuXHRyZXR1cm4gYXN5bmMgZnVuY3Rpb24gY29uc2VjdXRpdmVVcGRhdGVGbihtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9uc1RlbXBsYXRlKTogUHJvbWlzZTxQYXJ0aWFsPFRNb2RlbD4+IHtcblx0XHRsZXQgbWVzc2FnZXM6IFRNZXNzYWdlW10gPSBbbXNnXTtcblx0XHRsZXQgY3VycmVudE1vZGVsID0gbW9kZWw7XG5cdFx0bGV0IHRvdGFsVXBkYXRlZE1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4gPSB7fTtcblxuXHRcdGNvbnN0IHVwZGF0ZWRBbmRFeGVjRm4gPSBnZXRVcGRhdGVBbmRFeGVjQ21kRm4odXBkYXRlTWFwKTtcblxuXHRcdHdoaWxlIChtZXNzYWdlcy5sZW5ndGggPiAwKSB7XG5cdFx0XHRjb25zdCBjdXJyZW50TWVzc2FnZXM6IE51bGxhYmxlPFRNZXNzYWdlPltdID0gW107XG5cblx0XHRcdGZvciAoY29uc3QgbmV4dE1zZyBvZiBtZXNzYWdlcykge1xuXHRcdFx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9udXJzZXJ5L25vQXdhaXRJbkxvb3A6IFdlIG5lZWQgdG8gYXdhaXQgZWFjaCB1cGRhdGUgc2VxdWVudGlhbGx5XG5cdFx0XHRcdGNvbnN0IFt1cGRhdGVkTW9kZWwsIG5ld01lc3NhZ2VzXSA9IGF3YWl0IHVwZGF0ZWRBbmRFeGVjRm4obmV4dE1zZywgY3VycmVudE1vZGVsLCBwcm9wcywgb3B0aW9uc1RlbXBsYXRlKTtcblxuXHRcdFx0XHRjdXJyZW50TW9kZWwgPSB7IC4uLmN1cnJlbnRNb2RlbCwgLi4udXBkYXRlZE1vZGVsIH07XG5cdFx0XHRcdHRvdGFsVXBkYXRlZE1vZGVsID0geyAuLi50b3RhbFVwZGF0ZWRNb2RlbCwgLi4udXBkYXRlZE1vZGVsIH07XG5cblx0XHRcdFx0Y3VycmVudE1lc3NhZ2VzLnB1c2goLi4ubmV3TWVzc2FnZXMpO1xuXHRcdFx0fVxuXG5cdFx0XHRtZXNzYWdlcyA9IGN1cnJlbnRNZXNzYWdlcy5maWx0ZXIoKG1lc3NhZ2UpID0+IG1lc3NhZ2UgIT0gbnVsbCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRvdGFsVXBkYXRlZE1vZGVsO1xuXHR9O1xufVxuXG5leHBvcnQgeyBnZXRDb25zZWN1dGl2ZVVwZGF0ZUZuIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxJQUFBQSxZQUFBLEdBQUFDLE9BQUE7QUFBc0QsU0FBQUMsYUFBQSxJQUZ0RCx1S0FBQUMsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsd0JBQUFDLE1BQUEsR0FBQUEsTUFBQSxPQUFBQyxDQUFBLEdBQUFGLENBQUEsQ0FBQUcsUUFBQSxrQkFBQUMsQ0FBQSxHQUFBSixDQUFBLENBQUFLLFdBQUEsOEJBQUFDLEVBQUFOLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsUUFBQUMsQ0FBQSxHQUFBTCxDQUFBLElBQUFBLENBQUEsQ0FBQU0sU0FBQSxZQUFBQyxTQUFBLEdBQUFQLENBQUEsR0FBQU8sU0FBQSxFQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsTUFBQSxDQUFBTCxDQUFBLENBQUFDLFNBQUEsVUFBQUssbUJBQUEsQ0FBQUgsQ0FBQSx1QkFBQVYsQ0FBQSxF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
@@ -3,5 +3,6 @@ export { execCmd, initAndExecCmd, renderWithModel } from "../../testing";
3
3
  export { createModelAndProps } from "./createModelAndProps";
4
4
  export { createUpdateArgsFactory, type UpdateArgsFactory } from "./createUpdateArgsFactory";
5
5
  export { execSubscription } from "./execSubscription";
6
+ export { getConsecutiveUpdateFn } from "./getConsecutiveUpdate";
6
7
  export { getCreateModelAndProps, getCreateUpdateArgs, type ModelAndPropsFactory } from "./getCreateUpdateArgs";
7
8
  export { getUpdateAndExecCmdFn, getUpdateFn } from "./getUpdateFn";
@@ -27,6 +27,12 @@ Object.defineProperty(exports, "execSubscription", {
27
27
  return _execSubscription.execSubscription;
28
28
  }
29
29
  });
30
+ Object.defineProperty(exports, "getConsecutiveUpdateFn", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _getConsecutiveUpdate.getConsecutiveUpdateFn;
34
+ }
35
+ });
30
36
  Object.defineProperty(exports, "getCreateModelAndProps", {
31
37
  enumerable: true,
32
38
  get: function get() {
@@ -67,6 +73,7 @@ var _testing = require("../../testing");
67
73
  var _createModelAndProps = require("./createModelAndProps");
68
74
  var _createUpdateArgsFactory = require("./createUpdateArgsFactory");
69
75
  var _execSubscription = require("./execSubscription");
76
+ var _getConsecutiveUpdate = require("./getConsecutiveUpdate");
70
77
  var _getCreateUpdateArgs = require("./getCreateUpdateArgs");
71
78
  var _getUpdateFn = require("./getUpdateFn");
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdGluZyIsInJlcXVpcmUiLCJfY3JlYXRlTW9kZWxBbmRQcm9wcyIsIl9jcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSIsIl9leGVjU3Vic2NyaXB0aW9uIiwiX2dldENyZWF0ZVVwZGF0ZUFyZ3MiLCJfZ2V0VXBkYXRlRm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW1tdXRhYmxlL3Rlc3RpbmcvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBSZW5kZXJXaXRoTW9kZWxPcHRpb25zIH0gZnJvbSBcIi4uLy4uL2Zha2VPcHRpb25zXCI7XG5leHBvcnQgeyBleGVjQ21kLCBpbml0QW5kRXhlY0NtZCwgcmVuZGVyV2l0aE1vZGVsIH0gZnJvbSBcIi4uLy4uL3Rlc3RpbmdcIjtcbmV4cG9ydCB7IGNyZWF0ZU1vZGVsQW5kUHJvcHMgfSBmcm9tIFwiLi9jcmVhdGVNb2RlbEFuZFByb3BzXCI7XG5leHBvcnQgeyBjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSwgdHlwZSBVcGRhdGVBcmdzRmFjdG9yeSB9IGZyb20gXCIuL2NyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5XCI7XG5leHBvcnQgeyBleGVjU3Vic2NyaXB0aW9uIH0gZnJvbSBcIi4vZXhlY1N1YnNjcmlwdGlvblwiO1xuZXhwb3J0IHsgZ2V0Q3JlYXRlTW9kZWxBbmRQcm9wcywgZ2V0Q3JlYXRlVXBkYXRlQXJncywgdHlwZSBNb2RlbEFuZFByb3BzRmFjdG9yeSB9IGZyb20gXCIuL2dldENyZWF0ZVVwZGF0ZUFyZ3NcIjtcbmV4cG9ydCB7IGdldFVwZGF0ZUFuZEV4ZWNDbWRGbiwgZ2V0VXBkYXRlRm4gfSBmcm9tIFwiLi9nZXRVcGRhdGVGblwiO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLG9CQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSx3QkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLG9CQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxZQUFBLEdBQUFMLE9BQUEiLCJpZ25vcmVMaXN0IjpbXX0=
79
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdGluZyIsInJlcXVpcmUiLCJfY3JlYXRlTW9kZWxBbmRQcm9wcyIsIl9jcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSIsIl9leGVjU3Vic2NyaXB0aW9uIiwiX2dldENvbnNlY3V0aXZlVXBkYXRlIiwiX2dldENyZWF0ZVVwZGF0ZUFyZ3MiLCJfZ2V0VXBkYXRlRm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW1tdXRhYmxlL3Rlc3RpbmcvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBSZW5kZXJXaXRoTW9kZWxPcHRpb25zIH0gZnJvbSBcIi4uLy4uL2Zha2VPcHRpb25zXCI7XG5leHBvcnQgeyBleGVjQ21kLCBpbml0QW5kRXhlY0NtZCwgcmVuZGVyV2l0aE1vZGVsIH0gZnJvbSBcIi4uLy4uL3Rlc3RpbmdcIjtcbmV4cG9ydCB7IGNyZWF0ZU1vZGVsQW5kUHJvcHMgfSBmcm9tIFwiLi9jcmVhdGVNb2RlbEFuZFByb3BzXCI7XG5leHBvcnQgeyBjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSwgdHlwZSBVcGRhdGVBcmdzRmFjdG9yeSB9IGZyb20gXCIuL2NyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5XCI7XG5leHBvcnQgeyBleGVjU3Vic2NyaXB0aW9uIH0gZnJvbSBcIi4vZXhlY1N1YnNjcmlwdGlvblwiO1xuZXhwb3J0IHsgZ2V0Q29uc2VjdXRpdmVVcGRhdGVGbiB9IGZyb20gXCIuL2dldENvbnNlY3V0aXZlVXBkYXRlXCI7XG5leHBvcnQgeyBnZXRDcmVhdGVNb2RlbEFuZFByb3BzLCBnZXRDcmVhdGVVcGRhdGVBcmdzLCB0eXBlIE1vZGVsQW5kUHJvcHNGYWN0b3J5IH0gZnJvbSBcIi4vZ2V0Q3JlYXRlVXBkYXRlQXJnc1wiO1xuZXhwb3J0IHsgZ2V0VXBkYXRlQW5kRXhlY0NtZEZuLCBnZXRVcGRhdGVGbiB9IGZyb20gXCIuL2dldFVwZGF0ZUZuXCI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsSUFBQUEsUUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsb0JBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLHdCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxpQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUkscUJBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLG9CQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFOLE9BQUEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,3 @@
1
+ import type { Message, UpdateFunctionOptions, UpdateMap } from "../Types";
2
+ declare function getConsecutiveUpdateFn<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>): (msg: TMessage, model: TModel, props: TProps, optionsTemplate?: Partial<UpdateFunctionOptions<TProps, TModel, TMessage>>) => Promise<Partial<TModel>>;
3
+ export { getConsecutiveUpdateFn };
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getConsecutiveUpdateFn = getConsecutiveUpdateFn;
8
+ var _getUpdateFn = require("./getUpdateFn");
9
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
10
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
11
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
12
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
14
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
19
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
21
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
23
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
24
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
25
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
26
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
27
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
28
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
29
+ function getConsecutiveUpdateFn(updateMap) {
30
+ return /*#__PURE__*/function () {
31
+ var _consecutiveUpdateFn = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(msg, model, props, optionsTemplate) {
32
+ var messages, currentModel, totalUpdatedModel, updatedAndExecFn, currentMessages, _iterator, _step, nextMsg, _yield$updatedAndExec, _yield$updatedAndExec2, updatedModel, newMessages, _t;
33
+ return _regenerator().w(function (_context) {
34
+ while (1) switch (_context.p = _context.n) {
35
+ case 0:
36
+ messages = [msg];
37
+ currentModel = model;
38
+ totalUpdatedModel = {};
39
+ updatedAndExecFn = (0, _getUpdateFn.getUpdateAndExecCmdFn)(updateMap);
40
+ case 1:
41
+ if (!(messages.length > 0)) {
42
+ _context.n = 10;
43
+ break;
44
+ }
45
+ currentMessages = [];
46
+ _iterator = _createForOfIteratorHelper(messages);
47
+ _context.p = 2;
48
+ _iterator.s();
49
+ case 3:
50
+ if ((_step = _iterator.n()).done) {
51
+ _context.n = 6;
52
+ break;
53
+ }
54
+ nextMsg = _step.value;
55
+ _context.n = 4;
56
+ return updatedAndExecFn(nextMsg, currentModel, props, optionsTemplate);
57
+ case 4:
58
+ _yield$updatedAndExec = _context.v;
59
+ _yield$updatedAndExec2 = _slicedToArray(_yield$updatedAndExec, 2);
60
+ updatedModel = _yield$updatedAndExec2[0];
61
+ newMessages = _yield$updatedAndExec2[1];
62
+ currentModel = _objectSpread(_objectSpread({}, currentModel), updatedModel);
63
+ totalUpdatedModel = _objectSpread(_objectSpread({}, totalUpdatedModel), updatedModel);
64
+ currentMessages.push.apply(currentMessages, _toConsumableArray(newMessages));
65
+ case 5:
66
+ _context.n = 3;
67
+ break;
68
+ case 6:
69
+ _context.n = 8;
70
+ break;
71
+ case 7:
72
+ _context.p = 7;
73
+ _t = _context.v;
74
+ _iterator.e(_t);
75
+ case 8:
76
+ _context.p = 8;
77
+ _iterator.f();
78
+ return _context.f(8);
79
+ case 9:
80
+ messages = currentMessages.filter(function (message) {
81
+ return message != null;
82
+ });
83
+ _context.n = 1;
84
+ break;
85
+ case 10:
86
+ return _context.a(2, totalUpdatedModel);
87
+ }
88
+ }, _callee, null, [[2, 7, 8, 9]]);
89
+ }));
90
+ function consecutiveUpdateFn(_x, _x2, _x3, _x4) {
91
+ return _consecutiveUpdateFn.apply(this, arguments);
92
+ }
93
+ return consecutiveUpdateFn;
94
+ }();
95
+ }
96
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0VXBkYXRlRm4iLCJyZXF1aXJlIiwiX3JlZ2VuZXJhdG9yIiwiZSIsInQiLCJyIiwiU3ltYm9sIiwibiIsIml0ZXJhdG9yIiwibyIsInRvU3RyaW5nVGFnIiwiaSIsImMiLCJwcm90b3R5cGUiLCJHZW5lcmF0b3IiLCJ1IiwiT2JqZWN0IiwiY3JlYXRlIiwiX3JlZ2VuZXJhdG9yRGVmaW5lMiIsImYiLCJwIiwieSIsIkciLCJ2IiwiYSIsImQiLCJiaW5kIiwibGVuZ3RoIiwibCIsIlR5cGVFcnJvciIsImNhbGwiLCJkb25lIiwidmFsdWUiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwiZ2V0UHJvdG90eXBlT2YiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImRpc3BsYXlOYW1lIiwidyIsIm0iLCJkZWZpbmVQcm9wZXJ0eSIsIl9yZWdlbmVyYXRvckRlZmluZSIsIl9pbnZva2UiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJfdHlwZW9mIiwidG9QcmltaXRpdmUiLCJTdHJpbmciLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJuZXh0IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfbiIsIkYiLCJzIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInRlc3QiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9uZXh0IiwiX3Rocm93IiwiZ2V0Q29uc2VjdXRpdmVVcGRhdGVGbiIsInVwZGF0ZU1hcCIsIl9jb25zZWN1dGl2ZVVwZGF0ZUZuIiwiX2NhbGxlZSIsIm1zZyIsIm1vZGVsIiwicHJvcHMiLCJvcHRpb25zVGVtcGxhdGUiLCJtZXNzYWdlcyIsImN1cnJlbnRNb2RlbCIsInRvdGFsVXBkYXRlZE1vZGVsIiwidXBkYXRlZEFuZEV4ZWNGbiIsImN1cnJlbnRNZXNzYWdlcyIsIl9pdGVyYXRvciIsIl9zdGVwIiwibmV4dE1zZyIsIl95aWVsZCR1cGRhdGVkQW5kRXhlYyIsIl95aWVsZCR1cGRhdGVkQW5kRXhlYzIiLCJ1cGRhdGVkTW9kZWwiLCJuZXdNZXNzYWdlcyIsIl90IiwiX2NvbnRleHQiLCJnZXRVcGRhdGVBbmRFeGVjQ21kRm4iLCJtZXNzYWdlIiwiY29uc2VjdXRpdmVVcGRhdGVGbiIsIl94IiwiX3gyIiwiX3gzIiwiX3g0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvZ2V0Q29uc2VjdXRpdmVVcGRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNZXNzYWdlLCBOdWxsYWJsZSwgVXBkYXRlRnVuY3Rpb25PcHRpb25zLCBVcGRhdGVNYXAgfSBmcm9tIFwiLi4vVHlwZXNcIjtcbmltcG9ydCB7IGdldFVwZGF0ZUFuZEV4ZWNDbWRGbiB9IGZyb20gXCIuL2dldFVwZGF0ZUZuXCI7XG5cbmZ1bmN0aW9uIGdldENvbnNlY3V0aXZlVXBkYXRlRm48VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdHVwZGF0ZU1hcDogVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4pOiAoXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsOiBUTW9kZWwsXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnNUZW1wbGF0ZT86IFBhcnRpYWw8VXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4+LFxuKSA9PiBQcm9taXNlPFBhcnRpYWw8VE1vZGVsPj4ge1xuXHRyZXR1cm4gYXN5bmMgZnVuY3Rpb24gY29uc2VjdXRpdmVVcGRhdGVGbihtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9uc1RlbXBsYXRlKTogUHJvbWlzZTxQYXJ0aWFsPFRNb2RlbD4+IHtcblx0XHRsZXQgbWVzc2FnZXM6IFRNZXNzYWdlW10gPSBbbXNnXTtcblx0XHRsZXQgY3VycmVudE1vZGVsID0gbW9kZWw7XG5cdFx0bGV0IHRvdGFsVXBkYXRlZE1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4gPSB7fTtcblxuXHRcdGNvbnN0IHVwZGF0ZWRBbmRFeGVjRm4gPSBnZXRVcGRhdGVBbmRFeGVjQ21kRm4odXBkYXRlTWFwKTtcblxuXHRcdHdoaWxlIChtZXNzYWdlcy5sZW5ndGggPiAwKSB7XG5cdFx0XHRjb25zdCBjdXJyZW50TWVzc2FnZXM6IE51bGxhYmxlPFRNZXNzYWdlPltdID0gW107XG5cblx0XHRcdGZvciAoY29uc3QgbmV4dE1zZyBvZiBtZXNzYWdlcykge1xuXHRcdFx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9udXJzZXJ5L25vQXdhaXRJbkxvb3A6IFdlIG5lZWQgdG8gYXdhaXQgZWFjaCB1cGRhdGUgc2VxdWVudGlhbGx5XG5cdFx0XHRcdGNvbnN0IFt1cGRhdGVkTW9kZWwsIG5ld01lc3NhZ2VzXSA9IGF3YWl0IHVwZGF0ZWRBbmRFeGVjRm4obmV4dE1zZywgY3VycmVudE1vZGVsLCBwcm9wcywgb3B0aW9uc1RlbXBsYXRlKTtcblxuXHRcdFx0XHRjdXJyZW50TW9kZWwgPSB7IC4uLmN1cnJlbnRNb2RlbCwgLi4udXBkYXRlZE1vZGVsIH07XG5cdFx0XHRcdHRvdGFsVXBkYXRlZE1vZGVsID0geyAuLi50b3RhbFVwZGF0ZWRNb2RlbCwgLi4udXBkYXRlZE1vZGVsIH07XG5cblx0XHRcdFx0Y3VycmVudE1lc3NhZ2VzLnB1c2goLi4ubmV3TWVzc2FnZXMpO1xuXHRcdFx0fVxuXG5cdFx0XHRtZXNzYWdlcyA9IGN1cnJlbnRNZXNzYWdlcy5maWx0ZXIoKG1lc3NhZ2UpID0+IG1lc3NhZ2UgIT0gbnVsbCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRvdGFsVXBkYXRlZE1vZGVsO1xuXHR9O1xufVxuXG5leHBvcnQgeyBnZXRDb25zZWN1dGl2ZVVwZGF0ZUZuIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQSxJQUFBQSxZQUFBLEdBQUFDLE9BQUE7QUFBc0QsU0FBQUMsYUFBQSxJQUF0RCx1S0FBQUMsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsd0JBQUFDLE1BQUEsR0FBQUEsTUFBQSxPQUFBQyxDQUFBLEdBQUFGLENBQUEsQ0FBQUcsUUFBQSxrQkFBQUMsQ0FBQSxHQUFBSixDQUFBLENBQUFLLFdBQUEsOEJBQUFDLEVBQUFOLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsUUFBQUMsQ0FBQSxHQUFBTCxDQUFBLElBQUFBLENBQUEsQ0FBQU0sU0FBQSxZQUFBQyxTQUFBLEdBQUFQLENBQUEsR0FBQU8sU0FBQSxFQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsTUFBQSxDQUFBTCxDQUFBLENBQUFDLFNBQUEsVUFBQUssbUJBQUEsQ0FBQUgsQ0FBQSx1QkFBQVYsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsUUFBQUUsQ0FBQSxFQUFBQyxDQUFBLEVBQUFHLENBQUEsRUFBQUksQ0FBQSxNQUFBQyxDQUFBLEdBQUFYLENBQUEsUUFBQVksQ0FBQSxPQUFBQyxD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
@@ -3,6 +3,7 @@ export { createModelAndProps } from "./createModelAndProps";
3
3
  export { createUpdateArgsFactory, type UpdateArgsFactory } from "./createUpdateArgsFactory";
4
4
  export { execCmd, execCmdWithDispatch } from "./execCmd";
5
5
  export { execSubscription } from "./execSubscription";
6
+ export { getConsecutiveUpdateFn } from "./getConsecutiveUpdate";
6
7
  export { getCreateModelAndProps, getCreateUpdateArgs, type ModelAndPropsFactory } from "./getCreateUpdateArgs";
7
8
  export { getUpdateAndExecCmdFn, getUpdateFn } from "./getUpdateFn";
8
9
  export { initAndExecCmd } from "./initAndExecCmd";
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "execSubscription", {
33
33
  return _execSubscription.execSubscription;
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "getConsecutiveUpdateFn", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _getConsecutiveUpdate.getConsecutiveUpdateFn;
40
+ }
41
+ });
36
42
  Object.defineProperty(exports, "getCreateModelAndProps", {
37
43
  enumerable: true,
38
44
  get: function get() {
@@ -73,8 +79,9 @@ var _createModelAndProps = require("./createModelAndProps");
73
79
  var _createUpdateArgsFactory = require("./createUpdateArgsFactory");
74
80
  var _execCmd = require("./execCmd");
75
81
  var _execSubscription = require("./execSubscription");
82
+ var _getConsecutiveUpdate = require("./getConsecutiveUpdate");
76
83
  var _getCreateUpdateArgs = require("./getCreateUpdateArgs");
77
84
  var _getUpdateFn = require("./getUpdateFn");
78
85
  var _initAndExecCmd = require("./initAndExecCmd");
79
86
  var _renderWithModel = require("./renderWithModel");
80
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JlYXRlTW9kZWxBbmRQcm9wcyIsInJlcXVpcmUiLCJfY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnkiLCJfZXhlY0NtZCIsIl9leGVjU3Vic2NyaXB0aW9uIiwiX2dldENyZWF0ZVVwZGF0ZUFyZ3MiLCJfZ2V0VXBkYXRlRm4iLCJfaW5pdEFuZEV4ZWNDbWQiLCJfcmVuZGVyV2l0aE1vZGVsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBSZW5kZXJXaXRoTW9kZWxPcHRpb25zIH0gZnJvbSBcIi4uL2Zha2VPcHRpb25zXCI7XG5leHBvcnQgeyBjcmVhdGVNb2RlbEFuZFByb3BzIH0gZnJvbSBcIi4vY3JlYXRlTW9kZWxBbmRQcm9wc1wiO1xuZXhwb3J0IHsgY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnksIHR5cGUgVXBkYXRlQXJnc0ZhY3RvcnkgfSBmcm9tIFwiLi9jcmVhdGVVcGRhdGVBcmdzRmFjdG9yeVwiO1xuZXhwb3J0IHsgZXhlY0NtZCwgZXhlY0NtZFdpdGhEaXNwYXRjaCB9IGZyb20gXCIuL2V4ZWNDbWRcIjtcbmV4cG9ydCB7IGV4ZWNTdWJzY3JpcHRpb24gfSBmcm9tIFwiLi9leGVjU3Vic2NyaXB0aW9uXCI7XG5leHBvcnQgeyBnZXRDcmVhdGVNb2RlbEFuZFByb3BzLCBnZXRDcmVhdGVVcGRhdGVBcmdzLCB0eXBlIE1vZGVsQW5kUHJvcHNGYWN0b3J5IH0gZnJvbSBcIi4vZ2V0Q3JlYXRlVXBkYXRlQXJnc1wiO1xuZXhwb3J0IHsgZ2V0VXBkYXRlQW5kRXhlY0NtZEZuLCBnZXRVcGRhdGVGbiB9IGZyb20gXCIuL2dldFVwZGF0ZUZuXCI7XG5leHBvcnQgeyBpbml0QW5kRXhlY0NtZCB9IGZyb20gXCIuL2luaXRBbmRFeGVjQ21kXCI7XG5leHBvcnQgeyByZW5kZXJXaXRoTW9kZWwgfSBmcm9tIFwiLi9yZW5kZXJXaXRoTW9kZWxcIjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxJQUFBQSxvQkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsd0JBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGlCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxvQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sZUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sZ0JBQUEsR0FBQVAsT0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
87
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JlYXRlTW9kZWxBbmRQcm9wcyIsInJlcXVpcmUiLCJfY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnkiLCJfZXhlY0NtZCIsIl9leGVjU3Vic2NyaXB0aW9uIiwiX2dldENvbnNlY3V0aXZlVXBkYXRlIiwiX2dldENyZWF0ZVVwZGF0ZUFyZ3MiLCJfZ2V0VXBkYXRlRm4iLCJfaW5pdEFuZEV4ZWNDbWQiLCJfcmVuZGVyV2l0aE1vZGVsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBSZW5kZXJXaXRoTW9kZWxPcHRpb25zIH0gZnJvbSBcIi4uL2Zha2VPcHRpb25zXCI7XG5leHBvcnQgeyBjcmVhdGVNb2RlbEFuZFByb3BzIH0gZnJvbSBcIi4vY3JlYXRlTW9kZWxBbmRQcm9wc1wiO1xuZXhwb3J0IHsgY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnksIHR5cGUgVXBkYXRlQXJnc0ZhY3RvcnkgfSBmcm9tIFwiLi9jcmVhdGVVcGRhdGVBcmdzRmFjdG9yeVwiO1xuZXhwb3J0IHsgZXhlY0NtZCwgZXhlY0NtZFdpdGhEaXNwYXRjaCB9IGZyb20gXCIuL2V4ZWNDbWRcIjtcbmV4cG9ydCB7IGV4ZWNTdWJzY3JpcHRpb24gfSBmcm9tIFwiLi9leGVjU3Vic2NyaXB0aW9uXCI7XG5leHBvcnQgeyBnZXRDb25zZWN1dGl2ZVVwZGF0ZUZuIH0gZnJvbSBcIi4vZ2V0Q29uc2VjdXRpdmVVcGRhdGVcIjtcbmV4cG9ydCB7IGdldENyZWF0ZU1vZGVsQW5kUHJvcHMsIGdldENyZWF0ZVVwZGF0ZUFyZ3MsIHR5cGUgTW9kZWxBbmRQcm9wc0ZhY3RvcnkgfSBmcm9tIFwiLi9nZXRDcmVhdGVVcGRhdGVBcmdzXCI7XG5leHBvcnQgeyBnZXRVcGRhdGVBbmRFeGVjQ21kRm4sIGdldFVwZGF0ZUZuIH0gZnJvbSBcIi4vZ2V0VXBkYXRlRm5cIjtcbmV4cG9ydCB7IGluaXRBbmRFeGVjQ21kIH0gZnJvbSBcIi4vaW5pdEFuZEV4ZWNDbWRcIjtcbmV4cG9ydCB7IHJlbmRlcldpdGhNb2RlbCB9IGZyb20gXCIuL3JlbmRlcldpdGhNb2RlbFwiO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLElBQUFBLG9CQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyx3QkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLHFCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxvQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sWUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sZUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsZ0JBQUEsR0FBQVIsT0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-elmish",
3
- "version": "10.3.0-beta.1",
3
+ "version": "10.3.0-beta.2",
4
4
  "description": "Elmish for React using Typescript",
5
5
  "author": "atheck",
6
6
  "license": "MIT",
@@ -1,5 +0,0 @@
1
- import type { Immutable } from "immer";
2
- import type { Message } from "../../Types";
3
- import type { UpdateFunctionOptions, UpdateMap } from "../Types";
4
- declare function getChainedUpdateFn<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>): (msg: TMessage, model: Immutable<TModel>, props: TProps, optionsTemplate?: Partial<UpdateFunctionOptions<TProps, TModel, TMessage>>) => Promise<Partial<TModel>>;
5
- export { getChainedUpdateFn };
@@ -1,96 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.getChainedUpdateFn = getChainedUpdateFn;
8
- var _getUpdateFn = require("./getUpdateFn");
9
- function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
10
- function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
11
- function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
12
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
- function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
14
- function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
15
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
19
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
21
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
23
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
24
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
25
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
26
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
27
- function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
28
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
29
- function getChainedUpdateFn(updateMap) {
30
- return /*#__PURE__*/function () {
31
- var _chainedUpdateFn = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(msg, model, props, optionsTemplate) {
32
- var messages, currentModel, totalUpdatedModel, updatedAndExecFn, currentMessages, _iterator, _step, nextMsg, _yield$updatedAndExec, _yield$updatedAndExec2, updatedModel, newMessages, _t;
33
- return _regenerator().w(function (_context) {
34
- while (1) switch (_context.p = _context.n) {
35
- case 0:
36
- messages = [msg];
37
- currentModel = model;
38
- totalUpdatedModel = {};
39
- updatedAndExecFn = (0, _getUpdateFn.getUpdateAndExecCmdFn)(updateMap);
40
- case 1:
41
- if (!(messages.length > 0)) {
42
- _context.n = 10;
43
- break;
44
- }
45
- currentMessages = [];
46
- _iterator = _createForOfIteratorHelper(messages);
47
- _context.p = 2;
48
- _iterator.s();
49
- case 3:
50
- if ((_step = _iterator.n()).done) {
51
- _context.n = 6;
52
- break;
53
- }
54
- nextMsg = _step.value;
55
- _context.n = 4;
56
- return updatedAndExecFn(nextMsg, currentModel, props, optionsTemplate);
57
- case 4:
58
- _yield$updatedAndExec = _context.v;
59
- _yield$updatedAndExec2 = _slicedToArray(_yield$updatedAndExec, 2);
60
- updatedModel = _yield$updatedAndExec2[0];
61
- newMessages = _yield$updatedAndExec2[1];
62
- currentModel = _objectSpread(_objectSpread({}, currentModel), updatedModel);
63
- totalUpdatedModel = _objectSpread(_objectSpread({}, totalUpdatedModel), updatedModel);
64
- currentMessages.push.apply(currentMessages, _toConsumableArray(newMessages));
65
- case 5:
66
- _context.n = 3;
67
- break;
68
- case 6:
69
- _context.n = 8;
70
- break;
71
- case 7:
72
- _context.p = 7;
73
- _t = _context.v;
74
- _iterator.e(_t);
75
- case 8:
76
- _context.p = 8;
77
- _iterator.f();
78
- return _context.f(8);
79
- case 9:
80
- messages = currentMessages.filter(function (message) {
81
- return message != null;
82
- });
83
- _context.n = 1;
84
- break;
85
- case 10:
86
- return _context.a(2, totalUpdatedModel);
87
- }
88
- }, _callee, null, [[2, 7, 8, 9]]);
89
- }));
90
- function chainedUpdateFn(_x, _x2, _x3, _x4) {
91
- return _chainedUpdateFn.apply(this, arguments);
92
- }
93
- return chainedUpdateFn;
94
- }();
95
- }
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0VXBkYXRlRm4iLCJyZXF1aXJlIiwiX3JlZ2VuZXJhdG9yIiwiZSIsInQiLCJyIiwiU3ltYm9sIiwibiIsIml0ZXJhdG9yIiwibyIsInRvU3RyaW5nVGFnIiwiaSIsImMiLCJwcm90b3R5cGUiLCJHZW5lcmF0b3IiLCJ1IiwiT2JqZWN0IiwiY3JlYXRlIiwiX3JlZ2VuZXJhdG9yRGVmaW5lMiIsImYiLCJwIiwieSIsIkciLCJ2IiwiYSIsImQiLCJiaW5kIiwibGVuZ3RoIiwibCIsIlR5cGVFcnJvciIsImNhbGwiLCJkb25lIiwidmFsdWUiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwiZ2V0UHJvdG90eXBlT2YiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImRpc3BsYXlOYW1lIiwidyIsIm0iLCJkZWZpbmVQcm9wZXJ0eSIsIl9yZWdlbmVyYXRvckRlZmluZSIsIl9pbnZva2UiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJfdHlwZW9mIiwidG9QcmltaXRpdmUiLCJTdHJpbmciLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJuZXh0IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfbiIsIkYiLCJzIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInRlc3QiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9uZXh0IiwiX3Rocm93IiwiZ2V0Q2hhaW5lZFVwZGF0ZUZuIiwidXBkYXRlTWFwIiwiX2NoYWluZWRVcGRhdGVGbiIsIl9jYWxsZWUiLCJtc2ciLCJtb2RlbCIsInByb3BzIiwib3B0aW9uc1RlbXBsYXRlIiwibWVzc2FnZXMiLCJjdXJyZW50TW9kZWwiLCJ0b3RhbFVwZGF0ZWRNb2RlbCIsInVwZGF0ZWRBbmRFeGVjRm4iLCJjdXJyZW50TWVzc2FnZXMiLCJfaXRlcmF0b3IiLCJfc3RlcCIsIm5leHRNc2ciLCJfeWllbGQkdXBkYXRlZEFuZEV4ZWMiLCJfeWllbGQkdXBkYXRlZEFuZEV4ZWMyIiwidXBkYXRlZE1vZGVsIiwibmV3TWVzc2FnZXMiLCJfdCIsIl9jb250ZXh0IiwiZ2V0VXBkYXRlQW5kRXhlY0NtZEZuIiwibWVzc2FnZSIsImNoYWluZWRVcGRhdGVGbiIsIl94IiwiX3gyIiwiX3gzIiwiX3g0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltbXV0YWJsZS90ZXN0aW5nL2dldENoYWluZWRVcGRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbW11dGFibGUgfSBmcm9tIFwiaW1tZXJcIjtcbmltcG9ydCB0eXBlIHsgTWVzc2FnZSwgTnVsbGFibGUgfSBmcm9tIFwiLi4vLi4vVHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgVXBkYXRlRnVuY3Rpb25PcHRpb25zLCBVcGRhdGVNYXAgfSBmcm9tIFwiLi4vVHlwZXNcIjtcbmltcG9ydCB7IGdldFVwZGF0ZUFuZEV4ZWNDbWRGbiB9IGZyb20gXCIuL2dldFVwZGF0ZUZuXCI7XG5cbmZ1bmN0aW9uIGdldENoYWluZWRVcGRhdGVGbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0dXBkYXRlTWFwOiBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbik6IChcblx0bXNnOiBUTWVzc2FnZSxcblx0bW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+LFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zVGVtcGxhdGU/OiBQYXJ0aWFsPFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+PixcbikgPT4gUHJvbWlzZTxQYXJ0aWFsPFRNb2RlbD4+IHtcblx0cmV0dXJuIGFzeW5jIGZ1bmN0aW9uIGNoYWluZWRVcGRhdGVGbihtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9uc1RlbXBsYXRlKTogUHJvbWlzZTxQYXJ0aWFsPFRNb2RlbD4+IHtcblx0XHRsZXQgbWVzc2FnZXM6IFRNZXNzYWdlW10gPSBbbXNnXTtcblx0XHRsZXQgY3VycmVudE1vZGVsID0gbW9kZWw7XG5cdFx0bGV0IHRvdGFsVXBkYXRlZE1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4gPSB7fTtcblxuXHRcdGNvbnN0IHVwZGF0ZWRBbmRFeGVjRm4gPSBnZXRVcGRhdGVBbmRFeGVjQ21kRm4odXBkYXRlTWFwKTtcblxuXHRcdHdoaWxlIChtZXNzYWdlcy5sZW5ndGggPiAwKSB7XG5cdFx0XHRjb25zdCBjdXJyZW50TWVzc2FnZXM6IE51bGxhYmxlPFRNZXNzYWdlPltdID0gW107XG5cblx0XHRcdGZvciAoY29uc3QgbmV4dE1zZyBvZiBtZXNzYWdlcykge1xuXHRcdFx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9udXJzZXJ5L25vQXdhaXRJbkxvb3A6IFdlIG5lZWQgdG8gYXdhaXQgZWFjaCB1cGRhdGUgc2VxdWVudGlhbGx5XG5cdFx0XHRcdGNvbnN0IFt1cGRhdGVkTW9kZWwsIG5ld01lc3NhZ2VzXSA9IGF3YWl0IHVwZGF0ZWRBbmRFeGVjRm4obmV4dE1zZywgY3VycmVudE1vZGVsLCBwcm9wcywgb3B0aW9uc1RlbXBsYXRlKTtcblxuXHRcdFx0XHRjdXJyZW50TW9kZWwgPSB7IC4uLmN1cnJlbnRNb2RlbCwgLi4udXBkYXRlZE1vZGVsIH07XG5cdFx0XHRcdHRvdGFsVXBkYXRlZE1vZGVsID0geyAuLi50b3RhbFVwZGF0ZWRNb2RlbCwgLi4udXBkYXRlZE1vZGVsIH07XG5cblx0XHRcdFx0Y3VycmVudE1lc3NhZ2VzLnB1c2goLi4ubmV3TWVzc2FnZXMpO1xuXHRcdFx0fVxuXG5cdFx0XHRtZXNzYWdlcyA9IGN1cnJlbnRNZXNzYWdlcy5maWx0ZXIoKG1lc3NhZ2UpID0+IG1lc3NhZ2UgIT0gbnVsbCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRvdGFsVXBkYXRlZE1vZGVsO1xuXHR9O1xufVxuXG5leHBvcnQgeyBnZXRDaGFpbmVkVXBkYXRlRm4gfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBLElBQUFBLFlBQUEsR0FBQUMsT0FBQTtBQUFzRCxTQUFBQyxhQUFBLElBRnRELHVLQUFBQyxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSx3QkFBQUMsTUFBQSxHQUFBQSxNQUFBLE9BQUFDLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxRQUFBLGtCQUFBQyxDQUFBLEdBQUFKLENBQUEsQ0FBQUssV0FBQSw4QkFBQUMsRUFBQU4sQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBQyxDQUFBLEdBQUFMLENBQUEsSUFBQUEsQ0FBQSxDQUFBTSxTQUFBLFlBQUFDLFNBQUEsR0FBQVAsQ0FBQSxHQUFBTyxTQUFBLEVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxNQUFBLENBQUFMLENBQUEsQ0FBQUMsU0FBQSxVQUFBSyxtQkFBQSxDQUFBSCxDQUFBLHVCQUFBVixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBRSxD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
@@ -1,3 +0,0 @@
1
- import type { Message, UpdateFunctionOptions, UpdateMap } from "../Types";
2
- declare function getChainedUpdateFn<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>): (msg: TMessage, model: TModel, props: TProps, optionsTemplate?: Partial<UpdateFunctionOptions<TProps, TModel, TMessage>>) => Promise<Partial<TModel>>;
3
- export { getChainedUpdateFn };
@@ -1,96 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.getChainedUpdateFn = getChainedUpdateFn;
8
- var _getUpdateFn = require("./getUpdateFn");
9
- function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
10
- function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
11
- function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
12
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
- function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
14
- function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
15
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
19
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
21
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
23
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
24
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
25
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
26
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
27
- function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
28
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
29
- function getChainedUpdateFn(updateMap) {
30
- return /*#__PURE__*/function () {
31
- var _chainedUpdateFn = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(msg, model, props, optionsTemplate) {
32
- var messages, currentModel, totalUpdatedModel, updatedAndExecFn, currentMessages, _iterator, _step, nextMsg, _yield$updatedAndExec, _yield$updatedAndExec2, updatedModel, newMessages, _t;
33
- return _regenerator().w(function (_context) {
34
- while (1) switch (_context.p = _context.n) {
35
- case 0:
36
- messages = [msg];
37
- currentModel = model;
38
- totalUpdatedModel = {};
39
- updatedAndExecFn = (0, _getUpdateFn.getUpdateAndExecCmdFn)(updateMap);
40
- case 1:
41
- if (!(messages.length > 0)) {
42
- _context.n = 10;
43
- break;
44
- }
45
- currentMessages = [];
46
- _iterator = _createForOfIteratorHelper(messages);
47
- _context.p = 2;
48
- _iterator.s();
49
- case 3:
50
- if ((_step = _iterator.n()).done) {
51
- _context.n = 6;
52
- break;
53
- }
54
- nextMsg = _step.value;
55
- _context.n = 4;
56
- return updatedAndExecFn(nextMsg, currentModel, props, optionsTemplate);
57
- case 4:
58
- _yield$updatedAndExec = _context.v;
59
- _yield$updatedAndExec2 = _slicedToArray(_yield$updatedAndExec, 2);
60
- updatedModel = _yield$updatedAndExec2[0];
61
- newMessages = _yield$updatedAndExec2[1];
62
- currentModel = _objectSpread(_objectSpread({}, currentModel), updatedModel);
63
- totalUpdatedModel = _objectSpread(_objectSpread({}, totalUpdatedModel), updatedModel);
64
- currentMessages.push.apply(currentMessages, _toConsumableArray(newMessages));
65
- case 5:
66
- _context.n = 3;
67
- break;
68
- case 6:
69
- _context.n = 8;
70
- break;
71
- case 7:
72
- _context.p = 7;
73
- _t = _context.v;
74
- _iterator.e(_t);
75
- case 8:
76
- _context.p = 8;
77
- _iterator.f();
78
- return _context.f(8);
79
- case 9:
80
- messages = currentMessages.filter(function (message) {
81
- return message != null;
82
- });
83
- _context.n = 1;
84
- break;
85
- case 10:
86
- return _context.a(2, totalUpdatedModel);
87
- }
88
- }, _callee, null, [[2, 7, 8, 9]]);
89
- }));
90
- function chainedUpdateFn(_x, _x2, _x3, _x4) {
91
- return _chainedUpdateFn.apply(this, arguments);
92
- }
93
- return chainedUpdateFn;
94
- }();
95
- }
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0VXBkYXRlRm4iLCJyZXF1aXJlIiwiX3JlZ2VuZXJhdG9yIiwiZSIsInQiLCJyIiwiU3ltYm9sIiwibiIsIml0ZXJhdG9yIiwibyIsInRvU3RyaW5nVGFnIiwiaSIsImMiLCJwcm90b3R5cGUiLCJHZW5lcmF0b3IiLCJ1IiwiT2JqZWN0IiwiY3JlYXRlIiwiX3JlZ2VuZXJhdG9yRGVmaW5lMiIsImYiLCJwIiwieSIsIkciLCJ2IiwiYSIsImQiLCJiaW5kIiwibGVuZ3RoIiwibCIsIlR5cGVFcnJvciIsImNhbGwiLCJkb25lIiwidmFsdWUiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwiZ2V0UHJvdG90eXBlT2YiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImRpc3BsYXlOYW1lIiwidyIsIm0iLCJkZWZpbmVQcm9wZXJ0eSIsIl9yZWdlbmVyYXRvckRlZmluZSIsIl9pbnZva2UiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJfdHlwZW9mIiwidG9QcmltaXRpdmUiLCJTdHJpbmciLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJuZXh0IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfbiIsIkYiLCJzIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInRlc3QiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9uZXh0IiwiX3Rocm93IiwiZ2V0Q2hhaW5lZFVwZGF0ZUZuIiwidXBkYXRlTWFwIiwiX2NoYWluZWRVcGRhdGVGbiIsIl9jYWxsZWUiLCJtc2ciLCJtb2RlbCIsInByb3BzIiwib3B0aW9uc1RlbXBsYXRlIiwibWVzc2FnZXMiLCJjdXJyZW50TW9kZWwiLCJ0b3RhbFVwZGF0ZWRNb2RlbCIsInVwZGF0ZWRBbmRFeGVjRm4iLCJjdXJyZW50TWVzc2FnZXMiLCJfaXRlcmF0b3IiLCJfc3RlcCIsIm5leHRNc2ciLCJfeWllbGQkdXBkYXRlZEFuZEV4ZWMiLCJfeWllbGQkdXBkYXRlZEFuZEV4ZWMyIiwidXBkYXRlZE1vZGVsIiwibmV3TWVzc2FnZXMiLCJfdCIsIl9jb250ZXh0IiwiZ2V0VXBkYXRlQW5kRXhlY0NtZEZuIiwibWVzc2FnZSIsImNoYWluZWRVcGRhdGVGbiIsIl94IiwiX3gyIiwiX3gzIiwiX3g0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvZ2V0Q2hhaW5lZFVwZGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1lc3NhZ2UsIE51bGxhYmxlLCBVcGRhdGVGdW5jdGlvbk9wdGlvbnMsIFVwZGF0ZU1hcCB9IGZyb20gXCIuLi9UeXBlc1wiO1xuaW1wb3J0IHsgZ2V0VXBkYXRlQW5kRXhlY0NtZEZuIH0gZnJvbSBcIi4vZ2V0VXBkYXRlRm5cIjtcblxuZnVuY3Rpb24gZ2V0Q2hhaW5lZFVwZGF0ZUZuPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHR1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKTogKFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogVE1vZGVsLFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zVGVtcGxhdGU/OiBQYXJ0aWFsPFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+PixcbikgPT4gUHJvbWlzZTxQYXJ0aWFsPFRNb2RlbD4+IHtcblx0cmV0dXJuIGFzeW5jIGZ1bmN0aW9uIGNoYWluZWRVcGRhdGVGbihtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9uc1RlbXBsYXRlKTogUHJvbWlzZTxQYXJ0aWFsPFRNb2RlbD4+IHtcblx0XHRsZXQgbWVzc2FnZXM6IFRNZXNzYWdlW10gPSBbbXNnXTtcblx0XHRsZXQgY3VycmVudE1vZGVsID0gbW9kZWw7XG5cdFx0bGV0IHRvdGFsVXBkYXRlZE1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4gPSB7fTtcblxuXHRcdGNvbnN0IHVwZGF0ZWRBbmRFeGVjRm4gPSBnZXRVcGRhdGVBbmRFeGVjQ21kRm4odXBkYXRlTWFwKTtcblxuXHRcdHdoaWxlIChtZXNzYWdlcy5sZW5ndGggPiAwKSB7XG5cdFx0XHRjb25zdCBjdXJyZW50TWVzc2FnZXM6IE51bGxhYmxlPFRNZXNzYWdlPltdID0gW107XG5cblx0XHRcdGZvciAoY29uc3QgbmV4dE1zZyBvZiBtZXNzYWdlcykge1xuXHRcdFx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9udXJzZXJ5L25vQXdhaXRJbkxvb3A6IFdlIG5lZWQgdG8gYXdhaXQgZWFjaCB1cGRhdGUgc2VxdWVudGlhbGx5XG5cdFx0XHRcdGNvbnN0IFt1cGRhdGVkTW9kZWwsIG5ld01lc3NhZ2VzXSA9IGF3YWl0IHVwZGF0ZWRBbmRFeGVjRm4obmV4dE1zZywgY3VycmVudE1vZGVsLCBwcm9wcywgb3B0aW9uc1RlbXBsYXRlKTtcblxuXHRcdFx0XHRjdXJyZW50TW9kZWwgPSB7IC4uLmN1cnJlbnRNb2RlbCwgLi4udXBkYXRlZE1vZGVsIH07XG5cdFx0XHRcdHRvdGFsVXBkYXRlZE1vZGVsID0geyAuLi50b3RhbFVwZGF0ZWRNb2RlbCwgLi4udXBkYXRlZE1vZGVsIH07XG5cblx0XHRcdFx0Y3VycmVudE1lc3NhZ2VzLnB1c2goLi4ubmV3TWVzc2FnZXMpO1xuXHRcdFx0fVxuXG5cdFx0XHRtZXNzYWdlcyA9IGN1cnJlbnRNZXNzYWdlcy5maWx0ZXIoKG1lc3NhZ2UpID0+IG1lc3NhZ2UgIT0gbnVsbCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRvdGFsVXBkYXRlZE1vZGVsO1xuXHR9O1xufVxuXG5leHBvcnQgeyBnZXRDaGFpbmVkVXBkYXRlRm4gfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLElBQUFBLFlBQUEsR0FBQUMsT0FBQTtBQUFzRCxTQUFBQyxhQUFBLElBQXRELHVLQUFBQyxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSx3QkFBQUMsTUFBQSxHQUFBQSxNQUFBLE9BQUFDLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxRQUFBLGtCQUFBQyxDQUFBLEdBQUFKLENBQUEsQ0FBQUssV0FBQSw4QkFBQUMsRUFBQU4sQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBQyxDQUFBLEdBQUFMLENBQUEsSUFBQUEsQ0FBQSxDQUFBTSxTQUFBLFlBQUFDLFNBQUEsR0FBQVAsQ0FBQSxHQUFBTyxTQUFBLEVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxNQUFBLENBQUFMLENBQUEsQ0FBQUMsU0FBQSxVQUFBSyxtQkFBQSxDQUFBSCxDQUFBLHVCQUFBVixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBRSxDQUFBLEVBQUFDLENBQUEsRUFBQUcsQ0FBQSxFQUFBSSxDQUFBLE1BQUFDLENBQUEsR0FBQVgsQ0FBQSxRQUFBWSxDQUFBLE9BQUFDLENBQUEsS0FBQUYsQ0FBQSxLQUFBYixDQUFBLEtB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