react-elmish 10.0.0-beta.5 → 10.0.0-beta.6

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
@@ -475,29 +475,31 @@ function App(props: Props): JSX.Element {
475
475
  }
476
476
  ```
477
477
 
478
- To update your model in the update map or update function, you return a draft function as first value:
478
+ You can simply update the draft of the model like this:
479
479
 
480
480
  ```ts
481
481
  import { type UpdateMap } from "react-elmish/immutable";
482
482
 
483
483
  const updateMap: UpdateMap<Props, Model, Message> = {
484
- increment (_msg, model) {
485
- model.value += 1; // This will throw an error
484
+ increment(_msg, model) {
485
+ model.value += 1;
486
486
 
487
- return [(draft) => draft.value += 1];
487
+ return [];
488
488
  },
489
489
 
490
- decrement () {
491
- return [(draft) => draft.value -= 1];
490
+ decrement(_msg, model) {
491
+ model.value -= 1;
492
+
493
+ return [];
492
494
  },
493
495
 
494
496
  commandOnly() {
495
- // The first value can be null or undefined
496
- return [null, cmd.ofMsg(Msg.increment())];
497
+ // This will not update the model but only dispatch a command
498
+ return [cmd.ofMsg(Msg.increment())];
497
499
  },
498
500
 
499
501
  doNothing() {
500
- // Return an empty tuple to do nothing
502
+ // This does nothing
501
503
  return [];
502
504
  },
503
505
  };
@@ -13,12 +13,11 @@ var _createCallBase = require("./createCallBase");
13
13
  var _createDefer3 = require("./createDefer");
14
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
15
15
  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); }
16
+ function _toArray(r) { return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest(); }
16
17
  function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
17
18
  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."); }
18
- function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
19
- 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; } } }; }
20
- function _toArray(r) { return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest(); }
21
19
  function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
20
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
22
21
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
23
22
  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."); }
24
23
  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; } }
@@ -79,8 +78,7 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
79
78
  }
80
79
  _this.running = true;
81
80
  var nextMsg = msg;
82
- var modified = false;
83
- do {
81
+ var _loop = function _loop() {
84
82
  var currentMessage = nextMsg;
85
83
  (0, _Common.logMessage)(_this.componentName, currentMessage);
86
84
  var _createDefer = (0, _createDefer3.createDefer)(),
@@ -90,39 +88,22 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
90
88
  var callBase = (0, _createCallBase.createCallBase)(currentMessage, _this.currentModel, _this.props, {
91
89
  defer: defer
92
90
  });
93
- var _this$update = _this.update(_this.currentModel, currentMessage, _this.props, {
91
+ var commands = [];
92
+ _this.currentModel = (0, _immer.produce)(_this.currentModel, function (draft) {
93
+ commands.push.apply(commands, _toConsumableArray(_this.update(draft, currentMessage, _this.props, {
94
94
  defer: defer,
95
95
  callBase: callBase
96
- }),
97
- _this$update2 = _toArray(_this$update),
98
- draftFn = _this$update2[0],
99
- commands = _this$update2.slice(1);
100
- var _getDeferred = getDeferred(),
101
- _getDeferred2 = _slicedToArray(_getDeferred, 2),
102
- deferredDraftFunctions = _getDeferred2[0],
103
- deferredCommands = _getDeferred2[1];
104
- var _iterator = _createForOfIteratorHelper(deferredDraftFunctions),
105
- _step;
106
- try {
107
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
108
- var deferredDraftFn = _step.value;
109
- _this.currentModel = (0, _immer.produce)(_this.currentModel, deferredDraftFn);
110
- modified = true;
111
- }
112
- } catch (err) {
113
- _iterator.e(err);
114
- } finally {
115
- _iterator.f();
116
- }
117
- if (draftFn) {
118
- _this.currentModel = (0, _immer.produce)(_this.currentModel, draftFn);
119
- modified = true;
120
- }
121
- _Common.execCmd.apply(void 0, [_this.dispatch].concat(_toConsumableArray(commands), _toConsumableArray(deferredCommands)));
96
+ })));
97
+ });
98
+ var deferredCommands = getDeferred();
99
+ _Common.execCmd.apply(void 0, [_this.dispatch].concat(commands, _toConsumableArray(deferredCommands)));
122
100
  nextMsg = _this.buffer.shift();
101
+ };
102
+ do {
103
+ _loop();
123
104
  } while (nextMsg);
124
105
  _this.running = false;
125
- if (_this.mounted && modified) {
106
+ if (_this.mounted) {
126
107
  var _Services$logger;
127
108
  (_Services$logger = _Init.Services.logger) === null || _Services$logger === void 0 || _Services$logger.debug("Update model for", _this.componentName, _this.currentModel);
128
109
  _this.forceUpdate();
@@ -195,4 +176,4 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
195
176
  }
196
177
  }]);
197
178
  }(_react["default"].Component);
198
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW1tZXIiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9Db21tb24iLCJfZmFrZU9wdGlvbnMiLCJfSW5pdCIsIl9jcmVhdGVDYWxsQmFzZSIsIl9jcmVhdGVEZWZlcjMiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl90b0NvbnN1bWFibGVBcnJheSIsInIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInQiLCJsZW5ndGgiLCJfbiIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImYiLCJhIiwidSIsImNhbGwiLCJuZXh0IiwiX3RvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfbm9uSXRlcmFibGVSZXN0IiwiZnJvbSIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwidG9TdHJpbmciLCJzbGljZSIsIm5hbWUiLCJ0ZXN0IiwibCIsImkiLCJPYmplY3QiLCJwdXNoIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5Iiwia2V5IiwiX2NyZWF0ZUNsYXNzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJhcHBseSIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJfaW5oZXJpdHMiLCJjcmVhdGUiLCJfc2V0UHJvdG90eXBlT2YiLCJfZGVmaW5lUHJvcGVydHkiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIkVsbUNvbXBvbmVudCIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwicHJvcHMiLCJpbml0IiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfdGhpcyIsIm1zZyIsInJ1bm5pbmciLCJidWZmZXIiLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJjdXJyZW50TWVzc2FnZSIsImxvZ01lc3NhZ2UiLCJjb21wb25lbnROYW1lIiwiX2NyZWF0ZURlZmVyIiwiY3JlYXRlRGVmZXIiLCJfY3JlYXRlRGVmZXIyIiwiZGVmZXIiLCJnZXREZWZlcnJlZCIsImNhbGxCYXNlIiwiY3JlYXRlQ2FsbEJhc2UiLCJjdXJyZW50TW9kZWwiLCJfdGhpcyR1cGRhdGUiLCJ1cGRhdGUiLCJfdGhpcyR1cGRhdGUyIiwiZHJhZnRGbiIsImNvbW1hbmRzIiwiX2dldERlZmVycmVkIiwiX2dldERlZmVycmVkMiIsImRlZmVycmVkRHJhZnRGdW5jdGlvbnMiLCJkZWZlcnJlZENvbW1hbmRzIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJkZWZlcnJlZERyYWZ0Rm4iLCJwcm9kdWNlIiwiZXJyIiwiZXhlY0NtZCIsImRpc3BhdGNoIiwiY29uY2F0Iiwic2hpZnQiLCJtb3VudGVkIiwiX1NlcnZpY2VzJGxvZ2dlciIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiZGVidWciLCJmb3JjZVVwZGF0ZSIsImZha2VPcHRpb25zIiwiZ2V0RmFrZU9wdGlvbnNPbmNlIiwiX3JlZiIsIm1vZGVsIiwiX3JlZjIiLCJjYXN0SW1tdXRhYmxlIiwiZnJlZXplIiwiaW5pdENvbW1hbmRzIiwiY29tcG9uZW50RGlkTW91bnQiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsImdldCIsIlJlYWN0IiwiQ29tcG9uZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltbXV0YWJsZS9FbG1Db21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2FzdEltbXV0YWJsZSwgZnJlZXplLCBwcm9kdWNlLCB0eXBlIEltbXV0YWJsZSB9IGZyb20gXCJpbW1lclwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgZXhlY0NtZCwgbG9nTWVzc2FnZSB9IGZyb20gXCIuLi9Db21tb25cIjtcbmltcG9ydCB7IGdldEZha2VPcHRpb25zT25jZSB9IGZyb20gXCIuLi9mYWtlT3B0aW9uc1wiO1xuaW1wb3J0IHsgU2VydmljZXMgfSBmcm9tIFwiLi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIEluaXRGdW5jdGlvbiwgTWVzc2FnZSwgTnVsbGFibGUgfSBmcm9tIFwiLi4vVHlwZXNcIjtcbmltcG9ydCB7IGNyZWF0ZUNhbGxCYXNlIH0gZnJvbSBcIi4vY3JlYXRlQ2FsbEJhc2VcIjtcbmltcG9ydCB7IGNyZWF0ZURlZmVyIH0gZnJvbSBcIi4vY3JlYXRlRGVmZXJcIjtcbmltcG9ydCB0eXBlIHsgVXBkYXRlRnVuY3Rpb24gfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGZvciBhIHJlYWN0IGNsYXNzIGNvbXBvbmVudCB1c2luZyB0aGUgRWxtaXNoIHBhdHRlcm4uXG4gKiBAZXhwb3J0XG4gKiBAYWJzdHJhY3RcbiAqIEBjbGFzcyBFbG1Db21wb25lbnRcbiAqIEBleHRlbmRzIHtDb21wb25lbnQ8VFByb3BzLCBUTW9kZWw+fVxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzLlxuICogQHRlbXBsYXRlIFRQcm9wcyBUaGUgdHlwZSBvZiB0aGUgcHJvcHMuXG4gKi9cbmFic3RyYWN0IGNsYXNzIEVsbUNvbXBvbmVudDxUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVFByb3BzPiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxUUHJvcHM+IHtcblx0cHJpdmF0ZSBpbml0Q29tbWFuZHM6IE51bGxhYmxlPChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdPiB8IHVuZGVmaW5lZDtcblx0cHJpdmF0ZSByZWFkb25seSBjb21wb25lbnROYW1lOiBzdHJpbmc7XG5cdHByaXZhdGUgcmVhZG9ubHkgYnVmZmVyOiBUTWVzc2FnZVtdID0gW107XG5cdHByaXZhdGUgcnVubmluZyA9IGZhbHNlO1xuXHRwcml2YXRlIG1vdW50ZWQgPSBmYWxzZTtcblx0cHJpdmF0ZSBjdXJyZW50TW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+O1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIEVsbUNvbXBvbmVudC5cblx0ICogQHBhcmFtIHtUUHJvcHN9IHByb3BzIFRoZSBwcm9wcyBmb3IgdGhlIGNvbXBvbmVudC5cblx0ICogQHBhcmFtIHsoKSA9PiBUTW9kZWx9IGluaXQgVGhlIGluaXRpYWxpemVyIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgY29tcG9uZW50LlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IFRQcm9wcywgaW5pdDogSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sIG5hbWU6IHN0cmluZykge1xuXHRcdHN1cGVyKHByb3BzKTtcblxuXHRcdGNvbnN0IGZha2VPcHRpb25zID0gZ2V0RmFrZU9wdGlvbnNPbmNlPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cblx0XHRpZiAoZmFrZU9wdGlvbnM/LmRpc3BhdGNoKSB7XG5cdFx0XHR0aGlzLmRpc3BhdGNoID0gZmFrZU9wdGlvbnMuZGlzcGF0Y2g7XG5cdFx0fVxuXG5cdFx0Y29uc3QgW21vZGVsLCAuLi5jb21tYW5kc10gPSBmYWtlT3B0aW9ucz8ubW9kZWwgPyBbZmFrZU9wdGlvbnMubW9kZWwgYXMgVE1vZGVsXSA6IGluaXQodGhpcy5wcm9wcyk7XG5cblx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiSW5pdGlhbCBtb2RlbCBmb3JcIiwgbmFtZSwgbW9kZWwpO1xuXG5cdFx0dGhpcy5jb21wb25lbnROYW1lID0gbmFtZTtcblx0XHR0aGlzLmN1cnJlbnRNb2RlbCA9IGNhc3RJbW11dGFibGUoZnJlZXplKG1vZGVsLCB0cnVlKSk7XG5cdFx0dGhpcy5pbml0Q29tbWFuZHMgPSBjb21tYW5kcztcblx0fVxuXG5cdC8qKlxuXHQgKiBJcyBjYWxsZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGxvYWRlZC5cblx0ICogV2hlbiBpbXBsZW1lbnRpbmcgdGhpcyBtZXRob2QsIHRoZSBiYXNlIGltcGxlbWVudGF0aW9uIGhhcyB0byBiZSBjYWxsZWQuXG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBjb21wb25lbnREaWRNb3VudCgpOiB2b2lkIHtcblx0XHR0aGlzLm1vdW50ZWQgPSB0cnVlO1xuXG5cdFx0aWYgKHRoaXMuaW5pdENvbW1hbmRzKSB7XG5cdFx0XHRleGVjQ21kKHRoaXMuZGlzcGF0Y2gsIC4uLnRoaXMuaW5pdENvbW1hbmRzKTtcblx0XHRcdHRoaXMuaW5pdENvbW1hbmRzID0gbnVsbDtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogSXMgY2FsbGVkIGJlZm9yZSB1bmxvYWRpbmcgdGhlIGNvbXBvbmVudC5cblx0ICogV2hlbiBpbXBsZW1lbnRpbmcgdGhpcyBtZXRob2QsIHRoZSBiYXNlIGltcGxlbWVudGF0aW9uIGhhcyB0byBiZSBjYWxsZWQuXG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBjb21wb25lbnRXaWxsVW5tb3VudCgpOiB2b2lkIHtcblx0XHR0aGlzLm1vdW50ZWQgPSBmYWxzZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBjdXJyZW50IG1vZGVsLlxuXHQgKiBAcmVhZG9ubHlcblx0ICogQHR5cGUge1JlYWRvbmx5PFRNb2RlbD59XG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bnVzZWQtY2xhc3MtY29tcG9uZW50LW1ldGhvZHMgLS0gV2UgbmVlZCBpdCBpbnRlcm5hbGx5LlxuXHRwdWJsaWMgZ2V0IG1vZGVsKCk6IEltbXV0YWJsZTxUTW9kZWw+IHtcblx0XHRyZXR1cm4gdGhpcy5jdXJyZW50TW9kZWw7XG5cdH1cblxuXHQvKipcblx0ICogRGlzcGF0Y2hlcyBhIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBkaXNwYXRjaC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIHJlYWRvbmx5IGRpc3BhdGNoID0gKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcblx0XHRpZiAodGhpcy5ydW5uaW5nKSB7XG5cdFx0XHR0aGlzLmJ1ZmZlci5wdXNoKG1zZyk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLnJ1bm5pbmcgPSB0cnVlO1xuXG5cdFx0bGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuXHRcdGxldCBtb2RpZmllZCA9IGZhbHNlO1xuXG5cdFx0ZG8ge1xuXHRcdFx0Y29uc3QgY3VycmVudE1lc3NhZ2UgPSBuZXh0TXNnO1xuXG5cdFx0XHRsb2dNZXNzYWdlKHRoaXMuY29tcG9uZW50TmFtZSwgY3VycmVudE1lc3NhZ2UpO1xuXG5cdFx0XHRjb25zdCBbZGVmZXIsIGdldERlZmVycmVkXSA9IGNyZWF0ZURlZmVyPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cdFx0XHRjb25zdCBjYWxsQmFzZSA9IGNyZWF0ZUNhbGxCYXNlKGN1cnJlbnRNZXNzYWdlLCB0aGlzLmN1cnJlbnRNb2RlbCwgdGhpcy5wcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdFx0Y29uc3QgW2RyYWZ0Rm4sIC4uLmNvbW1hbmRzXSA9IHRoaXMudXBkYXRlKHRoaXMuY3VycmVudE1vZGVsLCBjdXJyZW50TWVzc2FnZSwgdGhpcy5wcm9wcywgeyBkZWZlciwgY2FsbEJhc2UgfSk7XG5cblx0XHRcdGNvbnN0IFtkZWZlcnJlZERyYWZ0RnVuY3Rpb25zLCBkZWZlcnJlZENvbW1hbmRzXSA9IGdldERlZmVycmVkKCk7XG5cblx0XHRcdGZvciAoY29uc3QgZGVmZXJyZWREcmFmdEZuIG9mIGRlZmVycmVkRHJhZnRGdW5jdGlvbnMpIHtcblx0XHRcdFx0dGhpcy5jdXJyZW50TW9kZWwgPSBwcm9kdWNlKHRoaXMuY3VycmVudE1vZGVsLCBkZWZlcnJlZERyYWZ0Rm4pO1xuXG5cdFx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKGRyYWZ0Rm4pIHtcblx0XHRcdFx0dGhpcy5jdXJyZW50TW9kZWwgPSBwcm9kdWNlKHRoaXMuY3VycmVudE1vZGVsLCBkcmFmdEZuKTtcblxuXHRcdFx0XHRtb2RpZmllZCA9IHRydWU7XG5cdFx0XHR9XG5cblx0XHRcdGV4ZWNDbWQodGhpcy5kaXNwYXRjaCwgLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHMpO1xuXG5cdFx0XHRuZXh0TXNnID0gdGhpcy5idWZmZXIuc2hpZnQoKTtcblx0XHR9IHdoaWxlIChuZXh0TXNnKTtcblxuXHRcdHRoaXMucnVubmluZyA9IGZhbHNlO1xuXG5cdFx0aWYgKHRoaXMubW91bnRlZCAmJiBtb2RpZmllZCkge1xuXHRcdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIlVwZGF0ZSBtb2RlbCBmb3JcIiwgdGhpcy5jb21wb25lbnROYW1lLCB0aGlzLmN1cnJlbnRNb2RlbCk7XG5cdFx0XHR0aGlzLmZvcmNlVXBkYXRlKCk7XG5cdFx0fVxuXHR9O1xuXG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0byBtb2RpZnkgdGhlIG1vZGVsIGJhc2VkIG9uIGEgbWVzc2FnZS5cblx0ICogQHBhcmFtIHtUTW9kZWx9IG1vZGVsIFRoZSBjdXJyZW50IG1vZGVsLlxuXHQgKiBAcGFyYW0ge1RNZXNzYWdlfSBtc2cgVGhlIG1lc3NhZ2UgdG8gcHJvY2Vzcy5cblx0ICogQHBhcmFtIHtUUHJvcHN9IHByb3BzIFRoZSBwcm9wcyBvZiB0aGUgY29tcG9uZW50LlxuXHQgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIHVwZGF0ZSBmdW5jdGlvbi5cblx0ICogQHJldHVybnMgVGhlIG5ldyBtb2RlbCAoY2FuIGFsc28gYmUgYW4gZW1wdHkgb2JqZWN0IHt9KSBhbmQgYW4gb3B0aW9uYWwgbmV3IG1lc3NhZ2UgdG8gZGlzcGF0Y2guXG5cdCAqIEBhYnN0cmFjdFxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgYWJzdHJhY3QgdXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+O1xufVxuXG5leHBvcnQgeyBFbG1Db21wb25lbnQgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksWUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssS0FBQSxHQUFBTCxPQUFBO0FBRUEsSUFBQU0sZUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sYUFBQSxHQUFBUCxPQUFBO0FBQTRDLFNBQUFFLHVCQUFBTSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsZ0JBQUFBLENBQUE7QUFBQSxTQUFBRSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENB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
179
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW1tZXIiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9Db21tb24iLCJfZmFrZU9wdGlvbnMiLCJfSW5pdCIsIl9jcmVhdGVDYWxsQmFzZSIsIl9jcmVhdGVEZWZlcjMiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl90b0FycmF5IiwiciIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX3NsaWNlZFRvQXJyYXkiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJhIiwidCIsInRvU3RyaW5nIiwiY2FsbCIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJsZW5ndGgiLCJuIiwibCIsImkiLCJ1IiwiZiIsIm5leHQiLCJPYmplY3QiLCJkb25lIiwicHVzaCIsInZhbHVlIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5Iiwia2V5IiwiX2NyZWF0ZUNsYXNzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJhcHBseSIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJfaW5oZXJpdHMiLCJjcmVhdGUiLCJfc2V0UHJvdG90eXBlT2YiLCJfZGVmaW5lUHJvcGVydHkiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIkVsbUNvbXBvbmVudCIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwicHJvcHMiLCJpbml0IiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfdGhpcyIsIm1zZyIsInJ1bm5pbmciLCJidWZmZXIiLCJuZXh0TXNnIiwiX2xvb3AiLCJjdXJyZW50TWVzc2FnZSIsImxvZ01lc3NhZ2UiLCJjb21wb25lbnROYW1lIiwiX2NyZWF0ZURlZmVyIiwiY3JlYXRlRGVmZXIiLCJfY3JlYXRlRGVmZXIyIiwiZGVmZXIiLCJnZXREZWZlcnJlZCIsImNhbGxCYXNlIiwiY3JlYXRlQ2FsbEJhc2UiLCJjdXJyZW50TW9kZWwiLCJjb21tYW5kcyIsInByb2R1Y2UiLCJkcmFmdCIsInVwZGF0ZSIsImRlZmVycmVkQ29tbWFuZHMiLCJleGVjQ21kIiwiZGlzcGF0Y2giLCJjb25jYXQiLCJzaGlmdCIsIm1vdW50ZWQiLCJfU2VydmljZXMkbG9nZ2VyIiwiU2VydmljZXMiLCJsb2dnZXIiLCJkZWJ1ZyIsImZvcmNlVXBkYXRlIiwiZmFrZU9wdGlvbnMiLCJnZXRGYWtlT3B0aW9uc09uY2UiLCJfcmVmIiwibW9kZWwiLCJfcmVmMiIsImNhc3RJbW11dGFibGUiLCJmcmVlemUiLCJpbml0Q29tbWFuZHMiLCJjb21wb25lbnREaWRNb3VudCIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwiZ2V0IiwiUmVhY3QiLCJDb21wb25lbnQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1tdXRhYmxlL0VsbUNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYXN0SW1tdXRhYmxlLCBmcmVlemUsIHByb2R1Y2UsIHR5cGUgRHJhZnQsIHR5cGUgSW1tdXRhYmxlIH0gZnJvbSBcImltbWVyXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBleGVjQ21kLCBsb2dNZXNzYWdlIH0gZnJvbSBcIi4uL0NvbW1vblwiO1xuaW1wb3J0IHsgZ2V0RmFrZU9wdGlvbnNPbmNlIH0gZnJvbSBcIi4uL2Zha2VPcHRpb25zXCI7XG5pbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuLi9Jbml0XCI7XG5pbXBvcnQgdHlwZSB7IENtZCwgSW5pdEZ1bmN0aW9uLCBNZXNzYWdlLCBOdWxsYWJsZSB9IGZyb20gXCIuLi9UeXBlc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ2FsbEJhc2UgfSBmcm9tIFwiLi9jcmVhdGVDYWxsQmFzZVwiO1xuaW1wb3J0IHsgY3JlYXRlRGVmZXIgfSBmcm9tIFwiLi9jcmVhdGVEZWZlclwiO1xuaW1wb3J0IHR5cGUgeyBVcGRhdGVGdW5jdGlvbiwgVXBkYXRlUmV0dXJuVHlwZSB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbi8qKlxuICogQWJzdHJhY3QgY2xhc3MgZm9yIGEgcmVhY3QgY2xhc3MgY29tcG9uZW50IHVzaW5nIHRoZSBFbG1pc2ggcGF0dGVybi5cbiAqIEBleHBvcnRcbiAqIEBhYnN0cmFjdFxuICogQGNsYXNzIEVsbUNvbXBvbmVudFxuICogQGV4dGVuZHMge0NvbXBvbmVudDxUUHJvcHMsIFRNb2RlbD59XG4gKiBAdGVtcGxhdGUgVE1vZGVsIFRoZSB0eXBlIG9mIHRoZSBtb2RlbC5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMuXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqL1xuYWJzdHJhY3QgY2xhc3MgRWxtQ29tcG9uZW50PFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUUHJvcHM+IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFRQcm9wcz4ge1xuXHRwcml2YXRlIGluaXRDb21tYW5kczogTnVsbGFibGU8KENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW10+IHwgdW5kZWZpbmVkO1xuXHRwcml2YXRlIHJlYWRvbmx5IGNvbXBvbmVudE5hbWU6IHN0cmluZztcblx0cHJpdmF0ZSByZWFkb25seSBidWZmZXI6IFRNZXNzYWdlW10gPSBbXTtcblx0cHJpdmF0ZSBydW5uaW5nID0gZmFsc2U7XG5cdHByaXZhdGUgbW91bnRlZCA9IGZhbHNlO1xuXHRwcml2YXRlIGN1cnJlbnRNb2RlbDogSW1tdXRhYmxlPFRNb2RlbD47XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRWxtQ29tcG9uZW50LlxuXHQgKiBAcGFyYW0ge1RQcm9wc30gcHJvcHMgVGhlIHByb3BzIGZvciB0aGUgY29tcG9uZW50LlxuXHQgKiBAcGFyYW0geygpID0+IFRNb2RlbH0gaW5pdCBUaGUgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9wczogVFByb3BzLCBpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiwgbmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIocHJvcHMpO1xuXG5cdFx0Y29uc3QgZmFrZU9wdGlvbnMgPSBnZXRGYWtlT3B0aW9uc09uY2U8VE1vZGVsLCBUTWVzc2FnZT4oKTtcblxuXHRcdGlmIChmYWtlT3B0aW9ucz8uZGlzcGF0Y2gpIHtcblx0XHRcdHRoaXMuZGlzcGF0Y2ggPSBmYWtlT3B0aW9ucy5kaXNwYXRjaDtcblx0XHR9XG5cblx0XHRjb25zdCBbbW9kZWwsIC4uLmNvbW1hbmRzXSA9IGZha2VPcHRpb25zPy5tb2RlbCA/IFtmYWtlT3B0aW9ucy5tb2RlbCBhcyBUTW9kZWxdIDogaW5pdCh0aGlzLnByb3BzKTtcblxuXHRcdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJJbml0aWFsIG1vZGVsIGZvclwiLCBuYW1lLCBtb2RlbCk7XG5cblx0XHR0aGlzLmNvbXBvbmVudE5hbWUgPSBuYW1lO1xuXHRcdHRoaXMuY3VycmVudE1vZGVsID0gY2FzdEltbXV0YWJsZShmcmVlemUobW9kZWwsIHRydWUpKTtcblx0XHR0aGlzLmluaXRDb21tYW5kcyA9IGNvbW1hbmRzO1xuXHR9XG5cblx0LyoqXG5cdCAqIElzIGNhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLlxuXHQgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xuXHRcdHRoaXMubW91bnRlZCA9IHRydWU7XG5cblx0XHRpZiAodGhpcy5pbml0Q29tbWFuZHMpIHtcblx0XHRcdGV4ZWNDbWQodGhpcy5kaXNwYXRjaCwgLi4udGhpcy5pbml0Q29tbWFuZHMpO1xuXHRcdFx0dGhpcy5pbml0Q29tbWFuZHMgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBJcyBjYWxsZWQgYmVmb3JlIHVubG9hZGluZyB0aGUgY29tcG9uZW50LlxuXHQgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbXBvbmVudFdpbGxVbm1vdW50KCk6IHZvaWQge1xuXHRcdHRoaXMubW91bnRlZCA9IGZhbHNlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGN1cnJlbnQgbW9kZWwuXG5cdCAqIEByZWFkb25seVxuXHQgKiBAdHlwZSB7UmVhZG9ubHk8VE1vZGVsPn1cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLXVudXNlZC1jbGFzcy1jb21wb25lbnQtbWV0aG9kcyAtLSBXZSBuZWVkIGl0IGludGVybmFsbHkuXG5cdHB1YmxpYyBnZXQgbW9kZWwoKTogSW1tdXRhYmxlPFRNb2RlbD4ge1xuXHRcdHJldHVybiB0aGlzLmN1cnJlbnRNb2RlbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwYXRjaGVzIGEgbWVzc2FnZS5cblx0ICogQHBhcmFtIHtUTWVzc2FnZX0gbXNnIFRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlzcGF0Y2ggPSAobXNnOiBUTWVzc2FnZSk6IHZvaWQgPT4ge1xuXHRcdGlmICh0aGlzLnJ1bm5pbmcpIHtcblx0XHRcdHRoaXMuYnVmZmVyLnB1c2gobXNnKTtcblxuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMucnVubmluZyA9IHRydWU7XG5cblx0XHRsZXQgbmV4dE1zZzogVE1lc3NhZ2UgfCB1bmRlZmluZWQgPSBtc2c7XG5cblx0XHRkbyB7XG5cdFx0XHRjb25zdCBjdXJyZW50TWVzc2FnZSA9IG5leHRNc2c7XG5cblx0XHRcdGxvZ01lc3NhZ2UodGhpcy5jb21wb25lbnROYW1lLCBjdXJyZW50TWVzc2FnZSk7XG5cblx0XHRcdGNvbnN0IFtkZWZlciwgZ2V0RGVmZXJyZWRdID0gY3JlYXRlRGVmZXI8VE1lc3NhZ2U+KCk7XG5cdFx0XHRjb25zdCBjYWxsQmFzZSA9IGNyZWF0ZUNhbGxCYXNlKGN1cnJlbnRNZXNzYWdlLCB0aGlzLmN1cnJlbnRNb2RlbCwgdGhpcy5wcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdFx0Y29uc3QgY29tbWFuZHM6IFVwZGF0ZVJldHVyblR5cGU8VE1lc3NhZ2U+ID0gW107XG5cblx0XHRcdHRoaXMuY3VycmVudE1vZGVsID0gcHJvZHVjZSh0aGlzLmN1cnJlbnRNb2RlbCwgKGRyYWZ0OiBEcmFmdDxUTW9kZWw+KSA9PiB7XG5cdFx0XHRcdGNvbW1hbmRzLnB1c2goLi4udGhpcy51cGRhdGUoZHJhZnQsIGN1cnJlbnRNZXNzYWdlLCB0aGlzLnByb3BzLCB7IGRlZmVyLCBjYWxsQmFzZSB9KSk7XG5cdFx0XHR9KTtcblxuXHRcdFx0Y29uc3QgZGVmZXJyZWRDb21tYW5kcyA9IGdldERlZmVycmVkKCk7XG5cblx0XHRcdGV4ZWNDbWQodGhpcy5kaXNwYXRjaCwgLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHMpO1xuXG5cdFx0XHRuZXh0TXNnID0gdGhpcy5idWZmZXIuc2hpZnQoKTtcblx0XHR9IHdoaWxlIChuZXh0TXNnKTtcblxuXHRcdHRoaXMucnVubmluZyA9IGZhbHNlO1xuXG5cdFx0aWYgKHRoaXMubW91bnRlZCkge1xuXHRcdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIlVwZGF0ZSBtb2RlbCBmb3JcIiwgdGhpcy5jb21wb25lbnROYW1lLCB0aGlzLmN1cnJlbnRNb2RlbCk7XG5cdFx0XHR0aGlzLmZvcmNlVXBkYXRlKCk7XG5cdFx0fVxuXHR9O1xuXG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0byBtb2RpZnkgdGhlIG1vZGVsIGJhc2VkIG9uIGEgbWVzc2FnZS5cblx0ICogQHBhcmFtIHtUTW9kZWx9IG1vZGVsIFRoZSBjdXJyZW50IG1vZGVsLlxuXHQgKiBAcGFyYW0ge1RNZXNzYWdlfSBtc2cgVGhlIG1lc3NhZ2UgdG8gcHJvY2Vzcy5cblx0ICogQHBhcmFtIHtUUHJvcHN9IHByb3BzIFRoZSBwcm9wcyBvZiB0aGUgY29tcG9uZW50LlxuXHQgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIHVwZGF0ZSBmdW5jdGlvbi5cblx0ICogQHJldHVybnMgVGhlIG5ldyBtb2RlbCAoY2FuIGFsc28gYmUgYW4gZW1wdHkgb2JqZWN0IHt9KSBhbmQgYW4gb3B0aW9uYWwgbmV3IG1lc3NhZ2UgdG8gZGlzcGF0Y2guXG5cdCAqIEBhYnN0cmFjdFxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgYWJzdHJhY3QgdXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+O1xufVxuXG5leHBvcnQgeyBFbG1Db21wb25lbnQgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksWUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssS0FBQSxHQUFBTCxPQUFBO0FBRUEsSUFBQU0sZUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sYUFBQSxHQUFBUCxPQUFBO0FBQTRDLFNBQUFFLHVCQUFBTSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsZ0JBQUFBLENBQUE7QUFBQSxTQUFBRSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUYsQ0FBQSxrQkFBQUEsQ0FBQSxnQkFBQUEsQ0FBQSxXQUFBQSxDQUFBLHlCQUFBQyxNQUFBLElBQUFELENBQUEsQ0FBQUcsV0FBQSxLQUFBRixNQUFBLElBQUFELENBQUEsS0FBQUMsTUFBQSxDQUFBRyxTQUFBLHFCQUFBSixDQUFBLEtBQUFELE9BQUEsQ0FBQUMsQ0FBQTtBQUFBLFNBQUFLLFNBQUFDLENBQUEsV0FBQUMsZUFBQSxDQUFBRCxDQUFBLEtBQUFFLGdCQUFBLENBQUFGLENBQUEsS0FBQUcsMkJBQUEsQ0FBQUgsQ0FBQSxLQUFBSSxnQkFBQTtBQUFBLFNBQUFDLG1CQUFBTCxDQUFBLFdBQUFNLGtCQUFBLENBQUFOLENBQUEsS0FBQUUsZ0JBQUEsQ0FBQUYsQ0FBQSxLQUFBRywyQkFBQSxDQUFBSCxDQUFBLEtBQUFPLGtCQUFBO0FBQUEsU0FBQUEsbUJBQUEsY0FBQUMs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
@@ -12,8 +12,8 @@ import type { UpdateReturnType } from "./Types";
12
12
  * };
13
13
  * ```
14
14
  */
15
- declare function errorHandler<TModel, TMessage>(): {
16
- error: (msg: ErrorMessage) => UpdateReturnType<TModel, TMessage>;
15
+ declare function errorHandler<TMessage>(): {
16
+ error: (msg: ErrorMessage) => UpdateReturnType<TMessage>;
17
17
  };
18
18
  /**
19
19
  * Handles an error.
@@ -21,5 +21,5 @@ declare function errorHandler<TModel, TMessage>(): {
21
21
  * Calls the error handling middleware if specified.
22
22
  * @param {Error} error The error.
23
23
  */
24
- declare function handleError<TModel, TMessage>(error: Error): UpdateReturnType<TModel, TMessage>;
24
+ declare function handleError<TMessage>(error: Error): UpdateReturnType<TMessage>;
25
25
  export { errorHandler, handleError };
@@ -41,4 +41,4 @@ function handleError(error) {
41
41
  (_Services$logger = _Init.Services.logger) === null || _Services$logger === void 0 || _Services$logger.error(error);
42
42
  return [];
43
43
  }
44
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW5pdCIsInJlcXVpcmUiLCJlcnJvckhhbmRsZXIiLCJlcnJvciIsIl9yZWYiLCJoYW5kbGVFcnJvciIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJTZXJ2aWNlcyIsImVycm9yTWlkZGxld2FyZSIsImxvZ2dlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbW11dGFibGUvRXJyb3JIYW5kbGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVycm9yTWVzc2FnZSB9IGZyb20gXCIuLi9FcnJvckhhbmRsaW5nXCI7XG5pbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuLi9Jbml0XCI7XG5pbXBvcnQgdHlwZSB7IFVwZGF0ZVJldHVyblR5cGUgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gb2JqZWN0IHRvIGhhbmRsZSBlcnJvciBtZXNzYWdlcyBpbiBhbiB1cGRhdGUgbWFwLlxuICogU3ByZWFkIHRoZSBvYmplY3QgcmV0dXJuZWQgYnkgdGhpcyBmdW5jdGlvbiBpbnRvIHlvdXIgYFVwZGF0ZU1hcGAuXG4gKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyBhbiBlcnJvciBoYW5kbGVyIGZ1bmN0aW9uLlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBjb25zdCB1cGRhdGU6IFVwZGF0ZU1hcDxQcm9wcywgTW9kZWwsIE1lc3NhZ2U+ID0ge1xuICogICAgIC8vIC4uLlxuICogICAgIC4uLmVycm9ySGFuZGxlcigpLFxuICogfTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBlcnJvckhhbmRsZXI8VE1vZGVsLCBUTWVzc2FnZT4oKToge1xuXHRlcnJvcjogKG1zZzogRXJyb3JNZXNzYWdlKSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xufSB7XG5cdHJldHVybiB7XG5cdFx0ZXJyb3IoeyBlcnJvciB9KSB7XG5cdFx0XHRyZXR1cm4gaGFuZGxlRXJyb3IoZXJyb3IpO1xuXHRcdH0sXG5cdH07XG59XG5cbi8qKlxuICogSGFuZGxlcyBhbiBlcnJvci5cbiAqIExvZ3MgdGhlIGVycm9yIGlmIGEgTG9nZ2VyIHdhcyBzcGVjaWZpZWQuXG4gKiBDYWxscyB0aGUgZXJyb3IgaGFuZGxpbmcgbWlkZGxld2FyZSBpZiBzcGVjaWZpZWQuXG4gKiBAcGFyYW0ge0Vycm9yfSBlcnJvciBUaGUgZXJyb3IuXG4gKi9cbmZ1bmN0aW9uIGhhbmRsZUVycm9yPFRNb2RlbCwgVE1lc3NhZ2U+KGVycm9yOiBFcnJvcik6IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuXHRpZiAoU2VydmljZXMuZXJyb3JNaWRkbGV3YXJlKSB7XG5cdFx0U2VydmljZXMuZXJyb3JNaWRkbGV3YXJlKGVycm9yKTtcblx0fVxuXHRTZXJ2aWNlcy5sb2dnZXI/LmVycm9yKGVycm9yKTtcblxuXHRyZXR1cm4gW107XG59XG5cbmV4cG9ydCB7IGVycm9ySGFuZGxlciwgaGFuZGxlRXJyb3IgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLElBQUFBLEtBQUEsR0FBQUMsT0FBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLFlBQVlBLENBQUEsRUFFbkI7RUFDRCxPQUFPO0lBQ05DLEtBQUssV0FBTEEsS0FBS0EsQ0FBQUMsSUFBQSxFQUFZO01BQUEsSUFBVEQsS0FBSyxHQUFBQyxJQUFBLENBQUxELEtBQUs7TUFDWixPQUFPRSxXQUFXLENBQUNGLEtBQUssQ0FBQztJQUMxQjtFQUNELENBQUM7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTRSxXQUFXQSxDQUFtQkYsS0FBWSxFQUFzQztFQUFBLElBQUFHLGdCQUFBO0VBQ3hGLElBQUlDLGNBQVEsQ0FBQ0MsZUFBZSxFQUFFO0lBQzdCRCxjQUFRLENBQUNDLGVBQWUsQ0FBQ0wsS0FBSyxDQUFDO0VBQ2hDO0VBQ0EsQ0FBQUcsZ0JBQUEsR0FBQUMsY0FBUSxDQUFDRSxNQUFNLGNBQUFILGdCQUFBLGVBQWZBLGdCQUFBLENBQWlCSCxLQUFLLENBQUNBLEtBQUssQ0FBQztFQUU3QixPQUFPLEVBQUU7QUFDViIsImlnbm9yZUxpc3QiOltdfQ==
44
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW5pdCIsInJlcXVpcmUiLCJlcnJvckhhbmRsZXIiLCJlcnJvciIsIl9yZWYiLCJoYW5kbGVFcnJvciIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJTZXJ2aWNlcyIsImVycm9yTWlkZGxld2FyZSIsImxvZ2dlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbW11dGFibGUvRXJyb3JIYW5kbGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVycm9yTWVzc2FnZSB9IGZyb20gXCIuLi9FcnJvckhhbmRsaW5nXCI7XG5pbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuLi9Jbml0XCI7XG5pbXBvcnQgdHlwZSB7IFVwZGF0ZVJldHVyblR5cGUgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gb2JqZWN0IHRvIGhhbmRsZSBlcnJvciBtZXNzYWdlcyBpbiBhbiB1cGRhdGUgbWFwLlxuICogU3ByZWFkIHRoZSBvYmplY3QgcmV0dXJuZWQgYnkgdGhpcyBmdW5jdGlvbiBpbnRvIHlvdXIgYFVwZGF0ZU1hcGAuXG4gKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyBhbiBlcnJvciBoYW5kbGVyIGZ1bmN0aW9uLlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBjb25zdCB1cGRhdGU6IFVwZGF0ZU1hcDxQcm9wcywgTW9kZWwsIE1lc3NhZ2U+ID0ge1xuICogICAgIC8vIC4uLlxuICogICAgIC4uLmVycm9ySGFuZGxlcigpLFxuICogfTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBlcnJvckhhbmRsZXI8VE1lc3NhZ2U+KCk6IHtcblx0ZXJyb3I6IChtc2c6IEVycm9yTWVzc2FnZSkgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTWVzc2FnZT47XG59IHtcblx0cmV0dXJuIHtcblx0XHRlcnJvcih7IGVycm9yIH0pIHtcblx0XHRcdHJldHVybiBoYW5kbGVFcnJvcihlcnJvcik7XG5cdFx0fSxcblx0fTtcbn1cblxuLyoqXG4gKiBIYW5kbGVzIGFuIGVycm9yLlxuICogTG9ncyB0aGUgZXJyb3IgaWYgYSBMb2dnZXIgd2FzIHNwZWNpZmllZC5cbiAqIENhbGxzIHRoZSBlcnJvciBoYW5kbGluZyBtaWRkbGV3YXJlIGlmIHNwZWNpZmllZC5cbiAqIEBwYXJhbSB7RXJyb3J9IGVycm9yIFRoZSBlcnJvci5cbiAqL1xuZnVuY3Rpb24gaGFuZGxlRXJyb3I8VE1lc3NhZ2U+KGVycm9yOiBFcnJvcik6IFVwZGF0ZVJldHVyblR5cGU8VE1lc3NhZ2U+IHtcblx0aWYgKFNlcnZpY2VzLmVycm9yTWlkZGxld2FyZSkge1xuXHRcdFNlcnZpY2VzLmVycm9yTWlkZGxld2FyZShlcnJvcik7XG5cdH1cblx0U2VydmljZXMubG9nZ2VyPy5lcnJvcihlcnJvcik7XG5cblx0cmV0dXJuIFtdO1xufVxuXG5leHBvcnQgeyBlcnJvckhhbmRsZXIsIGhhbmRsZUVycm9yIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQyxZQUFZQSxDQUFBLEVBRW5CO0VBQ0QsT0FBTztJQUNOQyxLQUFLLFdBQUxBLEtBQUtBLENBQUFDLElBQUEsRUFBWTtNQUFBLElBQVRELEtBQUssR0FBQUMsSUFBQSxDQUFMRCxLQUFLO01BQ1osT0FBT0UsV0FBVyxDQUFDRixLQUFLLENBQUM7SUFDMUI7RUFDRCxDQUFDO0FBQ0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0UsV0FBV0EsQ0FBV0YsS0FBWSxFQUE4QjtFQUFBLElBQUFHLGdCQUFBO0VBQ3hFLElBQUlDLGNBQVEsQ0FBQ0MsZUFBZSxFQUFFO0lBQzdCRCxjQUFRLENBQUNDLGVBQWUsQ0FBQ0wsS0FBSyxDQUFDO0VBQ2hDO0VBQ0EsQ0FBQUcsZ0JBQUEsR0FBQUMsY0FBUSxDQUFDRSxNQUFNLGNBQUFILGdCQUFBLGVBQWZBLGdCQUFBLENBQWlCSCxLQUFLLENBQUNBLEtBQUssQ0FBQztFQUU3QixPQUFPLEVBQUU7QUFDViIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,18 +1,17 @@
1
1
  import type { Draft, Immutable } from "immer";
2
2
  import type { Cmd, Message, SubscriptionResult } from "../Types";
3
- type DraftModelFunction<TModel> = (draft: Draft<TModel>) => void;
4
3
  /**
5
4
  * Type for the return value of the `update` function.
6
5
  */
7
- type UpdateReturnType<TModel, TMessage> = [DraftModelFunction<TModel> | null | undefined, ...(Cmd<TMessage> | undefined)[]] | [];
8
- type DeferFunction<TModel, TMessage> = (draftFn: DraftModelFunction<TModel> | null | undefined, ...commands: (Cmd<TMessage> | undefined)[]) => void;
9
- type CallBaseFunction<TModel, TProps, TMessage> = (fn: (msg: TMessage, model: Immutable<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>) => UpdateReturnType<TModel, Message>) => UpdateReturnType<TModel, TMessage>;
10
- type UpdateMapFunction<TProps, TModel, TMessage> = (msg: TMessage, model: Immutable<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>) => UpdateReturnType<TModel, TMessage>;
6
+ type UpdateReturnType<TMessage> = (Cmd<TMessage> | undefined)[];
7
+ type DeferFunction<TMessage> = (...commands: (Cmd<TMessage> | undefined)[]) => void;
8
+ type CallBaseFunction<TModel, TProps, TMessage> = (fn: (msg: TMessage, model: Draft<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>) => UpdateReturnType<Message>) => [Immutable<TModel>, UpdateReturnType<TMessage>];
9
+ type UpdateMapFunction<TProps, TModel, TMessage> = (msg: TMessage, model: Draft<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>) => UpdateReturnType<TMessage>;
11
10
  interface UpdateFunctionOptions<TProps, TModel, TMessage> {
12
- defer: DeferFunction<TModel, TMessage>;
11
+ defer: DeferFunction<TMessage>;
13
12
  callBase: CallBaseFunction<TModel, TProps, TMessage>;
14
13
  }
15
- type UpdateFunction<TProps, TModel, TMessage extends Message> = (model: Immutable<TModel>, msg: TMessage, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>) => UpdateReturnType<TModel, TMessage>;
14
+ type UpdateFunction<TProps, TModel, TMessage extends Message> = (model: Draft<TModel>, msg: TMessage, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>) => UpdateReturnType<TMessage>;
16
15
  /**
17
16
  * Type for mapping messages to functions.
18
17
  * Use this type to create your update logic for the useElmish hook.
@@ -20,9 +19,9 @@ type UpdateFunction<TProps, TModel, TMessage extends Message> = (model: Immutabl
20
19
  type UpdateMap<TProps, TModel, TMessage extends Message> = {
21
20
  [TMessageName in TMessage["name"]]: (msg: TMessage & {
22
21
  name: TMessageName;
23
- }, model: Immutable<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage & {
22
+ }, model: Draft<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage & {
24
23
  name: TMessageName;
25
- }>) => UpdateReturnType<TModel, TMessage>;
24
+ }>) => UpdateReturnType<TMessage>;
26
25
  };
27
26
  type Subscription<TProps, TModel, TMessage> = (model: Immutable<TModel>, props: TProps) => SubscriptionResult<TMessage>;
28
- export type { CallBaseFunction, DeferFunction, DraftModelFunction, Subscription, UpdateFunction, UpdateFunctionOptions, UpdateMap, UpdateMapFunction, UpdateReturnType, };
27
+ export type { CallBaseFunction, DeferFunction, Subscription, UpdateFunction, UpdateFunctionOptions, UpdateMap, UpdateMapFunction, UpdateReturnType, };
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltbXV0YWJsZS9UeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERyYWZ0LCBJbW11dGFibGUgfSBmcm9tIFwiaW1tZXJcIjtcbmltcG9ydCB0eXBlIHsgQ21kLCBNZXNzYWdlLCBTdWJzY3JpcHRpb25SZXN1bHQgfSBmcm9tIFwiLi4vVHlwZXNcIjtcblxudHlwZSBEcmFmdE1vZGVsRnVuY3Rpb248VE1vZGVsPiA9IChkcmFmdDogRHJhZnQ8VE1vZGVsPikgPT4gdm9pZDtcblxuLyoqXG4gKiBUeXBlIGZvciB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBgdXBkYXRlYCBmdW5jdGlvbi5cbiAqL1xudHlwZSBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+ID0gW0RyYWZ0TW9kZWxGdW5jdGlvbjxUTW9kZWw+IHwgbnVsbCB8IHVuZGVmaW5lZCwgLi4uKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW11dIHwgW107XG5cbnR5cGUgRGVmZXJGdW5jdGlvbjxUTW9kZWwsIFRNZXNzYWdlPiA9IChcblx0ZHJhZnRGbjogRHJhZnRNb2RlbEZ1bmN0aW9uPFRNb2RlbD4gfCBudWxsIHwgdW5kZWZpbmVkLFxuXHQuLi5jb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW11cbikgPT4gdm9pZDtcbnR5cGUgQ2FsbEJhc2VGdW5jdGlvbjxUTW9kZWwsIFRQcm9wcywgVE1lc3NhZ2U+ID0gKFxuXHRmbjogKFxuXHRcdG1zZzogVE1lc3NhZ2UsXG5cdFx0bW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+LFxuXHRcdHByb3BzOiBUUHJvcHMsXG5cdFx0b3B0aW9uczogVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG5cdCkgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIE1lc3NhZ2U+LFxuKSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG50eXBlIFVwZGF0ZU1hcEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gPSAoXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPixcblx0cHJvcHM6IFRQcm9wcyxcblx0b3B0aW9uczogVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4pID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT47XG5cbmludGVyZmFjZSBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB7XG5cdGRlZmVyOiBEZWZlckZ1bmN0aW9uPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXHRjYWxsQmFzZTogQ2FsbEJhc2VGdW5jdGlvbjxUTW9kZWwsIFRQcm9wcywgVE1lc3NhZ2U+O1xufVxuXG50eXBlIFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+ID0gKFxuXHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdG1zZzogVE1lc3NhZ2UsXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG4vKipcbiAqIFR5cGUgZm9yIG1hcHBpbmcgbWVzc2FnZXMgdG8gZnVuY3Rpb25zLlxuICogVXNlIHRoaXMgdHlwZSB0byBjcmVhdGUgeW91ciB1cGRhdGUgbG9naWMgZm9yIHRoZSB1c2VFbG1pc2ggaG9vay5cbiAqL1xudHlwZSBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4gPSB7XG5cdFtUTWVzc2FnZU5hbWUgaW4gVE1lc3NhZ2VbXCJuYW1lXCJdXTogKFxuXHRcdG1zZzogVE1lc3NhZ2UgJiB7IG5hbWU6IFRNZXNzYWdlTmFtZSB9LFxuXHRcdG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPixcblx0XHRwcm9wczogVFByb3BzLFxuXHRcdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgJiB7IG5hbWU6IFRNZXNzYWdlTmFtZSB9Pixcblx0KSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xufTtcblxudHlwZSBTdWJzY3JpcHRpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiA9IChtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sIHByb3BzOiBUUHJvcHMpID0+IFN1YnNjcmlwdGlvblJlc3VsdDxUTWVzc2FnZT47XG5cbmV4cG9ydCB0eXBlIHtcblx0Q2FsbEJhc2VGdW5jdGlvbixcblx0RGVmZXJGdW5jdGlvbixcblx0RHJhZnRNb2RlbEZ1bmN0aW9uLFxuXHRTdWJzY3JpcHRpb24sXG5cdFVwZGF0ZUZ1bmN0aW9uLFxuXHRVcGRhdGVGdW5jdGlvbk9wdGlvbnMsXG5cdFVwZGF0ZU1hcCxcblx0VXBkYXRlTWFwRnVuY3Rpb24sXG5cdFVwZGF0ZVJldHVyblR5cGUsXG59O1xuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltbXV0YWJsZS9UeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERyYWZ0LCBJbW11dGFibGUgfSBmcm9tIFwiaW1tZXJcIjtcbmltcG9ydCB0eXBlIHsgQ21kLCBNZXNzYWdlLCBTdWJzY3JpcHRpb25SZXN1bHQgfSBmcm9tIFwiLi4vVHlwZXNcIjtcblxuLyoqXG4gKiBUeXBlIGZvciB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBgdXBkYXRlYCBmdW5jdGlvbi5cbiAqL1xudHlwZSBVcGRhdGVSZXR1cm5UeXBlPFRNZXNzYWdlPiA9IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdO1xuXG50eXBlIERlZmVyRnVuY3Rpb248VE1lc3NhZ2U+ID0gKC4uLmNvbW1hbmRzOiAoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXSkgPT4gdm9pZDtcbnR5cGUgQ2FsbEJhc2VGdW5jdGlvbjxUTW9kZWwsIFRQcm9wcywgVE1lc3NhZ2U+ID0gKFxuXHRmbjogKFxuXHRcdG1zZzogVE1lc3NhZ2UsXG5cdFx0bW9kZWw6IERyYWZ0PFRNb2RlbD4sXG5cdFx0cHJvcHM6IFRQcm9wcyxcblx0XHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcblx0KSA9PiBVcGRhdGVSZXR1cm5UeXBlPE1lc3NhZ2U+LFxuKSA9PiBbSW1tdXRhYmxlPFRNb2RlbD4sIFVwZGF0ZVJldHVyblR5cGU8VE1lc3NhZ2U+XTtcblxudHlwZSBVcGRhdGVNYXBGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0gKFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogRHJhZnQ8VE1vZGVsPixcblx0cHJvcHM6IFRQcm9wcyxcblx0b3B0aW9uczogVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4pID0+IFVwZGF0ZVJldHVyblR5cGU8VE1lc3NhZ2U+O1xuXG5pbnRlcmZhY2UgVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4ge1xuXHRkZWZlcjogRGVmZXJGdW5jdGlvbjxUTWVzc2FnZT47XG5cdGNhbGxCYXNlOiBDYWxsQmFzZUZ1bmN0aW9uPFRNb2RlbCwgVFByb3BzLCBUTWVzc2FnZT47XG59XG5cbnR5cGUgVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4gPSAoXG5cdG1vZGVsOiBEcmFmdDxUTW9kZWw+LFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbikgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTWVzc2FnZT47XG5cbi8qKlxuICogVHlwZSBmb3IgbWFwcGluZyBtZXNzYWdlcyB0byBmdW5jdGlvbnMuXG4gKiBVc2UgdGhpcyB0eXBlIHRvIGNyZWF0ZSB5b3VyIHVwZGF0ZSBsb2dpYyBmb3IgdGhlIHVzZUVsbWlzaCBob29rLlxuICovXG50eXBlIFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiA9IHtcblx0W1RNZXNzYWdlTmFtZSBpbiBUTWVzc2FnZVtcIm5hbWVcIl1dOiAoXG5cdFx0bXNnOiBUTWVzc2FnZSAmIHsgbmFtZTogVE1lc3NhZ2VOYW1lIH0sXG5cdFx0bW9kZWw6IERyYWZ0PFRNb2RlbD4sXG5cdFx0cHJvcHM6IFRQcm9wcyxcblx0XHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlICYgeyBuYW1lOiBUTWVzc2FnZU5hbWUgfT4sXG5cdCkgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTWVzc2FnZT47XG59O1xuXG50eXBlIFN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0gKG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPiwgcHJvcHM6IFRQcm9wcykgPT4gU3Vic2NyaXB0aW9uUmVzdWx0PFRNZXNzYWdlPjtcblxuZXhwb3J0IHR5cGUge1xuXHRDYWxsQmFzZUZ1bmN0aW9uLFxuXHREZWZlckZ1bmN0aW9uLFxuXHRTdWJzY3JpcHRpb24sXG5cdFVwZGF0ZUZ1bmN0aW9uLFxuXHRVcGRhdGVGdW5jdGlvbk9wdGlvbnMsXG5cdFVwZGF0ZU1hcCxcblx0VXBkYXRlTWFwRnVuY3Rpb24sXG5cdFVwZGF0ZVJldHVyblR5cGUsXG59O1xuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
@@ -1,4 +1,4 @@
1
- import type { Immutable } from "immer";
1
+ import { type Immutable } from "immer";
2
2
  import type { Message } from "../Types";
3
3
  import type { CallBaseFunction, UpdateFunctionOptions } from "./Types";
4
4
  declare function createCallBase<TProps, TModel, TMessage extends Message>(msg: TMessage, model: Immutable<TModel>, props: TProps, options: Omit<UpdateFunctionOptions<TProps, TModel, TMessage>, "callBase">): CallBaseFunction<TModel, TProps, TMessage>;
@@ -1,24 +1,33 @@
1
1
  "use strict";
2
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); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.createCallBase = createCallBase;
7
- 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); }
8
+ var _immer = require("immer");
8
9
  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; }
9
10
  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; }
10
11
  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; }
11
12
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
13
  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); }
14
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
15
+ 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."); }
16
+ 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; } }
17
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
18
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
19
+ 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; }
13
20
  function createCallBase(msg, model, props, options) {
14
21
  var _callBase = function callBase(fn) {
15
- return (
22
+ var commands = [];
23
+ var updatedModel = (0, _immer.produce)(model, function (draft) {
16
24
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- The current TMessage must be extended from Message
17
- fn(msg, model, props, _objectSpread(_objectSpread({}, options), {}, {
25
+ commands.push.apply(commands, _toConsumableArray(fn(msg, draft, props, _objectSpread(_objectSpread({}, options), {}, {
18
26
  callBase: _callBase
19
- }))
20
- );
27
+ }))));
28
+ });
29
+ return [updatedModel, commands];
21
30
  };
22
31
  return _callBase;
23
32
  }
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDYWxsQmFzZSIsIm1zZyIsIm1vZGVsIiwicHJvcHMiLCJvcHRpb25zIiwiY2FsbEJhc2UiLCJmbiIsIl9vYmplY3RTcHJlYWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1tdXRhYmxlL2NyZWF0ZUNhbGxCYXNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW1tdXRhYmxlIH0gZnJvbSBcImltbWVyXCI7XG5pbXBvcnQgdHlwZSB7IE1lc3NhZ2UgfSBmcm9tIFwiLi4vVHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgQ2FsbEJhc2VGdW5jdGlvbiwgVXBkYXRlRnVuY3Rpb25PcHRpb25zLCBVcGRhdGVSZXR1cm5UeXBlIH0gZnJvbSBcIi4vVHlwZXNcIjtcblxuZnVuY3Rpb24gY3JlYXRlQ2FsbEJhc2U8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPixcblx0cHJvcHM6IFRQcm9wcyxcblx0b3B0aW9uczogT21pdDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiwgXCJjYWxsQmFzZVwiPixcbik6IENhbGxCYXNlRnVuY3Rpb248VE1vZGVsLCBUUHJvcHMsIFRNZXNzYWdlPiB7XG5cdGNvbnN0IGNhbGxCYXNlOiBDYWxsQmFzZUZ1bmN0aW9uPFRNb2RlbCwgVFByb3BzLCBUTWVzc2FnZT4gPSAoZm4pID0+XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb24gLS0gVGhlIGN1cnJlbnQgVE1lc3NhZ2UgbXVzdCBiZSBleHRlbmRlZCBmcm9tIE1lc3NhZ2Vcblx0XHRmbihtc2csIG1vZGVsLCBwcm9wcywgeyAuLi5vcHRpb25zLCBjYWxsQmFzZSB9KSBhcyBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG5cdHJldHVybiBjYWxsQmFzZTtcbn1cblxuZXhwb3J0IHsgY3JlYXRlQ2FsbEJhc2UgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBSUEsU0FBU0EsY0FBY0EsQ0FDdEJDLEdBQWEsRUFDYkMsS0FBd0IsRUFDeEJDLEtBQWEsRUFDYkMsT0FBMEUsRUFDN0I7RUFDN0MsSUFBTUMsU0FBb0QsR0FBRyxTQUF2REEsUUFBb0RBLENBQUlDLEVBQUU7SUFBQTtNQUMvRDtNQUNBQSxFQUFFLENBQUNMLEdBQUcsRUFBRUMsS0FBSyxFQUFFQyxLQUFLLEVBQUFJLGFBQUEsQ0FBQUEsYUFBQSxLQUFPSCxPQUFPO1FBQUVDLFFBQVEsRUFBUkE7TUFBUSxFQUFFO0lBQUM7RUFBQSxDQUFzQztFQUV0RixPQUFPQSxTQUFRO0FBQ2hCIiwiaWdub3JlTGlzdCI6W119
33
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW1tZXIiLCJyZXF1aXJlIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwidmFsdWUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImkiLCJfdG9QcmltaXRpdmUiLCJfdHlwZW9mIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsImEiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwiaXRlcmF0b3IiLCJpc0FycmF5IiwibiIsImNyZWF0ZUNhbGxCYXNlIiwibXNnIiwibW9kZWwiLCJwcm9wcyIsIm9wdGlvbnMiLCJjYWxsQmFzZSIsImZuIiwiY29tbWFuZHMiLCJ1cGRhdGVkTW9kZWwiLCJwcm9kdWNlIiwiZHJhZnQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1tdXRhYmxlL2NyZWF0ZUNhbGxCYXNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb2R1Y2UsIHR5cGUgRHJhZnQsIHR5cGUgSW1tdXRhYmxlIH0gZnJvbSBcImltbWVyXCI7XG5pbXBvcnQgdHlwZSB7IE1lc3NhZ2UgfSBmcm9tIFwiLi4vVHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgQ2FsbEJhc2VGdW5jdGlvbiwgVXBkYXRlRnVuY3Rpb25PcHRpb25zLCBVcGRhdGVSZXR1cm5UeXBlIH0gZnJvbSBcIi4vVHlwZXNcIjtcblxuZnVuY3Rpb24gY3JlYXRlQ2FsbEJhc2U8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPixcblx0cHJvcHM6IFRQcm9wcyxcblx0b3B0aW9uczogT21pdDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiwgXCJjYWxsQmFzZVwiPixcbik6IENhbGxCYXNlRnVuY3Rpb248VE1vZGVsLCBUUHJvcHMsIFRNZXNzYWdlPiB7XG5cdGNvbnN0IGNhbGxCYXNlOiBDYWxsQmFzZUZ1bmN0aW9uPFRNb2RlbCwgVFByb3BzLCBUTWVzc2FnZT4gPSAoZm4pID0+IHtcblx0XHRjb25zdCBjb21tYW5kczogVXBkYXRlUmV0dXJuVHlwZTxUTWVzc2FnZT4gPSBbXTtcblx0XHRjb25zdCB1cGRhdGVkTW9kZWwgPSBwcm9kdWNlKG1vZGVsLCAoZHJhZnQ6IERyYWZ0PFRNb2RlbD4pID0+IHtcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFRoZSBjdXJyZW50IFRNZXNzYWdlIG11c3QgYmUgZXh0ZW5kZWQgZnJvbSBNZXNzYWdlXG5cdFx0XHRjb21tYW5kcy5wdXNoKC4uLihmbihtc2csIGRyYWZ0LCBwcm9wcywgeyAuLi5vcHRpb25zLCBjYWxsQmFzZSB9KSBhcyBVcGRhdGVSZXR1cm5UeXBlPFRNZXNzYWdlPikpO1xuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIFt1cGRhdGVkTW9kZWwsIGNvbW1hbmRzXTtcblx0fTtc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
@@ -1,7 +1,4 @@
1
1
  import type { Cmd, Message } from "../Types";
2
- import type { DeferFunction, DraftModelFunction } from "./Types";
3
- declare function createDefer<TModel, TMessage extends Message>(): [
4
- DeferFunction<TModel, TMessage>,
5
- () => [DraftModelFunction<TModel>[], (Cmd<TMessage> | undefined)[]]
6
- ];
2
+ import type { DeferFunction } from "./Types";
3
+ declare function createDefer<TMessage extends Message>(): [DeferFunction<TMessage>, () => (Cmd<TMessage> | undefined)[]];
7
4
  export { createDefer };
@@ -5,19 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createDefer = createDefer;
7
7
  function createDefer() {
8
- var draftFunctions = [];
9
8
  var deferredCommands = [];
10
- var defer = function defer(tempDraftFn) {
11
- if (tempDraftFn) {
12
- draftFunctions.push(tempDraftFn);
13
- }
14
- for (var _len = arguments.length, tempDeferredCommands = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
15
- tempDeferredCommands[_key - 1] = arguments[_key];
16
- }
17
- deferredCommands.push.apply(deferredCommands, tempDeferredCommands);
9
+ var defer = function defer() {
10
+ deferredCommands.push.apply(deferredCommands, arguments);
18
11
  };
19
12
  return [defer, function () {
20
- return [draftFunctions, deferredCommands];
13
+ return deferredCommands;
21
14
  }];
22
15
  }
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVEZWZlciIsImRyYWZ0RnVuY3Rpb25zIiwiZGVmZXJyZWRDb21tYW5kcyIsImRlZmVyIiwidGVtcERyYWZ0Rm4iLCJwdXNoIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInRlbXBEZWZlcnJlZENvbW1hbmRzIiwiQXJyYXkiLCJfa2V5IiwiYXBwbHkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1tdXRhYmxlL2NyZWF0ZURlZmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ21kLCBNZXNzYWdlIH0gZnJvbSBcIi4uL1R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IERlZmVyRnVuY3Rpb24sIERyYWZ0TW9kZWxGdW5jdGlvbiB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbmZ1bmN0aW9uIGNyZWF0ZURlZmVyPFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPigpOiBbXG5cdERlZmVyRnVuY3Rpb248VE1vZGVsLCBUTWVzc2FnZT4sXG5cdCgpID0+IFtEcmFmdE1vZGVsRnVuY3Rpb248VE1vZGVsPltdLCAoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXV0sXG5dIHtcblx0Y29uc3QgZHJhZnRGdW5jdGlvbnM6IERyYWZ0TW9kZWxGdW5jdGlvbjxUTW9kZWw+W10gPSBbXTtcblx0Y29uc3QgZGVmZXJyZWRDb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW10gPSBbXTtcblxuXHRjb25zdCBkZWZlcjogRGVmZXJGdW5jdGlvbjxUTW9kZWwsIFRNZXNzYWdlPiA9ICh0ZW1wRHJhZnRGbiwgLi4udGVtcERlZmVycmVkQ29tbWFuZHMpID0+IHtcblx0XHRpZiAodGVtcERyYWZ0Rm4pIHtcblx0XHRcdGRyYWZ0RnVuY3Rpb25zLnB1c2godGVtcERyYWZ0Rm4pO1xuXHRcdH1cblxuXHRcdGRlZmVycmVkQ29tbWFuZHMucHVzaCguLi50ZW1wRGVmZXJyZWRDb21tYW5kcyk7XG5cdH07XG5cblx0cmV0dXJuIFtkZWZlciwgKCkgPT4gW2RyYWZ0RnVuY3Rpb25zLCBkZWZlcnJlZENvbW1hbmRzXV07XG59XG5cbmV4cG9ydCB7IGNyZWF0ZURlZmVyIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBLFNBQVNBLFdBQVdBLENBQUEsRUFHbEI7RUFDRCxJQUFNQyxjQUE0QyxHQUFHLEVBQUU7RUFDdkQsSUFBTUMsZ0JBQStDLEdBQUcsRUFBRTtFQUUxRCxJQUFNQyxLQUFzQyxHQUFHLFNBQXpDQSxLQUFzQ0EsQ0FBSUMsV0FBVyxFQUE4QjtJQUN4RixJQUFJQSxXQUFXLEVBQUU7TUFDaEJILGNBQWMsQ0FBQ0ksSUFBSSxDQUFDRCxXQUFXLENBQUM7SUFDakM7SUFBQyxTQUFBRSxJQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxFQUg4REMsb0JBQW9CLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxPQUFBQSxJQUFBLFdBQUFLLElBQUEsTUFBQUEsSUFBQSxHQUFBTCxJQUFBLEVBQUFLLElBQUE7TUFBcEJGLG9CQUFvQixDQUFBRSxJQUFBLFFBQUFKLFNBQUEsQ0FBQUksSUFBQTtJQUFBO0lBS25GVCxnQkFBZ0IsQ0FBQ0csSUFBSSxDQUFBTyxLQUFBLENBQXJCVixnQkFBZ0IsRUFBU08sb0JBQW9CLENBQUM7RUFDL0MsQ0FBQztFQUVELE9BQU8sQ0FBQ04sS0FBSyxFQUFFO0lBQUEsT0FBTSxDQUFDRixjQUFjLEVBQUVDLGdCQUFnQixDQUFDO0VBQUEsRUFBQztBQUN6RCIsImlnbm9yZUxpc3QiOltdfQ==
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVEZWZlciIsImRlZmVycmVkQ29tbWFuZHMiLCJkZWZlciIsInB1c2giLCJhcHBseSIsImFyZ3VtZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbW11dGFibGUvY3JlYXRlRGVmZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDbWQsIE1lc3NhZ2UgfSBmcm9tIFwiLi4vVHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgRGVmZXJGdW5jdGlvbiB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbmZ1bmN0aW9uIGNyZWF0ZURlZmVyPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oKTogW0RlZmVyRnVuY3Rpb248VE1lc3NhZ2U+LCAoKSA9PiAoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXV0ge1xuXHRjb25zdCBkZWZlcnJlZENvbW1hbmRzOiAoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXSA9IFtdO1xuXG5cdGNvbnN0IGRlZmVyOiBEZWZlckZ1bmN0aW9uPFRNZXNzYWdlPiA9ICguLi50ZW1wRGVmZXJyZWRDb21tYW5kcykgPT4ge1xuXHRcdGRlZmVycmVkQ29tbWFuZHMucHVzaCguLi50ZW1wRGVmZXJyZWRDb21tYW5kcyk7XG5cdH07XG5cblx0cmV0dXJuIFtkZWZlciwgKCkgPT4gZGVmZXJyZWRDb21tYW5kc107XG59XG5cbmV4cG9ydCB7IGNyZWF0ZURlZmVyIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBLFNBQVNBLFdBQVdBLENBQUEsRUFBNkY7RUFDaEgsSUFBTUMsZ0JBQStDLEdBQUcsRUFBRTtFQUUxRCxJQUFNQyxLQUE4QixHQUFHLFNBQWpDQSxLQUE4QkEsQ0FBQSxFQUFnQztJQUNuRUQsZ0JBQWdCLENBQUNFLElBQUksQ0FBQUMsS0FBQSxDQUFyQkgsZ0JBQWdCLEVBQUFJLFNBQTZCLENBQUM7RUFDL0MsQ0FBQztFQUVELE9BQU8sQ0FBQ0gsS0FBSyxFQUFFO0lBQUEsT0FBTUQsZ0JBQWdCO0VBQUEsRUFBQztBQUN2QyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -11,15 +11,14 @@ var _testing = require("../../testing");
11
11
  var _createCallBase = require("../createCallBase");
12
12
  var _createDefer5 = require("../createDefer");
13
13
  var _useElmish = require("../useElmish");
14
+ 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; } } }; }
14
15
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
15
16
  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); }
16
17
  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); }); }; }
17
- 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; } } }; }
18
18
  function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
19
19
  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."); }
20
- function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
21
- function _toArray(r) { return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest(); }
22
20
  function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
21
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
23
22
  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; }
24
23
  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; }
25
24
  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; }
@@ -56,40 +55,16 @@ function getUpdateFn(updateMap) {
56
55
  defer: defer,
57
56
  callBase: callBase
58
57
  }, optionsTemplate);
59
- var _callUpdateMap = (0, _useElmish.callUpdateMap)(updateMap, msg, model, props, options),
60
- _callUpdateMap2 = _toArray(_callUpdateMap),
61
- draftFn = _callUpdateMap2[0],
62
- commands = _callUpdateMap2.slice(1);
63
- var _getDeferred = getDeferred(),
64
- _getDeferred2 = _slicedToArray(_getDeferred, 2),
65
- deferredDraftFunctions = _getDeferred2[0],
66
- deferredCommands = _getDeferred2[1];
67
- var allDraftFunctions = [].concat(_toConsumableArray(deferredDraftFunctions), [draftFn]).filter(function (fn) {
68
- return fn != null;
69
- });
70
- var currentModel = model;
58
+ var commands = [];
71
59
  var recordedPatches = [];
72
- var _iterator = _createForOfIteratorHelper(allDraftFunctions),
73
- _step;
74
- try {
75
- var _loop = function _loop() {
76
- var fn = _step.value;
77
- currentModel = (0, _immer.produce)(currentModel, function (draft) {
78
- fn(draft);
79
- }, function (patches) {
80
- recordedPatches.push.apply(recordedPatches, _toConsumableArray(patches));
81
- });
82
- };
83
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
84
- _loop();
85
- }
86
- } catch (err) {
87
- _iterator.e(err);
88
- } finally {
89
- _iterator.f();
90
- }
91
- var diff = getDiffFromPatches(recordedPatches, currentModel);
92
- return [diff].concat(_toConsumableArray(commands), _toConsumableArray(deferredCommands));
60
+ var updatedModel = (0, _immer.produce)(model, function (draft) {
61
+ commands.push.apply(commands, _toConsumableArray((0, _useElmish.callUpdateMap)(updateMap, msg, draft, props, options)));
62
+ }, function (patches) {
63
+ recordedPatches.push.apply(recordedPatches, _toConsumableArray(patches));
64
+ });
65
+ var deferredCommands = getDeferred();
66
+ var diff = getDiffFromPatches(recordedPatches, updatedModel);
67
+ return [diff].concat(commands, _toConsumableArray(deferredCommands));
93
68
  };
94
69
  }
95
70
 
@@ -106,9 +81,9 @@ function getUpdateFn(updateMap) {
106
81
  function getUpdateAndExecCmdFn(updateMap) {
107
82
  return /*#__PURE__*/function () {
108
83
  var _updateAndExecCmdFn = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(msg, model, props, optionsTemplate) {
109
- var _createDefer3, _createDefer4, defer, getDeferred, callBase, options, _callUpdateMap3, _callUpdateMap4, draftFn, commands, _getDeferred3, _getDeferred4, deferredDraftFunctions, deferredCommands, allDraftFunctions, currentModel, recordedPatches, _iterator2, _step2, _loop2, diff, messages;
110
- return _regeneratorRuntime().wrap(function _callee$(_context2) {
111
- while (1) switch (_context2.prev = _context2.next) {
84
+ var _createDefer3, _createDefer4, defer, getDeferred, callBase, options, commands, recordedPatches, updatedModel, deferredCommands, diff, messages;
85
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
86
+ while (1) switch (_context.prev = _context.next) {
112
87
  case 0:
113
88
  _createDefer3 = (0, _createDefer5.createDefer)(), _createDefer4 = _slicedToArray(_createDefer3, 2), defer = _createDefer4[0], getDeferred = _createDefer4[1];
114
89
  callBase = (0, _createCallBase.createCallBase)(msg, model, props, {
@@ -118,65 +93,25 @@ function getUpdateAndExecCmdFn(updateMap) {
118
93
  defer: defer,
119
94
  callBase: callBase
120
95
  }, optionsTemplate);
121
- _callUpdateMap3 = (0, _useElmish.callUpdateMap)(updateMap, msg, model, props, options), _callUpdateMap4 = _toArray(_callUpdateMap3), draftFn = _callUpdateMap4[0], commands = _callUpdateMap4.slice(1);
122
- _getDeferred3 = getDeferred(), _getDeferred4 = _slicedToArray(_getDeferred3, 2), deferredDraftFunctions = _getDeferred4[0], deferredCommands = _getDeferred4[1];
123
- allDraftFunctions = [draftFn].concat(_toConsumableArray(deferredDraftFunctions)).filter(function (fn) {
124
- return fn != null;
125
- });
126
- currentModel = model;
96
+ commands = [];
127
97
  recordedPatches = [];
128
- _iterator2 = _createForOfIteratorHelper(allDraftFunctions);
129
- _context2.prev = 9;
130
- _loop2 = /*#__PURE__*/_regeneratorRuntime().mark(function _loop2() {
131
- var fn;
132
- return _regeneratorRuntime().wrap(function _loop2$(_context) {
133
- while (1) switch (_context.prev = _context.next) {
134
- case 0:
135
- fn = _step2.value;
136
- currentModel = (0, _immer.produce)(currentModel, function (draft) {
137
- fn(draft);
138
- }, function (patches) {
139
- recordedPatches.push.apply(recordedPatches, _toConsumableArray(patches));
140
- });
141
- case 2:
142
- case "end":
143
- return _context.stop();
144
- }
145
- }, _loop2);
98
+ updatedModel = (0, _immer.produce)(model, function (draft) {
99
+ commands.push.apply(commands, _toConsumableArray((0, _useElmish.callUpdateMap)(updateMap, msg, draft, props, options)));
100
+ }, function (patches) {
101
+ recordedPatches.push.apply(recordedPatches, _toConsumableArray(patches));
146
102
  });
147
- _iterator2.s();
103
+ deferredCommands = getDeferred();
104
+ diff = getDiffFromPatches(recordedPatches, updatedModel);
105
+ _context.next = 10;
106
+ return _testing.execCmd.apply(void 0, commands.concat(_toConsumableArray(deferredCommands)));
107
+ case 10:
108
+ messages = _context.sent;
109
+ return _context.abrupt("return", [diff, messages]);
148
110
  case 12:
149
- if ((_step2 = _iterator2.n()).done) {
150
- _context2.next = 16;
151
- break;
152
- }
153
- return _context2.delegateYield(_loop2(), "t0", 14);
154
- case 14:
155
- _context2.next = 12;
156
- break;
157
- case 16:
158
- _context2.next = 21;
159
- break;
160
- case 18:
161
- _context2.prev = 18;
162
- _context2.t1 = _context2["catch"](9);
163
- _iterator2.e(_context2.t1);
164
- case 21:
165
- _context2.prev = 21;
166
- _iterator2.f();
167
- return _context2.finish(21);
168
- case 24:
169
- diff = getDiffFromPatches(recordedPatches, currentModel);
170
- _context2.next = 27;
171
- return _testing.execCmd.apply(void 0, _toConsumableArray(commands).concat(_toConsumableArray(deferredCommands)));
172
- case 27:
173
- messages = _context2.sent;
174
- return _context2.abrupt("return", [diff, messages]);
175
- case 29:
176
111
  case "end":
177
- return _context2.stop();
112
+ return _context.stop();
178
113
  }
179
- }, _callee, null, [[9, 18, 21, 24]]);
114
+ }, _callee);
180
115
  }));
181
116
  function updateAndExecCmdFn(_x, _x2, _x3, _x4) {
182
117
  return _updateAndExecCmdFn.apply(this, arguments);
@@ -190,11 +125,11 @@ function getDiffFromPatches(patches, model) {
190
125
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
191
126
  /* eslint-disable @typescript-eslint/ban-ts-comment */
192
127
  /* eslint-disable @typescript-eslint/no-dynamic-delete */
193
- var _iterator3 = _createForOfIteratorHelper(patches),
194
- _step3;
128
+ var _iterator = _createForOfIteratorHelper(patches),
129
+ _step;
195
130
  try {
196
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
197
- var patch = _step3.value;
131
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
132
+ var patch = _step.value;
198
133
  // biome-ignore lint/style/noNonNullAssertion: The path is always defined
199
134
  var path = patch.path[0];
200
135
  switch (patch.op) {
@@ -222,10 +157,10 @@ function getDiffFromPatches(patches, model) {
222
157
  /* eslint-enable @typescript-eslint/ban-ts-comment */
223
158
  /* eslint-enable @typescript-eslint/no-unsafe-assignment */
224
159
  } catch (err) {
225
- _iterator3.e(err);
160
+ _iterator.e(err);
226
161
  } finally {
227
- _iterator3.f();
162
+ _iterator.f();
228
163
  }
229
164
  return diff;
230
165
  }
231
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW1tZXIiLCJyZXF1aXJlIiwiX3Rlc3RpbmciLCJfY3JlYXRlQ2FsbEJhc2UiLCJfY3JlYXRlRGVmZXI1IiwiX3VzZUVsbWlzaCIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJlIiwidCIsInIiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJuIiwiaGFzT3duUHJvcGVydHkiLCJvIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImkiLCJTeW1ib2wiLCJhIiwiaXRlcmF0b3IiLCJjIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImNhbGwiLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJfdHlwZW9mIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsImRvbmUiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsIlR5cGVFcnJvciIsInJlc3VsdE5hbWUiLCJuZXh0IiwibmV4dExvYyIsInB1c2hUcnlFbnRyeSIsInRyeUxvYyIsImNhdGNoTG9jIiwiZmluYWxseUxvYyIsImFmdGVyTG9jIiwidHJ5RW50cmllcyIsInB1c2giLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9uIiwiRiIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl90b0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX25vbkl0ZXJhYmxlUmVzdCIsImZyb20iLCJvd25LZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwidG9TdHJpbmciLCJ0ZXN0IiwiZW5hYmxlUGF0Y2hlcyIsImdldFVwZGF0ZUZuIiwidXBkYXRlTWFwIiwidXBkYXRlRm4iLCJtc2ciLCJtb2RlbCIsInByb3BzIiwib3B0aW9uc1RlbXBsYXRlIiwiX2NyZWF0ZURlZmVyIiwiY3JlYXRlRGVmZXIiLCJfY3JlYXRlRGVmZXIyIiwiZGVmZXIiLCJnZXREZWZlcnJlZCIsImNhbGxCYXNlIiwiY3JlYXRlQ2FsbEJhc2UiLCJvcHRpb25zIiwiX2NhbGxVcGRhdGVNYXAiLCJjYWxsVXBkYXRlTWFwIiwiX2NhbGxVcGRhdGVNYXAyIiwiZHJhZnRGbiIsImNvbW1hbmRzIiwiX2dldERlZmVycmVkIiwiX2dldERlZmVycmVkMiIsImRlZmVycmVkRHJhZnRGdW5jdGlvbnMiLCJkZWZlcnJlZENvbW1hbmRzIiwiYWxsRHJhZnRGdW5jdGlvbnMiLCJjb25jYXQiLCJmbiIsImN1cnJlbnRNb2RlbCIsInJlY29yZGVkUGF0Y2hlcyIsIl9pdGVyYXRvciIsIl9zdGVwIiwiX2xvb3AiLCJwcm9kdWNlIiwiZHJhZnQiLCJwYXRjaGVzIiwiZXJyIiwiZGlmZiIsImdldERpZmZGcm9tUGF0Y2hlcyIsImdldFVwZGF0ZUFuZEV4ZWNDbWRGbiIsIl91cGRhdGVBbmRFeGVjQ21kRm4iLCJfY2FsbGVlIiwiX2NyZWF0ZURlZmVyMyIsIl9jcmVhdGVEZWZlcjQiLCJfY2FsbFVwZGF0ZU1hcDMiLCJfY2FsbFVwZGF0ZU1hcDQiLCJfZ2V0RGVmZXJyZWQzIiwiX2dldERlZmVycmVkNCIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJfbG9vcDIiLCJtZXNzYWdlcyIsIl9jYWxsZWUkIiwiX2NvbnRleHQyIiwiX2xvb3AyJCIsIl9jb250ZXh0IiwidDEiLCJleGVjQ21kIiwidXBkYXRlQW5kRXhlY0NtZEZuIiwiX3giLCJfeDIiLCJfeDMiLCJfeDQiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwicGF0Y2giLCJwYXRoIiwib3AiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW1tdXRhYmxlL3Rlc3RpbmcvZ2V0VXBkYXRlRm4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZW5hYmxlUGF0Y2hlcywgcHJvZHVjZSwgdHlwZSBEcmFmdCwgdHlwZSBJbW11dGFibGUsIHR5cGUgUGF0Y2ggfSBmcm9tIFwiaW1tZXJcIjtcbmltcG9ydCB7IGV4ZWNDbWQgfSBmcm9tIFwiLi4vLi4vdGVzdGluZ1wiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIE1lc3NhZ2UsIE51bGxhYmxlIH0gZnJvbSBcIi4uLy4uL1R5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVDYWxsQmFzZSB9IGZyb20gXCIuLi9jcmVhdGVDYWxsQmFzZVwiO1xuaW1wb3J0IHsgY3JlYXRlRGVmZXIgfSBmcm9tIFwiLi4vY3JlYXRlRGVmZXJcIjtcbmltcG9ydCB0eXBlIHsgVXBkYXRlRnVuY3Rpb25PcHRpb25zLCBVcGRhdGVNYXAgfSBmcm9tIFwiLi4vVHlwZXNcIjtcbmltcG9ydCB7IGNhbGxVcGRhdGVNYXAgfSBmcm9tIFwiLi4vdXNlRWxtaXNoXCI7XG5cbmVuYWJsZVBhdGNoZXMoKTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIHVwZGF0ZSBmdW5jdGlvbiBvdXQgb2YgYW4gVXBkYXRlTWFwLlxuICogQHBhcmFtIHVwZGF0ZU1hcCBUaGUgVXBkYXRlTWFwLlxuICogQHJldHVybnMgVGhlIGNyZWF0ZWQgdXBkYXRlIGZ1bmN0aW9uIHdoaWNoIGNhbiBiZSB1c2VkIGluIHRlc3RzLlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHVwZGF0ZUZuID0gZ2V0VXBkYXRlRm4odXBkYXRlKTtcbiAqXG4gKiAvLyBpbiB5b3VyIHRlc3RzOlxuICogY29uc3QgW21vZGVsLCBjbWRdID0gdXBkYXRlRm4oLi4uYXJncyk7XG4gKi9cbmZ1bmN0aW9uIGdldFVwZGF0ZUZuPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHR1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKTogKFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnNUZW1wbGF0ZT86IFBhcnRpYWw8VXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4+LFxuKSA9PiBbUGFydGlhbDxUTW9kZWw+LCAuLi4oQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXV0ge1xuXHRyZXR1cm4gZnVuY3Rpb24gdXBkYXRlRm4obXNnLCBtb2RlbCwgcHJvcHMsIG9wdGlvbnNUZW1wbGF0ZSk6IFtQYXJ0aWFsPFRNb2RlbD4sIC4uLihDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdXSB7XG5cdFx0Y29uc3QgW2RlZmVyLCBnZXREZWZlcnJlZF0gPSBjcmVhdGVEZWZlcjxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXHRcdGNvbnN0IGNhbGxCYXNlID0gY3JlYXRlQ2FsbEJhc2UobXNnLCBtb2RlbCwgcHJvcHMsIHsgZGVmZXIgfSk7XG5cblx0XHRjb25zdCBvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiA9IHtcblx0XHRcdGRlZmVyLFxuXHRcdFx0Y2FsbEJhc2UsXG5cdFx0XHQuLi5vcHRpb25zVGVtcGxhdGUsXG5cdFx0fTtcblxuXHRcdGNvbnN0IFtkcmFmdEZuLCAuLi5jb21tYW5kc10gPSBjYWxsVXBkYXRlTWFwKHVwZGF0ZU1hcCwgbXNnLCBtb2RlbCwgcHJvcHMsIG9wdGlvbnMpO1xuXHRcdGNvbnN0IFtkZWZlcnJlZERyYWZ0RnVuY3Rpb25zLCBkZWZlcnJlZENvbW1hbmRzXSA9IGdldERlZmVycmVkKCk7XG5cblx0XHRjb25zdCBhbGxEcmFmdEZ1bmN0aW9ucyA9IFsuLi5kZWZlcnJlZERyYWZ0RnVuY3Rpb25zLCBkcmFmdEZuXS5maWx0ZXIoKGZuKSA9PiBmbiAhPSBudWxsKTtcblxuXHRcdGxldCBjdXJyZW50TW9kZWwgPSBtb2RlbDtcblx0XHRjb25zdCByZWNvcmRlZFBhdGNoZXM6IFBhdGNoW10gPSBbXTtcblxuXHRcdGZvciAoY29uc3QgZm4gb2YgYWxsRHJhZnRGdW5jdGlvbnMpIHtcblx0XHRcdGN1cnJlbnRNb2RlbCA9IHByb2R1Y2UoXG5cdFx0XHRcdGN1cnJlbnRNb2RlbCxcblx0XHRcdFx0KGRyYWZ0OiBEcmFmdDxUTW9kZWw+KSA9PiB7XG5cdFx0XHRcdFx0Zm4oZHJhZnQpO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHQocGF0Y2hlcykgPT4ge1xuXHRcdFx0XHRcdHJlY29yZGVkUGF0Y2hlcy5wdXNoKC4uLnBhdGNoZXMpO1xuXHRcdFx0XHR9LFxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRjb25zdCBkaWZmID0gZ2V0RGlmZkZyb21QYXRjaGVzKHJlY29yZGVkUGF0Y2hlcywgY3VycmVudE1vZGVsKTtcblxuXHRcdHJldHVybiBbZGlmZiwgLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHNdO1xuXHR9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gdXBkYXRlIGZ1bmN0aW9uIG91dCBvZiBhbiBVcGRhdGVNYXAgd2hpY2ggaW1tZWRpYXRlbHkgZXhlY3V0ZXMgdGhlIGNvbW1hbmQuXG4gKiBAcGFyYW0gdXBkYXRlTWFwIFRoZSBVcGRhdGVNYXAuXG4gKiBAcmV0dXJucyBUaGUgY3JlYXRlZCB1cGRhdGUgZnVuY3Rpb24gd2hpY2ggY2FuIGJlIHVzZWQgaW4gdGVzdHMuXG4gKiBAZXhhbXBsZVxuICogY29uc3QgdXBkYXRlQW5kRXhlY0NtZCA9IGdldFVwZGF0ZUFuZEV4ZWNDbWRGbih1cGRhdGUpO1xuICpcbiAqIC8vIGluIHlvdXIgdGVzdDpcbiAqIGNvbnN0IFttb2RlbCwgbWVzc2FnZXNdID0gYXdhaXQgdXBkYXRlQW5kRXhlY0NtZCguLi5hcmdzKTtcbiAqL1xuZnVuY3Rpb24gZ2V0VXBkYXRlQW5kRXhlY0NtZEZuPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHR1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKTogKFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnNUZW1wbGF0ZT86IFBhcnRpYWw8VXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4+LFxuKSA9PiBQcm9taXNlPFtQYXJ0aWFsPFRNb2RlbD4sIE51bGxhYmxlPFRNZXNzYWdlPltdXT4ge1xuXHRyZXR1cm4gYXN5bmMgZnVuY3Rpb24gdXBkYXRlQW5kRXhlY0NtZEZuKG1zZywgbW9kZWwsIHByb3BzLCBvcHRpb25zVGVtcGxhdGUpOiBQcm9taXNlPFtQYXJ0aWFsPFRNb2RlbD4sIE51bGxhYmxlPFRNZXNzYWdlPltdXT4ge1xuXHRcdGNvbnN0IFtkZWZlciwgZ2V0RGVmZXJyZWRdID0gY3JlYXRlRGVmZXI8VE1vZGVsLCBUTWVzc2FnZT4oKTtcblx0XHRjb25zdCBjYWxsQmFzZSA9IGNyZWF0ZUNhbGxCYXNlKG1zZywgbW9kZWwsIHByb3BzLCB7IGRlZmVyIH0pO1xuXG5cdFx0Y29uc3Qgb3B0aW9uczogVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gPSB7XG5cdFx0XHRkZWZlcixcblx0XHRcdGNhbGxCYXNlLFxuXHRcdFx0Li4ub3B0aW9uc1RlbXBsYXRlLFxuXHRcdH07XG5cblx0XHRjb25zdCBbZHJhZnRGbiwgLi4uY29tbWFuZHNdID0gY2FsbFVwZGF0ZU1hcCh1cGRhdGVNYXAsIG1zZywgbW9kZWwsIHByb3BzLCBvcHRpb25zKTtcblx0XHRjb25zdCBbZGVmZXJyZWREcmFmdEZ1bmN0aW9ucywgZGVmZXJyZWRDb21tYW5kc10gPSBnZXREZWZlcnJlZCgpO1xuXG5cdFx0Y29uc3QgYWxsRHJhZnRGdW5jdGlvbnMgPSBbZHJhZnRGbiwgLi4uZGVmZXJyZWREcmFmdEZ1bmN0aW9uc10uZmlsdGVyKChmbikgPT4gZm4gIT0gbnVsbCk7XG5cblx0XHRsZXQgY3VycmVudE1vZGVsID0gbW9kZWw7XG5cdFx0Y29uc3QgcmVjb3JkZWRQYXRjaGVzOiBQYXRjaFtdID0gW107XG5cblx0XHRmb3IgKGNvbnN0IGZuIG9mIGFsbERyYWZ0RnVuY3Rpb25zKSB7XG5cdFx0XHRjdXJyZW50TW9kZWwgPSBwcm9kdWNlKFxuXHRcdFx0XHRjdXJyZW50TW9kZWwsXG5cdFx0XHRcdChkcmFmdDogRHJhZnQ8VE1vZGVsPikgPT4ge1xuXHRcdFx0XHRcdGZuKGRyYWZ0KTtcblx0XHRcdFx0fSxcblx0XHRcdFx0KHBhdGNoZXMpID0+IHtcblx0XHRcdFx0XHRyZWNvcmRlZFBhdGNoZXMucHVzaCguLi5wYXRjaGVzKTtcblx0XHRcdFx0fSxcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgZGlmZiA9IGdldERpZmZGcm9tUGF0Y2hlcyhyZWNvcmRlZFBhdGNoZXMsIGN1cnJlbnRNb2RlbCk7XG5cblx0XHRjb25zdCBtZXNzYWdlcyA9IGF3YWl0IGV4ZWNDbWQoLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHMpO1xuXG5cdFx0cmV0dXJuIFtkaWZmLCBtZXNzYWdlc107XG5cdH07XG59XG5cbmZ1bmN0aW9uIGdldERpZmZGcm9tUGF0Y2hlczxUTW9kZWw+KHBhdGNoZXM6IFBhdGNoW10sIG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPik6IFBhcnRpYWw8VE1vZGVsPiB7XG5cdGNvbnN0IGRpZmY6IFBhcnRpYWw8VE1vZGVsPiA9IHt9O1xuXG5cdC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudCAqL1xuXHQvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnQgKi9cblx0LyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWR5bmFtaWMtZGVsZXRlICovXG5cdGZvciAoY29uc3QgcGF0Y2ggb2YgcGF0Y2hlcykge1xuXHRcdC8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL25vTm9uTnVsbEFzc2VydGlvbjogVGhlIHBhdGggaXMgYWx3YXlzIGRlZmluZWRcblx0XHRjb25zdCBwYXRoID0gcGF0Y2gucGF0aFswXSE7XG5cblx0XHRzd2l0Y2ggKHBhdGNoLm9wKSB7XG5cdFx0XHRjYXNlIFwicmVwbGFjZVwiOiB7XG5cdFx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3Jcblx0XHRcdFx0ZGlmZltwYXRoXSA9IG1vZGVsW3BhdGhdO1xuXG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdFx0Y2FzZSBcImFkZFwiOiB7XG5cdFx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3Jcblx0XHRcdFx0ZGlmZltwYXRoXSA9IG1vZGVsW3BhdGhdO1xuXG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdFx0Y2FzZSBcInJlbW92ZVwiOiB7XG5cdFx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3Jcblx0XHRcdFx0ZGVsZXRlIGRpZmZbcGF0aF07XG5cblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWR5bmFtaWMtZGVsZXRlICovXG5cdC8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50ICovXG5cdC8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50ICovXG5cblx0cmV0dXJuIGRpZmY7XG59XG5cbmV4cG9ydCB7IGdldFVwZGF0ZUFuZEV4ZWNDbWRGbiwgZ2V0VXBkYXRlRm4gfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxlQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxhQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFBNkMsU0FBQUssb0JBQUEsa0JBTDdDLHFKQUFBQSxtQkFBQSxZQUFBQSxvQkFBQSxXQUFBQyxDQUFBLFNBQUFD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UUFBUSxHQUFBRSxTQUFBLENBQUF0SSxJQUFBO1lBQUEsT0FBQXNJLFNBQUEsQ0FBQW5JLE1BQUEsV0FFUCxDQUFDbUgsSUFBSSxFQUFFYyxRQUFRLENBQUM7VUFBQTtVQUFBO1lBQUEsT0FBQUUsU0FBQSxDQUFBbEcsSUFBQTtRQUFBO01BQUEsR0FBQXNGLE9BQUE7SUFBQSxDQUN2QjtJQUFBLFNBbkNxQmlCLGtCQUFrQkEsQ0FBQUMsRUFBQSxFQUFBQyxHQUFBLEVBQUFDLEdBQUEsRUFBQUMsR0FBQTtNQUFBLE9BQUF0QixtQkFBQSxDQUFBM0UsS0FBQSxPQUFBRCxTQUFBO0lBQUE7SUFBQSxPQUFsQjhGLGtCQUFrQjtFQUFBO0FBb0N6QztBQUVBLFNBQVNwQixrQkFBa0JBLENBQVNILE9BQWdCLEVBQUU5QixLQUF3QixFQUFtQjtFQUNoRyxJQUFNZ0MsSUFBcUIsR0FBRyxDQUFDLENBQUM7O0VBRWhDO0VBQ0E7RUFDQTtFQUFBLElBQUEwQixVQUFBLEdBQUEvRiwwQkFBQSxDQUNvQm1FLE9BQU87SUFBQTZCLE1BQUE7RUFBQTtJQUEzQixLQUFBRCxVQUFBLENBQUF6SyxDQUFBLE1BQUEwSyxNQUFBLEdBQUFELFVBQUEsQ0FBQXRNLENBQUEsSUFBQWtELElBQUEsR0FBNkI7TUFBQSxJQUFsQnNKLEtBQUssR0FBQUQsTUFBQSxDQUFBbk0sS0FBQTtNQUNmO01BQ0EsSUFBTXFNLElBQUksR0FBR0QsS0FBSyxDQUFDQyxJQUFJLENBQUMsQ0FBQyxDQUFFO01BRTNCLFFBQVFELEtBQUssQ0FBQ0UsRUFBRTtRQUNmLEtBQUssU0FBUztVQUFFO1lBQ2Y7WUFDQTlCLElBQUksQ0FBQzZCLElBQUksQ0FBQyxHQUFHN0QsS0FBSyxDQUFDNkQsSUFBSSxDQUFDO1lBRXhCO1VBQ0Q7UUFDQSxLQUFLLEtBQUs7VUFBRTtZQUNYO1lBQ0E3QixJQUFJLENBQUM2QixJQUFJLENBQUMsR0FBRzdELEtBQUssQ0FBQzZELElBQUksQ0FBQztZQUV4QjtVQUNEO1FBQ0EsS0FBSyxRQUFRO1VBQUU7WUFDZDtZQUNBLE9BQU83QixJQUFJLENBQUM2QixJQUFJLENBQUM7WUFFakI7VUFDRDtNQUNEO0lBQ0Q7SUFDQTtJQUNBO0lBQ0E7RUFBQSxTQUFBOUIsR0FBQTtJQUFBMkIsVUFBQSxDQUFBM00sQ0FBQSxDQUFBZ0wsR0FBQTtFQUFBO0lBQUEyQixVQUFBLENBQUExSyxDQUFBO0VBQUE7RUFFQSxPQUFPZ0osSUFBSTtBQUNaIiwiaWdub3JlTGlzdCI6W119
166
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW1tZXIiLCJyZXF1aXJlIiwiX3Rlc3RpbmciLCJfY3JlYXRlQ2FsbEJhc2UiLCJfY3JlYXRlRGVmZXI1IiwiX3VzZUVsbWlzaCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiciIsImUiLCJ0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJfbiIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImYiLCJUeXBlRXJyb3IiLCJvIiwiYSIsInUiLCJjYWxsIiwibmV4dCIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImRlZmluZVByb3BlcnR5IiwiaSIsImMiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJoIiwibCIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsInJlc3VsdE5hbWUiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJmcm9tIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJvd25LZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX25vbkl0ZXJhYmxlUmVzdCIsInRvU3RyaW5nIiwidGVzdCIsImVuYWJsZVBhdGNoZXMiLCJnZXRVcGRhdGVGbiIsInVwZGF0ZU1hcCIsInVwZGF0ZUZuIiwibXNnIiwibW9kZWwiLCJwcm9wcyIsIm9wdGlvbnNUZW1wbGF0ZSIsIl9jcmVhdGVEZWZlciIsImNyZWF0ZURlZmVyIiwiX2NyZWF0ZURlZmVyMiIsImRlZmVyIiwiZ2V0RGVmZXJyZWQiLCJjYWxsQmFzZSIsImNyZWF0ZUNhbGxCYXNlIiwib3B0aW9ucyIsImNvbW1hbmRzIiwicmVjb3JkZWRQYXRjaGVzIiwidXBkYXRlZE1vZGVsIiwicHJvZHVjZSIsImRyYWZ0IiwiY2FsbFVwZGF0ZU1hcCIsInBhdGNoZXMiLCJkZWZlcnJlZENvbW1hbmRzIiwiZGlmZiIsImdldERpZmZGcm9tUGF0Y2hlcyIsImNvbmNhdCIsImdldFVwZGF0ZUFuZEV4ZWNDbWRGbiIsIl91cGRhdGVBbmRFeGVjQ21kRm4iLCJfY2FsbGVlIiwiX2NyZWF0ZURlZmVyMyIsIl9jcmVhdGVEZWZlcjQiLCJtZXNzYWdlcyIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJleGVjQ21kIiwidXBkYXRlQW5kRXhlY0NtZEZuIiwiX3giLCJfeDIiLCJfeDMiLCJfeDQiLCJfaXRlcmF0b3IiLCJfc3RlcCIsInBhdGNoIiwicGF0aCIsIm9wIiwiZXJyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltbXV0YWJsZS90ZXN0aW5nL2dldFVwZGF0ZUZuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVuYWJsZVBhdGNoZXMsIHByb2R1Y2UsIHR5cGUgRHJhZnQsIHR5cGUgSW1tdXRhYmxlLCB0eXBlIFBhdGNoIH0gZnJvbSBcImltbWVyXCI7XG5pbXBvcnQgeyBleGVjQ21kIH0gZnJvbSBcIi4uLy4uL3Rlc3RpbmdcIjtcbmltcG9ydCB0eXBlIHsgQ21kLCBNZXNzYWdlLCBOdWxsYWJsZSB9IGZyb20gXCIuLi8uLi9UeXBlc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ2FsbEJhc2UgfSBmcm9tIFwiLi4vY3JlYXRlQ2FsbEJhc2VcIjtcbmltcG9ydCB7IGNyZWF0ZURlZmVyIH0gZnJvbSBcIi4uL2NyZWF0ZURlZmVyXCI7XG5pbXBvcnQgdHlwZSB7IFVwZGF0ZUZ1bmN0aW9uT3B0aW9ucywgVXBkYXRlTWFwIH0gZnJvbSBcIi4uL1R5cGVzXCI7XG5pbXBvcnQgeyBjYWxsVXBkYXRlTWFwIH0gZnJvbSBcIi4uL3VzZUVsbWlzaFwiO1xuXG5lbmFibGVQYXRjaGVzKCk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiB1cGRhdGUgZnVuY3Rpb24gb3V0IG9mIGFuIFVwZGF0ZU1hcC5cbiAqIEBwYXJhbSB1cGRhdGVNYXAgVGhlIFVwZGF0ZU1hcC5cbiAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIHVwZGF0ZSBmdW5jdGlvbiB3aGljaCBjYW4gYmUgdXNlZCBpbiB0ZXN0cy5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCB1cGRhdGVGbiA9IGdldFVwZGF0ZUZuKHVwZGF0ZSk7XG4gKlxuICogLy8gaW4geW91ciB0ZXN0czpcbiAqIGNvbnN0IFttb2RlbCwgY21kXSA9IHVwZGF0ZUZuKC4uLmFyZ3MpO1xuICovXG5mdW5jdGlvbiBnZXRVcGRhdGVGbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0dXBkYXRlTWFwOiBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbik6IChcblx0bXNnOiBUTWVzc2FnZSxcblx0bW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+LFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zVGVtcGxhdGU/OiBQYXJ0aWFsPFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+PixcbikgPT4gW1BhcnRpYWw8VE1vZGVsPiwgLi4uKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW11dIHtcblx0cmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZUZuKG1zZywgbW9kZWwsIHByb3BzLCBvcHRpb25zVGVtcGxhdGUpOiBbUGFydGlhbDxUTW9kZWw+LCAuLi4oQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXV0ge1xuXHRcdGNvbnN0IFtkZWZlciwgZ2V0RGVmZXJyZWRdID0gY3JlYXRlRGVmZXI8VE1lc3NhZ2U+KCk7XG5cdFx0Y29uc3QgY2FsbEJhc2UgPSBjcmVhdGVDYWxsQmFzZShtc2csIG1vZGVsLCBwcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdGNvbnN0IG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0ge1xuXHRcdFx0ZGVmZXIsXG5cdFx0XHRjYWxsQmFzZSxcblx0XHRcdC4uLm9wdGlvbnNUZW1wbGF0ZSxcblx0XHR9O1xuXG5cdFx0Y29uc3QgY29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdID0gW107XG5cdFx0Y29uc3QgcmVjb3JkZWRQYXRjaGVzOiBQYXRjaFtdID0gW107XG5cdFx0Y29uc3QgdXBkYXRlZE1vZGVsID0gcHJvZHVjZShcblx0XHRcdG1vZGVsLFxuXHRcdFx0KGRyYWZ0OiBEcmFmdDxUTW9kZWw+KSA9PiB7XG5cdFx0XHRcdGNvbW1hbmRzLnB1c2goLi4uY2FsbFVwZGF0ZU1hcCh1cGRhdGVNYXAsIG1zZywgZHJhZnQsIHByb3BzLCBvcHRpb25zKSk7XG5cdFx0XHR9LFxuXHRcdFx0KHBhdGNoZXMpID0+IHtcblx0XHRcdFx0cmVjb3JkZWRQYXRjaGVzLnB1c2goLi4ucGF0Y2hlcyk7XG5cdFx0XHR9LFxuXHRcdCk7XG5cdFx0Y29uc3QgZGVmZXJyZWRDb21tYW5kcyA9IGdldERlZmVycmVkKCk7XG5cblx0XHRjb25zdCBkaWZmID0gZ2V0RGlmZkZyb21QYXRjaGVzKHJlY29yZGVkUGF0Y2hlcywgdXBkYXRlZE1vZGVsKTtcblxuXHRcdHJldHVybiBbZGlmZiwgLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHNdO1xuXHR9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gdXBkYXRlIGZ1bmN0aW9uIG91dCBvZiBhbiBVcGRhdGVNYXAgd2hpY2ggaW1tZWRpYXRlbHkgZXhlY3V0ZXMgdGhlIGNvbW1hbmQuXG4gKiBAcGFyYW0gdXBkYXRlTWFwIFRoZSBVcGRhdGVNYXAuXG4gKiBAcmV0dXJucyBUaGUgY3JlYXRlZCB1cGRhdGUgZnVuY3Rpb24gd2hpY2ggY2FuIGJlIHVzZWQgaW4gdGVzdHMuXG4gKiBAZXhhbXBsZVxuICogY29uc3QgdXBkYXRlQW5kRXhlY0NtZCA9IGdldFVwZGF0ZUFuZEV4ZWNDbWRGbih1cGRhdGUpO1xuICpcbiAqIC8vIGluIHlvdXIgdGVzdDpcbiAqIGNvbnN0IFttb2RlbCwgbWVzc2FnZXNdID0gYXdhaXQgdXBkYXRlQW5kRXhlY0NtZCguLi5hcmdzKTtcbiAqL1xuZnVuY3Rpb24gZ2V0VXBkYXRlQW5kRXhlY0NtZEZuPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHR1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKTogKFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnNUZW1wbGF0ZT86IFBhcnRpYWw8VXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4+LFxuKSA9PiBQcm9taXNlPFtQYXJ0aWFsPFRNb2RlbD4sIE51bGxhYmxlPFRNZXNzYWdlPltdXT4ge1xuXHRyZXR1cm4gYXN5bmMgZnVuY3Rpb24gdXBkYXRlQW5kRXhlY0NtZEZuKG1zZywgbW9kZWwsIHByb3BzLCBvcHRpb25zVGVtcGxhdGUpOiBQcm9taXNlPFtQYXJ0aWFsPFRNb2RlbD4sIE51bGxhYmxlPFRNZXNzYWdlPltdXT4ge1xuXHRcdGNvbnN0IFtkZWZlciwgZ2V0RGVmZXJyZWRdID0gY3JlYXRlRGVmZXI8VE1lc3NhZ2U+KCk7XG5cdFx0Y29uc3QgY2FsbEJhc2UgPSBjcmVhdGVDYWxsQmFzZShtc2csIG1vZGVsLCBwcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdGNvbnN0IG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0ge1xuXHRcdFx0ZGVmZXIsXG5cdFx0XHRjYWxsQmFzZSxcblx0XHRcdC4uLm9wdGlvbnNUZW1wbGF0ZSxcblx0XHR9O1xuXG5cdFx0Y29uc3QgY29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdID0gW107XG5cdFx0Y29uc3QgcmVjb3JkZWRQYXRjaGVzOiBQYXRjaFtdID0gW107XG5cdFx0Y29uc3QgdXBkYXRlZE1vZGVsID0gcHJvZHVjZShcblx0XHRcdG1vZGVsLFxuXHRcdFx0KGRyYWZ0OiBEcmFmdDxUTW9kZWw+KSA9PiB7XG5cdFx0XHRcdGNvbW1hbmRzLnB1c2goLi4uY2FsbFVwZGF0ZU1hcCh1cGRhdGVNYXAsIG1zZywgZHJhZnQsIHByb3BzLCBvcHRpb25zKSk7XG5cdFx0XHR9LFxuXHRcdFx0KHBhdGNoZXMpID0+IHtcblx0XHRcdFx0cmVjb3JkZWRQYXRjaGVzLnB1c2goLi4ucGF0Y2hlcyk7XG5cdFx0XHR9LFxuXHRcdCk7XG5cdFx0Y29uc3QgZGVmZXJyZWRDb21tYW5kcyA9IGdldERlZmVycmVkKCk7XG5cblx0XHRjb25zdCBkaWZmID0gZ2V0RGlmZkZyb21QYXRjaGVzKHJlY29yZGVkUGF0Y2hlcywgdXBkYXRlZE1vZGVsKTtcblxuXHRcdGNvbnN0IG1lc3NhZ2VzID0gYXdhaXQgZXhlY0NtZCguLi5jb21tYW5kcywgLi4uZGVmZXJyZWRDb21tYW5kcyk7XG5cblx0XHRyZXR1cm4gW2RpZmYsIG1lc3NhZ2VzXTtcblx0fTtcbn1cblxuZnVuY3Rpb24gZ2V0RGlmZkZyb21QYXRjaGVzPFRNb2RlbD4ocGF0Y2hlczogUGF0Y2hbXSwgbW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+KTogUGFydGlhbDxUTW9kZWw+IHtcblx0Y29uc3QgZGlmZjogUGFydGlhbDxUTW9kZWw+ID0ge307XG5cblx0LyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50ICovXG5cdC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudCAqL1xuXHQvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHluYW1pYy1kZWxldGUgKi9cblx0Zm9yIChjb25zdCBwYXRjaCBvZiBwYXRjaGVzKSB7XG5cdFx0Ly8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvbm9Ob25OdWxsQXNzZXJ0aW9uOiBUaGUgcGF0aCBpcyBhbHdheXMgZGVmaW5lZFxuXHRcdGNvbnN0IHBhdGggPSBwYXRjaC5wYXRoWzBdITtcblxuXHRcdHN3aXRjaCAocGF0Y2gub3ApIHtcblx0XHRcdGNhc2UgXCJyZXBsYWNlXCI6IHtcblx0XHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvclxuXHRcdFx0XHRkaWZmW3BhdGhdID0gbW9kZWxbcGF0aF07XG5cblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0XHRjYXNlIFwiYWRkXCI6IHtcblx0XHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvclxuXHRcdFx0XHRkaWZmW3BhdGhdID0gbW9kZWxbcGF0aF07XG5cblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0XHRjYXNlIFwicmVtb3ZlXCI6IHtcblx0XHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvclxuXHRcdFx0XHRkZWxldGUgZGlmZltwYXRoXTtcblxuXHRcdFx0XHRicmVhaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHluYW1pYy1kZWxldGUgKi9cblx0LyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnQgKi9cblx0LyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFzc2lnbm1lbnQgKi9cblxuXHRyZXR1cm4gZGlmZjtcbn1cblxuZXhwb3J0IHsgZ2V0VXBkYXRlQW5kRXhlY0NtZEZuLCBnZXRVcGRhdGVGbiB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFB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LE1BQUEsQ0FBQW5ELGtCQUFBLENBQUtnRCxnQkFBZ0IsR0FBQztVQUFBO1lBQTFEUyxRQUFRLEdBQUFFLFFBQUEsQ0FBQXpHLElBQUE7WUFBQSxPQUFBeUcsUUFBQSxDQUFBdEcsTUFBQSxXQUVQLENBQUM0RixJQUFJLEVBQUVRLFFBQVEsQ0FBQztVQUFBO1VBQUE7WUFBQSxPQUFBRSxRQUFBLENBQUF4RSxJQUFBO1FBQUE7TUFBQSxHQUFBbUUsT0FBQTtJQUFBLENBQ3ZCO0lBQUEsU0E1QnFCTyxrQkFBa0JBLENBQUFDLEVBQUEsRUFBQUMsR0FBQSxFQUFBQyxHQUFBLEVBQUFDLEdBQUE7TUFBQSxPQUFBWixtQkFBQSxDQUFBeEQsS0FBQSxPQUFBRCxTQUFBO0lBQUE7SUFBQSxPQUFsQmlFLGtCQUFrQjtFQUFBO0FBNkJ6QztBQUVBLFNBQVNYLGtCQUFrQkEsQ0FBU0gsT0FBZ0IsRUFBRWpCLEtBQXdCLEVBQW1CO0VBQ2hHLElBQU1tQixJQUFxQixHQUFHLENBQUMsQ0FBQzs7RUFFaEM7RUFDQTtFQUNBO0VBQUEsSUFBQWlCLFNBQUEsR0FBQXJMLDBCQUFBLENBQ29Ca0ssT0FBTztJQUFBb0IsS0FBQTtFQUFBO0lBQTNCLEtBQUFELFNBQUEsQ0FBQXpLLENBQUEsTUFBQTBLLEtBQUEsR0FBQUQsU0FBQSxDQUFBeEssQ0FBQSxJQUFBQyxJQUFBLEdBQTZCO01BQUEsSUFBbEJ5SyxLQUFLLEdBQUFELEtBQUEsQ0FBQXZLLEtBQUE7TUFDZjtNQUNBLElBQU15SyxJQUFJLEdBQUdELEtBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUMsQ0FBRTtNQUUzQixRQUFRRCxLQUFLLENBQUNFLEVBQUU7UUFDZixLQUFLLFNBQVM7VUFBRTtZQUNmO1lBQ0FyQixJQUFJLENBQUNvQixJQUFJLENBQUMsR0FBR3ZDLEtBQUssQ0FBQ3VDLElBQUksQ0FBQztZQUV4QjtVQUNEO1FBQ0EsS0FBSyxLQUFLO1VBQUU7WUFDWDtZQUNBcEIsSUFBSSxDQUFDb0IsSUFBSSxDQUFDLEdBQUd2QyxLQUFLLENBQUN1QyxJQUFJLENBQUM7WUFFeEI7VUFDRDtRQUNBLEtBQUssUUFBUTtVQUFFO1lBQ2Q7WUFDQSxPQUFPcEIsSUFBSSxDQUFDb0IsSUFBSSxDQUFDO1lBRWpCO1VBQ0Q7TUFDRDtJQUNEO0lBQ0E7SUFDQTtJQUNBO0VBQUEsU0FBQUUsR0FBQTtJQUFBTCxTQUFBLENBQUFuTCxDQUFBLENBQUF3TCxHQUFBO0VBQUE7SUFBQUwsU0FBQSxDQUFBckssQ0FBQTtFQUFBO0VBRUEsT0FBT29KLElBQUk7QUFDWiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,5 +1,5 @@
1
- import { type Immutable } from "immer";
2
- import { type Dispatch, type InitFunction, type Message } from "../Types";
1
+ import { type Draft, type Immutable } from "immer";
2
+ import { type Cmd, type Dispatch, type InitFunction, type Message } from "../Types";
3
3
  import type { Subscription, UpdateFunction, UpdateFunctionOptions, UpdateMap, UpdateReturnType } from "./Types";
4
4
  /**
5
5
  * Options for the `useElmish` hook.
@@ -43,7 +43,7 @@ interface UseElmishOptions<TProps, TModel, TMessage extends Message> {
43
43
  * const [model, dispatch] = useElmish({ props, init, update, name: "MyComponent" });
44
44
  */
45
45
  declare function useElmish<TProps, TModel, TMessage extends Message>({ name, props, init, update, subscription, }: UseElmishOptions<TProps, TModel, TMessage>): [Immutable<TModel>, Dispatch<TMessage>];
46
- declare function callUpdate<TProps, TModel, TMessage extends Message>(update: UpdateFunction<TProps, TModel, TMessage> | UpdateMap<TProps, TModel, TMessage>, msg: TMessage, model: Immutable<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>): UpdateReturnType<TModel, TMessage>;
47
- declare function callUpdateMap<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>, msg: TMessage, model: Immutable<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>): UpdateReturnType<TModel, TMessage>;
46
+ declare function callUpdate<TProps, TModel, TMessage extends Message>(update: UpdateFunction<TProps, TModel, TMessage> | UpdateMap<TProps, TModel, TMessage>, msg: TMessage, model: Immutable<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>): [Immutable<TModel>, ...(Cmd<TMessage> | undefined)[]];
47
+ declare function callUpdateMap<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>, msg: TMessage, model: Draft<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>): UpdateReturnType<TMessage>;
48
48
  export type { UseElmishOptions };
49
49
  export { callUpdate, callUpdateMap, useElmish };
@@ -165,7 +165,6 @@ function useElmish(_ref) {
165
165
  if (!currentModel) {
166
166
  return false;
167
167
  }
168
- var modified = false;
169
168
  (0, _Common.logMessage)(name, nextMsg);
170
169
  var _createDefer = (0, _createDefer3.createDefer)(),
171
170
  _createDefer2 = _slicedToArray(_createDefer, 2),
@@ -179,41 +178,29 @@ function useElmish(_ref) {
179
178
  callBase: callBase
180
179
  }),
181
180
  _callUpdate2 = _toArray(_callUpdate),
182
- draftFn = _callUpdate2[0],
181
+ updatedModel = _callUpdate2[0],
183
182
  commands = _callUpdate2.slice(1);
184
- var _getDeferred = getDeferred(),
185
- _getDeferred2 = _slicedToArray(_getDeferred, 2),
186
- deferredDraftFunctions = _getDeferred2[0],
187
- deferredCommands = _getDeferred2[1];
188
- var _iterator2 = _createForOfIteratorHelper(deferredDraftFunctions),
189
- _step2;
190
- try {
191
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
192
- var deferredDraftFn = _step2.value;
193
- currentModel = (0, _immer.produce)(currentModel, deferredDraftFn);
194
- modified = true;
195
- }
196
- } catch (err) {
197
- _iterator2.e(err);
198
- } finally {
199
- _iterator2.f();
200
- }
201
- if (draftFn) {
202
- currentModel = (0, _immer.produce)(currentModel, draftFn);
203
- modified = true;
204
- }
183
+ var deferredCommands = getDeferred();
184
+ currentModel = updatedModel;
205
185
  _Common.execCmd.apply(void 0, [dispatch].concat(_toConsumableArray(commands), _toConsumableArray(deferredCommands)));
206
- return modified;
186
+
187
+ // TODO: optimieren
188
+ return true;
207
189
  }
208
190
  }
209
191
  function callUpdate(update, msg, model, props, options) {
210
- if (typeof update === "function") {
211
- return update(model, msg, props, options);
212
- }
213
- return callUpdateMap(update, msg, model, props, options);
192
+ var commands = [];
193
+ var updatedModel = (0, _immer.produce)(model, function (draft) {
194
+ if (typeof update === "function") {
195
+ commands.push.apply(commands, _toConsumableArray(update(draft, msg, props, options)));
196
+ return;
197
+ }
198
+ commands.push.apply(commands, _toConsumableArray(callUpdateMap(update, msg, draft, props, options)));
199
+ });
200
+ return [updatedModel].concat(commands);
214
201
  }
215
202
  function callUpdateMap(updateMap, msg, model, props, options) {
216
203
  var msgName = msg.name;
217
204
  return updateMap[msgName](msg, model, props, options);
218
205
  }
219
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW1tZXIiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0NvbW1vbiIsIl9mYWtlT3B0aW9ucyIsIl9Jbml0IiwiX3JlZHV4RGV2VG9vbHMiLCJfVHlwZXMiLCJfY3JlYXRlQ2FsbEJhc2UiLCJfY3JlYXRlRGVmZXIzIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJyIiwiZSIsInQiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsIl9uIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZiIsIlR5cGVFcnJvciIsIm8iLCJhIiwidSIsImNhbGwiLCJuZXh0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIl9hcnJheUxpa2VUb0FycmF5IiwiX3RvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfbm9uSXRlcmFibGVSZXN0IiwiZnJvbSIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInRlc3QiLCJsIiwiaSIsIk9iamVjdCIsInB1c2giLCJ1c2VFbG1pc2giLCJfcmVmIiwiX2Zha2VPcHRpb25zJGRpc3BhdGNoIiwicHJvcHMiLCJpbml0IiwidXBkYXRlIiwic3Vic2NyaXB0aW9uIiwicnVubmluZyIsImJ1ZmZlciIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm1vZGVsIiwic2V0TW9kZWwiLCJwcm9wc1JlZiIsInVzZVJlZiIsImlzTW91bnRlZFJlZiIsImRldlRvb2xzIiwidXNlRWZmZWN0IiwicmVkdXhVbnN1YnNjcmliZSIsIlNlcnZpY2VzIiwiZW5hYmxlRGV2VG9vbHMiLCJpc1JlZHV4RGV2VG9vbHNFbmFibGVkIiwid2luZG93IiwiY3VycmVudCIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0Iiwic2VyaWFsaXplIiwib3B0aW9ucyIsInN1YnNjcmliZSIsIm1lc3NhZ2UiLCJ0eXBlIiwicGF5bG9hZCIsIkpTT04iLCJwYXJzZSIsInN0YXRlIiwiX3JlZHV4VW5zdWJzY3JpYmUiLCJjdXJyZW50TW9kZWwiLCJmYWtlT3B0aW9ucyIsImdldEZha2VPcHRpb25zT25jZSIsImRpc3BhdGNoIiwidXNlQ2FsbGJhY2siLCJtc2ciLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJoYW5kbGVNZXNzYWdlIiwic2VuZCIsInNoaWZ0IiwiX1NlcnZpY2VzJGxvZ2dlciIsImxvZ2dlciIsImRlYnVnIiwiaW5pdGlhbGl6ZWRNb2RlbCIsIl9kZXZUb29scyRjdXJyZW50IiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfcmVmMiIsIl9yZWYzIiwiaW5pdE1vZGVsIiwiaW5pdENvbW1hbmRzIiwiY2FzdEltbXV0YWJsZSIsImZyZWV6ZSIsImV4ZWNDbWQiLCJhcHBseSIsImNvbmNhdCIsInN1YnNjcmlwdGlvblJlc3VsdCIsInN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheSIsImRlc3RydWN0b3JzIiwibWFwIiwic3ViIiwiZmlsdGVyIiwiZGVzdHJ1Y3RvciIsInVuZGVmaW5lZCIsImNvbWJpbmVkRGVzdHJ1Y3RvciIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZXJyIiwiX3N1YnNjcmlwdGlvblJlc3VsdCIsInN1YkNtZCIsImxvZ01lc3NhZ2UiLCJfY3JlYXRlRGVmZXIiLCJjcmVhdGVEZWZlciIsIl9jcmVhdGVEZWZlcjIiLCJkZWZlciIsImdldERlZmVycmVkIiwiY2FsbEJhc2UiLCJjcmVhdGVDYWxsQmFzZSIsIl9jYWxsVXBkYXRlIiwiY2FsbFVwZGF0ZSIsIl9jYWxsVXBkYXRlMiIsImRyYWZ0Rm4iLCJjb21tYW5kcyIsIl9nZXREZWZlcnJlZCIsIl9nZXREZWZlcnJlZDIiLCJkZWZlcnJlZERyYWZ0RnVuY3Rpb25zIiwiZGVmZXJyZWRDb21tYW5kcyIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJkZWZlcnJlZERyYWZ0Rm4iLCJwcm9kdWNlIiwiY2FsbFVwZGF0ZU1hcCIsInVwZGF0ZU1hcCIsIm1zZ05hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1tdXRhYmxlL3VzZUVsbWlzaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHMgKi9cbmltcG9ydCB7IGNhc3RJbW11dGFibGUsIGZyZWV6ZSwgcHJvZHVjZSwgdHlwZSBJbW11dGFibGUgfSBmcm9tIFwiaW1tZXJcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGV4ZWNDbWQsIGxvZ01lc3NhZ2UgfSBmcm9tIFwiLi4vQ29tbW9uXCI7XG5pbXBvcnQgeyBnZXRGYWtlT3B0aW9uc09uY2UgfSBmcm9tIFwiLi4vZmFrZU9wdGlvbnNcIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4uL0luaXRcIjtcbmltcG9ydCB7IGlzUmVkdXhEZXZUb29sc0VuYWJsZWQsIHR5cGUgUmVkdXhEZXZUb29scyB9IGZyb20gXCIuLi9yZWR1eERldlRvb2xzXCI7XG5pbXBvcnQgeyBzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXksIHR5cGUgRGlzcGF0Y2gsIHR5cGUgSW5pdEZ1bmN0aW9uLCB0eXBlIE1lc3NhZ2UsIHR5cGUgTnVsbGFibGUgfSBmcm9tIFwiLi4vVHlwZXNcIjtcbmltcG9ydCB7IGNyZWF0ZUNhbGxCYXNlIH0gZnJvbSBcIi4vY3JlYXRlQ2FsbEJhc2VcIjtcbmltcG9ydCB7IGNyZWF0ZURlZmVyIH0gZnJvbSBcIi4vY3JlYXRlRGVmZXJcIjtcbmltcG9ydCB0eXBlIHsgU3Vic2NyaXB0aW9uLCBVcGRhdGVGdW5jdGlvbiwgVXBkYXRlRnVuY3Rpb25PcHRpb25zLCBVcGRhdGVNYXAsIFVwZGF0ZVJldHVyblR5cGUgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBgdXNlRWxtaXNoYCBob29rLlxuICogQGludGVyZmFjZSBVc2VFbG1pc2hPcHRpb25zXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqIEB0ZW1wbGF0ZSBUTW9kZWwgVGhlIHR5cGUgb2YgdGhlIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNZXNzYWdlIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlcyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5pbnRlcmZhY2UgVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiB7XG5cdC8qKlxuXHQgKiBUaGUgbmFtZSBvZiB0aGUgY29tcG9uZW50LiBUaGlzIGlzIHVzZWQgZm9yIGxvZ2dpbmcgb25seS5cblx0ICogQHR5cGUge3N0cmluZ31cblx0ICovXG5cdG5hbWU6IHN0cmluZztcblx0LyoqXG5cdCAqIFRoZSBwcm9wcyBwYXNzZWQgdG8gdGhlIGNvbXBvbmVudC5cblx0ICogQHR5cGUge1RQcm9wc31cblx0ICovXG5cdHByb3BzOiBUUHJvcHM7XG5cdC8qKlxuXHQgKiBUaGUgZnVuY3Rpb24gdG8gaW5pdGlhbGl6ZSB0aGUgY29tcG9uZW50cyBtb2RlbC4gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBvbmNlLlxuXHQgKiBAdHlwZSB7SW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT59XG5cdCAqL1xuXHRpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPjtcblx0LyoqXG5cdCAqIFRoZSBgdXBkYXRlYCBmdW5jdGlvbiBvciB1cGRhdGUgbWFwIG9iamVjdC5cblx0ICogQHR5cGUgeyhVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pfVxuXHQgKi9cblx0dXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG5cdC8qKlxuXHQgKiBUaGUgb3B0aW9uYWwgYHN1YnNjcmlwdGlvbmAgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb25jZS5cblx0ICogQHR5cGUgeyhVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pfVxuXHQgKi9cblx0c3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbi8qKlxuICogSG9vayB0byB1c2UgdGhlIEVsbSBhcmNoaXRlY3R1cmUgcGF0dGVybiBpbiBhIGZ1bmN0aW9uIGNvbXBvbmVudC5cbiAqIEBwYXJhbSB7VXNlRWxtaXNoT3B0aW9uc30gb3B0aW9ucyBUaGUgb3B0aW9ucyBwYXNzZWQgdGhlIHRoZSBob29rLlxuICogQHJldHVybnMgQSB0dXBsZSBjb250YWluaW5nIHRoZSBjdXJyZW50IG1vZGVsIGFuZCB0aGUgZGlzcGF0Y2hlci5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBbbW9kZWwsIGRpc3BhdGNoXSA9IHVzZUVsbWlzaCh7IHByb3BzLCBpbml0LCB1cGRhdGUsIG5hbWU6IFwiTXlDb21wb25lbnRcIiB9KTtcbiAqL1xuZnVuY3Rpb24gdXNlRWxtaXNoPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KHtcblx0bmFtZSxcblx0cHJvcHMsXG5cdGluaXQsXG5cdHVwZGF0ZSxcblx0c3Vic2NyaXB0aW9uLFxufTogVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KTogW0ltbXV0YWJsZTxUTW9kZWw+LCBEaXNwYXRjaDxUTWVzc2FnZT5dIHtcblx0bGV0IHJ1bm5pbmcgPSBmYWxzZTtcblx0Y29uc3QgYnVmZmVyOiBUTWVzc2FnZVtdID0gW107XG5cblx0Y29uc3QgW21vZGVsLCBzZXRNb2RlbF0gPSB1c2VTdGF0ZTxOdWxsYWJsZTxJbW11dGFibGU8VE1vZGVsPj4+KG51bGwpO1xuXHRjb25zdCBwcm9wc1JlZiA9IHVzZVJlZihwcm9wcyk7XG5cdGNvbnN0IGlzTW91bnRlZFJlZiA9IHVzZVJlZih0cnVlKTtcblxuXHRjb25zdCBkZXZUb29scyA9IHVzZVJlZjxSZWR1eERldlRvb2xzIHwgbnVsbD4obnVsbCk7XG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRsZXQgcmVkdXhVbnN1YnNjcmliZTogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuXG5cdFx0aWYgKFNlcnZpY2VzLmVuYWJsZURldlRvb2xzID09PSB0cnVlICYmIGlzUmVkdXhEZXZUb29sc0VuYWJsZWQod2luZG93KSkge1xuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG5cdFx0XHRkZXZUb29scy5jdXJyZW50ID0gd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18uY29ubmVjdCh7IG5hbWUsIHNlcmlhbGl6ZTogeyBvcHRpb25zOiB0cnVlIH0gfSk7XG5cblx0XHRcdHJlZHV4VW5zdWJzY3JpYmUgPSBkZXZUb29scy5jdXJyZW50LnN1YnNjcmliZSgobWVzc2FnZSkgPT4ge1xuXHRcdFx0XHRpZiAobWVzc2FnZS50eXBlID09PSBcIkRJU1BBVENIXCIgJiYgbWVzc2FnZS5wYXlsb2FkLnR5cGUgPT09IFwiSlVNUF9UT19BQ1RJT05cIikge1xuXHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uXG5cdFx0XHRcdFx0c2V0TW9kZWwoSlNPTi5wYXJzZShtZXNzYWdlLnN0YXRlKSBhcyBJbW11dGFibGU8VE1vZGVsPik7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdGlzTW91bnRlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcblxuXHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRpc01vdW50ZWRSZWYuY3VycmVudCA9IGZhbHNlO1xuXG5cdFx0XHRyZWR1eFVuc3Vic2NyaWJlPy4oKTtcblx0XHR9O1xuXHR9LCBbbmFtZV0pO1xuXG5cdGxldCBjdXJyZW50TW9kZWwgPSBtb2RlbDtcblxuXHRpZiAocHJvcHNSZWYuY3VycmVudCAhPT0gcHJvcHMpIHtcblx0XHRwcm9wc1JlZi5jdXJyZW50ID0gcHJvcHM7XG5cdH1cblxuXHRjb25zdCBmYWtlT3B0aW9ucyA9IGdldEZha2VPcHRpb25zT25jZTxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXHRjb25zdCBkaXNwYXRjaCA9IHVzZUNhbGxiYWNrKFxuXHRcdGZha2VPcHRpb25zPy5kaXNwYXRjaCA/P1xuXHRcdFx0KChtc2c6IFRNZXNzYWdlKTogdm9pZCA9PiB7XG5cdFx0XHRcdGlmIChydW5uaW5nKSB7XG5cdFx0XHRcdFx0YnVmZmVyLnB1c2gobXNnKTtcblxuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJ1bm5pbmcgPSB0cnVlO1xuXG5cdFx0XHRcdGxldCBuZXh0TXNnOiBUTWVzc2FnZSB8IHVuZGVmaW5lZCA9IG1zZztcblx0XHRcdFx0bGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cblx0XHRcdFx0ZG8ge1xuXHRcdFx0XHRcdGlmIChoYW5kbGVNZXNzYWdlKG5leHRNc2cpKSB7XG5cdFx0XHRcdFx0XHRtb2RpZmllZCA9IHRydWU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0aWYgKGRldlRvb2xzLmN1cnJlbnQpIHtcblx0XHRcdFx0XHRcdGRldlRvb2xzLmN1cnJlbnQuc2VuZChuZXh0TXNnLm5hbWUsIGN1cnJlbnRNb2RlbCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0bmV4dE1zZyA9IGJ1ZmZlci5zaGlmdCgpO1xuXHRcdFx0XHR9IHdoaWxlIChuZXh0TXNnKTtcblxuXHRcdFx0XHRydW5uaW5nID0gZmFsc2U7XG5cblx0XHRcdFx0aWYgKGlzTW91bnRlZFJlZi5jdXJyZW50ICYmIG1vZGlmaWVkKSB7XG5cdFx0XHRcdFx0c2V0TW9kZWwoKCkgPT4ge1xuXHRcdFx0XHRcdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIlVwZGF0ZSBtb2RlbCBmb3JcIiwgbmFtZSwgY3VycmVudE1vZGVsKTtcblxuXHRcdFx0XHRcdFx0cmV0dXJuIGN1cnJlbnRNb2RlbDtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSksXG5cdFx0W10sXG5cdCk7XG5cblx0bGV0IGluaXRpYWxpemVkTW9kZWwgPSBtb2RlbDtcblxuXHRpZiAoIWluaXRpYWxpemVkTW9kZWwpIHtcblx0XHRjb25zdCBbaW5pdE1vZGVsLCAuLi5pbml0Q29tbWFuZHNdID0gZmFrZU9wdGlvbnM/Lm1vZGVsID8gW2Zha2VPcHRpb25zLm1vZGVsXSA6IGluaXQocHJvcHMpO1xuXG5cdFx0aW5pdGlhbGl6ZWRNb2RlbCA9IGNhc3RJbW11dGFibGUoZnJlZXplKGluaXRNb2RlbCwgdHJ1ZSkpO1xuXHRcdGN1cnJlbnRNb2RlbCA9IGluaXRpYWxpemVkTW9kZWw7XG5cdFx0c2V0TW9kZWwoaW5pdGlhbGl6ZWRNb2RlbCk7XG5cblx0XHRkZXZUb29scy5jdXJyZW50Py5pbml0KGluaXRpYWxpemVkTW9kZWwpO1xuXG5cdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkluaXRpYWwgbW9kZWwgZm9yXCIsIG5hbWUsIGluaXRpYWxpemVkTW9kZWwpO1xuXG5cdFx0ZXhlY0NtZChkaXNwYXRjaCwgLi4uaW5pdENvbW1hbmRzKTtcblx0fVxuXG5cdC8vIGJpb21lLWlnbm9yZSBsaW50L2NvcnJlY3RuZXNzL3VzZUV4aGF1c3RpdmVEZXBlbmRlbmNpZXM6IFdlIHdhbnQgdG8gcnVuIHRoaXMgZWZmZWN0IG9ubHkgb25jZVxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmIChzdWJzY3JpcHRpb24pIHtcblx0XHRcdGNvbnN0IHN1YnNjcmlwdGlvblJlc3VsdCA9IHN1YnNjcmlwdGlvbihpbml0aWFsaXplZE1vZGVsLCBwcm9wcyk7XG5cblx0XHRcdGlmIChzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXkoc3Vic2NyaXB0aW9uUmVzdWx0KSkge1xuXHRcdFx0XHRjb25zdCBkZXN0cnVjdG9ycyA9IHN1YnNjcmlwdGlvblJlc3VsdC5tYXAoKHN1YikgPT4gc3ViKGRpc3BhdGNoKSkuZmlsdGVyKChkZXN0cnVjdG9yKSA9PiBkZXN0cnVjdG9yICE9PSB1bmRlZmluZWQpO1xuXG5cdFx0XHRcdHJldHVybiBmdW5jdGlvbiBjb21iaW5lZERlc3RydWN0b3IoKSB7XG5cdFx0XHRcdFx0Zm9yIChjb25zdCBkZXN0cnVjdG9yIG9mIGRlc3RydWN0b3JzKSB7XG5cdFx0XHRcdFx0XHRkZXN0cnVjdG9yKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBbc3ViQ21kLCBkZXN0cnVjdG9yXSA9IHN1YnNjcmlwdGlvblJlc3VsdDtcblxuXHRcdFx0ZXhlY0NtZChkaXNwYXRjaCwgc3ViQ21kKTtcblxuXHRcdFx0cmV0dXJuIGRlc3RydWN0b3I7XG5cdFx0fVxuXHR9LCBbXSk7XG5cblx0cmV0dXJuIFtpbml0aWFsaXplZE1vZGVsLCBkaXNwYXRjaF07XG5cblx0ZnVuY3Rpb24gaGFuZGxlTWVzc2FnZShuZXh0TXNnOiBUTWVzc2FnZSk6IGJvb2xlYW4ge1xuXHRcdGlmICghY3VycmVudE1vZGVsKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0bGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cblx0XHRsb2dNZXNzYWdlKG5hbWUsIG5leHRNc2cpO1xuXG5cdFx0Y29uc3QgW2RlZmVyLCBnZXREZWZlcnJlZF0gPSBjcmVhdGVEZWZlcjxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXHRcdGNvbnN0IGNhbGxCYXNlID0gY3JlYXRlQ2FsbEJhc2U8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPihuZXh0TXNnLCBjdXJyZW50TW9kZWwsIHByb3BzUmVmLmN1cnJlbnQsIHsgZGVmZXIgfSk7XG5cblx0XHRjb25zdCBbZHJhZnRGbiwgLi4uY29tbWFuZHNdID0gY2FsbFVwZGF0ZSh1cGRhdGUsIG5leHRNc2csIGN1cnJlbnRNb2RlbCwgcHJvcHNSZWYuY3VycmVudCwgeyBkZWZlciwgY2FsbEJhc2UgfSk7XG5cblx0XHRjb25zdCBbZGVmZXJyZWREcmFmdEZ1bmN0aW9ucywgZGVmZXJyZWRDb21tYW5kc10gPSBnZXREZWZlcnJlZCgpO1xuXG5cdFx0Zm9yIChjb25zdCBkZWZlcnJlZERyYWZ0Rm4gb2YgZGVmZXJyZWREcmFmdEZ1bmN0aW9ucykge1xuXHRcdFx0Y3VycmVudE1vZGVsID0gcHJvZHVjZShjdXJyZW50TW9kZWwsIGRlZmVycmVkRHJhZnRGbik7XG5cblx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHR9XG5cblx0XHRpZiAoZHJhZnRGbikge1xuXHRcdFx0Y3VycmVudE1vZGVsID0gcHJvZHVjZShjdXJyZW50TW9kZWwsIGRyYWZ0Rm4pO1xuXG5cdFx0XHRtb2RpZmllZCA9IHRydWU7XG5cdFx0fVxuXG5cdFx0ZXhlY0NtZChkaXNwYXRjaCwgLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHMpO1xuXG5cdFx0cmV0dXJuIG1vZGlmaWVkO1xuXHR9XG59XG5cbmZ1bmN0aW9uIGNhbGxVcGRhdGU8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdHVwZGF0ZTogVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKTogVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiB7XG5cdGlmICh0eXBlb2YgdXBkYXRlID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRyZXR1cm4gdXBkYXRlKG1vZGVsLCBtc2csIHByb3BzLCBvcHRpb25zKTtcblx0fVxuXG5cdHJldHVybiBjYWxsVXBkYXRlTWFwKHVwZGF0ZSwgbXNnLCBtb2RlbCwgcHJvcHMsIG9wdGlvbnMpO1xufVxuXG5mdW5jdGlvbiBjYWxsVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHR1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKTogVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiB7XG5cdGNvbnN0IG1zZ05hbWU6IFRNZXNzYWdlW1wibmFtZVwiXSA9IG1zZy5uYW1lO1xuXG5cdHJldHVybiB1cGRhdGVNYXBbbXNnTmFtZV0obXNnLCBtb2RlbCwgcHJvcHMsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgdHlwZSB7IFVzZUVsbWlzaE9wdGlvbnMgfTtcblxuZXhwb3J0IHsgY2FsbFVwZGF0ZSwgY2FsbFVwZGF0ZU1hcCwgdXNlRWxtaXNoIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssY0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFB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
206
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW1tZXIiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0NvbW1vbiIsIl9mYWtlT3B0aW9ucyIsIl9Jbml0IiwiX3JlZHV4RGV2VG9vbHMiLCJfVHlwZXMiLCJfY3JlYXRlQ2FsbEJhc2UiLCJfY3JlYXRlRGVmZXIzIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJyIiwiZSIsInQiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsIl9uIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZiIsIlR5cGVFcnJvciIsIm8iLCJhIiwidSIsImNhbGwiLCJuZXh0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIl9hcnJheUxpa2VUb0FycmF5IiwiX3RvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfbm9uSXRlcmFibGVSZXN0IiwiZnJvbSIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInRlc3QiLCJsIiwiaSIsIk9iamVjdCIsInB1c2giLCJ1c2VFbG1pc2giLCJfcmVmIiwiX2Zha2VPcHRpb25zJGRpc3BhdGNoIiwicHJvcHMiLCJpbml0IiwidXBkYXRlIiwic3Vic2NyaXB0aW9uIiwicnVubmluZyIsImJ1ZmZlciIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm1vZGVsIiwic2V0TW9kZWwiLCJwcm9wc1JlZiIsInVzZVJlZiIsImlzTW91bnRlZFJlZiIsImRldlRvb2xzIiwidXNlRWZmZWN0IiwicmVkdXhVbnN1YnNjcmliZSIsIlNlcnZpY2VzIiwiZW5hYmxlRGV2VG9vbHMiLCJpc1JlZHV4RGV2VG9vbHNFbmFibGVkIiwid2luZG93IiwiY3VycmVudCIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0Iiwic2VyaWFsaXplIiwib3B0aW9ucyIsInN1YnNjcmliZSIsIm1lc3NhZ2UiLCJ0eXBlIiwicGF5bG9hZCIsIkpTT04iLCJwYXJzZSIsInN0YXRlIiwiX3JlZHV4VW5zdWJzY3JpYmUiLCJjdXJyZW50TW9kZWwiLCJmYWtlT3B0aW9ucyIsImdldEZha2VPcHRpb25zT25jZSIsImRpc3BhdGNoIiwidXNlQ2FsbGJhY2siLCJtc2ciLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJoYW5kbGVNZXNzYWdlIiwic2VuZCIsInNoaWZ0IiwiX1NlcnZpY2VzJGxvZ2dlciIsImxvZ2dlciIsImRlYnVnIiwiaW5pdGlhbGl6ZWRNb2RlbCIsIl9kZXZUb29scyRjdXJyZW50IiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfcmVmMiIsIl9yZWYzIiwiaW5pdE1vZGVsIiwiaW5pdENvbW1hbmRzIiwiY2FzdEltbXV0YWJsZSIsImZyZWV6ZSIsImV4ZWNDbWQiLCJhcHBseSIsImNvbmNhdCIsInN1YnNjcmlwdGlvblJlc3VsdCIsInN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheSIsImRlc3RydWN0b3JzIiwibWFwIiwic3ViIiwiZmlsdGVyIiwiZGVzdHJ1Y3RvciIsInVuZGVmaW5lZCIsImNvbWJpbmVkRGVzdHJ1Y3RvciIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZXJyIiwiX3N1YnNjcmlwdGlvblJlc3VsdCIsInN1YkNtZCIsImxvZ01lc3NhZ2UiLCJfY3JlYXRlRGVmZXIiLCJjcmVhdGVEZWZlciIsIl9jcmVhdGVEZWZlcjIiLCJkZWZlciIsImdldERlZmVycmVkIiwiY2FsbEJhc2UiLCJjcmVhdGVDYWxsQmFzZSIsIl9jYWxsVXBkYXRlIiwiY2FsbFVwZGF0ZSIsIl9jYWxsVXBkYXRlMiIsInVwZGF0ZWRNb2RlbCIsImNvbW1hbmRzIiwiZGVmZXJyZWRDb21tYW5kcyIsInByb2R1Y2UiLCJkcmFmdCIsImNhbGxVcGRhdGVNYXAiLCJ1cGRhdGVNYXAiLCJtc2dOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltbXV0YWJsZS91c2VFbG1pc2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzICovXG5pbXBvcnQgeyBjYXN0SW1tdXRhYmxlLCBmcmVlemUsIHByb2R1Y2UsIHR5cGUgRHJhZnQsIHR5cGUgSW1tdXRhYmxlIH0gZnJvbSBcImltbWVyXCI7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBleGVjQ21kLCBsb2dNZXNzYWdlIH0gZnJvbSBcIi4uL0NvbW1vblwiO1xuaW1wb3J0IHsgZ2V0RmFrZU9wdGlvbnNPbmNlIH0gZnJvbSBcIi4uL2Zha2VPcHRpb25zXCI7XG5pbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuLi9Jbml0XCI7XG5pbXBvcnQgeyBpc1JlZHV4RGV2VG9vbHNFbmFibGVkLCB0eXBlIFJlZHV4RGV2VG9vbHMgfSBmcm9tIFwiLi4vcmVkdXhEZXZUb29sc1wiO1xuaW1wb3J0IHsgc3Vic2NyaXB0aW9uSXNGdW5jdGlvbkFycmF5LCB0eXBlIENtZCwgdHlwZSBEaXNwYXRjaCwgdHlwZSBJbml0RnVuY3Rpb24sIHR5cGUgTWVzc2FnZSwgdHlwZSBOdWxsYWJsZSB9IGZyb20gXCIuLi9UeXBlc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ2FsbEJhc2UgfSBmcm9tIFwiLi9jcmVhdGVDYWxsQmFzZVwiO1xuaW1wb3J0IHsgY3JlYXRlRGVmZXIgfSBmcm9tIFwiLi9jcmVhdGVEZWZlclwiO1xuaW1wb3J0IHR5cGUgeyBTdWJzY3JpcHRpb24sIFVwZGF0ZUZ1bmN0aW9uLCBVcGRhdGVGdW5jdGlvbk9wdGlvbnMsIFVwZGF0ZU1hcCwgVXBkYXRlUmV0dXJuVHlwZSB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGB1c2VFbG1pc2hgIGhvb2suXG4gKiBAaW50ZXJmYWNlIFVzZUVsbWlzaE9wdGlvbnNcbiAqIEB0ZW1wbGF0ZSBUUHJvcHMgVGhlIHR5cGUgb2YgdGhlIHByb3BzLlxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzIGRpc2NyaW1pbmF0ZWQgdW5pb24uXG4gKi9cbmludGVyZmFjZSBVc2VFbG1pc2hPcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+IHtcblx0LyoqXG5cdCAqIFRoZSBuYW1lIG9mIHRoZSBjb21wb25lbnQuIFRoaXMgaXMgdXNlZCBmb3IgbG9nZ2luZyBvbmx5LlxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKi9cblx0bmFtZTogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIHByb3BzIHBhc3NlZCB0byB0aGUgY29tcG9uZW50LlxuXHQgKiBAdHlwZSB7VFByb3BzfVxuXHQgKi9cblx0cHJvcHM6IFRQcm9wcztcblx0LyoqXG5cdCAqIFRoZSBmdW5jdGlvbiB0byBpbml0aWFsaXplIHRoZSBjb21wb25lbnRzIG1vZGVsLiBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIG9uY2UuXG5cdCAqIEB0eXBlIHtJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPn1cblx0ICovXG5cdGluaXQ6IEluaXRGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+O1xuXHQvKipcblx0ICogVGhlIGB1cGRhdGVgIGZ1bmN0aW9uIG9yIHVwZGF0ZSBtYXAgb2JqZWN0LlxuXHQgKiBAdHlwZSB7KFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPil9XG5cdCAqL1xuXHR1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPjtcblx0LyoqXG5cdCAqIFRoZSBvcHRpb25hbCBgc3Vic2NyaXB0aW9uYCBmdW5jdGlvbi4gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBvbmNlLlxuXHQgKiBAdHlwZSB7KFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPil9XG5cdCAqL1xuXHRzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPjtcbn1cblxuLyoqXG4gKiBIb29rIHRvIHVzZSB0aGUgRWxtIGFyY2hpdGVjdHVyZSBwYXR0ZXJuIGluIGEgZnVuY3Rpb24gY29tcG9uZW50LlxuICogQHBhcmFtIHtVc2VFbG1pc2hPcHRpb25zfSBvcHRpb25zIFRoZSBvcHRpb25zIHBhc3NlZCB0aGUgdGhlIGhvb2suXG4gKiBAcmV0dXJucyBBIHR1cGxlIGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgbW9kZWwgYW5kIHRoZSBkaXNwYXRjaGVyLlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IFttb2RlbCwgZGlzcGF0Y2hdID0gdXNlRWxtaXNoKHsgcHJvcHMsIGluaXQsIHVwZGF0ZSwgbmFtZTogXCJNeUNvbXBvbmVudFwiIH0pO1xuICovXG5mdW5jdGlvbiB1c2VFbG1pc2g8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oe1xuXHRuYW1lLFxuXHRwcm9wcyxcblx0aW5pdCxcblx0dXBkYXRlLFxuXHRzdWJzY3JpcHRpb24sXG59OiBVc2VFbG1pc2hPcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pOiBbSW1tdXRhYmxlPFRNb2RlbD4sIERpc3BhdGNoPFRNZXNzYWdlPl0ge1xuXHRsZXQgcnVubmluZyA9IGZhbHNlO1xuXHRjb25zdCBidWZmZXI6IFRNZXNzYWdlW10gPSBbXTtcblxuXHRjb25zdCBbbW9kZWwsIHNldE1vZGVsXSA9IHVzZVN0YXRlPE51bGxhYmxlPEltbXV0YWJsZTxUTW9kZWw+Pj4obnVsbCk7XG5cdGNvbnN0IHByb3BzUmVmID0gdXNlUmVmKHByb3BzKTtcblx0Y29uc3QgaXNNb3VudGVkUmVmID0gdXNlUmVmKHRydWUpO1xuXG5cdGNvbnN0IGRldlRvb2xzID0gdXNlUmVmPFJlZHV4RGV2VG9vbHMgfCBudWxsPihudWxsKTtcblxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGxldCByZWR1eFVuc3Vic2NyaWJlOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG5cblx0XHRpZiAoU2VydmljZXMuZW5hYmxlRGV2VG9vbHMgPT09IHRydWUgJiYgaXNSZWR1eERldlRvb2xzRW5hYmxlZCh3aW5kb3cpKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcblx0XHRcdGRldlRvb2xzLmN1cnJlbnQgPSB3aW5kb3cuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXy5jb25uZWN0KHsgbmFtZSwgc2VyaWFsaXplOiB7IG9wdGlvbnM6IHRydWUgfSB9KTtcblxuXHRcdFx0cmVkdXhVbnN1YnNjcmliZSA9IGRldlRvb2xzLmN1cnJlbnQuc3Vic2NyaWJlKChtZXNzYWdlKSA9PiB7XG5cdFx0XHRcdGlmIChtZXNzYWdlLnR5cGUgPT09IFwiRElTUEFUQ0hcIiAmJiBtZXNzYWdlLnBheWxvYWQudHlwZSA9PT0gXCJKVU1QX1RPX0FDVElPTlwiKSB7XG5cdFx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb25cblx0XHRcdFx0XHRzZXRNb2RlbChKU09OLnBhcnNlKG1lc3NhZ2Uuc3RhdGUpIGFzIEltbXV0YWJsZTxUTW9kZWw+KTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0aXNNb3VudGVkUmVmLmN1cnJlbnQgPSB0cnVlO1xuXG5cdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdGlzTW91bnRlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG5cblx0XHRcdHJlZHV4VW5zdWJzY3JpYmU/LigpO1xuXHRcdH07XG5cdH0sIFtuYW1lXSk7XG5cblx0bGV0IGN1cnJlbnRNb2RlbCA9IG1vZGVsO1xuXG5cdGlmIChwcm9wc1JlZi5jdXJyZW50ICE9PSBwcm9wcykge1xuXHRcdHByb3BzUmVmLmN1cnJlbnQgPSBwcm9wcztcblx0fVxuXG5cdGNvbnN0IGZha2VPcHRpb25zID0gZ2V0RmFrZU9wdGlvbnNPbmNlPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cdGNvbnN0IGRpc3BhdGNoID0gdXNlQ2FsbGJhY2soXG5cdFx0ZmFrZU9wdGlvbnM/LmRpc3BhdGNoID8/XG5cdFx0XHQoKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcblx0XHRcdFx0aWYgKHJ1bm5pbmcpIHtcblx0XHRcdFx0XHRidWZmZXIucHVzaChtc2cpO1xuXG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cnVubmluZyA9IHRydWU7XG5cblx0XHRcdFx0bGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuXHRcdFx0XHRsZXQgbW9kaWZpZWQgPSBmYWxzZTtcblxuXHRcdFx0XHRkbyB7XG5cdFx0XHRcdFx0aWYgKGhhbmRsZU1lc3NhZ2UobmV4dE1zZykpIHtcblx0XHRcdFx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRpZiAoZGV2VG9vbHMuY3VycmVudCkge1xuXHRcdFx0XHRcdFx0ZGV2VG9vbHMuY3VycmVudC5zZW5kKG5leHRNc2cubmFtZSwgY3VycmVudE1vZGVsKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRuZXh0TXNnID0gYnVmZmVyLnNoaWZ0KCk7XG5cdFx0XHRcdH0gd2hpbGUgKG5leHRNc2cpO1xuXG5cdFx0XHRcdHJ1bm5pbmcgPSBmYWxzZTtcblxuXHRcdFx0XHRpZiAoaXNNb3VudGVkUmVmLmN1cnJlbnQgJiYgbW9kaWZpZWQpIHtcblx0XHRcdFx0XHRzZXRNb2RlbCgoKSA9PiB7XG5cdFx0XHRcdFx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiVXBkYXRlIG1vZGVsIGZvclwiLCBuYW1lLCBjdXJyZW50TW9kZWwpO1xuXG5cdFx0XHRcdFx0XHRyZXR1cm4gY3VycmVudE1vZGVsO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9KSxcblx0XHRbXSxcblx0KTtcblxuXHRsZXQgaW5pdGlhbGl6ZWRNb2RlbCA9IG1vZGVsO1xuXG5cdGlmICghaW5pdGlhbGl6ZWRNb2RlbCkge1xuXHRcdGNvbnN0IFtpbml0TW9kZWwsIC4uLmluaXRDb21tYW5kc10gPSBmYWtlT3B0aW9ucz8ubW9kZWwgPyBbZmFrZU9wdGlvbnMubW9kZWxdIDogaW5pdChwcm9wcyk7XG5cblx0XHRpbml0aWFsaXplZE1vZGVsID0gY2FzdEltbXV0YWJsZShmcmVlemUoaW5pdE1vZGVsLCB0cnVlKSk7XG5cdFx0Y3VycmVudE1vZGVsID0gaW5pdGlhbGl6ZWRNb2RlbDtcblx0XHRzZXRNb2RlbChpbml0aWFsaXplZE1vZGVsKTtcblxuXHRcdGRldlRvb2xzLmN1cnJlbnQ/LmluaXQoaW5pdGlhbGl6ZWRNb2RlbCk7XG5cblx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiSW5pdGlhbCBtb2RlbCBmb3JcIiwgbmFtZSwgaW5pdGlhbGl6ZWRNb2RlbCk7XG5cblx0XHRleGVjQ21kKGRpc3BhdGNoLCAuLi5pbml0Q29tbWFuZHMpO1xuXHR9XG5cblx0Ly8gYmlvbWUtaWdub3JlIGxpbnQvY29ycmVjdG5lc3MvdXNlRXhoYXVzdGl2ZURlcGVuZGVuY2llczogV2Ugd2FudCB0byBydW4gdGhpcyBlZmZlY3Qgb25seSBvbmNlXG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0aWYgKHN1YnNjcmlwdGlvbikge1xuXHRcdFx0Y29uc3Qgc3Vic2NyaXB0aW9uUmVzdWx0ID0gc3Vic2NyaXB0aW9uKGluaXRpYWxpemVkTW9kZWwsIHByb3BzKTtcblxuXHRcdFx0aWYgKHN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheShzdWJzY3JpcHRpb25SZXN1bHQpKSB7XG5cdFx0XHRcdGNvbnN0IGRlc3RydWN0b3JzID0gc3Vic2NyaXB0aW9uUmVzdWx0Lm1hcCgoc3ViKSA9PiBzdWIoZGlzcGF0Y2gpKS5maWx0ZXIoKGRlc3RydWN0b3IpID0+IGRlc3RydWN0b3IgIT09IHVuZGVmaW5lZCk7XG5cblx0XHRcdFx0cmV0dXJuIGZ1bmN0aW9uIGNvbWJpbmVkRGVzdHJ1Y3RvcigpIHtcblx0XHRcdFx0XHRmb3IgKGNvbnN0IGRlc3RydWN0b3Igb2YgZGVzdHJ1Y3RvcnMpIHtcblx0XHRcdFx0XHRcdGRlc3RydWN0b3IoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH07XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IFtzdWJDbWQsIGRlc3RydWN0b3JdID0gc3Vic2NyaXB0aW9uUmVzdWx0O1xuXG5cdFx0XHRleGVjQ21kKGRpc3BhdGNoLCBzdWJDbWQpO1xuXG5cdFx0XHRyZXR1cm4gZGVzdHJ1Y3Rvcjtcblx0XHR9XG5cdH0sIFtdKTtcblxuXHRyZXR1cm4gW2luaXRpYWxpemVkTW9kZWwsIGRpc3BhdGNoXTtcblxuXHRmdW5jdGlvbiBoYW5kbGVNZXNzYWdlKG5leHRNc2c6IFRNZXNzYWdlKTogYm9vbGVhbiB7XG5cdFx0aWYgKCFjdXJyZW50TW9kZWwpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHRsb2dNZXNzYWdlKG5hbWUsIG5leHRNc2cpO1xuXG5cdFx0Y29uc3QgW2RlZmVyLCBnZXREZWZlcnJlZF0gPSBjcmVhdGVEZWZlcjxUTWVzc2FnZT4oKTtcblx0XHRjb25zdCBjYWxsQmFzZSA9IGNyZWF0ZUNhbGxCYXNlPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4obmV4dE1zZywgY3VycmVudE1vZGVsLCBwcm9wc1JlZi5jdXJyZW50LCB7IGRlZmVyIH0pO1xuXG5cdFx0Y29uc3QgW3VwZGF0ZWRNb2RlbCwgLi4uY29tbWFuZHNdID0gY2FsbFVwZGF0ZSh1cGRhdGUsIG5leHRNc2csIGN1cnJlbnRNb2RlbCwgcHJvcHNSZWYuY3VycmVudCwgeyBkZWZlciwgY2FsbEJhc2UgfSk7XG5cblx0XHRjb25zdCBkZWZlcnJlZENvbW1hbmRzID0gZ2V0RGVmZXJyZWQoKTtcblxuXHRcdGN1cnJlbnRNb2RlbCA9IHVwZGF0ZWRNb2RlbDtcblxuXHRcdGV4ZWNDbWQoZGlzcGF0Y2gsIC4uLmNvbW1hbmRzLCAuLi5kZWZlcnJlZENvbW1hbmRzKTtcblxuXHRcdC8vIFRPRE86IG9wdGltaWVyZW5cblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuXG5mdW5jdGlvbiBjYWxsVXBkYXRlPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHR1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcblx0bXNnOiBUTWVzc2FnZSxcblx0bW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+LFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbik6IFtJbW11dGFibGU8VE1vZGVsPiwgLi4uKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW11dIHtcblx0Y29uc3QgY29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdID0gW107XG5cdGNvbnN0IHVwZGF0ZWRNb2RlbCA9IHByb2R1Y2UobW9kZWwsIChkcmFmdDogRHJhZnQ8VE1vZGVsPikgPT4ge1xuXHRcdGlmICh0eXBlb2YgdXBkYXRlID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRcdGNvbW1hbmRzLnB1c2goLi4udXBkYXRlKGRyYWZ0LCBtc2csIHByb3BzLCBvcHRpb25zKSk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb21tYW5kcy5wdXNoKC4uLmNhbGxVcGRhdGVNYXAodXBkYXRlLCBtc2csIGRyYWZ0LCBwcm9wcywgb3B0aW9ucykpO1xuXHR9KTtcblxuXHRyZXR1cm4gW3VwZGF0ZWRNb2RlbCwgLi4uY29tbWFuZHNdO1xufVxuXG5mdW5jdGlvbiBjYWxsVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHR1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogRHJhZnQ8VE1vZGVsPixcblx0cHJvcHM6IFRQcm9wcyxcblx0b3B0aW9uczogVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4pOiBVcGRhdGVSZXR1cm5UeXBlPFRNZXNzYWdlPiB7XG5cdGNvbnN0IG1zZ05hbWU6IFRNZXNzYWdlW1wibmFtZVwiXSA9IG1zZy5uYW1lO1xuXG5cdHJldHVybiB1cGRhdGVNYXBbbXNnTmFtZV0obXNnLCBtb2RlbCwgcHJvcHMsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgdHlwZSB7IFVzZUVsbWlzaE9wdGlvbnMgfTtcblxuZXhwb3J0IHsgY2FsbFVwZGF0ZSwgY2FsbFVwZGF0ZU1hcCwgdXNlRWxtaXNoIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssY0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sZUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsYUFBQSxHQUFBUixPQUFBO0FBQTRDLFNBQUFTLDJCQUFBQyxDQUFBLEVBQUFDLENB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-elmish",
3
- "version": "10.0.0-beta.5",
3
+ "version": "10.0.0-beta.6",
4
4
  "description": "Elmish for React using Typescript",
5
5
  "author": "atheck",
6
6
  "license": "MIT",