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 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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW5pdCIsInJlcXVpcmUiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIm8iLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJpIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZSIsIl9lIiwiZiIsIlR5cGVFcnJvciIsIm5vcm1hbENvbXBsZXRpb24iLCJkaWRFcnIiLCJlcnIiLCJjYWxsIiwic3RlcCIsIm5leHQiLCJfZTIiLCJtaW5MZW4iLCJfYXJyYXlMaWtlVG9BcnJheSIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsImFyciIsImxlbiIsImFycjIiLCJsb2dNZXNzYWdlIiwibXNnIiwiX1NlcnZpY2VzJGxvZ2dlciIsIl9TZXJ2aWNlcyRsb2dnZXIyIiwiX1NlcnZpY2VzJGRpc3BhdGNoTWlkIiwiU2VydmljZXMiLCJsb2dnZXIiLCJpbmZvIiwiZGVidWciLCJkaXNwYXRjaE1pZGRsZXdhcmUiLCJtb2RlbEhhc0NoYW5nZWQiLCJjdXJyZW50TW9kZWwiLCJtb2RlbCIsImlzIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImV4ZWNDbWQiLCJkaXNwYXRjaCIsIl9sZW4iLCJhcmd1bWVudHMiLCJjb21tYW5kcyIsIl9rZXkiLCJfaXRlcmF0b3IiLCJmbGF0IiwiX3N0ZXAiXSwic291cmNlcyI6WyIuLi9zcmMvQ29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHsgQ21kLCBEaXNwYXRjaCwgTWVzc2FnZSB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbmZ1bmN0aW9uIGxvZ01lc3NhZ2U8VE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihuYW1lOiBzdHJpbmcsIG1zZzogVE1lc3NhZ2UpOiB2b2lkIHtcblx0U2VydmljZXMubG9nZ2VyPy5pbmZvKFwiTWVzc2FnZSBmcm9tXCIsIG5hbWUsIG1zZy5uYW1lKTtcblx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIk1lc3NhZ2UgZnJvbVwiLCBuYW1lLCBtc2cpO1xuXG5cdFNlcnZpY2VzLmRpc3BhdGNoTWlkZGxld2FyZT8uKG1zZyk7XG59XG5cbmZ1bmN0aW9uIG1vZGVsSGFzQ2hhbmdlZDxUTW9kZWw+KGN1cnJlbnRNb2RlbDogVE1vZGVsLCBtb2RlbDogUGFydGlhbDxUTW9kZWw+KTogYm9vbGVhbiB7XG5cdHJldHVybiAhT2JqZWN0LmlzKG1vZGVsLCBjdXJyZW50TW9kZWwpICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG1vZGVsKS5sZW5ndGggPiAwO1xufVxuXG5mdW5jdGlvbiBleGVjQ21kPFRNZXNzYWdlPihkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+LCAuLi5jb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW10pOiB2b2lkIHtcblx0Zm9yIChjb25zdCBjYWxsIG9mIGNvbW1hbmRzLmZsYXQoKSkge1xuXHRcdGlmIChjYWxsKSB7XG5cdFx0XHRjYWxsKGRpc3BhdGNoKTtcblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IHsgZXhlY0NtZCwgbG9nTWVzc2FnZSwgbW9kZWxIYXNDaGFuZ2VkIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBQWtDLFNBQUFDLDJCQUFBQyxDQUFBLEVBQUFDLGNBQUEsUUFBQUMsRUFBQSxVQUFBQyxNQUFBLG9CQUFBSCxDQUFBLENBQUFHLE1BQUEsQ0FBQUMsUUFBQSxLQUFBSixDQUFBLHFCQUFBRSxFQUFBLFFBQUFHLEtBQUEsQ0FBQUMsT0FBQSxDQUFBTixDQUFBLE1BQUFFLEVBQUEsR0FBQUssMkJBQUEsQ0FBQVAsQ0FBQSxNQUFBQyxjQUFBLElBQUFELENBQUEsV0FBQUEsQ0FB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
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW5pdCIsInJlcXVpcmUiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIm8iLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJpIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZSIsIl9lIiwiZiIsIlR5cGVFcnJvciIsIm5vcm1hbENvbXBsZXRpb24iLCJkaWRFcnIiLCJlcnIiLCJjYWxsIiwic3RlcCIsIm5leHQiLCJfZTIiLCJtaW5MZW4iLCJfYXJyYXlMaWtlVG9BcnJheSIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsImFyciIsImxlbiIsImFycjIiLCJsb2dNZXNzYWdlIiwibXNnIiwiX1NlcnZpY2VzJGxvZ2dlciIsIl9TZXJ2aWNlcyRsb2dnZXIyIiwiX1NlcnZpY2VzJGRpc3BhdGNoTWlkIiwiU2VydmljZXMiLCJsb2dnZXIiLCJpbmZvIiwiZGVidWciLCJkaXNwYXRjaE1pZGRsZXdhcmUiLCJtb2RlbEhhc0NoYW5nZWQiLCJjdXJyZW50TW9kZWwiLCJtb2RlbCIsImlzIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImV4ZWNDbWQiLCJkaXNwYXRjaCIsIl9sZW4iLCJhcmd1bWVudHMiLCJjb21tYW5kcyIsIl9rZXkiLCJfaXRlcmF0b3IiLCJmbGF0IiwiX3N0ZXAiXSwic291cmNlcyI6WyIuLi9zcmMvQ29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERpc3BhdGNoLCBNZXNzYWdlIH0gZnJvbSBcIi4vVHlwZXNcIjtcblxuZnVuY3Rpb24gbG9nTWVzc2FnZTxUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KG5hbWU6IHN0cmluZywgbXNnOiBUTWVzc2FnZSk6IHZvaWQge1xuXHRTZXJ2aWNlcy5sb2dnZXI/LmluZm8oXCJNZXNzYWdlIGZyb21cIiwgbmFtZSwgbXNnLm5hbWUpO1xuXHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiTWVzc2FnZSBmcm9tXCIsIG5hbWUsIG1zZyk7XG5cblx0U2VydmljZXMuZGlzcGF0Y2hNaWRkbGV3YXJlPy4obXNnKTtcbn1cblxuZnVuY3Rpb24gbW9kZWxIYXNDaGFuZ2VkPFRNb2RlbD4oY3VycmVudE1vZGVsOiBUTW9kZWwsIG1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4pOiBib29sZWFuIHtcblx0cmV0dXJuICFPYmplY3QuaXMobW9kZWwsIGN1cnJlbnRNb2RlbCkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMobW9kZWwpLmxlbmd0aCA+IDA7XG59XG5cbmZ1bmN0aW9uIGV4ZWNDbWQ8VE1lc3NhZ2U+KGRpc3BhdGNoOiBEaXNwYXRjaDxUTWVzc2FnZT4sIC4uLmNvbW1hbmRzOiAoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXSk6IHZvaWQge1xuXHRmb3IgKGNvbnN0IGNhbGwgb2YgY29tbWFuZHMuZmxhdCgpKSB7XG5cdFx0aWYgKGNhbGwpIHtcblx0XHRcdGNhbGwoZGlzcGF0Y2gpO1xuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgeyBleGVjQ21kLCBsb2dNZXNzYWdlLCBtb2RlbEhhc0NoYW5nZWQgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFBa0MsU0FBQUMsMkJBQUFDLENBQUEsRUFBQUMsY0FBQSxRQUFBQyxFQUFBLFVBQUFDLE1BQUEsb0JBQUFILENBQUEsQ0FBQUcsTUFBQSxDQUFBQyxRQUFBLEtBQUFKLENBQUEscUJBQUFFLEVBQUEsUUFBQUcsS0FBQSxDQUFBQyxPQUFBLENBQUFOLENBQUEsTUFBQUUsRUFBQSxHQUFBSywyQkFBQSxDQUFBUCxDQUFBLE1BQUFDLGNBQUEsSUFBQUQsQ0FBQSxXQUFB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
@@ -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
@@ -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 _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); }
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 _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
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(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
36
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
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 = _super.call(this, props);
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
- do {
80
+ var _loop = function _loop() {
82
81
  (0, _Common.logMessage)(_this.componentName, nextMsg);
83
- var _this$update = _this.update(_this.currentModel, nextMsg, _this.props),
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+O1xufVxuXG5leHBvcnQgeyBFbG1Db21wb25lbnQgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBQW1ELFNBQUFELHVCQUFBSyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsZ0JBQUFBLEdBQUE7QUFBQSxTQUFBRSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUYsQ0FBQSxrQkFBQUEsQ0FBQSxnQkFBQUEsQ0FBQSxXQUFBQSxDQUFBLHlCQUFBQyxNQUFBLElBQUFELENBQUEsQ0FBQUcsV0FBQSxLQUFBRixNQUFBLElBQUFELENBQUEsS0FBQUMsTUFBQSxDQUFBRyxTQUFBLHFCQUFBSixDQUFBLEtBQUFELE9BQUEsQ0FBQUMsQ0FBQTtBQUFBLFNBQUFLLG1CQUFBQyxHQUFBLFdBQUFDLGtCQUFBLENBQUFELEdBQUEsS0FBQUUsZ0JBQUEsQ0FBQUYsR0FBQSxLQUFBRywyQkFBQSxDQUFBSCxHQUFBLEtBQUFJLGtCQUFBO0FBQUEsU0FBQUEsbUJBQUEsY0FBQUMsU0FBQTtBQUFBLFNBQUFKLG1CQUFBRCxHQUFBLFFBQUFNLEtBQUEsQ0FBQUMsT0FBQSxDQUFBUCxHQUFBLFVBQUFRLGlCQUFBLENBQUFSLEdBQUE7QUFBQSxTQUFBUyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFyQixDQUFBLEdBQUFtQixNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBakIsQ0FBQSxHQUFBQSxDQUFBLENBQUFzQixNQUFBLFdBQUFMLENBQUEsV0FBQUUsTUFBQSxDQUFBSSx3QkFBQSxDQUFBUCxDQUFBLEVBQUFDLENBQUEsRUFBQU8sVUFBQSxPQUFBTixDQUFBLENBQUFPLElBQUEsQ0FBQUMsS0FBQSxDQUFBUixDQUFBLEVBQUFsQixDQUFBLFlBQUFrQixDQUFBO0FBQUEsU0FBQVMsY0FBQVgsQ0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQVcsU0FBQSxDQUFBQyxNQUFBLEVBQUFaLENBQUEsVUFBQUMsQ0FBQSxXQUFBVSxTQUFBLENBQUFYLENBQUEsSUFBQVcsU0FBQSxDQUFBWCxDQUFBLFFBQUFBLENBQUEsT0FBQUYsT0FBQSxDQUFBSSxNQUFBLENBQUFELENBQUEsT0FBQVksT0FBQSxXQUFBYixDQUFBLElBQUFjLGVBQUEsQ0FBQWYsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsQ0FBQUQsQ0FBQSxTQUFBRSxNQUFBLENBQUFhLHlCQUFBLEdBQUFiLE1BQUEsQ0FBQWMsZ0JBQUEsQ0FBQWpCLENBQUEsRUFBQUcsTUFBQSxDQUFBYSx5QkFBQSxDQUFBZCxDQUFBLEtBQUFILE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLEdBQUFZLE9BQUEsV0FBQWIsQ0FBQSxJQUFBRSxNQUFBLENBQUFlLGNBQUEsQ0FBQWxCLENBQUEsRUFBQUMsQ0FBQSxFQUFBRSxNQUFBLENBQUFJLHdCQUFBLENBQUFMLENBQUEsRUFBQUQsQ0FBQSxpQkFBQUQsQ0FBQTtBQUFBLFNBQUFtQixTQUFBN0IsR0FBQSxXQUFBOEIsZUFBQSxDQUFBOUIsR0FBQSxLQUFBRSxnQkFBQSxDQUFBRixHQUFBLEtBQUFHLDJCQUFBLENBQUFILEdBQUEsS0FBQStCLGdCQUFBO0FBQUEsU0FBQUEsaUJBQUEsY0FBQTFCLFNBQUE7QUFBQSxTQUFBRiw0QkFBQVQsQ0FBQSxFQUFBc0MsTUFBQSxTQUFBdEMsQ0FBQSxxQkFBQUEsQ0FBQSxzQkFBQWMsaUJBQUEsQ0FBQWQsQ0FBQSxFQUFBc0MsTUFBQSxPQUFBQyxDQUFBLEdBQUFwQixNQUFBLENBQUFmLFNBQUEsQ0FBQW9DLFFBQUEsQ0FBQUMsSUFBQSxDQUFBekMsQ0FBQSxFQUFBMEMsS0FBQSxhQUFBSCxDQUFBLGlCQUFBdkMsQ0FBQSxDQUFBRyxXQUFBLEVBQUFvQyxDQUFBLEdBQUF2QyxDQUFBLENBQUFHLFdBQUEsQ0FBQXdDLElBQUEsTUFBQUosQ0FBQSxjQUFBQSxDQUFBLG1CQUFBM0IsS0FBQSxDQUFBZ0MsSUFBQSxDQUFBNUMsQ0FBQSxPQUFBdUMsQ0FBQSwrREFBQU0sSUFBQSxDQUFBTixDQUFBLFVBQUF6QixpQkFBQSxDQUFBZCxDQUFBLEVBQUFzQyxNQUFBO0FBQUEsU0FBQXhCLGtCQUFBUixHQUFBLEVBQUF3QyxHQUFBLFFBQUFBLEdBQUEsWUFBQUEsR0FBQSxHQUFBeEMsR0FBQSxDQUFBdUIsTUFBQSxFQUFBaUIsR0FBQSxHQUFBeEMsR0FBQSxDQUFBdUIsTUFBQSxXQUFBa0IsQ0FBQSxNQUFBQyxJQUFBLE9BQUFwQyxLQUFBLENBQUFrQyxHQUFBLEdBQUFDLENBQUEsR0FBQUQsR0FBQSxFQUFBQyxDQUFBLElBQUFDLElBQUEsQ0FBQUQsQ0FBQSxJQUFBekMsR0FBQSxDQUFBeUMsQ0FBQSxVQUFBQyxJQUFBO0FBQUEsU0FBQXhDLGlCQUFBeUMsSUFBQSxlQUFBaEQsTUFBQSxvQkFBQWdELElBQUEsQ0FBQWhELE1BQUEsQ0FBQUMsUUFBQSxhQUFBK0MsSUFBQSwrQkFBQXJDLEtBQUEsQ0FBQWdDLElBQUEsQ0FBQUssSUFBQTtBQUFBLFNBQUFiLGdCQUFBOUIsR0FBQSxRQUFBTSxLQUFBLENBQUFDLE9BQUEsQ0FBQVAsR0FBQSxVQUFBQSxHQUFBO0FBQUEsU0FBQTRDLGdCQUFBQyxRQUFBLEVBQUFDLFdBQUEsVUFBQUQsUUFBQSxZQUFBQyxXQUFBLGVBQUF6QyxTQUFBO0FBQUEsU0FBQTBDLGtCQUFBQyxNQUFBLEVBQUFDLEtBQUEsYUFBQVIsQ0FBQSxNQUFBQSxDQUFBLEdBQUFRLEtBQUEsQ0FBQTFCLE1BQUEsRUFBQWtCLENBQUEsVUFBQVMsVUFBQSxHQUFBRCxLQUFBLENBQUFSLENBQUEsR0FBQVMsVUFBQSxDQUFBaEMsVUFBQSxHQUFBZ0MsVUFBQSxDQUFBaEMsVUFBQSxXQUFBZ0MsVUFBQSxDQUFBQyxZQUFBLHdCQUFBRCxVQUFBLEVBQUFBLFVBQUEsQ0FBQUUsUUFBQSxTQUFBdkMsTUFBQSxDQUFBZSxjQUFBLENBQUFvQixNQUFBLEVBQUFLLGNBQUEsQ0FBQUgsVUFBQSxDQUFBSSxHQUFBLEdBQUFKLFVBQUE7QUFBQSxTQUFBSyxhQUFBVCxXQUFBLEVBQUFVLFVBQUEsRUFBQUMsV0FBQSxRQUFBRCxVQUFBLEVBQUFULGlCQUFBLENBQUFELFdBQUEsQ0FBQWhELFNBQUEsRUFBQTBELFVBQUEsT0FBQUMsV0FBQSxFQUFBVixpQkFBQSxDQUFBRCxXQUFBLEVBQUFXLFdBQUEsR0FBQTVDLE1BQUEsQ0FBQWUsY0FBQSxDQUFBa0IsV0FBQSxpQkFBQU0sUUFBQSxtQkFBQU4sV0FBQTtBQUFBLFNBQUFZLFVBQUFDLFFBQUEsRUFBQUMsVUFBQSxlQUFBQSxVQUFBLG1CQUFBQSxVQUFBLHVCQUFBdkQsU0FBQSwwREFBQXNELFFBQUEsQ0FBQTdELFNBQUEsR0FBQWUsTUFBQSxDQUFBZ0QsTUFBQSxDQUFBRCxVQUFBLElBQUFBLFVBQUEsQ0FBQTlELFNBQUEsSUFBQUQsV0FBQSxJQUFBaUUsS0FBQSxFQUFBSCxRQUFBLEVBQUFQLFFBQUEsUUFBQUQsWUFBQSxhQUFBdEMsTUFBQSxDQUFBZSxjQUFBLENBQUErQixRQUFBLGlCQUFBUCxRQUFBLGdCQUFBUSxVQUFBLEVBQUFHLGVBQUEsQ0FBQUosUUFBQSxFQUFBQyxVQUFBO0FBQUEsU0FBQUcsZ0JBQUFyRSxDQUFBLEVBQUFzRSxDQUFBLElBQUFELGVBQUEsR0FBQWxELE1BQUEsQ0FBQW9ELGNBQUEsR0FBQXBELE1BQUEsQ0FBQW9ELGNBQUEsQ0FBQUMsSUFBQSxjQUFBSCxnQkFBQXJFLENBQUEsRUFBQXNFLENBQUEsSUFBQXRFLENBQUEsQ0FBQXlFLFNBQUEsR0FBQUgsQ0FBQSxTQUFBdEUsQ0FBQSxZQUFBcUUsZUFBQSxDQUFBckUsQ0FBQSxFQUFBc0UsQ0FBQTtBQUFBLFNBQUFJLGFBQUFDLE9BQUEsUUFBQUMseUJBQUEsR0FBQUMseUJBQUEsb0JBQUFDLHFCQUFBLFFBQUFDLEtBQUEsR0FBQUMsZUFBQSxDQUFBTCxPQUFBLEdBQUFNLE1BQUEsTUFBQUwseUJBQUEsUUFBQU0sU0FBQSxHQUFBRixlQUFBLE9BQUE3RSxXQUFBLEVBQUE4RSxNQUFBLEdBQUFFLE9BQUEsQ0FBQUMsU0FBQSxDQUFBTCxLQUFBLEVBQUFuRCxTQUFBLEVBQUFzRCxTQUFBLFlBQUFELE1BQUEsR0FBQUYsS0FBQSxDQUFBckQsS0FBQSxPQUFBRSxTQUFBLFlBQUF5RCwwQkFBQSxPQUFBSixNQUFBO0FBQUEsU0FBQUksMkJBQUFDLElBQUEsRUFBQTdDLElBQUEsUUFBQUEsSUFBQSxLQUFBMUMsT0FBQSxDQUFBMEMsSUFBQSx5QkFBQUEsSUFBQSwyQkFBQUEsSUFBQSxhQUFBQSxJQUFBLHlCQUFBOUIsU0FBQSx1RUFBQTRFLHNCQUFBLENBQUFELElBQUE7QUFBQSxTQUFBQyx1QkFBQUQsSUFBQSxRQUFBQSxJQUFBLHlCQUFBRSxjQUFBLHdFQUFBRixJQUFBO0FBQUEsU0FBQVQsMEJBQUEsZUFBQU0sT0FBQSxxQkFBQUEsT0FBQSxDQUFBQyxTQUFBLG9CQUFBRCxPQUFBLENBQUFDLFNBQUEsQ0FBQUssSUFBQSwyQkFBQUMsS0FBQSxvQ0FBQUMsT0FBQSxDQUFBdkYsU0FBQSxDQUFBd0YsT0FBQSxDQUFBbkQsSUFBQSxDQUFBMEMsT0FBQSxDQUFBQyxTQUFBLENBQUFPLE9BQUEsOENBQUEzRSxDQUFBO0FBQUEsU0FBQWdFLGdCQUFBaEYsQ0FBQSxJQUFBZ0YsZUFBQSxHQUFBN0QsTUFBQSxDQUFBb0QsY0FBQSxHQUFBcEQsTUFBQSxDQUFBMEUsY0FBQSxDQUFBckIsSUFBQSxjQUFBUSxnQkFBQWhGLENBQUEsV0FBQUEsQ0FBQSxDQUFBeUUsU0FBQSxJQUFBdEQsTUFBQSxDQUFBMEUsY0FBQSxDQUFBN0YsQ0FBQSxhQUFBZ0YsZUFBQSxDQUFBaEYsQ0FBQTtBQUFBLFNBQUErQixnQkFBQWxDLEdBQUEsRUFBQStELEdBQUEsRUFBQVEsS0FBQSxJQUFBUixHQUFBLEdBQUFELGNBQUEsQ0FBQUMsR0FBQSxPQUFBQSxHQUFBLElBQUEvRCxHQUFBLElBQUFzQixNQUFBLENBQUFlLGNBQUEsQ0FBQXJDLEdBQUEsRUFBQStELEdBQUEsSUFBQVEsS0FBQSxFQUFBQSxLQUFBLEVBQUE1QyxVQUFBLFFBQUFpQyxZQUFBLFFBQUFDLFFBQUEsb0JBQUE3RCxHQUFBLENBQUErRCxHQUFBLElBQUFRLEtBQUEsV0FBQXZFLEdBQUE7QUFBQSxTQUFBOEQsZUFBQW1DLEdBQUEsUUFBQWxDLEdBQUEsR0FBQW1DLFlBQUEsQ0FBQUQsR0FBQSxvQkFBQS9GLE9BQUEsQ0FBQTZELEdBQUEsaUJBQUFBLEdBQUEsR0FBQW9DLE1BQUEsQ0FBQXBDLEdBQUE7QUFBQSxTQUFBbUMsYUFBQUUsS0FBQSxFQUFBQyxJQUFBLFFBQUFuRyxPQUFBLENBQUFrRyxLQUFBLGtCQUFBQSxLQUFBLGtCQUFBQSxLQUFBLE1BQUFFLElBQUEsR0FBQUYsS0FBQSxDQUFBaEcsTUFBQSxDQUFBbUcsV0FBQSxPQUFBRCxJQUFBLEtBQUFFLFNBQUEsUUFBQUMsR0FBQSxHQUFBSCxJQUFBLENBQUExRCxJQUFBLENBQUF3RCxLQUFBLEVBQUFDLElBQUEsb0JBQUFuRyxPQUFBLENBQUF1RyxHQUFBLHVCQUFBQSxHQUFBLFlBQUEzRixTQUFBLDREQUFBdUYsSUFBQSxnQkFBQUYsTUFBQSxHQUFBTyxNQUFBLEVBQUFOLEtBQUE7QUFFbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFUQSxJQVVlTyxZQUFZLDBCQUFBQyxnQkFBQTtFQUFBekMsU0FBQSxDQUFBd0MsWUFBQSxFQUFBQyxnQkFBQTtFQUFBLElBQUFDLE1BQUEsR0FBQWhDLFlBQUEsQ0FBQThCLFlBQUE7RUFRMUI7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQyxTQUFBQSxhQUFtQmpELEtBQWEsRUFBRW9ELElBQTRDLEVBQUVoRSxJQUFZLEVBQUU7SUFBQSxJQUFBaUUsaUJBQUE7SUFBQSxJQUFBQyxLQUFBO0lBQUEzRCxlQUFBLE9BQUFzRCxZQUFBO0lBQzdGSyxLQUFBLEdBQUFILE1BQUEsQ0FBQWpFLElBQUEsT0FBTWMsS0FBSztJQUFFeEIsZUFBQSxDQUFBd0Qsc0JBQUEsQ0FBQXNCLEtBQUE7SUFBQTlFLGVBQUEsQ0FBQXdELHNCQUFBLENBQUFzQixLQUFBO0lBQUE5RSxlQUFBLENBQUF3RCxzQkFBQSxDQUFBc0IsS0FBQSxhQWJ3QixFQUFFO0lBQUE5RSxlQUFBLENBQUF3RCxzQkFBQSxDQUFBc0IsS0FBQSxjQUN0QixLQUFLO0lBQUE5RSxlQUFBLENBQUF3RCxzQkFBQSxDQUFBc0IsS0FBQSxjQUNMLEtBQUs7SUFBQTlFLGVBQUEsQ0FBQXdELHNCQUFBLENBQUFzQixLQUFBO0lBNkR2QjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0lBSkM5RSxlQUFBLENBQUF3RCxzQkFBQSxDQUFBc0IsS0FBQSxlQUsyQixVQUFDQyxHQUFhLEVBQVc7TUFDbkQsSUFBSUQsS0FBQSxDQUFLRSxPQUFPLEVBQUU7UUFDakJGLEtBQUEsQ0FBS0csTUFBTSxDQUFDdkYsSUFBSSxDQUFDcUYsR0FBRyxDQUFDO1FBRXJCO01BQ0Q7TUFFQUQsS0FBQSxDQUFLRSxPQUFPLEdBQUcsSUFBSTtNQUVuQixJQUFJRSxPQUE2QixHQUFHSCxHQUFHO01BQ3ZDLElBQUlJLFFBQVEsR0FBRyxLQUFLO01BRXBCLEdBQUc7UUFDRixJQUFBQyxrQkFBVSxFQUFDTixLQUFBLENBQUtPLGFBQWEsRUFBRUgsT0FBTyxDQUFDO1FBRXZDLElBQUFJLFlBQUEsR0FBNkJSLEtBQUEsQ0FBS1MsTUFBTSxDQUFDVCxLQUFBLENBQUtVLFlBQVksRUFBRU4sT0FBTyxFQUFFSixLQUFBLENBQUt0RCxLQUFLLENBQUM7VUFBQWlFLGFBQUEsR0FBQXJGLFFBQUEsQ0FBQWtGLFlBQUE7VUFBekVJLEtBQUssR0FBQUQsYUFBQTtVQUFLRSxRQUFRLEdBQUFGLGFBQUEsQ0FBQTlFLEtBQUE7UUFFekIsSUFBSSxJQUFBaUYsdUJBQWUsRUFBQ2QsS0FBQSxDQUFLVSxZQUFZLEVBQUVFLEtBQUssQ0FBQyxFQUFFO1VBQzlDWixLQUFBLENBQUtVLFlBQVksR0FBQTVGLGFBQUEsQ0FBQUEsYUFBQSxLQUFRa0YsS0FBQSxDQUFLVSxZQUFZLEdBQUtFLEtBQUssQ0FBRTtVQUN0RFAsUUFBUSxHQUFHLElBQUk7UUFDaEI7UUFFQVUsZUFBTyxDQUFBbEcsS0FBQSxVQUFDbUYsS0FBQSxDQUFLZ0IsUUFBUSxFQUFBQyxNQUFBLENBQUF6SCxrQkFBQSxDQUFLcUgsUUFBUSxHQUFDO1FBRW5DVCxPQUFPLEdBQUdKLEtBQUEsQ0FBS0csTUFBTSxDQUFDZSxLQUFLLENBQUMsQ0FBQztNQUM5QixDQUFDLFFBQVFkLE9BQU87TUFFaEJKLEtBQUEsQ0FBS0UsT0FBTyxHQUFHLEtBQUs7TUFFcEIsSUFBSUYsS0FBQSxDQUFLbUIsT0FBTyxJQUFJZCxRQUFRLEVBQUU7UUFBQSxJQUFBZSxnQkFBQTtRQUM3QixDQUFBQSxnQkFBQSxHQUFBQyxjQUFRLENBQUNDLE1BQU0sY0FBQUYsZ0JBQUEsZUFBZkEsZ0JBQUEsQ0FBaUJHLEtBQUssQ0FBQyxrQkFBa0IsRUFBRXZCLEtBQUEsQ0FBS08sYUFBYSxFQUFFUCxLQUFBLENBQUtVLFlBQVksQ0FBQztRQUNqRlYsS0FBQSxDQUFLd0IsV0FBVyxDQUFDLENBQUM7TUFDbkI7SUFDRCxDQUFDO0lBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBUkN0RyxlQUFBLENBQUF3RCxzQkFBQSxDQUFBc0IsS0FBQTtJQXhGQyxJQUFNeUIsV0FBVyxHQUFHLElBQUFDLCtCQUFrQixFQUFDLENBQUM7SUFFeEMsSUFBSUQsV0FBVyxhQUFYQSxXQUFXLGVBQVhBLFdBQVcsQ0FBRVQsUUFBUSxFQUFFO01BQzFCaEIsS0FBQSxDQUFLZ0IsUUFBUSxHQUFHUyxXQUFXLENBQUNULFFBQVE7SUFDckM7SUFFQSxJQUFBVyxJQUFBLEdBQTZCRixXQUFXLGFBQVhBLFdBQVcsZUFBWEEsV0FBVyxDQUFFYixLQUFLLEdBQUcsQ0FBQ2EsV0FBVyxDQUFDYixLQUFLLENBQVcsR0FBR2QsSUFBSSxDQUFDRSxLQUFBLENBQUt0RCxLQUFLLENBQUM7TUFBQWtGLEtBQUEsR0FBQXRHLFFBQUEsQ0FBQXFHLElBQUE7TUFBM0ZmLE1BQUssR0FBQWdCLEtBQUE7TUFBS2YsU0FBUSxHQUFBZSxLQUFBLENBQUEvRixLQUFBO0lBRXpCLENBQUFrRSxpQkFBQSxHQUFBc0IsY0FBUSxDQUFDQyxNQUFNLGNBQUF2QixpQkFBQSxlQUFmQSxpQkFBQSxDQUFpQndCLEtBQUssQ0FBQyxtQkFBbUIsRUFBRXpGLElBQUksRUFBRThFLE1BQUssQ0FBQztJQUV4RFosS0FBQSxDQUFLTyxhQUFhLEdBQUd6RSxJQUFJO0lBQ3pCa0UsS0FBQSxDQUFLVSxZQUFZLEdBQUdFLE1BQUs7SUFDekJaLEtBQUEsQ0FBSzZCLFlBQVksR0FBR2hCLFNBQVE7SUFBQyxPQUFBYixLQUFBO0VBQzlCOztFQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7RUFKQ2hELFlBQUEsQ0FBQTJDLFlBQUE7SUFBQTVDLEdBQUE7SUFBQVEsS0FBQSxFQUtBLFNBQUF1RSxrQkFBQSxFQUFpQztNQUNoQyxJQUFJLENBQUNYLE9BQU8sR0FBRyxJQUFJO01BRW5CLElBQUksSUFBSSxDQUFDVSxZQUFZLEVBQUU7UUFDdEJkLGVBQU8sQ0FBQWxHLEtBQUEsVUFBQyxJQUFJLENBQUNtRyxRQUFRLEVBQUFDLE1BQUEsQ0FBQXpILGtCQUFBLENBQUssSUFBSSxDQUFDcUksWUFBWSxHQUFDO1FBQzVDLElBQUksQ0FBQ0EsWUFBWSxHQUFHLElBQUk7TUFDekI7SUFDRDs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0VBSkM7SUFBQTlFLEdBQUE7SUFBQVEsS0FBQSxFQUtBLFNBQUF3RSxxQkFBQSxFQUFvQztNQUNuQyxJQUFJLENBQUNaLE9BQU8sR0FBRyxLQUFLO0lBQ3JCOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUxDO0lBQUFwRSxHQUFBO0lBQUFpRixHQUFBLEVBTUEsU0FBQUEsSUFBQSxFQUFxQztNQUNwQyxPQUFPLElBQUksQ0FBQ3RCLFlBQVk7SUFDekI7RUFBQztFQUFBLE9BQUFmLFlBQUE7QUFBQSxFQWhFNEVzQyxpQkFBSyxDQUFDQyxTQUFTO0FBQUFDLE9BQUEsQ0FBQXhDLFlBQUEsR0FBQUEsWUFBQSJ9
180
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Db21tb24iLCJfSW5pdCIsIl9mYWtlT3B0aW9ucyIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfdG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJuIiwiT2JqZWN0IiwidG9TdHJpbmciLCJjYWxsIiwic2xpY2UiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJsZW4iLCJsZW5ndGgiLCJpIiwiYXJyMiIsIml0ZXIiLCJvd25LZXlzIiwiZSIsInIiLCJ0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfY2xhc3NDYWxsQ2hlY2siLCJpbnN0YW5jZSIsIkNvbnN0cnVjdG9yIiwiX2RlZmluZVByb3BlcnRpZXMiLCJ0YXJnZXQiLCJwcm9wcyIsImRlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl90b1Byb3BlcnR5S2V5Iiwia2V5IiwiX2NyZWF0ZUNsYXNzIiwicHJvdG9Qcm9wcyIsInN0YXRpY1Byb3BzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJzZWxmIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJSZWZlcmVuY2VFcnJvciIsIl9pbmhlcml0cyIsInN1YkNsYXNzIiwic3VwZXJDbGFzcyIsImNyZWF0ZSIsInZhbHVlIiwiX3NldFByb3RvdHlwZU9mIiwicCIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsInRvUHJpbWl0aXZlIiwiTnVtYmVyIiwiRWxtQ29tcG9uZW50IiwiZXhwb3J0cyIsIl9SZWFjdCRDb21wb25lbnQiLCJpbml0IiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfdGhpcyIsIm1zZyIsInJ1bm5pbmciLCJidWZmZXIiLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJfbG9vcCIsImxvZ01lc3NhZ2UiLCJjb21wb25lbnROYW1lIiwiZGVmZXJyZWRNb2RlbCIsImRlZmVycmVkQ29tbWFuZHMiLCJkZWZlciIsInRlbXBEZWZlcnJlZE1vZGVsIiwiX2xlbiIsInRlbXBEZWZlcnJlZENvbW1hbmRzIiwiX2tleSIsIl90aGlzJHVwZGF0ZSIsInVwZGF0ZSIsImN1cnJlbnRNb2RlbCIsIl90aGlzJHVwZGF0ZTIiLCJtb2RlbCIsImNvbW1hbmRzIiwibW9kZWxIYXNDaGFuZ2VkIiwiZXhlY0NtZCIsImRpc3BhdGNoIiwiY29uY2F0Iiwic2hpZnQiLCJtb3VudGVkIiwiX1NlcnZpY2VzJGxvZ2dlciIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiZGVidWciLCJmb3JjZVVwZGF0ZSIsImZha2VPcHRpb25zIiwiZ2V0RmFrZU9wdGlvbnNPbmNlIiwiX3JlZiIsIl9yZWYyIiwiaW5pdENvbW1hbmRzIiwiY29tcG9uZW50RGlkTW91bnQiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsImdldCIsIlJlYWN0IiwiQ29tcG9uZW50Il0sInNvdXJjZXMiOlsiLi4vc3JjL0VsbUNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBleGVjQ21kLCBsb2dNZXNzYWdlLCBtb2RlbEhhc0NoYW5nZWQgfSBmcm9tIFwiLi9Db21tb25cIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERlZmVyRnVuY3Rpb24sIEluaXRGdW5jdGlvbiwgTWVzc2FnZSwgTnVsbGFibGUsIFVwZGF0ZUZ1bmN0aW9uIH0gZnJvbSBcIi4vVHlwZXNcIjtcbmltcG9ydCB7IGdldEZha2VPcHRpb25zT25jZSB9IGZyb20gXCIuL2Zha2VPcHRpb25zXCI7XG5cbi8qKlxuICogQWJzdHJhY3QgY2xhc3MgZm9yIGEgcmVhY3QgY2xhc3MgY29tcG9uZW50IHVzaW5nIHRoZSBFbG1pc2ggcGF0dGVybi5cbiAqIEBleHBvcnRcbiAqIEBhYnN0cmFjdFxuICogQGNsYXNzIEVsbUNvbXBvbmVudFxuICogQGV4dGVuZHMge0NvbXBvbmVudDxUUHJvcHMsIFRNb2RlbD59XG4gKiBAdGVtcGxhdGUgVE1vZGVsIFRoZSB0eXBlIG9mIHRoZSBtb2RlbC5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMuXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqL1xuYWJzdHJhY3QgY2xhc3MgRWxtQ29tcG9uZW50PFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUUHJvcHM+IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFRQcm9wcz4ge1xuXHRwcml2YXRlIGluaXRDb21tYW5kczogTnVsbGFibGU8KENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW10+IHwgdW5kZWZpbmVkO1xuXHRwcml2YXRlIHJlYWRvbmx5IGNvbXBvbmVudE5hbWU6IHN0cmluZztcblx0cHJpdmF0ZSByZWFkb25seSBidWZmZXI6IFRNZXNzYWdlW10gPSBbXTtcblx0cHJpdmF0ZSBydW5uaW5nID0gZmFsc2U7XG5cdHByaXZhdGUgbW91bnRlZCA9IGZhbHNlO1xuXHRwcml2YXRlIGN1cnJlbnRNb2RlbDogVE1vZGVsO1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIEVsbUNvbXBvbmVudC5cblx0ICogQHBhcmFtIHtUUHJvcHN9IHByb3BzIFRoZSBwcm9wcyBmb3IgdGhlIGNvbXBvbmVudC5cblx0ICogQHBhcmFtIHsoKSA9PiBUTW9kZWx9IGluaXQgVGhlIGluaXRpYWxpemVyIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgY29tcG9uZW50LlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IFRQcm9wcywgaW5pdDogSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sIG5hbWU6IHN0cmluZykge1xuXHRcdHN1cGVyKHByb3BzKTtcblxuXHRcdGNvbnN0IGZha2VPcHRpb25zID0gZ2V0RmFrZU9wdGlvbnNPbmNlKCk7XG5cblx0XHRpZiAoZmFrZU9wdGlvbnM/LmRpc3BhdGNoKSB7XG5cdFx0XHR0aGlzLmRpc3BhdGNoID0gZmFrZU9wdGlvbnMuZGlzcGF0Y2g7XG5cdFx0fVxuXG5cdFx0Y29uc3QgW21vZGVsLCAuLi5jb21tYW5kc10gPSBmYWtlT3B0aW9ucz8ubW9kZWwgPyBbZmFrZU9wdGlvbnMubW9kZWwgYXMgVE1vZGVsXSA6IGluaXQodGhpcy5wcm9wcyk7XG5cblx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiSW5pdGlhbCBtb2RlbCBmb3JcIiwgbmFtZSwgbW9kZWwpO1xuXG5cdFx0dGhpcy5jb21wb25lbnROYW1lID0gbmFtZTtcblx0XHR0aGlzLmN1cnJlbnRNb2RlbCA9IG1vZGVsO1xuXHRcdHRoaXMuaW5pdENvbW1hbmRzID0gY29tbWFuZHM7XG5cdH1cblxuXHQvKipcblx0ICogSXMgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG5cdCAqIFdoZW4gaW1wbGVtZW50aW5nIHRoaXMgbWV0aG9kLCB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYmUgY2FsbGVkLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29tcG9uZW50RGlkTW91bnQoKTogdm9pZCB7XG5cdFx0dGhpcy5tb3VudGVkID0gdHJ1ZTtcblxuXHRcdGlmICh0aGlzLmluaXRDb21tYW5kcykge1xuXHRcdFx0ZXhlY0NtZCh0aGlzLmRpc3BhdGNoLCAuLi50aGlzLmluaXRDb21tYW5kcyk7XG5cdFx0XHR0aGlzLmluaXRDb21tYW5kcyA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIElzIGNhbGxlZCBiZWZvcmUgdW5sb2FkaW5nIHRoZSBjb21wb25lbnQuXG5cdCAqIFdoZW4gaW1wbGVtZW50aW5nIHRoaXMgbWV0aG9kLCB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYmUgY2FsbGVkLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29tcG9uZW50V2lsbFVubW91bnQoKTogdm9pZCB7XG5cdFx0dGhpcy5tb3VudGVkID0gZmFsc2U7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY3VycmVudCBtb2RlbC5cblx0ICogQHJlYWRvbmx5XG5cdCAqIEB0eXBlIHtSZWFkb25seTxUTW9kZWw+fVxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgZ2V0IG1vZGVsKCk6IFJlYWRvbmx5PFRNb2RlbD4ge1xuXHRcdHJldHVybiB0aGlzLmN1cnJlbnRNb2RlbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwYXRjaGVzIGEgbWVzc2FnZS5cblx0ICogQHBhcmFtIHtUTWVzc2FnZX0gbXNnIFRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlzcGF0Y2ggPSAobXNnOiBUTWVzc2FnZSk6IHZvaWQgPT4ge1xuXHRcdGlmICh0aGlzLnJ1bm5pbmcpIHtcblx0XHRcdHRoaXMuYnVmZmVyLnB1c2gobXNnKTtcblxuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMucnVubmluZyA9IHRydWU7XG5cblx0XHRsZXQgbmV4dE1zZzogVE1lc3NhZ2UgfCB1bmRlZmluZWQgPSBtc2c7XG5cdFx0bGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cblx0XHRkbyB7XG5cdFx0XHRsb2dNZXNzYWdlKHRoaXMuY29tcG9uZW50TmFtZSwgbmV4dE1zZyk7XG5cblx0XHRcdGxldCBkZWZlcnJlZE1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4gPSB7fTtcblx0XHRcdGNvbnN0IGRlZmVycmVkQ29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdID0gW107XG5cblx0XHRcdGNvbnN0IGRlZmVyOiBEZWZlckZ1bmN0aW9uPFRNb2RlbCwgVE1lc3NhZ2U+ID0gKHRlbXBEZWZlcnJlZE1vZGVsLCAuLi50ZW1wRGVmZXJyZWRDb21tYW5kcykgPT4ge1xuXHRcdFx0XHRkZWZlcnJlZE1vZGVsID0geyAuLi5kZWZlcnJlZE1vZGVsLCAuLi50ZW1wRGVmZXJyZWRNb2RlbCB9O1xuXHRcdFx0XHRkZWZlcnJlZENvbW1hbmRzLnB1c2goLi4udGVtcERlZmVycmVkQ29tbWFuZHMpO1xuXHRcdFx0fTtcblxuXHRcdFx0Y29uc3QgW21vZGVsLCAuLi5jb21tYW5kc10gPSB0aGlzLnVwZGF0ZSh0aGlzLmN1cnJlbnRNb2RlbCwgbmV4dE1zZywgdGhpcy5wcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdFx0aWYgKG1vZGVsSGFzQ2hhbmdlZCh0aGlzLmN1cnJlbnRNb2RlbCwgeyAuLi5kZWZlcnJlZE1vZGVsLCAuLi5tb2RlbCB9KSkge1xuXHRcdFx0XHR0aGlzLmN1cnJlbnRNb2RlbCA9IHsgLi4udGhpcy5jdXJyZW50TW9kZWwsIC4uLmRlZmVycmVkTW9kZWwsIC4uLm1vZGVsIH07XG5cdFx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHRcdH1cblxuXHRcdFx0ZXhlY0NtZCh0aGlzLmRpc3BhdGNoLCAuLi5jb21tYW5kcywgLi4uZGVmZXJyZWRDb21tYW5kcyk7XG5cblx0XHRcdG5leHRNc2cgPSB0aGlzLmJ1ZmZlci5zaGlmdCgpO1xuXHRcdH0gd2hpbGUgKG5leHRNc2cpO1xuXG5cdFx0dGhpcy5ydW5uaW5nID0gZmFsc2U7XG5cblx0XHRpZiAodGhpcy5tb3VudGVkICYmIG1vZGlmaWVkKSB7XG5cdFx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiVXBkYXRlIG1vZGVsIGZvclwiLCB0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuY3VycmVudE1vZGVsKTtcblx0XHRcdHRoaXMuZm9yY2VVcGRhdGUoKTtcblx0XHR9XG5cdH07XG5cblx0LyoqXG5cdCAqIEZ1bmN0aW9uIHRvIG1vZGlmeSB0aGUgbW9kZWwgYmFzZWQgb24gYSBtZXNzYWdlLlxuXHQgKiBAcGFyYW0ge1RNb2RlbH0gbW9kZWwgVGhlIGN1cnJlbnQgbW9kZWwuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBwcm9jZXNzLlxuXHQgKiBAcGFyYW0ge1RQcm9wc30gcHJvcHMgVGhlIHByb3BzIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgdXBkYXRlIGZ1bmN0aW9uLlxuXHQgKiBAcmV0dXJucyBUaGUgbmV3IG1vZGVsIChjYW4gYWxzbyBiZSBhbiBlbXB0eSBvYmplY3Qge30pIGFuZCBhbiBvcHRpb25hbCBuZXcgbWVzc2FnZSB0byBkaXNwYXRjaC5cblx0ICogQGFic3RyYWN0XG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBhYnN0cmFjdCB1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbmV4cG9ydCB7IEVsbUNvbXBvbmVudCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxZQUFBLEdBQUFILE9BQUE7QUFBbUQsU0FBQUQsdUJBQUFLLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxnQkFBQUEsR0FBQTtBQUFBLFNBQUFFLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFBRyxXQUFBLEtBQUFGLE1BQUEsSUFBQUQsQ0FBQSxLQUFBQyxNQUFBLENBQUFHLFNBQUEscUJBQUFKLENBQUEsS0FBQUQsT0FBQSxDQUFBQyxDQUFBO0FBQUEsU0FBQUssbUJBQUFDLEdBQUEsV0FBQUMsa0JBQUEsQ0FBQUQsR0FBQSxLQUFBRSxnQkFBQSxDQUFBRixHQUFBLEtBQUFHLDJCQUFBLENBQUFILEdBQUEsS0FBQUksa0JBQUE7QUFBQSxTQUFBQSxtQkFBQSxjQUFBQyxTQUFBO0FBQUEsU0FBQUosbUJBQUFELEdBQUEsUUFBQU0sS0FBQSxDQUFBQyxPQUFBLENBQUFQLEdBQUEsVUFBQVEsaUJBQUEsQ0FBQVIsR0FBQTtBQUFBLFNBQUFTLFNBQUFULEdBQUEsV0FBQVUsZUFBQSxDQUFBVixHQUFBLEtBQUFFLGdCQUFBLENBQUFGLEdBQUEsS0FBQUcsMkJBQUEsQ0FBQUgsR0FBQSxLQUFBVyxnQkFBQTtB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
@@ -1,4 +1,4 @@
1
- import { UpdateReturnType } from "./Types";
1
+ import type { UpdateReturnType } from "./Types";
2
2
  /**
3
3
  * Error message object.
4
4
  * Add this to your Message type.
@@ -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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW5pdCIsInJlcXVpcmUiLCJlcnJvck1zZyIsImVycm9yIiwibmFtZSIsImV4cG9ydHMiLCJlcnJvckhhbmRsZXIiLCJfcmVmIiwiaGFuZGxlRXJyb3IiLCJfU2VydmljZXMkbG9nZ2VyIiwiU2VydmljZXMiLCJlcnJvck1pZGRsZXdhcmUiLCJsb2dnZXIiXSwic291cmNlcyI6WyIuLi9zcmMvRXJyb3JIYW5kbGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB7IFVwZGF0ZVJldHVyblR5cGUgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIEVycm9yIG1lc3NhZ2Ugb2JqZWN0LlxuICogQWRkIHRoaXMgdG8geW91ciBNZXNzYWdlIHR5cGUuXG4gKi9cbmludGVyZmFjZSBFcnJvck1lc3NhZ2Uge1xuXHRuYW1lOiBcImVycm9yXCI7XG5cdGVycm9yOiBFcnJvcjtcbn1cblxuLyoqXG4gKiBUaGlzIG9iamVjdCBjb250YWlucyB0aGUgZnVuY3Rpb24gdG8gY3JlYXRlIGFuIGVycm9yIG1lc3NhZ2UuXG4gKiBTcHJlYWQgdGhpcyBpbnRvIHlvdXIgTXNnIG9iamVjdC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogY29uc3QgTXNnID0ge1xuICogICAgIC8vIC4uLlxuICogICAgIC4uLmVycm9yTXNnLFxuICogfTtcbiAqIGBgYFxuICovXG5jb25zdCBlcnJvck1zZyA9IHtcblx0ZXJyb3I6IChlcnJvcjogRXJyb3IpOiBFcnJvck1lc3NhZ2UgPT4gKHsgbmFtZTogXCJlcnJvclwiLCBlcnJvciB9KSxcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBvYmplY3QgdG8gaGFuZGxlIGVycm9yIG1lc3NhZ2VzIGluIGFuIHVwZGF0ZSBtYXAuXG4gKiBTcHJlYWQgdGhlIG9iamVjdCByZXR1cm5lZCBieSB0aGlzIGZ1bmN0aW9uIGludG8geW91ciBgVXBkYXRlTWFwYC5cbiAqIEByZXR1cm5zIEFuIG9iamVjdCBjb250YWluaW5nIGFuIGVycm9yIGhhbmRsZXIgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGNvbnN0IHVwZGF0ZTogVXBkYXRlTWFwPFByb3BzLCBNb2RlbCwgTWVzc2FnZT4gPSB7XG4gKiAgICAgLy8gLi4uXG4gKiAgICAgLi4uZXJyb3JIYW5kbGVyKCksXG4gKiB9O1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGVycm9ySGFuZGxlcjxUTW9kZWwsIFRNZXNzYWdlPigpOiB7XG5cdGVycm9yOiAobXNnOiBFcnJvck1lc3NhZ2UpID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT47XG59IHtcblx0cmV0dXJuIHtcblx0XHRlcnJvcih7IGVycm9yIH0pIHtcblx0XHRcdHJldHVybiBoYW5kbGVFcnJvcihlcnJvcik7XG5cdFx0fSxcblx0fTtcbn1cblxuLyoqXG4gKiBIYW5kbGVzIGFuIGVycm9yLlxuICogTG9ncyB0aGUgZXJyb3IgaWYgYSBMb2dnZXIgd2FzIHNwZWNpZmllZC5cbiAqIENhbGxzIHRoZSBlcnJvciBoYW5kbGluZyBtaWRkbGV3YXJlIGlmIHNwZWNpZmllZC5cbiAqIEBwYXJhbSB7RXJyb3J9IGVycm9yIFRoZSBlcnJvci5cbiAqL1xuZnVuY3Rpb24gaGFuZGxlRXJyb3I8VE1vZGVsLCBUTWVzc2FnZT4oZXJyb3I6IEVycm9yKTogVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiB7XG5cdGlmIChTZXJ2aWNlcy5lcnJvck1pZGRsZXdhcmUpIHtcblx0XHRTZXJ2aWNlcy5lcnJvck1pZGRsZXdhcmUoZXJyb3IpO1xuXHR9XG5cdFNlcnZpY2VzLmxvZ2dlcj8uZXJyb3IoZXJyb3IpO1xuXG5cdHJldHVybiBbe31dO1xufVxuXG5leHBvcnQgdHlwZSB7IEVycm9yTWVzc2FnZSB9O1xuXG5leHBvcnQgeyBlcnJvckhhbmRsZXIsIGVycm9yTXNnLCBoYW5kbGVFcnJvciB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsT0FBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQyxRQUFRLEdBQUc7RUFDaEJDLEtBQUssRUFBRSxTQUFBQSxNQUFDQSxNQUFZO0lBQUEsT0FBb0I7TUFBRUMsSUFBSSxFQUFFLE9BQU87TUFBRUQsS0FBSyxFQUFMQTtJQUFNLENBQUM7RUFBQTtBQUNqRSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVhBRSxPQUFBLENBQUFILFFBQUEsR0FBQUEsUUFBQTtBQVlBLFNBQVNJLFlBQVlBLENBQUEsRUFFbkI7RUFDRCxPQUFPO0lBQ05ILEtBQUssV0FBQUEsTUFBQUksSUFBQSxFQUFZO01BQUEsSUFBVEosS0FBSyxHQUFBSSxJQUFBLENBQUxKLEtBQUs7TUFDWixPQUFPSyxXQUFXLENBQUNMLEtBQUssQ0FBQztJQUMxQjtFQUNELENBQUM7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTSyxXQUFXQSxDQUFtQkwsS0FBWSxFQUFzQztFQUFBLElBQUFNLGdCQUFBO0VBQ3hGLElBQUlDLGNBQVEsQ0FBQ0MsZUFBZSxFQUFFO0lBQzdCRCxjQUFRLENBQUNDLGVBQWUsQ0FBQ1IsS0FBSyxDQUFDO0VBQ2hDO0VBQ0EsQ0FBQU0sZ0JBQUEsR0FBQUMsY0FBUSxDQUFDRSxNQUFNLGNBQUFILGdCQUFBLGVBQWZBLGdCQUFBLENBQWlCTixLQUFLLENBQUNBLEtBQUssQ0FBQztFQUU3QixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWiJ9
70
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW5pdCIsInJlcXVpcmUiLCJlcnJvck1zZyIsImV4cG9ydHMiLCJlcnJvciIsIm5hbWUiLCJlcnJvckhhbmRsZXIiLCJfcmVmIiwiaGFuZGxlRXJyb3IiLCJfU2VydmljZXMkbG9nZ2VyIiwiU2VydmljZXMiLCJlcnJvck1pZGRsZXdhcmUiLCJsb2dnZXIiXSwic291cmNlcyI6WyIuLi9zcmMvRXJyb3JIYW5kbGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB0eXBlIHsgVXBkYXRlUmV0dXJuVHlwZSB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbi8qKlxuICogRXJyb3IgbWVzc2FnZSBvYmplY3QuXG4gKiBBZGQgdGhpcyB0byB5b3VyIE1lc3NhZ2UgdHlwZS5cbiAqL1xuaW50ZXJmYWNlIEVycm9yTWVzc2FnZSB7XG5cdG5hbWU6IFwiZXJyb3JcIjtcblx0ZXJyb3I6IEVycm9yO1xufVxuXG4vKipcbiAqIFRoaXMgb2JqZWN0IGNvbnRhaW5zIHRoZSBmdW5jdGlvbiB0byBjcmVhdGUgYW4gZXJyb3IgbWVzc2FnZS5cbiAqIFNwcmVhZCB0aGlzIGludG8geW91ciBNc2cgb2JqZWN0LlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBjb25zdCBNc2cgPSB7XG4gKiAgICAgLy8gLi4uXG4gKiAgICAgLi4uZXJyb3JNc2csXG4gKiB9O1xuICogYGBgXG4gKi9cbmNvbnN0IGVycm9yTXNnID0ge1xuXHRlcnJvcjogKGVycm9yOiBFcnJvcik6IEVycm9yTWVzc2FnZSA9PiAoeyBuYW1lOiBcImVycm9yXCIsIGVycm9yIH0pLFxufTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIG9iamVjdCB0byBoYW5kbGUgZXJyb3IgbWVzc2FnZXMgaW4gYW4gdXBkYXRlIG1hcC5cbiAqIFNwcmVhZCB0aGUgb2JqZWN0IHJldHVybmVkIGJ5IHRoaXMgZnVuY3Rpb24gaW50byB5b3VyIGBVcGRhdGVNYXBgLlxuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgYW4gZXJyb3IgaGFuZGxlciBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogY29uc3QgdXBkYXRlOiBVcGRhdGVNYXA8UHJvcHMsIE1vZGVsLCBNZXNzYWdlPiA9IHtcbiAqICAgICAvLyAuLi5cbiAqICAgICAuLi5lcnJvckhhbmRsZXIoKSxcbiAqIH07XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZXJyb3JIYW5kbGVyPFRNb2RlbCwgVE1lc3NhZ2U+KCk6IHtcblx0ZXJyb3I6IChtc2c6IEVycm9yTWVzc2FnZSkgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPjtcbn0ge1xuXHRyZXR1cm4ge1xuXHRcdGVycm9yKHsgZXJyb3IgfSkge1xuXHRcdFx0cmV0dXJuIGhhbmRsZUVycm9yKGVycm9yKTtcblx0XHR9LFxuXHR9O1xufVxuXG4vKipcbiAqIEhhbmRsZXMgYW4gZXJyb3IuXG4gKiBMb2dzIHRoZSBlcnJvciBpZiBhIExvZ2dlciB3YXMgc3BlY2lmaWVkLlxuICogQ2FsbHMgdGhlIGVycm9yIGhhbmRsaW5nIG1pZGRsZXdhcmUgaWYgc3BlY2lmaWVkLlxuICogQHBhcmFtIHtFcnJvcn0gZXJyb3IgVGhlIGVycm9yLlxuICovXG5mdW5jdGlvbiBoYW5kbGVFcnJvcjxUTW9kZWwsIFRNZXNzYWdlPihlcnJvcjogRXJyb3IpOiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+IHtcblx0aWYgKFNlcnZpY2VzLmVycm9yTWlkZGxld2FyZSkge1xuXHRcdFNlcnZpY2VzLmVycm9yTWlkZGxld2FyZShlcnJvcik7XG5cdH1cblx0U2VydmljZXMubG9nZ2VyPy5lcnJvcihlcnJvcik7XG5cblx0cmV0dXJuIFt7fV07XG59XG5cbmV4cG9ydCB0eXBlIHsgRXJyb3JNZXNzYWdlIH07XG5cbmV4cG9ydCB7IGVycm9ySGFuZGxlciwgZXJyb3JNc2csIGhhbmRsZUVycm9yIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQU1DLFFBQVEsR0FBQUMsT0FBQSxDQUFBRCxRQUFBLEdBQUc7RUFDaEJFLEtBQUssRUFBRSxTQUFBQSxNQUFDQSxNQUFZO0lBQUEsT0FBb0I7TUFBRUMsSUFBSSxFQUFFLE9BQU87TUFBRUQsS0FBSyxFQUFMQTtJQUFNLENBQUM7RUFBQTtBQUNqRSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNFLFlBQVlBLENBQUEsRUFFbkI7RUFDRCxPQUFPO0lBQ05GLEtBQUssV0FBQUEsTUFBQUcsSUFBQSxFQUFZO01BQUEsSUFBVEgsS0FBSyxHQUFBRyxJQUFBLENBQUxILEtBQUs7TUFDWixPQUFPSSxXQUFXLENBQUNKLEtBQUssQ0FBQztJQUMxQjtFQUNELENBQUM7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTSSxXQUFXQSxDQUFtQkosS0FBWSxFQUFzQztFQUFBLElBQUFLLGdCQUFBO0VBQ3hGLElBQUlDLGNBQVEsQ0FBQ0MsZUFBZSxFQUFFO0lBQzdCRCxjQUFRLENBQUNDLGVBQWUsQ0FBQ1AsS0FBSyxDQUFDO0VBQ2hDO0VBQ0EsQ0FBQUssZ0JBQUEsR0FBQUMsY0FBUSxDQUFDRSxNQUFNLGNBQUFILGdCQUFBLGVBQWZBLGdCQUFBLENBQWlCTCxLQUFLLENBQUNBLEtBQUssQ0FBQztFQUU3QixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWiJ9
package/dist/Init.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Message } from "./Types";
1
+ import type { Message } from "./Types";
2
2
  interface Logger {
3
3
  debug: (...args: unknown[]) => void;
4
4
  info: (...args: unknown[]) => void;
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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZXJ2aWNlcyIsImxvZ2dlciIsInVuZGVmaW5lZCIsImVycm9yTWlkZGxld2FyZSIsImRpc3BhdGNoTWlkZGxld2FyZSIsImV4cG9ydHMiLCJpbml0Iiwib3B0aW9ucyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9Jbml0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG5pbnRlcmZhY2UgTG9nZ2VyIHtcblx0ZGVidWc6ICguLi5hcmdzOiB1bmtub3duW10pID0+IHZvaWQ7XG5cdGluZm86ICguLi5hcmdzOiB1bmtub3duW10pID0+IHZvaWQ7XG5cdGVycm9yOiAoLi4uYXJnczogdW5rbm93bltdKSA9PiB2b2lkO1xufVxuXG50eXBlIEVycm9yTWlkZGxld2FyZUZ1bmMgPSAoZXJyb3I6IEVycm9yKSA9PiB2b2lkO1xudHlwZSBEaXNwYXRjaE1pZGRsZXdhcmVGdW5jID0gKG1zZzogTWVzc2FnZSkgPT4gdm9pZDtcblxuaW50ZXJmYWNlIEVsbU9wdGlvbnMge1xuXHQvKipcblx0ICogVGhlIGxvZ2dlciB0byB1c2UgZm9yIGxvZ2dpbmcgY2FsbGVkIG1lc3NhZ2VzIGFuZCB1cGRhdGVkIG1vZGVscy5cblx0ICogQHR5cGUge0xvZ2dlcn1cblx0ICovXG5cdGxvZ2dlcj86IExvZ2dlcjtcblxuXHQvKipcblx0ICogTWlkZGxld2FyZSB0byBjYWxsIHdoZW4gZXJyb3IgbWVzc2FnZXMgYXJlIGhhbmRsZWQgYnkgdGhlIGBoYW5kbGVFcnJvcmAgZnVuY3Rpb24uXG5cdCAqIEB0eXBlIHtFcnJvck1pZGRsZXdhcmVGdW5jfVxuXHQgKi9cblx0ZXJyb3JNaWRkbGV3YXJlPzogRXJyb3JNaWRkbGV3YXJlRnVuYztcblxuXHQvKipcblx0ICogTWlkZGxld2FyZSB0byBjYWxsIGZvciBldmVyeSBwcm9jZXNzZWQgbWVzc2FnZS5cblx0ICogQHR5cGUge0Rpc3BhdGNoTWlkZGxld2FyZUZ1bmN9XG5cdCAqL1xuXHRkaXNwYXRjaE1pZGRsZXdhcmU/OiBEaXNwYXRjaE1pZGRsZXdhcmVGdW5jO1xufVxuXG5jb25zdCBTZXJ2aWNlczogRWxtT3B0aW9ucyA9IHtcblx0bG9nZ2VyOiB1bmRlZmluZWQsXG5cdGVycm9yTWlkZGxld2FyZTogdW5kZWZpbmVkLFxuXHRkaXNwYXRjaE1pZGRsZXdhcmU6IHVuZGVmaW5lZCxcbn07XG5cbi8qKlxuICogVGhpcyBpbml0aWFsaXplcyB0aGUgRWxtaXNoIG1vZHVsZS5cbiAqIFlvdSBvbmx5IG5lZWQgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uIGlmIHlvdSB3YW50IHRvIHNldCBzb21lIG9mIHRoZSBvcHRpb25zLlxuICogQHBhcmFtIHtFbG1PcHRpb25zfSBvcHRpb25zXG4gKi9cbmZ1bmN0aW9uIGluaXQob3B0aW9uczogRWxtT3B0aW9ucyk6IHZvaWQge1xuXHRTZXJ2aWNlcy5sb2dnZXIgPSBvcHRpb25zLmxvZ2dlcjtcblx0U2VydmljZXMuZXJyb3JNaWRkbGV3YXJlID0gb3B0aW9ucy5lcnJvck1pZGRsZXdhcmU7XG5cdFNlcnZpY2VzLmRpc3BhdGNoTWlkZGxld2FyZSA9IG9wdGlvbnMuZGlzcGF0Y2hNaWRkbGV3YXJlO1xufVxuXG5leHBvcnQgdHlwZSB7IERpc3BhdGNoTWlkZGxld2FyZUZ1bmMsIEVsbU9wdGlvbnMsIEVycm9yTWlkZGxld2FyZUZ1bmMsIExvZ2dlciB9O1xuXG5leHBvcnQgeyBTZXJ2aWNlcywgaW5pdCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBK0JBLElBQU1BLFFBQW9CLEdBQUc7RUFDNUJDLE1BQU0sRUFBRUMsU0FBUztFQUNqQkMsZUFBZSxFQUFFRCxTQUFTO0VBQzFCRSxrQkFBa0IsRUFBRUY7QUFDckIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkFHLE9BQUEsQ0FBQUwsUUFBQSxHQUFBQSxRQUFBO0FBS0EsU0FBU00sSUFBSUEsQ0FBQ0MsT0FBbUIsRUFBUTtFQUN4Q1AsUUFBUSxDQUFDQyxNQUFNLEdBQUdNLE9BQU8sQ0FBQ04sTUFBTTtFQUNoQ0QsUUFBUSxDQUFDRyxlQUFlLEdBQUdJLE9BQU8sQ0FBQ0osZUFBZTtFQUNsREgsUUFBUSxDQUFDSSxrQkFBa0IsR0FBR0csT0FBTyxDQUFDSCxrQkFBa0I7QUFDekQifQ==
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(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
18
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVNb2RlbEFuZFByb3BzIiwiaW5pdCIsImluaXRQcm9wcyIsIm1vZGVsVGVtcGxhdGUiLCJwcm9wc1RlbXBsYXRlIiwicHJvcHMiLCJfb2JqZWN0U3ByZWFkIiwiX2luaXQiLCJfaW5pdDIiLCJfc2xpY2VkVG9BcnJheSIsIm1vZGVsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1Rlc3RpbmcvY3JlYXRlTW9kZWxBbmRQcm9wcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbml0RnVuY3Rpb24sIE1lc3NhZ2UgfSBmcm9tIFwiLi4vVHlwZXNcIjtcblxuZnVuY3Rpb24gY3JlYXRlTW9kZWxBbmRQcm9wczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0aW5pdDogSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG5cdGluaXRQcm9wczogKCkgPT4gVFByb3BzLFxuXHRtb2RlbFRlbXBsYXRlPzogUGFydGlhbDxUTW9kZWw+LFxuXHRwcm9wc1RlbXBsYXRlPzogUGFydGlhbDxUUHJvcHM+LFxuKTogW1RNb2RlbCwgVFByb3BzXSB7XG5cdGNvbnN0IHByb3BzOiBUUHJvcHMgPSB7XG5cdFx0Li4uaW5pdFByb3BzKCksXG5cdFx0Li4ucHJvcHNUZW1wbGF0ZSxcblx0fTtcblx0Y29uc3QgW21vZGVsXSA9IGluaXQocHJvcHMpO1xuXG5cdHJldHVybiBbeyAuLi5tb2RlbCwgLi4ubW9kZWxUZW1wbGF0ZSB9LCBwcm9wc107XG59XG5cbmV4cG9ydCB7IGNyZWF0ZU1vZGVsQW5kUHJvcHMgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsU0FBU0EsbUJBQW1CQSxDQUMzQkMsSUFBNEMsRUFDNUNDLFNBQXVCLEVBQ3ZCQyxhQUErQixFQUMvQkMsYUFBK0IsRUFDWjtFQUNuQixJQUFNQyxLQUFhLEdBQUFDLGFBQUEsQ0FBQUEsYUFBQSxLQUNmSixTQUFTLENBQUMsQ0FBQyxHQUNYRSxhQUFhLENBQ2hCO0VBQ0QsSUFBQUcsS0FBQSxHQUFnQk4sSUFBSSxDQUFDSSxLQUFLLENBQUM7SUFBQUcsTUFBQSxHQUFBQyxjQUFBLENBQUFGLEtBQUE7SUFBcEJHLEtBQUssR0FBQUYsTUFBQTtFQUVaLE9BQU8sQ0FBQUYsYUFBQSxDQUFBQSxhQUFBLEtBQU1JLEtBQUssR0FBS1AsYUFBYSxHQUFJRSxLQUFLLENBQUM7QUFDL0MifQ==
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(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSIsImluaXRNb2RlbCIsImluaXRQcm9wcyIsImNyZWF0ZVVwZGF0ZUFyZ3MiLCJtc2ciLCJtb2RlbFRlbXBsYXRlIiwicHJvcHNUZW1wbGF0ZSIsIl9vYmplY3RTcHJlYWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvVGVzdGluZy9jcmVhdGVVcGRhdGVBcmdzRmFjdG9yeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSBcIi4uL1R5cGVzXCI7XG5cbnR5cGUgVXBkYXRlQXJnc0ZhY3Rvcnk8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4gPSAoXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsVGVtcGxhdGU/OiBQYXJ0aWFsPFRNb2RlbD4sXG5cdHByb3BzVGVtcGxhdGU/OiBQYXJ0aWFsPFRQcm9wcz4sXG4pID0+IFtUTWVzc2FnZSwgVE1vZGVsLCBUUHJvcHNdO1xuXG50eXBlIE1vZGVsQW5kUHJvcHNGYWN0b3J5PFRQcm9wcywgVE1vZGVsPiA9IChcblx0bW9kZWxUZW1wbGF0ZT86IFBhcnRpYWw8VE1vZGVsPixcblx0cHJvcHNUZW1wbGF0ZT86IFBhcnRpYWw8VFByb3BzPixcbikgPT4gW1RNb2RlbCwgVFByb3BzXTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgYSBtZXNzYWdlLCBhIG1vZGVsLCBhbmQgcHJvcHMgd2hpY2ggY2FuIGJlIHBhc3NlZCB0byBhbiB1cGRhdGUgZnVuY3Rpb24gaW4gdGVzdHMuXG4gKiBAcGFyYW0geygpID0+IFRNb2RlbH0gaW5pdE1vZGVsIEEgZnVuY3Rpb24gdG8gY3JlYXRlIGFuIGluaXRpYWwgbW9kZWwuXG4gKiBAcGFyYW0geygpID0+IFRQcm9wc30gaW5pdFByb3BzIEEgZnVuY3Rpb24gdG8gY3JlYXRlIGluaXRpYWwgcHJvcHMuXG4gKiBAcmV0dXJucyB7VXBkYXRlQXJnc0ZhY3Rvcnk8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPn0gQSBmdW5jdGlvbiB0byBjcmVhdGUgYSBtZXNzYWdlLCBhIG1vZGVsLCBhbmQgcHJvcHMuXG4gKiBAZXhhbXBsZVxuICogLy8gb25lIHRpbWVcbiAqIGNvbnN0IGNyZWF0ZVVwZGF0ZUFyZ3MgPSBjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSgoKSA9PiAoeyAuLi4gfSksICgpID0+ICh7IC4uLiB9KSk7XG4gKiAvLyBpbiB0ZXN0c1xuICogY29uc3QgW21zZywgbW9kZWwsIHByb3BzXSA9IGNyZWF0ZVVwZGF0ZUFyZ3MoTXNnLm15TWVzc2FnZSgpLCB7IC4uLiB9LCAsIHsgLi4uIH0pO1xuICovXG5mdW5jdGlvbiBjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0aW5pdE1vZGVsOiAoKSA9PiBUTW9kZWwsXG5cdGluaXRQcm9wczogKCkgPT4gVFByb3BzLFxuKTogVXBkYXRlQXJnc0ZhY3Rvcnk8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB7XG5cdHJldHVybiBmdW5jdGlvbiBjcmVhdGVVcGRhdGVBcmdzKFxuXHRcdG1zZzogVE1lc3NhZ2UsXG5cdFx0bW9kZWxUZW1wbGF0ZT86IFBhcnRpYWw8VE1vZGVsPixcblx0XHRwcm9wc1RlbXBsYXRlPzogUGFydGlhbDxUUHJvcHM+LFxuXHQpOiBbVE1lc3NhZ2UsIFRNb2RlbCwgVFByb3BzXSB7XG5cdFx0cmV0dXJuIFtcblx0XHRcdG1zZyxcblx0XHRcdHtcblx0XHRcdFx0Li4uaW5pdE1vZGVsKCksXG5cdFx0XHRcdC4uLm1vZGVsVGVtcGxhdGUsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHQuLi5pbml0UHJvcHMoKSxcblx0XHRcdFx0Li4ucHJvcHNUZW1wbGF0ZSxcblx0XHRcdH0sXG5cdFx0XTtcblx0fTtcbn1cblxuZXhwb3J0IHR5cGUgeyBNb2RlbEFuZFByb3BzRmFjdG9yeSwgVXBkYXRlQXJnc0ZhY3RvcnkgfTtcblxuZXhwb3J0IHsgY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnkgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLHVCQUF1QkEsQ0FDL0JDLFNBQXVCLEVBQ3ZCQyxTQUF1QixFQUN1QjtFQUM5QyxPQUFPLFNBQVNDLGdCQUFnQkEsQ0FDL0JDLEdBQWEsRUFDYkMsYUFBK0IsRUFDL0JDLGFBQStCLEVBQ0Y7SUFDN0IsT0FBTyxDQUNORixHQUFHLEVBQUFHLGFBQUEsQ0FBQUEsYUFBQSxLQUVDTixTQUFTLENBQUMsQ0FBQyxHQUNYSSxhQUFhLEdBQUFFLGFBQUEsQ0FBQUEsYUFBQSxLQUdiTCxTQUFTLENBQUMsQ0FBQyxHQUNYSSxhQUFhLEVBRWpCO0VBQ0YsQ0FBQztBQUNGIn0=
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSIsImluaXRNb2RlbCIsImluaXRQcm9wcyIsImNyZWF0ZVVwZGF0ZUFyZ3MiLCJtc2ciLCJtb2RlbFRlbXBsYXRlIiwicHJvcHNUZW1wbGF0ZSIsIl9vYmplY3RTcHJlYWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvVGVzdGluZy9jcmVhdGVVcGRhdGVBcmdzRmFjdG9yeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1lc3NhZ2UgfSBmcm9tIFwiLi4vVHlwZXNcIjtcblxudHlwZSBVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiA9IChcblx0bXNnOiBUTWVzc2FnZSxcblx0bW9kZWxUZW1wbGF0ZT86IFBhcnRpYWw8VE1vZGVsPixcblx0cHJvcHNUZW1wbGF0ZT86IFBhcnRpYWw8VFByb3BzPixcbikgPT4gW1RNZXNzYWdlLCBUTW9kZWwsIFRQcm9wc107XG5cbnR5cGUgTW9kZWxBbmRQcm9wc0ZhY3Rvcnk8VFByb3BzLCBUTW9kZWw+ID0gKFxuXHRtb2RlbFRlbXBsYXRlPzogUGFydGlhbDxUTW9kZWw+LFxuXHRwcm9wc1RlbXBsYXRlPzogUGFydGlhbDxUUHJvcHM+LFxuKSA9PiBbVE1vZGVsLCBUUHJvcHNdO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG1lc3NhZ2UsIGEgbW9kZWwsIGFuZCBwcm9wcyB3aGljaCBjYW4gYmUgcGFzc2VkIHRvIGFuIHVwZGF0ZSBmdW5jdGlvbiBpbiB0ZXN0cy5cbiAqIEBwYXJhbSB7KCkgPT4gVE1vZGVsfSBpbml0TW9kZWwgQSBmdW5jdGlvbiB0byBjcmVhdGUgYW4gaW5pdGlhbCBtb2RlbC5cbiAqIEBwYXJhbSB7KCkgPT4gVFByb3BzfSBpbml0UHJvcHMgQSBmdW5jdGlvbiB0byBjcmVhdGUgaW5pdGlhbCBwcm9wcy5cbiAqIEByZXR1cm5zIHtVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+fSBBIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG1lc3NhZ2UsIGEgbW9kZWwsIGFuZCBwcm9wcy5cbiAqIEBleGFtcGxlXG4gKiAvLyBvbmUgdGltZVxuICogY29uc3QgY3JlYXRlVXBkYXRlQXJncyA9IGNyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5KCgpID0+ICh7IC4uLiB9KSwgKCkgPT4gKHsgLi4uIH0pKTtcbiAqIC8vIGluIHRlc3RzXG4gKiBjb25zdCBbbXNnLCBtb2RlbCwgcHJvcHNdID0gY3JlYXRlVXBkYXRlQXJncyhNc2cubXlNZXNzYWdlKCksIHsgLi4uIH0sICwgeyAuLi4gfSk7XG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5PFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRpbml0TW9kZWw6ICgpID0+IFRNb2RlbCxcblx0aW5pdFByb3BzOiAoKSA9PiBUUHJvcHMsXG4pOiBVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHtcblx0cmV0dXJuIGZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZUFyZ3MoXG5cdFx0bXNnOiBUTWVzc2FnZSxcblx0XHRtb2RlbFRlbXBsYXRlPzogUGFydGlhbDxUTW9kZWw+LFxuXHRcdHByb3BzVGVtcGxhdGU/OiBQYXJ0aWFsPFRQcm9wcz4sXG5cdCk6IFtUTWVzc2FnZSwgVE1vZGVsLCBUUHJvcHNdIHtcblx0XHRyZXR1cm4gW1xuXHRcdFx0bXNnLFxuXHRcdFx0e1xuXHRcdFx0XHQuLi5pbml0TW9kZWwoKSxcblx0XHRcdFx0Li4ubW9kZWxUZW1wbGF0ZSxcblx0XHRcdH0sXG5cdFx0XHR7XG5cdFx0XHRcdC4uLmluaXRQcm9wcygpLFxuXHRcdFx0XHQuLi5wcm9wc1RlbXBsYXRlLFxuXHRcdFx0fSxcblx0XHRdO1xuXHR9O1xufVxuXG5leHBvcnQgdHlwZSB7IE1vZGVsQW5kUHJvcHNGYWN0b3J5LCBVcGRhdGVBcmdzRmFjdG9yeSB9O1xuXG5leHBvcnQgeyBjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsdUJBQXVCQSxDQUMvQkMsU0FBdUIsRUFDdkJDLFNBQXVCLEVBQ3VCO0VBQzlDLE9BQU8sU0FBU0MsZ0JBQWdCQSxDQUMvQkMsR0FBYSxFQUNiQyxhQUErQixFQUMvQkMsYUFBK0IsRUFDRjtJQUM3QixPQUFPLENBQ05GLEdBQUcsRUFBQUcsYUFBQSxDQUFBQSxhQUFBLEtBRUNOLFNBQVMsQ0FBQyxDQUFDLEdBQ1hJLGFBQWEsR0FBQUUsYUFBQSxDQUFBQSxhQUFBLEtBR2JMLFNBQVMsQ0FBQyxDQUFDLEdBQ1hJLGFBQWEsRUFFakI7RUFDRixDQUFDO0FBQ0YifQ==
@@ -1,5 +1,5 @@
1
- import { Dispatch } from "react";
2
- import { Cmd, Nullable } from "../Types";
1
+ import type { Dispatch } from "react";
2
+ import type { Cmd, Nullable } from "../Types";
3
3
  /**
4
4
  * Executes all commands and resolves the messages.
5
5
  * @param cmd The command to process.