react-elmish 7.1.4 → 7.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -0
- package/dist/Common.d.ts +1 -1
- package/dist/Common.js +1 -1
- package/dist/ElmComponent.d.ts +2 -1
- package/dist/ElmComponent.js +32 -19
- package/dist/ErrorHandling.d.ts +1 -1
- package/dist/ErrorHandling.js +2 -3
- package/dist/Init.d.ts +1 -1
- package/dist/Init.js +2 -3
- package/dist/Testing/createModelAndProps.d.ts +1 -1
- package/dist/Testing/createModelAndProps.js +3 -3
- package/dist/Testing/createUpdateArgsFactory.d.ts +1 -1
- package/dist/Testing/createUpdateArgsFactory.js +3 -3
- package/dist/Testing/execCmd.d.ts +2 -2
- package/dist/Testing/execCmd.js +1 -1
- package/dist/Testing/execSubscription.d.ts +3 -3
- package/dist/Testing/execSubscription.js +1 -1
- package/dist/Testing/getCreateUpdateArgs.d.ts +2 -2
- package/dist/Testing/getCreateUpdateArgs.js +1 -1
- package/dist/Testing/getUpdateFn.d.ts +7 -7
- package/dist/Testing/getUpdateFn.js +10 -10
- package/dist/Testing/index.d.ts +2 -2
- package/dist/Testing/index.js +1 -1
- package/dist/Testing/initAndExecCmd.d.ts +1 -1
- package/dist/Testing/initAndExecCmd.js +1 -1
- package/dist/Testing/renderWithModel.d.ts +2 -2
- package/dist/Testing/renderWithModel.js +3 -3
- package/dist/Types.d.ts +7 -3
- package/dist/Types.js +1 -1
- package/dist/cmd.d.ts +1 -1
- package/dist/cmd.js +2 -3
- package/dist/fakeOptions.d.ts +1 -1
- package/dist/fakeOptions.js +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +1 -1
- package/dist/useElmish.d.ts +3 -3
- package/dist/useElmish.js +24 -13
- package/package.json +16 -16
package/README.md
CHANGED
|
@@ -23,6 +23,7 @@ This library brings the elmish pattern to react.
|
|
|
23
23
|
- [Composition](#composition)
|
|
24
24
|
- [With an `UpdateMap`](#with-an-updatemap)
|
|
25
25
|
- [With an update function](#with-an-update-function)
|
|
26
|
+
- [Deferring model updates and messages](#deferring-model-updates-and-messages)
|
|
26
27
|
- [Call back parent components](#call-back-parent-components)
|
|
27
28
|
- [Testing](#testing)
|
|
28
29
|
- [Testing the init function](#testing-the-init-function)
|
|
@@ -798,6 +799,48 @@ const updateComposition = (model: Model, msg: CompositionMessage): Elm.UpdateRet
|
|
|
798
799
|
}
|
|
799
800
|
```
|
|
800
801
|
|
|
802
|
+
## Deferring model updates and messages
|
|
803
|
+
|
|
804
|
+
Sometimes you want to always dispatch a message or update the model in all cases. You can use the `defer` function from the `options` parameter to do this. The `options` parameter is the fourth parameter of the `update` function.
|
|
805
|
+
|
|
806
|
+
Without the `defer` function, you would have to return the model and the command in all cases:
|
|
807
|
+
|
|
808
|
+
```ts
|
|
809
|
+
const update: UpdateMap<Props, Model, Message> = {
|
|
810
|
+
deferSomething (_msg, model) {
|
|
811
|
+
if (model.someCondition) {
|
|
812
|
+
return [{ alwaysUpdate: "someValue", extra: "extra" }, cmd.ofMsg(Msg.alwaysExecute())];
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
return [{ alwaysUpdate: "someValue" }, cmd.ofMsg(Msg.doSomethingElse()), cmd.ofMsg(Msg.alwaysExecute())];
|
|
816
|
+
},
|
|
817
|
+
|
|
818
|
+
...LoadSettings.update,
|
|
819
|
+
};
|
|
820
|
+
```
|
|
821
|
+
|
|
822
|
+
Here we always want to update the model with the `alwaysUpdate` property and always dispatch the `alwaysExecute` message.
|
|
823
|
+
|
|
824
|
+
With the `defer` function, you can do this:
|
|
825
|
+
|
|
826
|
+
```ts
|
|
827
|
+
const update: UpdateMap<Props, Model, Message> = {
|
|
828
|
+
deferSomething (_msg, model, _props, { defer }) {
|
|
829
|
+
defer({ alwaysUpdate: "someValue" }, cmd.ofMsg(Msg.alwaysExecute()));
|
|
830
|
+
|
|
831
|
+
if (model.someCondition) {
|
|
832
|
+
return [{ extra: "extra" }];
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
return [{}, cmd.ofMsg(Msg.doSomethingElse())];
|
|
836
|
+
},
|
|
837
|
+
|
|
838
|
+
...LoadSettings.update,
|
|
839
|
+
};
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
The `defer` function can be called multiple times. Model updates and commands are then aggregated. Model updates by the return value overwrite the deferred model updates, while deferred messages are dispatched after the returned messages.
|
|
843
|
+
|
|
801
844
|
## Call back parent components
|
|
802
845
|
|
|
803
846
|
Since each component has its own model and messages, communication with parent components is done via callback functions.
|
package/dist/Common.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Cmd, Dispatch, Message } from "./Types";
|
|
1
|
+
import type { Cmd, Dispatch, Message } from "./Types";
|
|
2
2
|
declare function logMessage<TMessage extends Message>(name: string, msg: TMessage): void;
|
|
3
3
|
declare function modelHasChanged<TModel>(currentModel: TModel, model: Partial<TModel>): boolean;
|
|
4
4
|
declare function execCmd<TMessage>(dispatch: Dispatch<TMessage>, ...commands: (Cmd<TMessage> | undefined)[]): void;
|
package/dist/Common.js
CHANGED
|
@@ -38,4 +38,4 @@ function execCmd(dispatch) {
|
|
|
38
38
|
_iterator.f();
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW5pdCIsInJlcXVpcmUiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIm8iLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJpIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZSIsIl9lIiwiZiIsIlR5cGVFcnJvciIsIm5vcm1hbENvbXBsZXRpb24iLCJkaWRFcnIiLCJlcnIiLCJjYWxsIiwic3RlcCIsIm5leHQiLCJfZTIiLCJtaW5MZW4iLCJfYXJyYXlMaWtlVG9BcnJheSIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsImFyciIsImxlbiIsImFycjIiLCJsb2dNZXNzYWdlIiwibXNnIiwiX1NlcnZpY2VzJGxvZ2dlciIsIl9TZXJ2aWNlcyRsb2dnZXIyIiwiX1NlcnZpY2VzJGRpc3BhdGNoTWlkIiwiU2VydmljZXMiLCJsb2dnZXIiLCJpbmZvIiwiZGVidWciLCJkaXNwYXRjaE1pZGRsZXdhcmUiLCJtb2RlbEhhc0NoYW5nZWQiLCJjdXJyZW50TW9kZWwiLCJtb2RlbCIsImlzIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImV4ZWNDbWQiLCJkaXNwYXRjaCIsIl9sZW4iLCJhcmd1bWVudHMiLCJjb21tYW5kcyIsIl9rZXkiLCJfaXRlcmF0b3IiLCJmbGF0IiwiX3N0ZXAiXSwic291cmNlcyI6WyIuLi9zcmMvQ29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERpc3BhdGNoLCBNZXNzYWdlIH0gZnJvbSBcIi4vVHlwZXNcIjtcblxuZnVuY3Rpb24gbG9nTWVzc2FnZTxUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KG5hbWU6IHN0cmluZywgbXNnOiBUTWVzc2FnZSk6IHZvaWQge1xuXHRTZXJ2aWNlcy5sb2dnZXI/LmluZm8oXCJNZXNzYWdlIGZyb21cIiwgbmFtZSwgbXNnLm5hbWUpO1xuXHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiTWVzc2FnZSBmcm9tXCIsIG5hbWUsIG1zZyk7XG5cblx0U2VydmljZXMuZGlzcGF0Y2hNaWRkbGV3YXJlPy4obXNnKTtcbn1cblxuZnVuY3Rpb24gbW9kZWxIYXNDaGFuZ2VkPFRNb2RlbD4oY3VycmVudE1vZGVsOiBUTW9kZWwsIG1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4pOiBib29sZWFuIHtcblx0cmV0dXJuICFPYmplY3QuaXMobW9kZWwsIGN1cnJlbnRNb2RlbCkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMobW9kZWwpLmxlbmd0aCA+IDA7XG59XG5cbmZ1bmN0aW9uIGV4ZWNDbWQ8VE1lc3NhZ2U+KGRpc3BhdGNoOiBEaXNwYXRjaDxUTWVzc2FnZT4sIC4uLmNvbW1hbmRzOiAoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXSk6IHZvaWQge1xuXHRmb3IgKGNvbnN0IGNhbGwgb2YgY29tbWFuZHMuZmxhdCgpKSB7XG5cdFx0aWYgKGNhbGwpIHtcblx0XHRcdGNhbGwoZGlzcGF0Y2gpO1xuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgeyBleGVjQ21kLCBsb2dNZXNzYWdlLCBtb2RlbEhhc0NoYW5nZWQgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFBa0MsU0FBQUMsMkJBQUFDLENBQUEsRUFBQUMsY0FBQSxRQUFBQyxFQUFBLFVBQUFDLE1BQUEsb0JBQUFILENBQUEsQ0FBQUcsTUFBQSxDQUFBQyxRQUFBLEtBQUFKLENBQUEscUJBQUFFLEVBQUEsUUFBQUcsS0FBQSxDQUFBQyxPQUFBLENBQUFOLENBQUEsTUFBQUUsRUFBQSxHQUFBSywyQkFBQSxDQUFBUCxDQUFBLE1BQUFDLGNBQUEsSUFBQUQsQ0FBQSxXQUFB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
|
package/dist/ElmComponent.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { InitFunction, Message, UpdateFunction } from "./Types";
|
|
2
|
+
import type { InitFunction, Message, UpdateFunction } from "./Types";
|
|
3
3
|
/**
|
|
4
4
|
* Abstract class for a react class component using the Elmish pattern.
|
|
5
5
|
* @export
|
|
@@ -55,6 +55,7 @@ declare abstract class ElmComponent<TModel, TMessage extends Message, TProps> ex
|
|
|
55
55
|
* @param {TModel} model The current model.
|
|
56
56
|
* @param {TMessage} msg The message to process.
|
|
57
57
|
* @param {TProps} props The props of the component.
|
|
58
|
+
* @param options The options for the update function.
|
|
58
59
|
* @returns The new model (can also be an empty object {}) and an optional new message to dispatch.
|
|
59
60
|
* @abstract
|
|
60
61
|
* @memberof ElmComponent
|
package/dist/ElmComponent.js
CHANGED
|
@@ -13,27 +13,27 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
13
13
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
14
14
|
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."); }
|
|
15
15
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
16
|
-
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; }
|
|
17
|
-
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; }
|
|
18
16
|
function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
|
|
19
17
|
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."); }
|
|
20
18
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
21
19
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
22
20
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
23
21
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
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; }
|
|
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; }
|
|
24
24
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
25
25
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
26
26
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
27
|
-
function
|
|
28
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
29
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
27
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
30
28
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
31
|
-
function
|
|
32
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
29
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
33
30
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
31
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
32
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
33
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
34
34
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
35
|
-
function _toPropertyKey(
|
|
36
|
-
function _toPrimitive(
|
|
35
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
36
|
+
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); }
|
|
37
37
|
/**
|
|
38
38
|
* Abstract class for a react class component using the Elmish pattern.
|
|
39
39
|
* @export
|
|
@@ -44,9 +44,8 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
44
44
|
* @template TMessage The type of the messages.
|
|
45
45
|
* @template TProps The type of the props.
|
|
46
46
|
*/
|
|
47
|
-
var ElmComponent = /*#__PURE__*/function (_React$Component) {
|
|
47
|
+
var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Component) {
|
|
48
48
|
_inherits(ElmComponent, _React$Component);
|
|
49
|
-
var _super = _createSuper(ElmComponent);
|
|
50
49
|
/**
|
|
51
50
|
* Creates an instance of ElmComponent.
|
|
52
51
|
* @param {TProps} props The props for the component.
|
|
@@ -58,7 +57,7 @@ var ElmComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
58
57
|
var _Services$logger2;
|
|
59
58
|
var _this;
|
|
60
59
|
_classCallCheck(this, ElmComponent);
|
|
61
|
-
_this =
|
|
60
|
+
_this = _callSuper(this, ElmComponent, [props]);
|
|
62
61
|
_defineProperty(_assertThisInitialized(_this), "initCommands", void 0);
|
|
63
62
|
_defineProperty(_assertThisInitialized(_this), "componentName", void 0);
|
|
64
63
|
_defineProperty(_assertThisInitialized(_this), "buffer", []);
|
|
@@ -78,18 +77,32 @@ var ElmComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
78
77
|
_this.running = true;
|
|
79
78
|
var nextMsg = msg;
|
|
80
79
|
var modified = false;
|
|
81
|
-
|
|
80
|
+
var _loop = function _loop() {
|
|
82
81
|
(0, _Common.logMessage)(_this.componentName, nextMsg);
|
|
83
|
-
var
|
|
82
|
+
var deferredModel = {};
|
|
83
|
+
var deferredCommands = [];
|
|
84
|
+
var defer = function defer(tempDeferredModel) {
|
|
85
|
+
deferredModel = _objectSpread(_objectSpread({}, deferredModel), tempDeferredModel);
|
|
86
|
+
for (var _len = arguments.length, tempDeferredCommands = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
87
|
+
tempDeferredCommands[_key - 1] = arguments[_key];
|
|
88
|
+
}
|
|
89
|
+
deferredCommands.push.apply(deferredCommands, tempDeferredCommands);
|
|
90
|
+
};
|
|
91
|
+
var _this$update = _this.update(_this.currentModel, nextMsg, _this.props, {
|
|
92
|
+
defer: defer
|
|
93
|
+
}),
|
|
84
94
|
_this$update2 = _toArray(_this$update),
|
|
85
95
|
model = _this$update2[0],
|
|
86
96
|
commands = _this$update2.slice(1);
|
|
87
|
-
if ((0, _Common.modelHasChanged)(_this.currentModel, model)) {
|
|
88
|
-
_this.currentModel = _objectSpread(_objectSpread({}, _this.currentModel), model);
|
|
97
|
+
if ((0, _Common.modelHasChanged)(_this.currentModel, _objectSpread(_objectSpread({}, deferredModel), model))) {
|
|
98
|
+
_this.currentModel = _objectSpread(_objectSpread(_objectSpread({}, _this.currentModel), deferredModel), model);
|
|
89
99
|
modified = true;
|
|
90
100
|
}
|
|
91
|
-
_Common.execCmd.apply(void 0, [_this.dispatch].concat(_toConsumableArray(commands)));
|
|
101
|
+
_Common.execCmd.apply(void 0, [_this.dispatch].concat(_toConsumableArray(commands), deferredCommands));
|
|
92
102
|
nextMsg = _this.buffer.shift();
|
|
103
|
+
};
|
|
104
|
+
do {
|
|
105
|
+
_loop();
|
|
93
106
|
} while (nextMsg);
|
|
94
107
|
_this.running = false;
|
|
95
108
|
if (_this.mounted && modified) {
|
|
@@ -103,6 +116,7 @@ var ElmComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
103
116
|
* @param {TModel} model The current model.
|
|
104
117
|
* @param {TMessage} msg The message to process.
|
|
105
118
|
* @param {TProps} props The props of the component.
|
|
119
|
+
* @param options The options for the update function.
|
|
106
120
|
* @returns The new model (can also be an empty object {}) and an optional new message to dispatch.
|
|
107
121
|
* @abstract
|
|
108
122
|
* @memberof ElmComponent
|
|
@@ -163,5 +177,4 @@ var ElmComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
163
177
|
}]);
|
|
164
178
|
return ElmComponent;
|
|
165
179
|
}(_react["default"].Component);
|
|
166
|
-
exports.ElmComponent = ElmComponent;
|
|
167
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Db21tb24iLCJfSW5pdCIsIl9mYWtlT3B0aW9ucyIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJuIiwidG9TdHJpbmciLCJjYWxsIiwic2xpY2UiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJsZW4iLCJpIiwiYXJyMiIsIml0ZXIiLCJfY2xhc3NDYWxsQ2hlY2siLCJpbnN0YW5jZSIsIkNvbnN0cnVjdG9yIiwiX2RlZmluZVByb3BlcnRpZXMiLCJ0YXJnZXQiLCJwcm9wcyIsImRlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl90b1Byb3BlcnR5S2V5Iiwia2V5IiwiX2NyZWF0ZUNsYXNzIiwicHJvdG9Qcm9wcyIsInN0YXRpY1Byb3BzIiwiX2luaGVyaXRzIiwic3ViQ2xhc3MiLCJzdXBlckNsYXNzIiwiY3JlYXRlIiwidmFsdWUiLCJfc2V0UHJvdG90eXBlT2YiLCJwIiwic2V0UHJvdG90eXBlT2YiLCJiaW5kIiwiX19wcm90b19fIiwiX2NyZWF0ZVN1cGVyIiwiRGVyaXZlZCIsImhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiX2NyZWF0ZVN1cGVySW50ZXJuYWwiLCJTdXBlciIsIl9nZXRQcm90b3R5cGVPZiIsInJlc3VsdCIsIk5ld1RhcmdldCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiIsInNlbGYiLCJfYXNzZXJ0VGhpc0luaXRpYWxpemVkIiwiUmVmZXJlbmNlRXJyb3IiLCJzaGFtIiwiUHJveHkiLCJCb29sZWFuIiwidmFsdWVPZiIsImdldFByb3RvdHlwZU9mIiwiYXJnIiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwiaW5wdXQiLCJoaW50IiwicHJpbSIsInRvUHJpbWl0aXZlIiwidW5kZWZpbmVkIiwicmVzIiwiTnVtYmVyIiwiRWxtQ29tcG9uZW50IiwiX1JlYWN0JENvbXBvbmVudCIsIl9zdXBlciIsImluaXQiLCJfU2VydmljZXMkbG9nZ2VyMiIsIl90aGlzIiwibXNnIiwicnVubmluZyIsImJ1ZmZlciIsIm5leHRNc2ciLCJtb2RpZmllZCIsImxvZ01lc3NhZ2UiLCJjb21wb25lbnROYW1lIiwiX3RoaXMkdXBkYXRlIiwidXBkYXRlIiwiY3VycmVudE1vZGVsIiwiX3RoaXMkdXBkYXRlMiIsIm1vZGVsIiwiY29tbWFuZHMiLCJtb2RlbEhhc0NoYW5nZWQiLCJleGVjQ21kIiwiZGlzcGF0Y2giLCJjb25jYXQiLCJzaGlmdCIsIm1vdW50ZWQiLCJfU2VydmljZXMkbG9nZ2VyIiwiU2VydmljZXMiLCJsb2dnZXIiLCJkZWJ1ZyIsImZvcmNlVXBkYXRlIiwiZmFrZU9wdGlvbnMiLCJnZXRGYWtlT3B0aW9uc09uY2UiLCJfcmVmIiwiX3JlZjIiLCJpbml0Q29tbWFuZHMiLCJjb21wb25lbnREaWRNb3VudCIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwiZ2V0IiwiUmVhY3QiLCJDb21wb25lbnQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL0VsbUNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBleGVjQ21kLCBsb2dNZXNzYWdlLCBtb2RlbEhhc0NoYW5nZWQgfSBmcm9tIFwiLi9Db21tb25cIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHsgQ21kLCBJbml0RnVuY3Rpb24sIE1lc3NhZ2UsIE51bGxhYmxlLCBVcGRhdGVGdW5jdGlvbiB9IGZyb20gXCIuL1R5cGVzXCI7XG5pbXBvcnQgeyBnZXRGYWtlT3B0aW9uc09uY2UgfSBmcm9tIFwiLi9mYWtlT3B0aW9uc1wiO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGZvciBhIHJlYWN0IGNsYXNzIGNvbXBvbmVudCB1c2luZyB0aGUgRWxtaXNoIHBhdHRlcm4uXG4gKiBAZXhwb3J0XG4gKiBAYWJzdHJhY3RcbiAqIEBjbGFzcyBFbG1Db21wb25lbnRcbiAqIEBleHRlbmRzIHtDb21wb25lbnQ8VFByb3BzLCBUTW9kZWw+fVxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzLlxuICogQHRlbXBsYXRlIFRQcm9wcyBUaGUgdHlwZSBvZiB0aGUgcHJvcHMuXG4gKi9cbmFic3RyYWN0IGNsYXNzIEVsbUNvbXBvbmVudDxUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVFByb3BzPiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxUUHJvcHM+IHtcblx0cHJpdmF0ZSBpbml0Q29tbWFuZHM6IE51bGxhYmxlPChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdPiB8IHVuZGVmaW5lZDtcblx0cHJpdmF0ZSByZWFkb25seSBjb21wb25lbnROYW1lOiBzdHJpbmc7XG5cdHByaXZhdGUgcmVhZG9ubHkgYnVmZmVyOiBUTWVzc2FnZVtdID0gW107XG5cdHByaXZhdGUgcnVubmluZyA9IGZhbHNlO1xuXHRwcml2YXRlIG1vdW50ZWQgPSBmYWxzZTtcblx0cHJpdmF0ZSBjdXJyZW50TW9kZWw6IFRNb2RlbDtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBFbG1Db21wb25lbnQuXG5cdCAqIEBwYXJhbSB7VFByb3BzfSBwcm9wcyBUaGUgcHJvcHMgZm9yIHRoZSBjb21wb25lbnQuXG5cdCAqIEBwYXJhbSB7KCkgPT4gVE1vZGVsfSBpbml0IFRoZSBpbml0aWFsaXplciBmdW5jdGlvbi5cblx0ICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbnN0cnVjdG9yKHByb3BzOiBUUHJvcHMsIGluaXQ6IEluaXRGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LCBuYW1lOiBzdHJpbmcpIHtcblx0XHRzdXBlcihwcm9wcyk7XG5cblx0XHRjb25zdCBmYWtlT3B0aW9ucyA9IGdldEZha2VPcHRpb25zT25jZSgpO1xuXG5cdFx0aWYgKGZha2VPcHRpb25zPy5kaXNwYXRjaCkge1xuXHRcdFx0dGhpcy5kaXNwYXRjaCA9IGZha2VPcHRpb25zLmRpc3BhdGNoO1xuXHRcdH1cblxuXHRcdGNvbnN0IFttb2RlbCwgLi4uY29tbWFuZHNdID0gZmFrZU9wdGlvbnM/Lm1vZGVsID8gW2Zha2VPcHRpb25zLm1vZGVsIGFzIFRNb2RlbF0gOiBpbml0KHRoaXMucHJvcHMpO1xuXG5cdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkluaXRpYWwgbW9kZWwgZm9yXCIsIG5hbWUsIG1vZGVsKTtcblxuXHRcdHRoaXMuY29tcG9uZW50TmFtZSA9IG5hbWU7XG5cdFx0dGhpcy5jdXJyZW50TW9kZWwgPSBtb2RlbDtcblx0XHR0aGlzLmluaXRDb21tYW5kcyA9IGNvbW1hbmRzO1xuXHR9XG5cblx0LyoqXG5cdCAqIElzIGNhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLlxuXHQgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xuXHRcdHRoaXMubW91bnRlZCA9IHRydWU7XG5cblx0XHRpZiAodGhpcy5pbml0Q29tbWFuZHMpIHtcblx0XHRcdGV4ZWNDbWQodGhpcy5kaXNwYXRjaCwgLi4udGhpcy5pbml0Q29tbWFuZHMpO1xuXHRcdFx0dGhpcy5pbml0Q29tbWFuZHMgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBJcyBjYWxsZWQgYmVmb3JlIHVubG9hZGluZyB0aGUgY29tcG9uZW50LlxuXHQgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbXBvbmVudFdpbGxVbm1vdW50KCk6IHZvaWQge1xuXHRcdHRoaXMubW91bnRlZCA9IGZhbHNlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGN1cnJlbnQgbW9kZWwuXG5cdCAqIEByZWFkb25seVxuXHQgKiBAdHlwZSB7UmVhZG9ubHk8VE1vZGVsPn1cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGdldCBtb2RlbCgpOiBSZWFkb25seTxUTW9kZWw+IHtcblx0XHRyZXR1cm4gdGhpcy5jdXJyZW50TW9kZWw7XG5cdH1cblxuXHQvKipcblx0ICogRGlzcGF0Y2hlcyBhIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBkaXNwYXRjaC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIHJlYWRvbmx5IGRpc3BhdGNoID0gKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcblx0XHRpZiAodGhpcy5ydW5uaW5nKSB7XG5cdFx0XHR0aGlzLmJ1ZmZlci5wdXNoKG1zZyk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLnJ1bm5pbmcgPSB0cnVlO1xuXG5cdFx0bGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuXHRcdGxldCBtb2RpZmllZCA9IGZhbHNlO1xuXG5cdFx0ZG8ge1xuXHRcdFx0bG9nTWVzc2FnZSh0aGlzLmNvbXBvbmVudE5hbWUsIG5leHRNc2cpO1xuXG5cdFx0XHRjb25zdCBbbW9kZWwsIC4uLmNvbW1hbmRzXSA9IHRoaXMudXBkYXRlKHRoaXMuY3VycmVudE1vZGVsLCBuZXh0TXNnLCB0aGlzLnByb3BzKTtcblxuXHRcdFx0aWYgKG1vZGVsSGFzQ2hhbmdlZCh0aGlzLmN1cnJlbnRNb2RlbCwgbW9kZWwpKSB7XG5cdFx0XHRcdHRoaXMuY3VycmVudE1vZGVsID0geyAuLi50aGlzLmN1cnJlbnRNb2RlbCwgLi4ubW9kZWwgfTtcblx0XHRcdFx0bW9kaWZpZWQgPSB0cnVlO1xuXHRcdFx0fVxuXG5cdFx0XHRleGVjQ21kKHRoaXMuZGlzcGF0Y2gsIC4uLmNvbW1hbmRzKTtcblxuXHRcdFx0bmV4dE1zZyA9IHRoaXMuYnVmZmVyLnNoaWZ0KCk7XG5cdFx0fSB3aGlsZSAobmV4dE1zZyk7XG5cblx0XHR0aGlzLnJ1bm5pbmcgPSBmYWxzZTtcblxuXHRcdGlmICh0aGlzLm1vdW50ZWQgJiYgbW9kaWZpZWQpIHtcblx0XHRcdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJVcGRhdGUgbW9kZWwgZm9yXCIsIHRoaXMuY29tcG9uZW50TmFtZSwgdGhpcy5jdXJyZW50TW9kZWwpO1xuXHRcdFx0dGhpcy5mb3JjZVVwZGF0ZSgpO1xuXHRcdH1cblx0fTtcblxuXHQvKipcblx0ICogRnVuY3Rpb24gdG8gbW9kaWZ5IHRoZSBtb2RlbCBiYXNlZCBvbiBhIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1vZGVsfSBtb2RlbCBUaGUgY3VycmVudCBtb2RlbC5cblx0ICogQHBhcmFtIHtUTWVzc2FnZX0gbXNnIFRoZSBtZXNzYWdlIHRvIHByb2Nlc3MuXG5cdCAqIEBwYXJhbSB7VFByb3BzfSBwcm9wcyBUaGUgcHJvcHMgb2YgdGhlIGNvbXBvbmVudC5cblx0ICogQHJldHVybnMgVGhlIG5ldyBtb2RlbCAoY2FuIGFsc28gYmUgYW4gZW1wdHkgb2JqZWN0IHt9KSBhbmQgYW4gb3B0aW9uYWwgbmV3IG1lc3NhZ2UgdG8gZGlzcGF0Y2guXG5cdCAqIEBhYnN0cmFjdFxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgYWJzdHJhY3QgdXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+O1xufVxuXG5leHBvcnQgeyBFbG1Db21wb25lbnQgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBQW1ELFNBQUFELHVCQUFBSyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsZ0JBQUFBLEdBQUE7QUFBQSxTQUFBRSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUYsQ0FBQSxrQkFBQUEsQ0FBQSxnQkFBQUEs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
|
|
180
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Db21tb24iLCJfSW5pdCIsIl9mYWtlT3B0aW9ucyIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfdG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJuIiwiT2JqZWN0IiwidG9TdHJpbmciLCJjYWxsIiwic2xpY2UiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJsZW4iLCJsZW5ndGgiLCJpIiwiYXJyMiIsIml0ZXIiLCJvd25LZXlzIiwiZSIsInIiLCJ0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfY2xhc3NDYWxsQ2hlY2siLCJpbnN0YW5jZSIsIkNvbnN0cnVjdG9yIiwiX2RlZmluZVByb3BlcnRpZXMiLCJ0YXJnZXQiLCJwcm9wcyIsImRlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl90b1Byb3BlcnR5S2V5Iiwia2V5IiwiX2NyZWF0ZUNsYXNzIiwicHJvdG9Qcm9wcyIsInN0YXRpY1Byb3BzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJzZWxmIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJSZWZlcmVuY2VFcnJvciIsIl9pbmhlcml0cyIsInN1YkNsYXNzIiwic3VwZXJDbGFzcyIsImNyZWF0ZSIsInZhbHVlIiwiX3NldFByb3RvdHlwZU9mIiwicCIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsInRvUHJpbWl0aXZlIiwiTnVtYmVyIiwiRWxtQ29tcG9uZW50IiwiZXhwb3J0cyIsIl9SZWFjdCRDb21wb25lbnQiLCJpbml0IiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfdGhpcyIsIm1zZyIsInJ1bm5pbmciLCJidWZmZXIiLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJfbG9vcCIsImxvZ01lc3NhZ2UiLCJjb21wb25lbnROYW1lIiwiZGVmZXJyZWRNb2RlbCIsImRlZmVycmVkQ29tbWFuZHMiLCJkZWZlciIsInRlbXBEZWZlcnJlZE1vZGVsIiwiX2xlbiIsInRlbXBEZWZlcnJlZENvbW1hbmRzIiwiX2tleSIsIl90aGlzJHVwZGF0ZSIsInVwZGF0ZSIsImN1cnJlbnRNb2RlbCIsIl90aGlzJHVwZGF0ZTIiLCJtb2RlbCIsImNvbW1hbmRzIiwibW9kZWxIYXNDaGFuZ2VkIiwiZXhlY0NtZCIsImRpc3BhdGNoIiwiY29uY2F0Iiwic2hpZnQiLCJtb3VudGVkIiwiX1NlcnZpY2VzJGxvZ2dlciIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiZGVidWciLCJmb3JjZVVwZGF0ZSIsImZha2VPcHRpb25zIiwiZ2V0RmFrZU9wdGlvbnNPbmNlIiwiX3JlZiIsIl9yZWYyIiwiaW5pdENvbW1hbmRzIiwiY29tcG9uZW50RGlkTW91bnQiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsImdldCIsIlJlYWN0IiwiQ29tcG9uZW50Il0sInNvdXJjZXMiOlsiLi4vc3JjL0VsbUNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBleGVjQ21kLCBsb2dNZXNzYWdlLCBtb2RlbEhhc0NoYW5nZWQgfSBmcm9tIFwiLi9Db21tb25cIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERlZmVyRnVuY3Rpb24sIEluaXRGdW5jdGlvbiwgTWVzc2FnZSwgTnVsbGFibGUsIFVwZGF0ZUZ1bmN0aW9uIH0gZnJvbSBcIi4vVHlwZXNcIjtcbmltcG9ydCB7IGdldEZha2VPcHRpb25zT25jZSB9IGZyb20gXCIuL2Zha2VPcHRpb25zXCI7XG5cbi8qKlxuICogQWJzdHJhY3QgY2xhc3MgZm9yIGEgcmVhY3QgY2xhc3MgY29tcG9uZW50IHVzaW5nIHRoZSBFbG1pc2ggcGF0dGVybi5cbiAqIEBleHBvcnRcbiAqIEBhYnN0cmFjdFxuICogQGNsYXNzIEVsbUNvbXBvbmVudFxuICogQGV4dGVuZHMge0NvbXBvbmVudDxUUHJvcHMsIFRNb2RlbD59XG4gKiBAdGVtcGxhdGUgVE1vZGVsIFRoZSB0eXBlIG9mIHRoZSBtb2RlbC5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMuXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqL1xuYWJzdHJhY3QgY2xhc3MgRWxtQ29tcG9uZW50PFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUUHJvcHM+IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFRQcm9wcz4ge1xuXHRwcml2YXRlIGluaXRDb21tYW5kczogTnVsbGFibGU8KENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW10+IHwgdW5kZWZpbmVkO1xuXHRwcml2YXRlIHJlYWRvbmx5IGNvbXBvbmVudE5hbWU6IHN0cmluZztcblx0cHJpdmF0ZSByZWFkb25seSBidWZmZXI6IFRNZXNzYWdlW10gPSBbXTtcblx0cHJpdmF0ZSBydW5uaW5nID0gZmFsc2U7XG5cdHByaXZhdGUgbW91bnRlZCA9IGZhbHNlO1xuXHRwcml2YXRlIGN1cnJlbnRNb2RlbDogVE1vZGVsO1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIEVsbUNvbXBvbmVudC5cblx0ICogQHBhcmFtIHtUUHJvcHN9IHByb3BzIFRoZSBwcm9wcyBmb3IgdGhlIGNvbXBvbmVudC5cblx0ICogQHBhcmFtIHsoKSA9PiBUTW9kZWx9IGluaXQgVGhlIGluaXRpYWxpemVyIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgY29tcG9uZW50LlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IFRQcm9wcywgaW5pdDogSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sIG5hbWU6IHN0cmluZykge1xuXHRcdHN1cGVyKHByb3BzKTtcblxuXHRcdGNvbnN0IGZha2VPcHRpb25zID0gZ2V0RmFrZU9wdGlvbnNPbmNlKCk7XG5cblx0XHRpZiAoZmFrZU9wdGlvbnM/LmRpc3BhdGNoKSB7XG5cdFx0XHR0aGlzLmRpc3BhdGNoID0gZmFrZU9wdGlvbnMuZGlzcGF0Y2g7XG5cdFx0fVxuXG5cdFx0Y29uc3QgW21vZGVsLCAuLi5jb21tYW5kc10gPSBmYWtlT3B0aW9ucz8ubW9kZWwgPyBbZmFrZU9wdGlvbnMubW9kZWwgYXMgVE1vZGVsXSA6IGluaXQodGhpcy5wcm9wcyk7XG5cblx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiSW5pdGlhbCBtb2RlbCBmb3JcIiwgbmFtZSwgbW9kZWwpO1xuXG5cdFx0dGhpcy5jb21wb25lbnROYW1lID0gbmFtZTtcblx0XHR0aGlzLmN1cnJlbnRNb2RlbCA9IG1vZGVsO1xuXHRcdHRoaXMuaW5pdENvbW1hbmRzID0gY29tbWFuZHM7XG5cdH1cblxuXHQvKipcblx0ICogSXMgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG5cdCAqIFdoZW4gaW1wbGVtZW50aW5nIHRoaXMgbWV0aG9kLCB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYmUgY2FsbGVkLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29tcG9uZW50RGlkTW91bnQoKTogdm9pZCB7XG5cdFx0dGhpcy5tb3VudGVkID0gdHJ1ZTtcblxuXHRcdGlmICh0aGlzLmluaXRDb21tYW5kcykge1xuXHRcdFx0ZXhlY0NtZCh0aGlzLmRpc3BhdGNoLCAuLi50aGlzLmluaXRDb21tYW5kcyk7XG5cdFx0XHR0aGlzLmluaXRDb21tYW5kcyA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIElzIGNhbGxlZCBiZWZvcmUgdW5sb2FkaW5nIHRoZSBjb21wb25lbnQuXG5cdCAqIFdoZW4gaW1wbGVtZW50aW5nIHRoaXMgbWV0aG9kLCB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYmUgY2FsbGVkLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29tcG9uZW50V2lsbFVubW91bnQoKTogdm9pZCB7XG5cdFx0dGhpcy5tb3VudGVkID0gZmFsc2U7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY3VycmVudCBtb2RlbC5cblx0ICogQHJlYWRvbmx5XG5cdCAqIEB0eXBlIHtSZWFkb25seTxUTW9kZWw+fVxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgZ2V0IG1vZGVsKCk6IFJlYWRvbmx5PFRNb2RlbD4ge1xuXHRcdHJldHVybiB0aGlzLmN1cnJlbnRNb2RlbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwYXRjaGVzIGEgbWVzc2FnZS5cblx0ICogQHBhcmFtIHtUTWVzc2FnZX0gbXNnIFRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlzcGF0Y2ggPSAobXNnOiBUTWVzc2FnZSk6IHZvaWQgPT4ge1xuXHRcdGlmICh0aGlzLnJ1bm5pbmcpIHtcblx0XHRcdHRoaXMuYnVmZmVyLnB1c2gobXNnKTtcblxuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMucnVubmluZyA9IHRydWU7XG5cblx0XHRsZXQgbmV4dE1zZzogVE1lc3NhZ2UgfCB1bmRlZmluZWQgPSBtc2c7XG5cdFx0bGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cblx0XHRkbyB7XG5cdFx0XHRsb2dNZXNzYWdlKHRoaXMuY29tcG9uZW50TmFtZSwgbmV4dE1zZyk7XG5cblx0XHRcdGxldCBkZWZlcnJlZE1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4gPSB7fTtcblx0XHRcdGNvbnN0IGRlZmVycmVkQ29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdID0gW107XG5cblx0XHRcdGNvbnN0IGRlZmVyOiBEZWZlckZ1bmN0aW9uPFRNb2RlbCwgVE1lc3NhZ2U+ID0gKHRlbXBEZWZlcnJlZE1vZGVsLCAuLi50ZW1wRGVmZXJyZWRDb21tYW5kcykgPT4ge1xuXHRcdFx0XHRkZWZlcnJlZE1vZGVsID0geyAuLi5kZWZlcnJlZE1vZGVsLCAuLi50ZW1wRGVmZXJyZWRNb2RlbCB9O1xuXHRcdFx0XHRkZWZlcnJlZENvbW1hbmRzLnB1c2goLi4udGVtcERlZmVycmVkQ29tbWFuZHMpO1xuXHRcdFx0fTtcblxuXHRcdFx0Y29uc3QgW21vZGVsLCAuLi5jb21tYW5kc10gPSB0aGlzLnVwZGF0ZSh0aGlzLmN1cnJlbnRNb2RlbCwgbmV4dE1zZywgdGhpcy5wcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdFx0aWYgKG1vZGVsSGFzQ2hhbmdlZCh0aGlzLmN1cnJlbnRNb2RlbCwgeyAuLi5kZWZlcnJlZE1vZGVsLCAuLi5tb2RlbCB9KSkge1xuXHRcdFx0XHR0aGlzLmN1cnJlbnRNb2RlbCA9IHsgLi4udGhpcy5jdXJyZW50TW9kZWwsIC4uLmRlZmVycmVkTW9kZWwsIC4uLm1vZGVsIH07XG5cdFx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHRcdH1cblxuXHRcdFx0ZXhlY0NtZCh0aGlzLmRpc3BhdGNoLCAuLi5jb21tYW5kcywgLi4uZGVmZXJyZWRDb21tYW5kcyk7XG5cblx0XHRcdG5leHRNc2cgPSB0aGlzLmJ1ZmZlci5zaGlmdCgpO1xuXHRcdH0gd2hpbGUgKG5leHRNc2cpO1xuXG5cdFx0dGhpcy5ydW5uaW5nID0gZmFsc2U7XG5cblx0XHRpZiAodGhpcy5tb3VudGVkICYmIG1vZGlmaWVkKSB7XG5cdFx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiVXBkYXRlIG1vZGVsIGZvclwiLCB0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuY3VycmVudE1vZGVsKTtcblx0XHRcdHRoaXMuZm9yY2VVcGRhdGUoKTtcblx0XHR9XG5cdH07XG5cblx0LyoqXG5cdCAqIEZ1bmN0aW9uIHRvIG1vZGlmeSB0aGUgbW9kZWwgYmFzZWQgb24gYSBtZXNzYWdlLlxuXHQgKiBAcGFyYW0ge1RNb2RlbH0gbW9kZWwgVGhlIGN1cnJlbnQgbW9kZWwuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBwcm9jZXNzLlxuXHQgKiBAcGFyYW0ge1RQcm9wc30gcHJvcHMgVGhlIHByb3BzIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgdXBkYXRlIGZ1bmN0aW9uLlxuXHQgKiBAcmV0dXJucyBUaGUgbmV3IG1vZGVsIChjYW4gYWxzbyBiZSBhbiBlbXB0eSBvYmplY3Qge30pIGFuZCBhbiBvcHRpb25hbCBuZXcgbWVzc2FnZSB0byBkaXNwYXRjaC5cblx0ICogQGFic3RyYWN0XG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBhYnN0cmFjdCB1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbmV4cG9ydCB7IEVsbUNvbXBvbmVudCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxZQUFBLEdBQUFILE9BQUE7QUFBbUQsU0FBQUQsdUJBQUFLLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxnQkFBQUEsR0FBQTtBQUFBLFNBQUFFLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFBRyxXQUFBLEtBQUFGLE1BQUEsSUFBQUQsQ0FBQSxLQUFBQyxNQUFBLENBQUFHLFNBQUEscUJBQUFKLENBQUEsS0FBQUQsT0FBQSxDQUFBQyxDQUFBO0FBQUEsU0FBQUssbUJBQUFDLEdBQUEsV0FBQUMsa0JBQUEsQ0FBQUQsR0FBQSxLQUFBRSxnQkFBQSxDQUFBRixHQUFBLEtBQUFHLDJCQUFBLENBQUFILEdBQUEsS0FBQUksa0JBQUE7QUFBQSxTQUFBQSxtQkFBQSxjQUFBQyxTQUFBO0FBQUEsU0FBQUosbUJBQUFELEdBQUEsUUFBQU0sS0FBQSxDQUFBQyxPQUFBLENBQUFQLEdBQUEsVUFBQVEsaUJBQUEsQ0FBQVIsR0FBQTtBQUFBLFNBQUFTLFNBQUFULEdBQUEsV0FBQVUsZUFBQSxDQUFBVixHQUFBLEtBQUFFLGdCQUFBLENBQUFGLEdBQUEsS0FBQUcsMkJBQUEsQ0FBQUgsR0FBQSxLQUFBVyxnQkFBQTtB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
|
package/dist/ErrorHandling.d.ts
CHANGED
package/dist/ErrorHandling.js
CHANGED
|
@@ -23,7 +23,7 @@ var _Init = require("./Init");
|
|
|
23
23
|
* };
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
|
-
var errorMsg = {
|
|
26
|
+
var errorMsg = exports.errorMsg = {
|
|
27
27
|
error: function error(_error) {
|
|
28
28
|
return {
|
|
29
29
|
name: "error",
|
|
@@ -44,7 +44,6 @@ var errorMsg = {
|
|
|
44
44
|
* };
|
|
45
45
|
* ```
|
|
46
46
|
*/
|
|
47
|
-
exports.errorMsg = errorMsg;
|
|
48
47
|
function errorHandler() {
|
|
49
48
|
return {
|
|
50
49
|
error: function error(_ref) {
|
|
@@ -68,4 +67,4 @@ function handleError(error) {
|
|
|
68
67
|
(_Services$logger = _Init.Services.logger) === null || _Services$logger === void 0 || _Services$logger.error(error);
|
|
69
68
|
return [{}];
|
|
70
69
|
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW5pdCIsInJlcXVpcmUiLCJlcnJvck1zZyIsImV4cG9ydHMiLCJlcnJvciIsIm5hbWUiLCJlcnJvckhhbmRsZXIiLCJfcmVmIiwiaGFuZGxlRXJyb3IiLCJfU2VydmljZXMkbG9nZ2VyIiwiU2VydmljZXMiLCJlcnJvck1pZGRsZXdhcmUiLCJsb2dnZXIiXSwic291cmNlcyI6WyIuLi9zcmMvRXJyb3JIYW5kbGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB0eXBlIHsgVXBkYXRlUmV0dXJuVHlwZSB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbi8qKlxuICogRXJyb3IgbWVzc2FnZSBvYmplY3QuXG4gKiBBZGQgdGhpcyB0byB5b3VyIE1lc3NhZ2UgdHlwZS5cbiAqL1xuaW50ZXJmYWNlIEVycm9yTWVzc2FnZSB7XG5cdG5hbWU6IFwiZXJyb3JcIjtcblx0ZXJyb3I6IEVycm9yO1xufVxuXG4vKipcbiAqIFRoaXMgb2JqZWN0IGNvbnRhaW5zIHRoZSBmdW5jdGlvbiB0byBjcmVhdGUgYW4gZXJyb3IgbWVzc2FnZS5cbiAqIFNwcmVhZCB0aGlzIGludG8geW91ciBNc2cgb2JqZWN0LlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBjb25zdCBNc2cgPSB7XG4gKiAgICAgLy8gLi4uXG4gKiAgICAgLi4uZXJyb3JNc2csXG4gKiB9O1xuICogYGBgXG4gKi9cbmNvbnN0IGVycm9yTXNnID0ge1xuXHRlcnJvcjogKGVycm9yOiBFcnJvcik6IEVycm9yTWVzc2FnZSA9PiAoeyBuYW1lOiBcImVycm9yXCIsIGVycm9yIH0pLFxufTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIG9iamVjdCB0byBoYW5kbGUgZXJyb3IgbWVzc2FnZXMgaW4gYW4gdXBkYXRlIG1hcC5cbiAqIFNwcmVhZCB0aGUgb2JqZWN0IHJldHVybmVkIGJ5IHRoaXMgZnVuY3Rpb24gaW50byB5b3VyIGBVcGRhdGVNYXBgLlxuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgYW4gZXJyb3IgaGFuZGxlciBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogY29uc3QgdXBkYXRlOiBVcGRhdGVNYXA8UHJvcHMsIE1vZGVsLCBNZXNzYWdlPiA9IHtcbiAqICAgICAvLyAuLi5cbiAqICAgICAuLi5lcnJvckhhbmRsZXIoKSxcbiAqIH07XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZXJyb3JIYW5kbGVyPFRNb2RlbCwgVE1lc3NhZ2U+KCk6IHtcblx0ZXJyb3I6IChtc2c6IEVycm9yTWVzc2FnZSkgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPjtcbn0ge1xuXHRyZXR1cm4ge1xuXHRcdGVycm9yKHsgZXJyb3IgfSkge1xuXHRcdFx0cmV0dXJuIGhhbmRsZUVycm9yKGVycm9yKTtcblx0XHR9LFxuXHR9O1xufVxuXG4vKipcbiAqIEhhbmRsZXMgYW4gZXJyb3IuXG4gKiBMb2dzIHRoZSBlcnJvciBpZiBhIExvZ2dlciB3YXMgc3BlY2lmaWVkLlxuICogQ2FsbHMgdGhlIGVycm9yIGhhbmRsaW5nIG1pZGRsZXdhcmUgaWYgc3BlY2lmaWVkLlxuICogQHBhcmFtIHtFcnJvcn0gZXJyb3IgVGhlIGVycm9yLlxuICovXG5mdW5jdGlvbiBoYW5kbGVFcnJvcjxUTW9kZWwsIFRNZXNzYWdlPihlcnJvcjogRXJyb3IpOiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+IHtcblx0aWYgKFNlcnZpY2VzLmVycm9yTWlkZGxld2FyZSkge1xuXHRcdFNlcnZpY2VzLmVycm9yTWlkZGxld2FyZShlcnJvcik7XG5cdH1cblx0U2VydmljZXMubG9nZ2VyPy5lcnJvcihlcnJvcik7XG5cblx0cmV0dXJuIFt7fV07XG59XG5cbmV4cG9ydCB0eXBlIHsgRXJyb3JNZXNzYWdlIH07XG5cbmV4cG9ydCB7IGVycm9ySGFuZGxlciwgZXJyb3JNc2csIGhhbmRsZUVycm9yIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQU1DLFFBQVEsR0FBQUMsT0FBQSxDQUFBRCxRQUFBLEdBQUc7RUFDaEJFLEtBQUssRUFBRSxTQUFBQSxNQUFDQSxNQUFZO0lBQUEsT0FBb0I7TUFBRUMsSUFBSSxFQUFFLE9BQU87TUFBRUQsS0FBSyxFQUFMQTtJQUFNLENBQUM7RUFBQTtBQUNqRSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNFLFlBQVlBLENBQUEsRUFFbkI7RUFDRCxPQUFPO0lBQ05GLEtBQUssV0FBQUEsTUFBQUcsSUFBQSxFQUFZO01BQUEsSUFBVEgsS0FBSyxHQUFBRyxJQUFBLENBQUxILEtBQUs7TUFDWixPQUFPSSxXQUFXLENBQUNKLEtBQUssQ0FBQztJQUMxQjtFQUNELENBQUM7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTSSxXQUFXQSxDQUFtQkosS0FBWSxFQUFzQztFQUFBLElBQUFLLGdCQUFBO0VBQ3hGLElBQUlDLGNBQVEsQ0FBQ0MsZUFBZSxFQUFFO0lBQzdCRCxjQUFRLENBQUNDLGVBQWUsQ0FBQ1AsS0FBSyxDQUFDO0VBQ2hDO0VBQ0EsQ0FBQUssZ0JBQUEsR0FBQUMsY0FBUSxDQUFDRSxNQUFNLGNBQUFILGdCQUFBLGVBQWZBLGdCQUFBLENBQWlCTCxLQUFLLENBQUNBLEtBQUssQ0FBQztFQUU3QixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWiJ9
|
package/dist/Init.d.ts
CHANGED
package/dist/Init.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.Services = void 0;
|
|
7
7
|
exports.init = init;
|
|
8
|
-
var Services = {
|
|
8
|
+
var Services = exports.Services = {
|
|
9
9
|
logger: undefined,
|
|
10
10
|
errorMiddleware: undefined,
|
|
11
11
|
dispatchMiddleware: undefined
|
|
@@ -16,10 +16,9 @@ var Services = {
|
|
|
16
16
|
* You only need to call this function if you want to set some of the options.
|
|
17
17
|
* @param {ElmOptions} options
|
|
18
18
|
*/
|
|
19
|
-
exports.Services = Services;
|
|
20
19
|
function init(options) {
|
|
21
20
|
Services.logger = options.logger;
|
|
22
21
|
Services.errorMiddleware = options.errorMiddleware;
|
|
23
22
|
Services.dispatchMiddleware = options.dispatchMiddleware;
|
|
24
23
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZXJ2aWNlcyIsImV4cG9ydHMiLCJsb2dnZXIiLCJ1bmRlZmluZWQiLCJlcnJvck1pZGRsZXdhcmUiLCJkaXNwYXRjaE1pZGRsZXdhcmUiLCJpbml0Iiwib3B0aW9ucyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9Jbml0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWVzc2FnZSB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbmludGVyZmFjZSBMb2dnZXIge1xuXHRkZWJ1ZzogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdm9pZDtcblx0aW5mbzogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdm9pZDtcblx0ZXJyb3I6ICguLi5hcmdzOiB1bmtub3duW10pID0+IHZvaWQ7XG59XG5cbnR5cGUgRXJyb3JNaWRkbGV3YXJlRnVuYyA9IChlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG50eXBlIERpc3BhdGNoTWlkZGxld2FyZUZ1bmMgPSAobXNnOiBNZXNzYWdlKSA9PiB2b2lkO1xuXG5pbnRlcmZhY2UgRWxtT3B0aW9ucyB7XG5cdC8qKlxuXHQgKiBUaGUgbG9nZ2VyIHRvIHVzZSBmb3IgbG9nZ2luZyBjYWxsZWQgbWVzc2FnZXMgYW5kIHVwZGF0ZWQgbW9kZWxzLlxuXHQgKiBAdHlwZSB7TG9nZ2VyfVxuXHQgKi9cblx0bG9nZ2VyPzogTG9nZ2VyO1xuXG5cdC8qKlxuXHQgKiBNaWRkbGV3YXJlIHRvIGNhbGwgd2hlbiBlcnJvciBtZXNzYWdlcyBhcmUgaGFuZGxlZCBieSB0aGUgYGhhbmRsZUVycm9yYCBmdW5jdGlvbi5cblx0ICogQHR5cGUge0Vycm9yTWlkZGxld2FyZUZ1bmN9XG5cdCAqL1xuXHRlcnJvck1pZGRsZXdhcmU/OiBFcnJvck1pZGRsZXdhcmVGdW5jO1xuXG5cdC8qKlxuXHQgKiBNaWRkbGV3YXJlIHRvIGNhbGwgZm9yIGV2ZXJ5IHByb2Nlc3NlZCBtZXNzYWdlLlxuXHQgKiBAdHlwZSB7RGlzcGF0Y2hNaWRkbGV3YXJlRnVuY31cblx0ICovXG5cdGRpc3BhdGNoTWlkZGxld2FyZT86IERpc3BhdGNoTWlkZGxld2FyZUZ1bmM7XG59XG5cbmNvbnN0IFNlcnZpY2VzOiBFbG1PcHRpb25zID0ge1xuXHRsb2dnZXI6IHVuZGVmaW5lZCxcblx0ZXJyb3JNaWRkbGV3YXJlOiB1bmRlZmluZWQsXG5cdGRpc3BhdGNoTWlkZGxld2FyZTogdW5kZWZpbmVkLFxufTtcblxuLyoqXG4gKiBUaGlzIGluaXRpYWxpemVzIHRoZSBFbG1pc2ggbW9kdWxlLlxuICogWW91IG9ubHkgbmVlZCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gaWYgeW91IHdhbnQgdG8gc2V0IHNvbWUgb2YgdGhlIG9wdGlvbnMuXG4gKiBAcGFyYW0ge0VsbU9wdGlvbnN9IG9wdGlvbnNcbiAqL1xuZnVuY3Rpb24gaW5pdChvcHRpb25zOiBFbG1PcHRpb25zKTogdm9pZCB7XG5cdFNlcnZpY2VzLmxvZ2dlciA9IG9wdGlvbnMubG9nZ2VyO1xuXHRTZXJ2aWNlcy5lcnJvck1pZGRsZXdhcmUgPSBvcHRpb25zLmVycm9yTWlkZGxld2FyZTtcblx0U2VydmljZXMuZGlzcGF0Y2hNaWRkbGV3YXJlID0gb3B0aW9ucy5kaXNwYXRjaE1pZGRsZXdhcmU7XG59XG5cbmV4cG9ydCB0eXBlIHsgRGlzcGF0Y2hNaWRkbGV3YXJlRnVuYywgRWxtT3B0aW9ucywgRXJyb3JNaWRkbGV3YXJlRnVuYywgTG9nZ2VyIH07XG5cbmV4cG9ydCB7IFNlcnZpY2VzLCBpbml0IH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUErQkEsSUFBTUEsUUFBb0IsR0FBQUMsT0FBQSxDQUFBRCxRQUFBLEdBQUc7RUFDNUJFLE1BQU0sRUFBRUMsU0FBUztFQUNqQkMsZUFBZSxFQUFFRCxTQUFTO0VBQzFCRSxrQkFBa0IsRUFBRUY7QUFDckIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0csSUFBSUEsQ0FBQ0MsT0FBbUIsRUFBUTtFQUN4Q1AsUUFBUSxDQUFDRSxNQUFNLEdBQUdLLE9BQU8sQ0FBQ0wsTUFBTTtFQUNoQ0YsUUFBUSxDQUFDSSxlQUFlLEdBQUdHLE9BQU8sQ0FBQ0gsZUFBZTtFQUNsREosUUFBUSxDQUFDSyxrQkFBa0IsR0FBR0UsT0FBTyxDQUFDRixrQkFBa0I7QUFDekQifQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { InitFunction, Message } from "../Types";
|
|
1
|
+
import type { InitFunction, Message } from "../Types";
|
|
2
2
|
declare function createModelAndProps<TProps, TModel, TMessage extends Message>(init: InitFunction<TProps, TModel, TMessage>, initProps: () => TProps, modelTemplate?: Partial<TModel>, propsTemplate?: Partial<TProps>): [TModel, TProps];
|
|
3
3
|
export { createModelAndProps };
|
|
@@ -14,8 +14,8 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
14
14
|
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; }
|
|
15
15
|
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; }
|
|
16
16
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
-
function _toPropertyKey(
|
|
18
|
-
function _toPrimitive(
|
|
17
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
18
|
+
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); }
|
|
19
19
|
function createModelAndProps(init, initProps, modelTemplate, propsTemplate) {
|
|
20
20
|
var props = _objectSpread(_objectSpread({}, initProps()), propsTemplate);
|
|
21
21
|
var _init = init(props),
|
|
@@ -23,4 +23,4 @@ function createModelAndProps(init, initProps, modelTemplate, propsTemplate) {
|
|
|
23
23
|
model = _init2[0];
|
|
24
24
|
return [_objectSpread(_objectSpread({}, model), modelTemplate), props];
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVNb2RlbEFuZFByb3BzIiwiaW5pdCIsImluaXRQcm9wcyIsIm1vZGVsVGVtcGxhdGUiLCJwcm9wc1RlbXBsYXRlIiwicHJvcHMiLCJfb2JqZWN0U3ByZWFkIiwiX2luaXQiLCJfaW5pdDIiLCJfc2xpY2VkVG9BcnJheSIsIm1vZGVsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1Rlc3RpbmcvY3JlYXRlTW9kZWxBbmRQcm9wcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEluaXRGdW5jdGlvbiwgTWVzc2FnZSB9IGZyb20gXCIuLi9UeXBlc1wiO1xuXG5mdW5jdGlvbiBjcmVhdGVNb2RlbEFuZFByb3BzPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcblx0aW5pdFByb3BzOiAoKSA9PiBUUHJvcHMsXG5cdG1vZGVsVGVtcGxhdGU/OiBQYXJ0aWFsPFRNb2RlbD4sXG5cdHByb3BzVGVtcGxhdGU/OiBQYXJ0aWFsPFRQcm9wcz4sXG4pOiBbVE1vZGVsLCBUUHJvcHNdIHtcblx0Y29uc3QgcHJvcHM6IFRQcm9wcyA9IHtcblx0XHQuLi5pbml0UHJvcHMoKSxcblx0XHQuLi5wcm9wc1RlbXBsYXRlLFxuXHR9O1xuXHRjb25zdCBbbW9kZWxdID0gaW5pdChwcm9wcyk7XG5cblx0cmV0dXJuIFt7IC4uLm1vZGVsLCAuLi5tb2RlbFRlbXBsYXRlIH0sIHByb3BzXTtcbn1cblxuZXhwb3J0IHsgY3JlYXRlTW9kZWxBbmRQcm9wcyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxTQUFTQSxtQkFBbUJBLENBQzNCQyxJQUE0QyxFQUM1Q0MsU0FBdUIsRUFDdkJDLGFBQStCLEVBQy9CQyxhQUErQixFQUNaO0VBQ25CLElBQU1DLEtBQWEsR0FBQUMsYUFBQSxDQUFBQSxhQUFBLEtBQ2ZKLFNBQVMsQ0FBQyxDQUFDLEdBQ1hFLGFBQWEsQ0FDaEI7RUFDRCxJQUFBRyxLQUFBLEdBQWdCTixJQUFJLENBQUNJLEtBQUssQ0FBQztJQUFBRyxNQUFBLEdBQUFDLGNBQUEsQ0FBQUYsS0FBQTtJQUFwQkcsS0FBSyxHQUFBRixNQUFBO0VBRVosT0FBTyxDQUFBRixhQUFBLENBQUFBLGFBQUEsS0FBTUksS0FBSyxHQUFLUCxhQUFhLEdBQUlFLEtBQUssQ0FBQztBQUMvQyJ9
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Message } from "../Types";
|
|
1
|
+
import type { Message } from "../Types";
|
|
2
2
|
type UpdateArgsFactory<TProps, TModel, TMessage extends Message> = (msg: TMessage, modelTemplate?: Partial<TModel>, propsTemplate?: Partial<TProps>) => [TMessage, TModel, TProps];
|
|
3
3
|
type ModelAndPropsFactory<TProps, TModel> = (modelTemplate?: Partial<TModel>, propsTemplate?: Partial<TProps>) => [TModel, TProps];
|
|
4
4
|
/**
|
|
@@ -8,8 +8,8 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
8
8
|
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
9
|
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
10
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
-
function _toPropertyKey(
|
|
12
|
-
function _toPrimitive(
|
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
12
|
+
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); }
|
|
13
13
|
/**
|
|
14
14
|
* Creates a factory function to create a message, a model, and props which can be passed to an update function in tests.
|
|
15
15
|
* @param {() => TModel} initModel A function to create an initial model.
|
|
@@ -26,4 +26,4 @@ function createUpdateArgsFactory(initModel, initProps) {
|
|
|
26
26
|
return [msg, _objectSpread(_objectSpread({}, initModel()), modelTemplate), _objectSpread(_objectSpread({}, initProps()), propsTemplate)];
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSIsImluaXRNb2RlbCIsImluaXRQcm9wcyIsImNyZWF0ZVVwZGF0ZUFyZ3MiLCJtc2ciLCJtb2RlbFRlbXBsYXRlIiwicHJvcHNUZW1wbGF0ZSIsIl9vYmplY3RTcHJlYWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvVGVzdGluZy9jcmVhdGVVcGRhdGVBcmdzRmFjdG9yeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1lc3NhZ2UgfSBmcm9tIFwiLi4vVHlwZXNcIjtcblxudHlwZSBVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiA9IChcblx0bXNnOiBUTWVzc2FnZSxcblx0bW9kZWxUZW1wbGF0ZT86IFBhcnRpYWw8VE1vZGVsPixcblx0cHJvcHNUZW1wbGF0ZT86IFBhcnRpYWw8VFByb3BzPixcbikgPT4gW1RNZXNzYWdlLCBUTW9kZWwsIFRQcm9wc107XG5cbnR5cGUgTW9kZWxBbmRQcm9wc0ZhY3Rvcnk8VFByb3BzLCBUTW9kZWw+ID0gKFxuXHRtb2RlbFRlbXBsYXRlPzogUGFydGlhbDxUTW9kZWw+LFxuXHRwcm9wc1RlbXBsYXRlPzogUGFydGlhbDxUUHJvcHM+LFxuKSA9PiBbVE1vZGVsLCBUUHJvcHNdO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG1lc3NhZ2UsIGEgbW9kZWwsIGFuZCBwcm9wcyB3aGljaCBjYW4gYmUgcGFzc2VkIHRvIGFuIHVwZGF0ZSBmdW5jdGlvbiBpbiB0ZXN0cy5cbiAqIEBwYXJhbSB7KCkgPT4gVE1vZGVsfSBpbml0TW9kZWwgQSBmdW5jdGlvbiB0byBjcmVhdGUgYW4gaW5pdGlhbCBtb2RlbC5cbiAqIEBwYXJhbSB7KCkgPT4gVFByb3BzfSBpbml0UHJvcHMgQSBmdW5jdGlvbiB0byBjcmVhdGUgaW5pdGlhbCBwcm9wcy5cbiAqIEByZXR1cm5zIHtVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+fSBBIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG1lc3NhZ2UsIGEgbW9kZWwsIGFuZCBwcm9wcy5cbiAqIEBleGFtcGxlXG4gKiAvLyBvbmUgdGltZVxuICogY29uc3QgY3JlYXRlVXBkYXRlQXJncyA9IGNyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5KCgpID0+ICh7IC4uLiB9KSwgKCkgPT4gKHsgLi4uIH0pKTtcbiAqIC8vIGluIHRlc3RzXG4gKiBjb25zdCBbbXNnLCBtb2RlbCwgcHJvcHNdID0gY3JlYXRlVXBkYXRlQXJncyhNc2cubXlNZXNzYWdlKCksIHsgLi4uIH0sICwgeyAuLi4gfSk7XG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5PFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRpbml0TW9kZWw6ICgpID0+IFRNb2RlbCxcblx0aW5pdFByb3BzOiAoKSA9PiBUUHJvcHMsXG4pOiBVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHtcblx0cmV0dXJuIGZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZUFyZ3MoXG5cdFx0bXNnOiBUTWVzc2FnZSxcblx0XHRtb2RlbFRlbXBsYXRlPzogUGFydGlhbDxUTW9kZWw+LFxuXHRcdHByb3BzVGVtcGxhdGU/OiBQYXJ0aWFsPFRQcm9wcz4sXG5cdCk6IFtUTWVzc2FnZSwgVE1vZGVsLCBUUHJvcHNdIHtcblx0XHRyZXR1cm4gW1xuXHRcdFx0bXNnLFxuXHRcdFx0e1xuXHRcdFx0XHQuLi5pbml0TW9kZWwoKSxcblx0XHRcdFx0Li4ubW9kZWxUZW1wbGF0ZSxcblx0XHRcdH0sXG5cdFx0XHR7XG5cdFx0XHRcdC4uLmluaXRQcm9wcygpLFxuXHRcdFx0XHQuLi5wcm9wc1RlbXBsYXRlLFxuXHRcdFx0fSxcblx0XHRdO1xuXHR9O1xufVxuXG5leHBvcnQgdHlwZSB7IE1vZGVsQW5kUHJvcHNGYWN0b3J5LCBVcGRhdGVBcmdzRmFjdG9yeSB9O1xuXG5leHBvcnQgeyBjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsdUJBQXVCQSxDQUMvQkMsU0FBdUIsRUFDdkJDLFNBQXVCLEVBQ3VCO0VBQzlDLE9BQU8sU0FBU0MsZ0JBQWdCQSxDQUMvQkMsR0FBYSxFQUNiQyxhQUErQixFQUMvQkMsYUFBK0IsRUFDRjtJQUM3QixPQUFPLENBQ05GLEdBQUcsRUFBQUcsYUFBQSxDQUFBQSxhQUFBLEtBRUNOLFNBQVMsQ0FBQyxDQUFDLEdBQ1hJLGFBQWEsR0FBQUUsYUFBQSxDQUFBQSxhQUFBLEtBR2JMLFNBQVMsQ0FBQyxDQUFDLEdBQ1hJLGFBQWEsRUFFakI7RUFDRixDQUFDO0FBQ0YifQ==
|