react-elmish 10.0.0-beta.4 → 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 +17 -10
- package/dist/immutable/ElmComponent.js +15 -34
- package/dist/immutable/ErrorHandling.d.ts +3 -3
- package/dist/immutable/ErrorHandling.js +1 -1
- package/dist/immutable/Types.d.ts +9 -10
- package/dist/immutable/Types.js +1 -1
- package/dist/immutable/createCallBase.d.ts +1 -1
- package/dist/immutable/createCallBase.js +15 -6
- package/dist/immutable/createDefer.d.ts +2 -5
- package/dist/immutable/createDefer.js +4 -11
- package/dist/immutable/testing/getUpdateFn.js +73 -99
- package/dist/immutable/useElmish.d.ts +4 -4
- package/dist/immutable/useElmish.js +16 -29
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -18,6 +18,7 @@ This library brings the elmish pattern to react.
|
|
|
18
18
|
- [Working with external sources of events](#working-with-external-sources-of-events)
|
|
19
19
|
- [Cleanup subscriptions](#cleanup-subscriptions)
|
|
20
20
|
- [Immutability](#immutability)
|
|
21
|
+
- [Testing](#testing)
|
|
21
22
|
- [Setup](#setup)
|
|
22
23
|
- [Error handling](#error-handling)
|
|
23
24
|
- [React life cycle management](#react-life-cycle-management)
|
|
@@ -27,7 +28,7 @@ This library brings the elmish pattern to react.
|
|
|
27
28
|
- [With an `UpdateMap`](#with-an-updatemap)
|
|
28
29
|
- [With an update function](#with-an-update-function)
|
|
29
30
|
- [Merge multiple subscriptions](#merge-multiple-subscriptions)
|
|
30
|
-
- [Testing](#testing)
|
|
31
|
+
- [Testing](#testing-1)
|
|
31
32
|
- [Testing the init function](#testing-the-init-function)
|
|
32
33
|
- [Testing the update handler](#testing-the-update-handler)
|
|
33
34
|
- [Combine update and execCmd](#combine-update-and-execcmd)
|
|
@@ -474,34 +475,40 @@ function App(props: Props): JSX.Element {
|
|
|
474
475
|
}
|
|
475
476
|
```
|
|
476
477
|
|
|
477
|
-
|
|
478
|
+
You can simply update the draft of the model like this:
|
|
478
479
|
|
|
479
480
|
```ts
|
|
480
481
|
import { type UpdateMap } from "react-elmish/immutable";
|
|
481
482
|
|
|
482
483
|
const updateMap: UpdateMap<Props, Model, Message> = {
|
|
483
|
-
increment
|
|
484
|
-
model.value += 1;
|
|
484
|
+
increment(_msg, model) {
|
|
485
|
+
model.value += 1;
|
|
485
486
|
|
|
486
|
-
return [
|
|
487
|
+
return [];
|
|
487
488
|
},
|
|
488
489
|
|
|
489
|
-
decrement
|
|
490
|
-
|
|
490
|
+
decrement(_msg, model) {
|
|
491
|
+
model.value -= 1;
|
|
492
|
+
|
|
493
|
+
return [];
|
|
491
494
|
},
|
|
492
495
|
|
|
493
496
|
commandOnly() {
|
|
494
|
-
//
|
|
495
|
-
return [
|
|
497
|
+
// This will not update the model but only dispatch a command
|
|
498
|
+
return [cmd.ofMsg(Msg.increment())];
|
|
496
499
|
},
|
|
497
500
|
|
|
498
501
|
doNothing() {
|
|
499
|
-
//
|
|
502
|
+
// This does nothing
|
|
500
503
|
return [];
|
|
501
504
|
},
|
|
502
505
|
};
|
|
503
506
|
```
|
|
504
507
|
|
|
508
|
+
### Testing
|
|
509
|
+
|
|
510
|
+
If you want to test your component with immutable data structures, you can use the `react-elmish/testing/immutable` module. This module provides the same functions as the normal testing module.
|
|
511
|
+
|
|
505
512
|
## Setup
|
|
506
513
|
|
|
507
514
|
**react-elmish** works without a setup. But if you want to use logging or some middleware, you can setup **react-elmish** at the start of your program.
|
|
@@ -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
|
|
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
|
|
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
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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
|
|
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<
|
|
16
|
-
error: (msg: ErrorMessage) => UpdateReturnType<
|
|
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<
|
|
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+
|
|
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<Immutable<TModel>>) => void;
|
|
4
3
|
/**
|
|
5
4
|
* Type for the return value of the `update` function.
|
|
6
5
|
*/
|
|
7
|
-
type UpdateReturnType<
|
|
8
|
-
type DeferFunction<
|
|
9
|
-
type CallBaseFunction<TModel, TProps, TMessage> = (fn: (msg: TMessage, model:
|
|
10
|
-
type UpdateMapFunction<TProps, TModel, TMessage> = (msg: TMessage, model:
|
|
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<
|
|
11
|
+
defer: DeferFunction<TMessage>;
|
|
13
12
|
callBase: CallBaseFunction<TModel, TProps, TMessage>;
|
|
14
13
|
}
|
|
15
|
-
type UpdateFunction<TProps, TModel, TMessage extends Message> = (model:
|
|
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:
|
|
22
|
+
}, model: Draft<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage & {
|
|
24
23
|
name: TMessageName;
|
|
25
|
-
}>) => UpdateReturnType<
|
|
24
|
+
}>) => UpdateReturnType<TMessage>;
|
|
26
25
|
};
|
|
27
26
|
type Subscription<TProps, TModel, TMessage> = (model: Immutable<TModel>, props: TProps) => SubscriptionResult<TMessage>;
|
|
28
|
-
export type { CallBaseFunction, DeferFunction,
|
|
27
|
+
export type { CallBaseFunction, DeferFunction, Subscription, UpdateFunction, UpdateFunctionOptions, UpdateMap, UpdateMapFunction, UpdateReturnType, };
|
package/dist/immutable/Types.js
CHANGED
|
@@ -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,
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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
|
|
3
|
-
declare function createDefer<
|
|
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(
|
|
11
|
-
|
|
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
|
|
13
|
+
return deferredCommands;
|
|
21
14
|
}];
|
|
22
15
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
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; }
|
|
@@ -31,6 +30,8 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
31
30
|
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; }
|
|
32
31
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
33
32
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
33
|
+
(0, _immer.enablePatches)();
|
|
34
|
+
|
|
34
35
|
/**
|
|
35
36
|
* Creates an update function out of an UpdateMap.
|
|
36
37
|
* @param updateMap The UpdateMap.
|
|
@@ -54,38 +55,16 @@ function getUpdateFn(updateMap) {
|
|
|
54
55
|
defer: defer,
|
|
55
56
|
callBase: callBase
|
|
56
57
|
}, optionsTemplate);
|
|
57
|
-
var
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
commands
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
deferredDraftFunctions = _getDeferred2[0],
|
|
64
|
-
deferredCommands = _getDeferred2[1];
|
|
65
|
-
var allDraftFunctions = [].concat(_toConsumableArray(deferredDraftFunctions), [draftFn]).filter(function (fn) {
|
|
66
|
-
return fn != null;
|
|
58
|
+
var commands = [];
|
|
59
|
+
var recordedPatches = [];
|
|
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));
|
|
67
64
|
});
|
|
68
|
-
var
|
|
69
|
-
var diff =
|
|
70
|
-
|
|
71
|
-
_step;
|
|
72
|
-
try {
|
|
73
|
-
var _loop = function _loop() {
|
|
74
|
-
var fn = _step.value;
|
|
75
|
-
currentModel = (0, _immer.produce)(currentModel, function (draft) {
|
|
76
|
-
fn(draft);
|
|
77
|
-
calculateModelDiff(draft, model, diff);
|
|
78
|
-
});
|
|
79
|
-
};
|
|
80
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
81
|
-
_loop();
|
|
82
|
-
}
|
|
83
|
-
} catch (err) {
|
|
84
|
-
_iterator.e(err);
|
|
85
|
-
} finally {
|
|
86
|
-
_iterator.f();
|
|
87
|
-
}
|
|
88
|
-
return [diff].concat(_toConsumableArray(commands), _toConsumableArray(deferredCommands));
|
|
65
|
+
var deferredCommands = getDeferred();
|
|
66
|
+
var diff = getDiffFromPatches(recordedPatches, updatedModel);
|
|
67
|
+
return [diff].concat(commands, _toConsumableArray(deferredCommands));
|
|
89
68
|
};
|
|
90
69
|
}
|
|
91
70
|
|
|
@@ -102,9 +81,9 @@ function getUpdateFn(updateMap) {
|
|
|
102
81
|
function getUpdateAndExecCmdFn(updateMap) {
|
|
103
82
|
return /*#__PURE__*/function () {
|
|
104
83
|
var _updateAndExecCmdFn = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(msg, model, props, optionsTemplate) {
|
|
105
|
-
var _createDefer3, _createDefer4, defer, getDeferred, callBase, options,
|
|
106
|
-
return _regeneratorRuntime().wrap(function _callee$(
|
|
107
|
-
while (1) switch (
|
|
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) {
|
|
108
87
|
case 0:
|
|
109
88
|
_createDefer3 = (0, _createDefer5.createDefer)(), _createDefer4 = _slicedToArray(_createDefer3, 2), defer = _createDefer4[0], getDeferred = _createDefer4[1];
|
|
110
89
|
callBase = (0, _createCallBase.createCallBase)(msg, model, props, {
|
|
@@ -114,63 +93,25 @@ function getUpdateAndExecCmdFn(updateMap) {
|
|
|
114
93
|
defer: defer,
|
|
115
94
|
callBase: callBase
|
|
116
95
|
}, optionsTemplate);
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
})
|
|
122
|
-
|
|
123
|
-
diff = {};
|
|
124
|
-
_iterator2 = _createForOfIteratorHelper(allDraftFunctions);
|
|
125
|
-
_context2.prev = 9;
|
|
126
|
-
_loop2 = /*#__PURE__*/_regeneratorRuntime().mark(function _loop2() {
|
|
127
|
-
var fn;
|
|
128
|
-
return _regeneratorRuntime().wrap(function _loop2$(_context) {
|
|
129
|
-
while (1) switch (_context.prev = _context.next) {
|
|
130
|
-
case 0:
|
|
131
|
-
fn = _step2.value;
|
|
132
|
-
currentModel = (0, _immer.produce)(currentModel, function (draft) {
|
|
133
|
-
fn(draft);
|
|
134
|
-
calculateModelDiff(draft, model, diff);
|
|
135
|
-
});
|
|
136
|
-
case 2:
|
|
137
|
-
case "end":
|
|
138
|
-
return _context.stop();
|
|
139
|
-
}
|
|
140
|
-
}, _loop2);
|
|
96
|
+
commands = [];
|
|
97
|
+
recordedPatches = [];
|
|
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));
|
|
141
102
|
});
|
|
142
|
-
|
|
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]);
|
|
143
110
|
case 12:
|
|
144
|
-
if ((_step2 = _iterator2.n()).done) {
|
|
145
|
-
_context2.next = 16;
|
|
146
|
-
break;
|
|
147
|
-
}
|
|
148
|
-
return _context2.delegateYield(_loop2(), "t0", 14);
|
|
149
|
-
case 14:
|
|
150
|
-
_context2.next = 12;
|
|
151
|
-
break;
|
|
152
|
-
case 16:
|
|
153
|
-
_context2.next = 21;
|
|
154
|
-
break;
|
|
155
|
-
case 18:
|
|
156
|
-
_context2.prev = 18;
|
|
157
|
-
_context2.t1 = _context2["catch"](9);
|
|
158
|
-
_iterator2.e(_context2.t1);
|
|
159
|
-
case 21:
|
|
160
|
-
_context2.prev = 21;
|
|
161
|
-
_iterator2.f();
|
|
162
|
-
return _context2.finish(21);
|
|
163
|
-
case 24:
|
|
164
|
-
_context2.next = 26;
|
|
165
|
-
return _testing.execCmd.apply(void 0, _toConsumableArray(commands).concat(_toConsumableArray(deferredCommands)));
|
|
166
|
-
case 26:
|
|
167
|
-
messages = _context2.sent;
|
|
168
|
-
return _context2.abrupt("return", [diff, messages]);
|
|
169
|
-
case 28:
|
|
170
111
|
case "end":
|
|
171
|
-
return
|
|
112
|
+
return _context.stop();
|
|
172
113
|
}
|
|
173
|
-
}, _callee
|
|
114
|
+
}, _callee);
|
|
174
115
|
}));
|
|
175
116
|
function updateAndExecCmdFn(_x, _x2, _x3, _x4) {
|
|
176
117
|
return _updateAndExecCmdFn.apply(this, arguments);
|
|
@@ -178,15 +119,48 @@ function getUpdateAndExecCmdFn(updateMap) {
|
|
|
178
119
|
return updateAndExecCmdFn;
|
|
179
120
|
}();
|
|
180
121
|
}
|
|
181
|
-
function
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
122
|
+
function getDiffFromPatches(patches, model) {
|
|
123
|
+
var diff = {};
|
|
124
|
+
|
|
125
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
126
|
+
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
127
|
+
/* eslint-disable @typescript-eslint/no-dynamic-delete */
|
|
128
|
+
var _iterator = _createForOfIteratorHelper(patches),
|
|
129
|
+
_step;
|
|
130
|
+
try {
|
|
131
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
132
|
+
var patch = _step.value;
|
|
133
|
+
// biome-ignore lint/style/noNonNullAssertion: The path is always defined
|
|
134
|
+
var path = patch.path[0];
|
|
135
|
+
switch (patch.op) {
|
|
136
|
+
case "replace":
|
|
137
|
+
{
|
|
138
|
+
// @ts-expect-error
|
|
139
|
+
diff[path] = model[path];
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
case "add":
|
|
143
|
+
{
|
|
144
|
+
// @ts-expect-error
|
|
145
|
+
diff[path] = model[path];
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
case "remove":
|
|
149
|
+
{
|
|
150
|
+
// @ts-expect-error
|
|
151
|
+
delete diff[path];
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
189
155
|
}
|
|
156
|
+
/* eslint-enable @typescript-eslint/no-dynamic-delete */
|
|
157
|
+
/* eslint-enable @typescript-eslint/ban-ts-comment */
|
|
158
|
+
/* eslint-enable @typescript-eslint/no-unsafe-assignment */
|
|
159
|
+
} catch (err) {
|
|
160
|
+
_iterator.e(err);
|
|
161
|
+
} finally {
|
|
162
|
+
_iterator.f();
|
|
190
163
|
}
|
|
164
|
+
return diff;
|
|
191
165
|
}
|
|
192
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW1tZXIiLCJyZXF1aXJlIiwiX3Rlc3RpbmciLCJfY3JlYXRlQ2FsbEJhc2UiLCJfY3JlYXRlRGVmZXI1IiwiX3VzZUVsbWlzaCIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJlIiwidCIsInIiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJuIiwiaGFzT3duUHJvcGVydHkiLCJvIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImkiLCJTeW1ib2wiLCJhIiwiaXRlcmF0b3IiLCJjIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImNhbGwiLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJfdHlwZW9mIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsImRvbmUiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsIlR5cGVFcnJvciIsInJlc3VsdE5hbWUiLCJuZXh0IiwibmV4dExvYyIsInB1c2hUcnlFbnRyeSIsInRyeUxvYyIsImNhdGNoTG9jIiwiZmluYWxseUxvYyIsImFmdGVyTG9jIiwidHJ5RW50cmllcyIsInB1c2giLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9uIiwiRiIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl90b0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX25vbkl0ZXJhYmxlUmVzdCIsImZyb20iLCJvd25LZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwidG9TdHJpbmciLCJ0ZXN0IiwiZ2V0VXBkYXRlRm4iLCJ1cGRhdGVNYXAiLCJ1cGRhdGVGbiIsIm1zZyIsIm1vZGVsIiwicHJvcHMiLCJvcHRpb25zVGVtcGxhdGUiLCJfY3JlYXRlRGVmZXIiLCJjcmVhdGVEZWZlciIsIl9jcmVhdGVEZWZlcjIiLCJkZWZlciIsImdldERlZmVycmVkIiwiY2FsbEJhc2UiLCJjcmVhdGVDYWxsQmFzZSIsIm9wdGlvbnMiLCJfY2FsbFVwZGF0ZU1hcCIsImNhbGxVcGRhdGVNYXAiLCJfY2FsbFVwZGF0ZU1hcDIiLCJkcmFmdEZuIiwiY29tbWFuZHMiLCJfZ2V0RGVmZXJyZWQiLCJfZ2V0RGVmZXJyZWQyIiwiZGVmZXJyZWREcmFmdEZ1bmN0aW9ucyIsImRlZmVycmVkQ29tbWFuZHMiLCJhbGxEcmFmdEZ1bmN0aW9ucyIsImNvbmNhdCIsImZuIiwiY3VycmVudE1vZGVsIiwiZGlmZiIsIl9pdGVyYXRvciIsIl9zdGVwIiwiX2xvb3AiLCJwcm9kdWNlIiwiZHJhZnQiLCJjYWxjdWxhdGVNb2RlbERpZmYiLCJlcnIiLCJnZXRVcGRhdGVBbmRFeGVjQ21kRm4iLCJfdXBkYXRlQW5kRXhlY0NtZEZuIiwiX2NhbGxlZSIsIl9jcmVhdGVEZWZlcjMiLCJfY3JlYXRlRGVmZXI0IiwiX2NhbGxVcGRhdGVNYXAzIiwiX2NhbGxVcGRhdGVNYXA0IiwiX2dldERlZmVycmVkMyIsIl9nZXREZWZlcnJlZDQiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwiX2xvb3AyIiwibWVzc2FnZXMiLCJfY2FsbGVlJCIsIl9jb250ZXh0MiIsIl9sb29wMiQiLCJfY29udGV4dCIsInQxIiwiZXhlY0NtZCIsInVwZGF0ZUFuZEV4ZWNDbWRGbiIsIl94IiwiX3gyIiwiX3gzIiwiX3g0Iiwia2V5IiwiaGFzT3duIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltbXV0YWJsZS90ZXN0aW5nL2dldFVwZGF0ZUZuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb2R1Y2UsIHR5cGUgRHJhZnQsIHR5cGUgSW1tdXRhYmxlIH0gZnJvbSBcImltbWVyXCI7XG5pbXBvcnQgeyBleGVjQ21kIH0gZnJvbSBcIi4uLy4uL3Rlc3RpbmdcIjtcbmltcG9ydCB0eXBlIHsgQ21kLCBNZXNzYWdlLCBOdWxsYWJsZSB9IGZyb20gXCIuLi8uLi9UeXBlc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ2FsbEJhc2UgfSBmcm9tIFwiLi4vY3JlYXRlQ2FsbEJhc2VcIjtcbmltcG9ydCB7IGNyZWF0ZURlZmVyIH0gZnJvbSBcIi4uL2NyZWF0ZURlZmVyXCI7XG5pbXBvcnQgdHlwZSB7IFVwZGF0ZUZ1bmN0aW9uT3B0aW9ucywgVXBkYXRlTWFwIH0gZnJvbSBcIi4uL1R5cGVzXCI7XG5pbXBvcnQgeyBjYWxsVXBkYXRlTWFwIH0gZnJvbSBcIi4uL3VzZUVsbWlzaFwiO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gdXBkYXRlIGZ1bmN0aW9uIG91dCBvZiBhbiBVcGRhdGVNYXAuXG4gKiBAcGFyYW0gdXBkYXRlTWFwIFRoZSBVcGRhdGVNYXAuXG4gKiBAcmV0dXJucyBUaGUgY3JlYXRlZCB1cGRhdGUgZnVuY3Rpb24gd2hpY2ggY2FuIGJlIHVzZWQgaW4gdGVzdHMuXG4gKiBAZXhhbXBsZVxuICogY29uc3QgdXBkYXRlRm4gPSBnZXRVcGRhdGVGbih1cGRhdGUpO1xuICpcbiAqIC8vIGluIHlvdXIgdGVzdHM6XG4gKiBjb25zdCBbbW9kZWwsIGNtZF0gPSB1cGRhdGVGbiguLi5hcmdzKTtcbiAqL1xuZnVuY3Rpb24gZ2V0VXBkYXRlRm48VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdHVwZGF0ZU1hcDogVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4pOiAoXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPixcblx0cHJvcHM6IFRQcm9wcyxcblx0b3B0aW9uc1RlbXBsYXRlPzogUGFydGlhbDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPj4sXG4pID0+IFtQYXJ0aWFsPFRNb2RlbD4sIC4uLihDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdXSB7XG5cdHJldHVybiBmdW5jdGlvbiB1cGRhdGVGbihtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9uc1RlbXBsYXRlKTogW1BhcnRpYWw8VE1vZGVsPiwgLi4uKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW11dIHtcblx0XHRjb25zdCBbZGVmZXIsIGdldERlZmVycmVkXSA9IGNyZWF0ZURlZmVyPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cdFx0Y29uc3QgY2FsbEJhc2UgPSBjcmVhdGVDYWxsQmFzZShtc2csIG1vZGVsLCBwcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdGNvbnN0IG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0ge1xuXHRcdFx0ZGVmZXIsXG5cdFx0XHRjYWxsQmFzZSxcblx0XHRcdC4uLm9wdGlvbnNUZW1wbGF0ZSxcblx0XHR9O1xuXG5cdFx0Y29uc3QgW2RyYWZ0Rm4sIC4uLmNvbW1hbmRzXSA9IGNhbGxVcGRhdGVNYXAodXBkYXRlTWFwLCBtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9ucyk7XG5cdFx0Y29uc3QgW2RlZmVycmVkRHJhZnRGdW5jdGlvbnMsIGRlZmVycmVkQ29tbWFuZHNdID0gZ2V0RGVmZXJyZWQoKTtcblxuXHRcdGNvbnN0IGFsbERyYWZ0RnVuY3Rpb25zID0gWy4uLmRlZmVycmVkRHJhZnRGdW5jdGlvbnMsIGRyYWZ0Rm5dLmZpbHRlcigoZm4pID0+IGZuICE9IG51bGwpO1xuXG5cdFx0bGV0IGN1cnJlbnRNb2RlbCA9IG1vZGVsO1xuXHRcdGNvbnN0IGRpZmY6IFBhcnRpYWw8VE1vZGVsPiA9IHt9O1xuXG5cdFx0Zm9yIChjb25zdCBmbiBvZiBhbGxEcmFmdEZ1bmN0aW9ucykge1xuXHRcdFx0Y3VycmVudE1vZGVsID0gcHJvZHVjZShjdXJyZW50TW9kZWwsIChkcmFmdCkgPT4ge1xuXHRcdFx0XHRmbihkcmFmdCk7XG5cdFx0XHRcdGNhbGN1bGF0ZU1vZGVsRGlmZjxUTW9kZWw+KGRyYWZ0LCBtb2RlbCwgZGlmZik7XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gW2RpZmYsIC4uLmNvbW1hbmRzLCAuLi5kZWZlcnJlZENvbW1hbmRzXTtcblx0fTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIHVwZGF0ZSBmdW5jdGlvbiBvdXQgb2YgYW4gVXBkYXRlTWFwIHdoaWNoIGltbWVkaWF0ZWx5IGV4ZWN1dGVzIHRoZSBjb21tYW5kLlxuICogQHBhcmFtIHVwZGF0ZU1hcCBUaGUgVXBkYXRlTWFwLlxuICogQHJldHVybnMgVGhlIGNyZWF0ZWQgdXBkYXRlIGZ1bmN0aW9uIHdoaWNoIGNhbiBiZSB1c2VkIGluIHRlc3RzLlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHVwZGF0ZUFuZEV4ZWNDbWQgPSBnZXRVcGRhdGVBbmRFeGVjQ21kRm4odXBkYXRlKTtcbiAqXG4gKiAvLyBpbiB5b3VyIHRlc3Q6XG4gKiBjb25zdCBbbW9kZWwsIG1lc3NhZ2VzXSA9IGF3YWl0IHVwZGF0ZUFuZEV4ZWNDbWQoLi4uYXJncyk7XG4gKi9cbmZ1bmN0aW9uIGdldFVwZGF0ZUFuZEV4ZWNDbWRGbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0dXBkYXRlTWFwOiBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbik6IChcblx0bXNnOiBUTWVzc2FnZSxcblx0bW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+LFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zVGVtcGxhdGU/OiBQYXJ0aWFsPFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+PixcbikgPT4gUHJvbWlzZTxbUGFydGlhbDxUTW9kZWw+LCBOdWxsYWJsZTxUTWVzc2FnZT5bXV0+IHtcblx0cmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUFuZEV4ZWNDbWRGbihtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9uc1RlbXBsYXRlKTogUHJvbWlzZTxbUGFydGlhbDxUTW9kZWw+LCBOdWxsYWJsZTxUTWVzc2FnZT5bXV0+IHtcblx0XHRjb25zdCBbZGVmZXIsIGdldERlZmVycmVkXSA9IGNyZWF0ZURlZmVyPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cdFx0Y29uc3QgY2FsbEJhc2UgPSBjcmVhdGVDYWxsQmFzZShtc2csIG1vZGVsLCBwcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdGNvbnN0IG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0ge1xuXHRcdFx0ZGVmZXIsXG5cdFx0XHRjYWxsQmFzZSxcblx0XHRcdC4uLm9wdGlvbnNUZW1wbGF0ZSxcblx0XHR9O1xuXG5cdFx0Y29uc3QgW2RyYWZ0Rm4sIC4uLmNvbW1hbmRzXSA9IGNhbGxVcGRhdGVNYXAodXBkYXRlTWFwLCBtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9ucyk7XG5cdFx0Y29uc3QgW2RlZmVycmVkRHJhZnRGdW5jdGlvbnMsIGRlZmVycmVkQ29tbWFuZHNdID0gZ2V0RGVmZXJyZWQoKTtcblxuXHRcdGNvbnN0IGFsbERyYWZ0RnVuY3Rpb25zID0gW2RyYWZ0Rm4sIC4uLmRlZmVycmVkRHJhZnRGdW5jdGlvbnNdLmZpbHRlcigoZm4pID0+IGZuICE9IG51bGwpO1xuXG5cdFx0bGV0IGN1cnJlbnRNb2RlbCA9IG1vZGVsO1xuXHRcdGNvbnN0IGRpZmY6IFBhcnRpYWw8VE1vZGVsPiA9IHt9O1xuXG5cdFx0Zm9yIChjb25zdCBmbiBvZiBhbGxEcmFmdEZ1bmN0aW9ucykge1xuXHRcdFx0Y3VycmVudE1vZGVsID0gcHJvZHVjZShjdXJyZW50TW9kZWwsIChkcmFmdCkgPT4ge1xuXHRcdFx0XHRmbihkcmFmdCk7XG5cdFx0XHRcdGNhbGN1bGF0ZU1vZGVsRGlmZjxUTW9kZWw+KGRyYWZ0LCBtb2RlbCwgZGlmZik7XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRjb25zdCBtZXNzYWdlcyA9IGF3YWl0IGV4ZWNDbWQoLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHMpO1xuXG5cdFx0cmV0dXJuIFtkaWZmLCBtZXNzYWdlc107XG5cdH07XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZU1vZGVsRGlmZjxUTW9kZWw+KGRyYWZ0OiBEcmFmdDxJbW11dGFibGU8VE1vZGVsPj4sIG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPiwgZGlmZjogUGFydGlhbDxUTW9kZWw+KTogdm9pZCB7XG5cdGZvciAoY29uc3Qga2V5IGluIGRyYWZ0KSB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1leHBlY3QtZXJyb3Jcblx0XHRpZiAoT2JqZWN0Lmhhc093bihkcmFmdCwga2V5KSAmJiBPYmplY3QuaGFzT3duKG1vZGVsLCBrZXkpICYmIG1vZGVsW2tleV0gIT09IGRyYWZ0W2tleV0pIHtcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3Jcblx0XHRcdGRpZmZba2V5XSA9IGRyYWZ0W2tleV07XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCB7IGdldFVwZGF0ZUFuZEV4ZWNDbWRGbiwgZ2V0VXBkYXRlRm4gfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxlQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxhQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFBNkMsU0FBQUssb0JBQUEsa0JBTDdDLHFKQUFBQSxtQkFBQSxZQUFBQSxvQkFBQSxXQUFBQyxDQUFBLFNBQUFDLENBQUEsRUFBQUQsQ0FBQSxPQUFBRSxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsU0FBQSxFQUFBQyxDQUFBLEdBQUFILENBQUEs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
|
|
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>):
|
|
47
|
-
declare function callUpdateMap<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>, msg: TMessage, model:
|
|
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
|
-
|
|
181
|
+
updatedModel = _callUpdate2[0],
|
|
183
182
|
commands = _callUpdate2.slice(1);
|
|
184
|
-
var
|
|
185
|
-
|
|
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
|
-
|
|
186
|
+
|
|
187
|
+
// TODO: optimieren
|
|
188
|
+
return true;
|
|
207
189
|
}
|
|
208
190
|
}
|
|
209
191
|
function callUpdate(update, msg, model, props, options) {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
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.
|
|
3
|
+
"version": "10.0.0-beta.6",
|
|
4
4
|
"description": "Elmish for React using Typescript",
|
|
5
5
|
"author": "atheck",
|
|
6
6
|
"license": "MIT",
|
|
@@ -58,8 +58,9 @@
|
|
|
58
58
|
],
|
|
59
59
|
"exports": {
|
|
60
60
|
".": "./dist/index.js",
|
|
61
|
+
"./testing": "./dist/testing/index.js",
|
|
61
62
|
"./immutable": "./dist/immutable/index.js",
|
|
62
|
-
"./testing": "./dist/testing/index.js"
|
|
63
|
+
"./immutable/testing": "./dist/immutable/testing/index.js"
|
|
63
64
|
},
|
|
64
65
|
"types": "dist/index.d.ts"
|
|
65
66
|
}
|