react-elmish 9.3.1 → 10.0.0-beta.1

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
@@ -911,7 +911,7 @@ const subscription = mergeSubscriptions(LoadSettings.subscription, localSubscrip
911
911
 
912
912
  ## Testing
913
913
 
914
- To test your **update** handler you can use some helper functions in `react-elmish/dist/Testing`:
914
+ To test your **update** handler you can use some helper functions in `react-elmish/testing`:
915
915
 
916
916
  | Function | Description |
917
917
  | --- | --- |
@@ -925,7 +925,7 @@ To test your **update** handler you can use some helper functions in `react-elmi
925
925
  ### Testing the init function
926
926
 
927
927
  ```ts
928
- import { initAndExecCmd } from "react-elmish/dist/Testing";
928
+ import { initAndExecCmd } from "react-elmish/testing";
929
929
  import { init, Msg } from "./MyComponent";
930
930
 
931
931
  it("initializes the model correctly", async () => {
@@ -946,7 +946,7 @@ it("initializes the model correctly", async () => {
946
946
  **Note**: When using an `UpdateMap`, you can get an `update` function by calling `getUpdateFn`:
947
947
 
948
948
  ```ts
949
- import { getUpdateFn } from "react-elmish/dist/Testing";
949
+ import { getUpdateFn } from "react-elmish/testing";
950
950
  import { updateMap } from "./MyComponent";
951
951
 
952
952
  const updateFn = getUpdateFn(updateMap);
@@ -958,7 +958,7 @@ const [model, cmd] = updateFn(msg, model, props);
958
958
  A simple test:
959
959
 
960
960
  ```ts
961
- import { getCreateUpdateArgs, createUpdateArgsFactory, execCmd } from "react-elmish/dist/Testing";
961
+ import { getCreateUpdateArgs, createUpdateArgsFactory, execCmd } from "react-elmish/testing";
962
962
  import { init, Msg } from "./MyComponent";
963
963
 
964
964
  const createUpdateArgs = getCreateUpdateArgs(init, () => ({ /* initial props */ }));
@@ -991,7 +991,7 @@ It also resolves for `attempt` functions if the called functions succeed. And it
991
991
  There is an alternative function `getUpdateAndExecCmdFn` to get the `update` function for an update map, which immediately invokes the command and returns the messages.
992
992
 
993
993
  ```ts
994
- import { createUpdateArgs, getUpdateAndExecCmdFn } from "react-elmish/dist/Testing";
994
+ import { createUpdateArgs, getUpdateAndExecCmdFn } from "react-elmish/testing";
995
995
 
996
996
  const updateAndExecCmdFn = getUpdateAndExecCmdFn(updateMap);
997
997
 
@@ -1018,7 +1018,7 @@ it("returns the correct cmd", async () => {
1018
1018
  It is almost the same as testing the `update` function. You can use the `getCreateModelAndProps` function to create a factory for the model and the props. Then use `execSubscription` to execute the subscriptions:
1019
1019
 
1020
1020
  ```ts
1021
- import { getCreateModelAndProps, execSubscription } from "react-elmish/dist/Testing";
1021
+ import { getCreateModelAndProps, execSubscription } from "react-elmish/testing";
1022
1022
  import { init, Msg, subscription } from "./MyComponent";
1023
1023
 
1024
1024
  const createModelAndProps = getCreateModelAndProps(init, () => ({ /* initial props */ }));
@@ -1045,7 +1045,7 @@ it("dispatches the eventTriggered message", async () => {
1045
1045
  To test UI components with a fake model you can use `renderWithModel` from the Testing namespace. The first parameter is a function to render your component (e.g. with **@testing-library/react**). The second parameter is the fake model. The third parameter is an optional options object, where you can also pass a fake `dispatch` function.
1046
1046
 
1047
1047
  ```tsx
1048
- import { renderWithModel } from "react-elmish/dist/Testing";
1048
+ import { renderWithModel } from "react-elmish/testing";
1049
1049
  import { fireEvent, render, screen } from "@testing-library/react";
1050
1050
 
1051
1051
  it("renders the correct value", () => {
@@ -1,5 +1,4 @@
1
1
  import type { Dispatch } from "react";
2
- import type { Message } from "../Types";
3
- import { type Subscription } from "../useElmish";
2
+ import { type Message, type Subscription } from "../Types";
4
3
  declare function execSubscription<TProps, TModel, TMessage extends Message>(subscription: Subscription<TProps, TModel, TMessage> | undefined, dispatch: Dispatch<TMessage>, model: TModel, props: TProps): () => void;
5
4
  export { execSubscription };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.execSubscription = execSubscription;
7
- var _useElmish = require("../useElmish");
7
+ var _Types = require("../Types");
8
8
  var _execCmd = require("./execCmd");
9
9
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
10
10
  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."); }
@@ -21,7 +21,7 @@ function execSubscription(subscription, dispatch, model, props) {
21
21
  return noop;
22
22
  }
23
23
  var subscriptionResult = subscription(model, props);
24
- if ((0, _useElmish.subscriptionIsFunctionArray)(subscriptionResult)) {
24
+ if ((0, _Types.subscriptionIsFunctionArray)(subscriptionResult)) {
25
25
  var disposers = subscriptionResult.map(function (sub) {
26
26
  return sub(dispatch);
27
27
  }).filter(function (disposer) {
@@ -48,4 +48,4 @@ function execSubscription(subscription, dispatch, model, props) {
48
48
  (0, _execCmd.execCmdWithDispatch)(dispatch, cmd);
49
49
  return dispose !== null && dispose !== void 0 ? dispose : noop;
50
50
  }
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXNlRWxtaXNoIiwicmVxdWlyZSIsIl9leGVjQ21kIiwiX3NsaWNlZFRvQXJyYXkiLCJyIiwiZSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJUeXBlRXJyb3IiLCJsIiwidCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwibiIsImkiLCJ1IiwiYSIsImYiLCJvIiwiY2FsbCIsIm5leHQiLCJPYmplY3QiLCJkb25lIiwicHVzaCIsInZhbHVlIiwibGVuZ3RoIiwiQXJyYXkiLCJpc0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfbiIsIkYiLCJzIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJleGVjU3Vic2NyaXB0aW9uIiwic3Vic2NyaXB0aW9uIiwiZGlzcGF0Y2giLCJtb2RlbCIsInByb3BzIiwibm9vcCIsInN1YnNjcmlwdGlvblJlc3VsdCIsInN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheSIsImRpc3Bvc2VycyIsIm1hcCIsInN1YiIsImZpbHRlciIsImRpc3Bvc2VyIiwidW5kZWZpbmVkIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJkaXNwb3NlIiwiZXJyIiwiX3N1YnNjcmlwdGlvblJlc3VsdCIsImNtZCIsImV4ZWNDbWRXaXRoRGlzcGF0Y2giXSwic291cmNlcyI6WyIuLi8uLi9zcmMvVGVzdGluZy9leGVjU3Vic2NyaXB0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2ggfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgTWVzc2FnZSB9IGZyb20gXCIuLi9UeXBlc1wiO1xuaW1wb3J0IHsgc3Vic2NyaXB0aW9uSXNGdW5jdGlvbkFycmF5LCB0eXBlIFN1YnNjcmlwdGlvbiB9IGZyb20gXCIuLi91c2VFbG1pc2hcIjtcbmltcG9ydCB7IGV4ZWNDbWRXaXRoRGlzcGF0Y2ggfSBmcm9tIFwiLi9leGVjQ21kXCI7XG5cbmZ1bmN0aW9uIGV4ZWNTdWJzY3JpcHRpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCB1bmRlZmluZWQsXG5cdGRpc3BhdGNoOiBEaXNwYXRjaDxUTWVzc2FnZT4sXG5cdG1vZGVsOiBUTW9kZWwsXG5cdHByb3BzOiBUUHJvcHMsXG4pOiAoKSA9PiB2b2lkIHtcblx0Y29uc3Qgbm9vcCA9ICgpOiB2b2lkID0+IHtcblx0XHQvLyBkbyBub3RoaW5nXG5cdH07XG5cblx0aWYgKCFzdWJzY3JpcHRpb24pIHtcblx0XHRyZXR1cm4gbm9vcDtcblx0fVxuXG5cdGNvbnN0IHN1YnNjcmlwdGlvblJlc3VsdCA9IHN1YnNjcmlwdGlvbihtb2RlbCwgcHJvcHMpO1xuXG5cdGlmIChzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXkoc3Vic2NyaXB0aW9uUmVzdWx0KSkge1xuXHRcdGNvbnN0IGRpc3Bvc2VycyA9IHN1YnNjcmlwdGlvblJlc3VsdC5tYXAoKHN1YikgPT4gc3ViKGRpc3BhdGNoKSkuZmlsdGVyKChkaXNwb3NlcikgPT4gZGlzcG9zZXIgIT09IHVuZGVmaW5lZCk7XG5cblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0Zm9yIChjb25zdCBkaXNwb3NlIG9mIGRpc3Bvc2Vycykge1xuXHRcdFx0XHRkaXNwb3NlKCk7XG5cdFx0XHR9XG5cdFx0fTtcblx0fVxuXG5cdGNvbnN0IFtjbWQsIGRpc3Bvc2VdID0gc3Vic2NyaXB0aW9uUmVzdWx0O1xuXG5cdGV4ZWNDbWRXaXRoRGlzcGF0Y2g8VE1lc3NhZ2U+KGRpc3BhdGNoLCBjbWQpO1xuXG5cdHJldHVybiBkaXNwb3NlID8/IG5vb3A7XG59XG5cbmV4cG9ydCB7IGV4ZWNTdWJz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
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVHlwZXMiLCJyZXF1aXJlIiwiX2V4ZWNDbWQiLCJfc2xpY2VkVG9BcnJheSIsInIiLCJlIiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIlR5cGVFcnJvciIsImwiLCJ0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJuIiwiaSIsInUiLCJhIiwiZiIsIm8iLCJjYWxsIiwibmV4dCIsIk9iamVjdCIsImRvbmUiLCJwdXNoIiwidmFsdWUiLCJsZW5ndGgiLCJBcnJheSIsImlzQXJyYXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9uIiwiRiIsInMiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsImV4ZWNTdWJzY3JpcHRpb24iLCJzdWJzY3JpcHRpb24iLCJkaXNwYXRjaCIsIm1vZGVsIiwicHJvcHMiLCJub29wIiwic3Vic2NyaXB0aW9uUmVzdWx0Iiwic3Vic2NyaXB0aW9uSXNGdW5jdGlvbkFycmF5IiwiZGlzcG9zZXJzIiwibWFwIiwic3ViIiwiZmlsdGVyIiwiZGlzcG9zZXIiLCJ1bmRlZmluZWQiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImRpc3Bvc2UiLCJlcnIiLCJfc3Vic2NyaXB0aW9uUmVzdWx0IiwiY21kIiwiZXhlY0NtZFdpdGhEaXNwYXRjaCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9UZXN0aW5nL2V4ZWNTdWJzY3JpcHRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNwYXRjaCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgc3Vic2NyaXB0aW9uSXNGdW5jdGlvbkFycmF5LCB0eXBlIE1lc3NhZ2UsIHR5cGUgU3Vic2NyaXB0aW9uIH0gZnJvbSBcIi4uL1R5cGVzXCI7XG5pbXBvcnQgeyBleGVjQ21kV2l0aERpc3BhdGNoIH0gZnJvbSBcIi4vZXhlY0NtZFwiO1xuXG5mdW5jdGlvbiBleGVjU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgdW5kZWZpbmVkLFxuXHRkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+LFxuXHRtb2RlbDogVE1vZGVsLFxuXHRwcm9wczogVFByb3BzLFxuKTogKCkgPT4gdm9pZCB7XG5cdGNvbnN0IG5vb3AgPSAoKTogdm9pZCA9PiB7XG5cdFx0Ly8gZG8gbm90aGluZ1xuXHR9O1xuXG5cdGlmICghc3Vic2NyaXB0aW9uKSB7XG5cdFx0cmV0dXJuIG5vb3A7XG5cdH1cblxuXHRjb25zdCBzdWJzY3JpcHRpb25SZXN1bHQgPSBzdWJzY3JpcHRpb24obW9kZWwsIHByb3BzKTtcblxuXHRpZiAoc3Vic2NyaXB0aW9uSXNGdW5jdGlvbkFycmF5KHN1YnNjcmlwdGlvblJlc3VsdCkpIHtcblx0XHRjb25zdCBkaXNwb3NlcnMgPSBzdWJzY3JpcHRpb25SZXN1bHQubWFwKChzdWIpID0+IHN1YihkaXNwYXRjaCkpLmZpbHRlcigoZGlzcG9zZXIpID0+IGRpc3Bvc2VyICE9PSB1bmRlZmluZWQpO1xuXG5cdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdGZvciAoY29uc3QgZGlzcG9zZSBvZiBkaXNwb3NlcnMpIHtcblx0XHRcdFx0ZGlzcG9zZSgpO1xuXHRcdFx0fVxuXHRcdH07XG5cdH1cblxuXHRjb25zdCBbY21kLCBkaXNwb3NlXSA9IHN1YnNjcmlwdGlvblJlc3VsdDtcblxuXHRleGVjQ21kV2l0aERpc3BhdGNoPFRNZXNzYWdlPihkaXNwYXRjaCwgY21kKTtcblxuXHRyZXR1cm4gZGlzcG9zZSA/PyBub29wO1xufVxuXG5leHBvcnQgeyBleGVjU3Vic2NyaXB0aW9uIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUFnRCxTQUFBRSxlQUFBQyxDQUFBLEVBQUFDLENBQUEsV0FBQUMsZUFBQSxDQUFBRixDQUFBLEtBQUFHLHFCQUFBLENBQUFILENBQUEsRUFBQUMsQ0FBQSxLQUFBRywyQkFBQSxDQUFBSixDQUFBLEVBQUFDLENBQUEsS0FBQUksZ0JBQUE7QUFBQSxTQUFBQSxpQkFBQSxjQUFBQyxTQUFBO0FBQUEsU0FBQUgsc0JBQUFILENBQUEsRUFBQU8sQ0FBQSxRQUFBQyxDQUFBLFdBQUFSLENBQUEsZ0NBQUFTLE1BQUEsSUFBQVQsQ0FBQSxDQUFBUyxNQUFBLENBQUFDLFFBQUEsS0FBQVYsQ0FBQSw0QkFBQVEsQ0FBQSxRQUFBUCxDQUFBLEVBQUFVLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsT0FBQUMsQ0FBQSxPQUFBQyxDQUFBLGlCQUFBSixDQUFBLElBQUFKLENBQUEsR0FBQUEsQ0FBQSxDQUFBUyxJQUFBLENBQUFqQixDQUFBLEdBQUFrQixJQUFBLFFBQUFYLENBQUEsUUFBQVksTUFBQSxDQUFBWCxDQUFBLE1BQUFBLENBQUEsVUFBQU8sQ0FBQSx1QkFBQUEsQ0FBQSxJQUFBZCxDQUFBLEdBQUFXLENBQUEsQ0FBQUssSUFBQSxDQUFBVCxDQUFBLEdBQUFZLElBQUEsTUFBQU4sQ0FBQSxDQUFBTyxJQUFBLENBQUFwQixDQUFBLENBQUFxQixLQUFBLEdBQUFSLENBQUEsQ0FBQVMsTUFBQSxLQUFBaEIsQ0FBQSxHQUFBUSxDQUFBLGlCQUFBZixDQUFBLElBQUFnQixDQUFBLE9BQUFMLENBQUEsR0FBQVgsQ0FBQSx5QkFBQWUsQ0FBQSxZQUFBUCxDQUFBLGVBQUFLLENBQUEsR0FBQUwsQ0FBQSxjQUFBVyxNQUFBLENBQUFOLENBQUEsTUFBQUEsQ0FBQSwyQkFBQUcsQ0FBQSxRQUFBTCxDQUFBLGFBQUFHLENBQUE7QUFBQSxTQUFBWixnQkFBQUYsQ0FBQSxRQUFBd0IsS0FBQSxDQUFBQyxPQUFBLENBQUF6QixDQUFBLFVBQUFBLENBQUE7QUFBQSxTQUFBMEIsMkJBQUExQixDQUFBLEVBQUFDLENBQUEsUUFBQU8sQ0FBQSx5QkFBQUMsTUFBQSxJQUFBVCxDQUFBLENBQUFTLE1BQUEsQ0FBQUMsUUFBQSxLQUFBVixDQUFBLHFCQUFBUSxDQUFBLFFBQUFnQixLQUFBLENBQUFDLE9BQUEsQ0FBQXpCLENBQUEsTUFBQVEsQ0FBQSxHQUFBSiwyQkFBQSxDQUFBSixDQUFBLE1BQUFDLENBQUEsSUFBQUQsQ0FBQSx1QkFBQUEsQ0FBQSxDQUFBdUIsTUFBQSxJQUFBZixDQUFBLEtBQUFSLENBQUEsR0FBQVEsQ0FBQSxPQUFBbUIsRUFBQSxNQUFBQyxDQUFBLFlBQUFBLEVBQUEsZUFBQUMsQ0FBQSxFQUFBRCxDQUFBLEVBQUFqQixDQUFBLFdBQUFBLEVBQUEsV0FBQWdCLEVBQUEsSUFBQTNCLENBQUEsQ0FBQXVCLE1BQUEsS0FBQUgsSUFBQSxXQUFBQSxJQUFBLE1BQUFFLEtBQUEsRUFBQXRCLENBQUEsQ0FBQTJCLEVBQUEsVUFBQTFCLENBQUEsV0FBQUEsRUFBQUQsQ0FBQSxVQUFBQSxDQUFBLEtBQUFlLENBQUEsRUFBQWEsQ0FBQSxnQkFBQXRCLFNBQUEsaUpBQUFVLENBQUEsRUFBQUYsQ0FBQSxPQUFBRCxDQUFBLGdCQUFBZ0IsQ0FBQSxXQUFBQSxFQUFBLElBQUFyQixDQUFBLEdBQUFBLENBQUEsQ0FBQVMsSUFBQSxDQUFBakIsQ0FBQSxNQUFBVyxDQUFBLFdBQUFBLEVBQUEsUUFBQVgsQ0FBQSxHQUFBUSxDQUFBLENBQUFVLElBQUEsV0FBQUosQ0FBQSxHQUFBZCxDQUFBLENBQUFvQixJQUFBLEVBQUFwQixDQUFBLEtBQUFDLENBQUEsV0FBQUEsRUFBQUQsQ0FBQSxJQUFBYSxDQUFBLE9BQUFHLENBQUEsR0FBQWhCLENBQUEsS0FBQWUsQ0FBQSxXQUFBQSxFQUFBLFVBQUFELENBQUEsWUFBQU4sQ0FBQSxjQUFBQSxDQUFBLDhCQUFBSyxDQUFBLFFBQUFHLENBQUE7QUFBQSxTQUFBWiw0QkFBQUosQ0FBQSxFQUFBYyxDQUFBLFFBQUFkLENBQUEsMkJBQUFBLENBQUEsU0FBQThCLGlCQUFBLENBQUE5QixDQUFBLEVBQUFjLENBQUEsT0FBQU4sQ0FBQSxNQUFBdUIsUUFBQSxDQUFBZCxJQUFBLENBQUFqQixDQUFBLEVBQUFnQyxLQUFBLDZCQUFBeEIsQ0FBQSxJQUFBUixDQUFBLENBQUFpQyxXQUFBLEtBQUF6QixDQUFBLEdBQUFSLENBQUEsQ0FBQWlDLFdBQUEsQ0FBQUMsSUFBQSxhQUFBMUIsQ0FBQSxjQUFBQSxDQUFBLEdBQUFnQixLQUFBLENBQUFXLElBQUEsQ0FBQW5DLENBQUEsb0JBQUFRLENBQUEsK0NBQUE0QixJQUFBLENBQUE1QixDQUFBLElBQUFzQixpQkFBQSxDQUFBOUIsQ0FBQSxFQUFBYyxDQUFBO0FBQUEsU0FBQWdCLGtCQUFBOUIsQ0FBQSxFQUFBYyxDQUFBLGFBQUFBLENBQUEsSUFBQUEsQ0FBQSxHQUFBZCxDQUFBLENBQUF1QixNQUFBLE1BQUFULENBQUEsR0FBQWQsQ0FBQSxDQUFBdUIsTUFBQSxZQUFBdEIsQ0FBQSxNQUFBVSxDQUFBLEdBQUFhLEtBQUEsQ0FBQVYsQ0FBQSxHQUFBYixDQUFBLEdBQUFhLENBQUEsRUFBQWIsQ0FBQSxJQUFBVSxDQUFBLENBQUFWLENBQUEsSUFBQUQsQ0FBQSxDQUFBQyxDQUFBLFVBQUFVLENBQUE7QUFFaEQsU0FBUzBCLGdCQUFnQkEsQ0FDeEJDLFlBQWdFLEVBQ2hFQyxRQUE0QixFQUM1QkMsS0FBYSxFQUNiQyxLQUFhLEVBQ0E7RUFDYixJQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBSUEsQ0FBQSxFQUFlO0lBQ3hCO0VBQUEsQ0FDQTtFQUVELElBQUksQ0FBQ0osWUFBWSxFQUFFO0lBQ2xCLE9BQU9JLElBQUk7RUFDWjtFQUVBLElBQU1DLGtCQUFrQixHQUFHTCxZQUFZLENBQUNFLEtBQUssRUFBRUMsS0FBSyxDQUFDO0VBRXJELElBQUksSUFBQUcsa0NBQTJCLEVBQUNELGtCQUFrQixDQUFDLEVBQUU7SUFDcEQsSUFBTUUsU0FBUyxHQUFHRixrQkFBa0IsQ0FBQ0csR0FBRyxDQUFDLFVBQUNDLEdBQUc7TUFBQSxPQUFLQSxHQUFHLENBQUNSLFFBQVEsQ0FBQztJQUFBLEVBQUMsQ0FBQ1MsTUFBTSxDQUFDLFVBQUNDLFFBQVE7TUFBQSxPQUFLQSxRQUFRLEtBQUtDLFNBQVM7SUFBQSxFQUFDO0lBRTdHLE9BQU8sWUFBTTtNQUFBLElBQUFDLFNBQUEsR0FBQXpCLDBCQUFBLENBQ1VtQixTQUFTO1FBQUFPLEtBQUE7TUFBQTtRQUEvQixLQUFBRCxTQUFBLENBQUF0QixDQUFBLE1BQUF1QixLQUFBLEdBQUFELFNBQUEsQ0FBQXhDLENBQUEsSUFBQVMsSUFBQSxHQUFpQztVQUFBLElBQXRCaUMsUUFBTyxHQUFBRCxLQUFBLENBQUE5QixLQUFBO1VBQ2pCK0IsUUFBTyxDQUFDLENBQUM7UUFDVjtNQUFDLFNBQUFDLEdBQUE7UUFBQUgsU0FBQSxDQUFBbEQsQ0FBQSxDQUFBcUQsR0FBQTtNQUFBO1FBQUFILFNBQUEsQ0FBQXBDLENBQUE7TUFBQTtJQUNGLENBQUM7RUFDRjtFQUVBLElBQUF3QyxtQkFBQSxHQUFBeEQsY0FBQSxDQUF1QjRDLGtCQUFrQjtJQUFsQ2EsR0FBRyxHQUFBRCxtQkFBQTtJQUFFRixPQUFPLEdBQUFFLG1CQUFBO0VBRW5CLElBQUFFLDRCQUFtQixFQUFXbEIsUUFBUSxFQUFFaUIsR0FBRyxDQUFDO0VBRTVDLE9BQU9ILE9BQU8sYUFBUEEsT0FBTyxjQUFQQSxPQUFPLEdBQUlYLElBQUk7QUFDdkIiLCJpZ25vcmVMaXN0IjpbXX0=
package/dist/Types.d.ts CHANGED
@@ -46,4 +46,13 @@ type UpdateMap<TProps, TModel, TMessage extends Message> = {
46
46
  name: TMessageName;
47
47
  }>) => UpdateReturnType<TModel, TMessage>;
48
48
  };
49
- export type { CallBaseFunction, Cmd, DeferFunction, Dispatch, FallbackHandler, InitFunction, InitResult, Message, MsgSource, Nullable, Sub, UpdateFunction, UpdateFunctionOptions, UpdateMap, UpdateMapFunction, UpdateReturnType, };
49
+ /**
50
+ * The return type of the `subscription` function.
51
+ * @template TMessage The type of the messages discriminated union.
52
+ */
53
+ type SubscriptionResult<TMessage> = [Cmd<TMessage>, (() => void)?] | SubscriptionFunction<TMessage>[];
54
+ type SubscriptionFunction<TMessage> = (dispatch: Dispatch<TMessage>) => (() => void) | undefined;
55
+ type Subscription<TProps, TModel, TMessage> = (model: TModel, props: TProps) => SubscriptionResult<TMessage>;
56
+ declare function subscriptionIsFunctionArray(subscription: SubscriptionResult<unknown>): subscription is SubscriptionFunction<unknown>[];
57
+ export type { CallBaseFunction, Cmd, DeferFunction, Dispatch, FallbackHandler, InitFunction, InitResult, Message, MsgSource, Nullable, Sub, Subscription, SubscriptionFunction, SubscriptionResult, UpdateFunction, UpdateFunctionOptions, UpdateMap, UpdateMapFunction, UpdateReturnType, };
58
+ export { subscriptionIsFunctionArray };
package/dist/Types.js CHANGED
@@ -3,4 +3,38 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL1R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbInR5cGUgTnVsbGFibGU8VFR5cGU+ID0gVFR5cGUgfCBudWxsO1xuXG5pbnRlcmZhY2UgTWVzc2FnZSB7XG5cdG5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUeXBlIG9mIHRoZSBkaXNwYXRjaCBmdW5jdGlvbi5cbiAqL1xudHlwZSBEaXNwYXRjaDxUTWVzc2FnZT4gPSAobXNnOiBUTWVzc2FnZSkgPT4gdm9pZDtcblxudHlwZSBGYWxsYmFja0hhbmRsZXIgPSAoZXJyb3I/OiBFcnJvcikgPT4gdm9pZDtcbnR5cGUgU3ViPFRNc2c+ID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUTXNnPiwgZmFsbGJhY2s/OiBGYWxsYmFja0hhbmRsZXIpID0+IHZvaWQ7XG5cbi8qKlxuICogVHlwZSBvZiBhIGNvbW1hbmQuXG4gKi9cbnR5cGUgQ21kPFRNZXNzYWdlPiA9IFN1YjxUTWVzc2FnZT5bXTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgTXNnU291cmNlIHR5cGUuXG4gKi9cbmludGVyZmFjZSBNc2dTb3VyY2U8VFNvdXJjZSBleHRlbmRzIHN0cmluZz4ge1xuXHRzb3VyY2U6IFRTb3VyY2U7XG59XG5cbi8qKlxuICogVGhlIHJldHVybiB0eXBlIG9mIHRoZSBgaW5pdGAgZnVuY3Rpb24uXG4gKi9cbnR5cGUgSW5pdFJlc3VsdDxUTW9kZWwsIFRNZXNzYWdlPiA9IFtUTW9kZWwsIC4uLihDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdXTtcblxudHlwZSBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiA9IChwcm9wczogVFByb3BzKSA9PiBJbml0UmVzdWx0PFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG4vKipcbiAqIFR5cGUgZm9yIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGB1cGRhdGVgIGZ1bmN0aW9uLlxuICovXG50eXBlIFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4gPSBbUGFydGlhbDxUTW9kZWw+LCAuLi4oQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXV07XG5cbnR5cGUgRGVmZXJGdW5jdGlvbjxUTW9kZWwsIFRNZXNzYWdlPiA9IChtb2RlbDogUGFydGlhbDxUTW9kZWw+LCAuLi5jb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW10pID0+IHZvaWQ7XG50eXBlIENhbGxCYXNlRnVuY3Rpb248VE1vZGVsLCBUUHJvcHMsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4gPSAoXG5cdGZuOiAoXG5cdFx0bXNnOiBUTWVzc2FnZSxcblx0XHRtb2RlbDogVE1vZGVsLFxuXHRcdHByb3BzOiBUUHJvcHMsXG5cdFx0Ly8gYmlvbWUtaWdub3JlIGxpbnQvc3VzcGljaW91cy9ub0V4cGxpY2l0QW55OiBhbnkgaXMgbmVlZGVkIGhlcmUgdG8gYWxsb3cgb3B0aW9ucyBvZiBhbnkgdHlwZVxuXHRcdC4uLmFyZ3M6IGFueVtdXG5cdCkgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIE1lc3NhZ2U+LFxuKSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG50eXBlIFVwZGF0ZU1hcEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+ID0gKFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogVE1vZGVsLFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbikgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPjtcblxuaW50ZXJmYWNlIFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUU3BlY2lmaWNNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSA9IFRNZXNzYWdlPiB7XG5cdGRlZmVyOiBEZWZlckZ1bmN0aW9uPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXHRjYWxsQmFzZTogQ2FsbEJhc2VGdW5jdGlvbjxUTW9kZWwsIFRQcm9wcywgVFNwZWNpZmljTWVzc2FnZT47XG59XG5cbnR5cGUgVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4gPSAoXG5cdG1vZGVsOiBUTW9kZWwsXG5cdG1zZzogVE1lc3NhZ2UsXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG4vKipcbiAqIFR5cGUgZm9yIG1hcHBpbmcgbWVzc2FnZXMgdG8gZnVuY3Rpb25zLlxuICogVXNlIHRoaXMgdHlwZSB0byBjcmVhdGUgeW91ciB1cGRhdGUgbG9naWMgZm9yIHRoZSB1c2VFbG1pc2ggaG9vay5cbiAqL1xudHlwZSBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4gPSB7XG5cdFtUTWVzc2FnZU5hbWUgaW4gVE1lc3NhZ2VbXCJuYW1lXCJdXTogKFxuXHRcdG1zZzogVE1lc3NhZ2UgJiB7IG5hbWU6IFRNZXNzYWdlTmFtZSB9LFxuXHRcdG1vZGVsOiBUTW9kZWwsXG5cdFx0cHJvcHM6IFRQcm9wcyxcblx0XHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlLCBUTWVzc2FnZSAmIHsgbmFtZTogVE1lc3NhZ2VOYW1lIH0+LFxuXHQpID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT47XG59O1xuXG5leHBvcnQgdHlwZSB7XG5cdENhbGxCYXNlRnVuY3Rpb24sXG5cdENtZCxcblx0RGVmZXJGdW5jdGlvbixcblx0RGlzcGF0Y2gsXG5cdEZhbGxiYWNrSGFuZGxlcixcblx0SW5pdEZ1bmN0aW9uLFxuXHRJbml0UmVzdWx0LFxuXHRNZXNzYWdlLFxuXHRNc2dTb3VyY2UsXG5cdE51bGxhYmxlLFxuXHRTdWIsXG5cdFVwZGF0ZUZ1bmN0aW9uLFxuXHRVcGRhdGVGdW5jdGlvbk9wdGlvbnMsXG5cdFVwZGF0ZU1hcCxcblx0VXBkYXRlTWFwRnVuY3Rpb24sXG5cdFVwZGF0ZVJldHVyblR5cGUsXG59O1xuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
6
+ exports.subscriptionIsFunctionArray = subscriptionIsFunctionArray;
7
+ /**
8
+ * Type of the dispatch function.
9
+ */
10
+
11
+ /**
12
+ * Type of a command.
13
+ */
14
+
15
+ /**
16
+ * Creates a MsgSource type.
17
+ */
18
+
19
+ /**
20
+ * The return type of the `init` function.
21
+ */
22
+
23
+ /**
24
+ * Type for the return value of the `update` function.
25
+ */
26
+
27
+ /**
28
+ * Type for mapping messages to functions.
29
+ * Use this type to create your update logic for the useElmish hook.
30
+ */
31
+
32
+ /**
33
+ * The return type of the `subscription` function.
34
+ * @template TMessage The type of the messages discriminated union.
35
+ */
36
+
37
+ function subscriptionIsFunctionArray(subscription) {
38
+ return typeof subscription[0] === "function";
39
+ }
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXkiLCJzdWJzY3JpcHRpb24iXSwic291cmNlcyI6WyIuLi9zcmMvVHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsidHlwZSBOdWxsYWJsZTxUVHlwZT4gPSBUVHlwZSB8IG51bGw7XG5cbmludGVyZmFjZSBNZXNzYWdlIHtcblx0bmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFR5cGUgb2YgdGhlIGRpc3BhdGNoIGZ1bmN0aW9uLlxuICovXG50eXBlIERpc3BhdGNoPFRNZXNzYWdlPiA9IChtc2c6IFRNZXNzYWdlKSA9PiB2b2lkO1xuXG50eXBlIEZhbGxiYWNrSGFuZGxlciA9IChlcnJvcj86IEVycm9yKSA9PiB2b2lkO1xudHlwZSBTdWI8VE1zZz4gPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRNc2c+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcikgPT4gdm9pZDtcblxuLyoqXG4gKiBUeXBlIG9mIGEgY29tbWFuZC5cbiAqL1xudHlwZSBDbWQ8VE1lc3NhZ2U+ID0gU3ViPFRNZXNzYWdlPltdO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBNc2dTb3VyY2UgdHlwZS5cbiAqL1xuaW50ZXJmYWNlIE1zZ1NvdXJjZTxUU291cmNlIGV4dGVuZHMgc3RyaW5nPiB7XG5cdHNvdXJjZTogVFNvdXJjZTtcbn1cblxuLyoqXG4gKiBUaGUgcmV0dXJuIHR5cGUgb2YgdGhlIGBpbml0YCBmdW5jdGlvbi5cbiAqL1xudHlwZSBJbml0UmVzdWx0PFRNb2RlbCwgVE1lc3NhZ2U+ID0gW1RNb2RlbCwgLi4uKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW11dO1xuXG50eXBlIEluaXRGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0gKHByb3BzOiBUUHJvcHMpID0+IEluaXRSZXN1bHQ8VE1vZGVsLCBUTWVzc2FnZT47XG5cbi8qKlxuICogVHlwZSBmb3IgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgYHVwZGF0ZWAgZnVuY3Rpb24uXG4gKi9cbnR5cGUgVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiA9IFtQYXJ0aWFsPFRNb2RlbD4sIC4uLihDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdXTtcblxudHlwZSBEZWZlckZ1bmN0aW9uPFRNb2RlbCwgVE1lc3NhZ2U+ID0gKG1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4sIC4uLmNvbW1hbmRzOiAoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXSkgPT4gdm9pZDtcbnR5cGUgQ2FsbEJhc2VGdW5jdGlvbjxUTW9kZWwsIFRQcm9wcywgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiA9IChcblx0Zm46IChcblx0XHRtc2c6IFRNZXNzYWdlLFxuXHRcdG1vZGVsOiBUTW9kZWwsXG5cdFx0cHJvcHM6IFRQcm9wcyxcblx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9zdXNwaWNpb3VzL25vRXhwbGljaXRBbnk6IGFueSBpcyBuZWVkZWQgaGVyZSB0byBhbGxvdyBvcHRpb25zIG9mIGFueSB0eXBlXG5cdFx0Li4uYXJnczogYW55W11cblx0KSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgTWVzc2FnZT4sXG4pID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT47XG5cbnR5cGUgVXBkYXRlTWFwRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4gPSAoXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsOiBUTW9kZWwsXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG5pbnRlcmZhY2UgVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRTcGVjaWZpY01lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlID0gVE1lc3NhZ2U+IHtcblx0ZGVmZXI6IERlZmVyRnVuY3Rpb248VE1vZGVsLCBUTWVzc2FnZT47XG5cdGNhbGxCYXNlOiBDYWxsQmFzZUZ1bmN0aW9uPFRNb2RlbCwgVFByb3BzLCBUU3BlY2lmaWNNZXNzYWdlPjtcbn1cblxudHlwZSBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiA9IChcblx0bW9kZWw6IFRNb2RlbCxcblx0bXNnOiBUTWVzc2FnZSxcblx0cHJvcHM6IFRQcm9wcyxcblx0b3B0aW9uczogVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4pID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT47XG5cbi8qKlxuICogVHlwZSBmb3IgbWFwcGluZyBtZXNzYWdlcyB0byBmdW5jdGlvbnMuXG4gKiBVc2UgdGhpcyB0eXBlIHRvIGNyZWF0ZSB5b3VyIHVwZGF0ZSBsb2dpYyBmb3IgdGhlIHVzZUVsbWlzaCBob29rLlxuICovXG50eXBlIFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiA9IHtcblx0W1RNZXNzYWdlTmFtZSBpbiBUTWVzc2FnZVtcIm5hbWVcIl1dOiAoXG5cdFx0bXNnOiBUTWVzc2FnZSAmIHsgbmFtZTogVE1lc3NhZ2VOYW1lIH0sXG5cdFx0bW9kZWw6IFRNb2RlbCxcblx0XHRwcm9wczogVFByb3BzLFxuXHRcdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UsIFRNZXNzYWdlICYgeyBuYW1lOiBUTWVzc2FnZU5hbWUgfT4sXG5cdCkgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPjtcbn07XG5cbi8qKlxuICogVGhlIHJldHVybiB0eXBlIG9mIHRoZSBgc3Vic2NyaXB0aW9uYCBmdW5jdGlvbi5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqL1xudHlwZSBTdWJzY3JpcHRpb25SZXN1bHQ8VE1lc3NhZ2U+ID0gW0NtZDxUTWVzc2FnZT4sICgoKSA9PiB2b2lkKT9dIHwgU3Vic2NyaXB0aW9uRnVuY3Rpb248VE1lc3NhZ2U+W107XG50eXBlIFN1YnNjcmlwdGlvbkZ1bmN0aW9uPFRNZXNzYWdlPiA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+KSA9PiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG50eXBlIFN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0gKG1vZGVsOiBUTW9kZWwsIHByb3BzOiBUUHJvcHMpID0+IFN1YnNjcmlwdGlvblJlc3VsdDxUTWVzc2FnZT47XG5cbmZ1bmN0aW9uIHN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheShzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvblJlc3VsdDx1bmtub3duPik6IHN1YnNjcmlwdGlvbiBpcyBTdWJzY3JpcHRpb25GdW5jdGlvbjx1bmtub3duPltdIHtcblx0cmV0dXJuIHR5cGVvZiBzdWJzY3JpcHRpb25bMF0gPT09IFwiZnVuY3Rpb25cIjtcbn1cblxuZXhwb3J0IHR5cGUge1xuXHRDYWxsQmFzZUZ1bmN0aW9uLFxuXHRDbWQsXG5cdERlZmVyRnVuY3Rpb24sXG5cdERpc3BhdGNoLFxuXHRGYWxsYmFja0hhbmRsZXIsXG5cdEluaXRGdW5jdGlvbixcblx0SW5pdFJlc3VsdCxcblx0TWVzc2FnZSxcblx0TXNnU291cmNlLFxuXHROdWxsYWJsZSxcblx0U3ViLFxuXHRTdWJzY3JpcHRpb24sXG5cdFN1YnNjcmlwdGlvbkZ1bmN0aW9uLFxuXHRTdWJzY3JpcHRpb25SZXN1bHQsXG5cdFVwZGF0ZUZ1bmN0aW9uLFxuXHRVcGRhdGVGdW5jdGlvbk9wdGlvbnMsXG5cdFVwZGF0ZU1hcCxcblx0VXBkYXRlTWFwRnVuY3Rpb24sXG5cdFVwZGF0ZVJldHVyblR5cGUsXG59O1xuXG5leHBvcnQgeyBzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXkgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBTUE7QUFDQTtBQUNBOztBQU1BO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7O0FBS0E7QUFDQTtBQUNBOztBQUtBO0FBQ0E7QUFDQTs7QUFpQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBVUE7QUFDQTtBQUNBO0FBQ0E7O0FBS0EsU0FBU0EsMkJBQTJCQSxDQUFDQyxZQUF5QyxFQUFtRDtFQUNoSSxPQUFPLE9BQU9BLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxVQUFVO0FBQzdDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,28 @@
1
+ import type { Immutable } from "immer";
2
+ import type { Cmd, Message, SubscriptionResult } from "../Types";
3
+ type DraftModelFunction<TModel> = (draft: TModel) => void;
4
+ /**
5
+ * Type for the return value of the `update` function.
6
+ */
7
+ type UpdateReturnType<TModel, TMessage> = [DraftModelFunction<TModel> | null | undefined, ...(Cmd<TMessage> | undefined)[]] | [];
8
+ type DeferFunction<TModel, TMessage> = (draftFn: DraftModelFunction<TModel> | null | undefined, ...commands: (Cmd<TMessage> | undefined)[]) => void;
9
+ type CallBaseFunction<TModel, TProps, TMessage> = (fn: (msg: TMessage, model: Immutable<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>) => UpdateReturnType<TModel, Message>) => UpdateReturnType<TModel, TMessage>;
10
+ type UpdateMapFunction<TProps, TModel, TMessage> = (msg: TMessage, model: Immutable<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>) => UpdateReturnType<TModel, TMessage>;
11
+ interface UpdateFunctionOptions<TProps, TModel, TMessage> {
12
+ defer: DeferFunction<TModel, TMessage>;
13
+ callBase: CallBaseFunction<TModel, TProps, TMessage>;
14
+ }
15
+ type UpdateFunction<TProps, TModel, TMessage extends Message> = (model: Immutable<TModel>, msg: TMessage, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>) => UpdateReturnType<TModel, TMessage>;
16
+ /**
17
+ * Type for mapping messages to functions.
18
+ * Use this type to create your update logic for the useElmish hook.
19
+ */
20
+ type UpdateMap<TProps, TModel, TMessage extends Message> = {
21
+ [TMessageName in TMessage["name"]]: (msg: TMessage & {
22
+ name: TMessageName;
23
+ }, model: Immutable<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage & {
24
+ name: TMessageName;
25
+ }>) => UpdateReturnType<TModel, TMessage>;
26
+ };
27
+ type Subscription<TProps, TModel, TMessage> = (model: Immutable<TModel>, props: TProps) => SubscriptionResult<TMessage>;
28
+ export type { CallBaseFunction, DeferFunction, DraftModelFunction, Subscription, UpdateFunction, UpdateFunctionOptions, UpdateMap, UpdateMapFunction, UpdateReturnType, };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltbXV0YWJsZS9UeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEltbXV0YWJsZSB9IGZyb20gXCJpbW1lclwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIE1lc3NhZ2UsIFN1YnNjcmlwdGlvblJlc3VsdCB9IGZyb20gXCIuLi9UeXBlc1wiO1xuXG50eXBlIERyYWZ0TW9kZWxGdW5jdGlvbjxUTW9kZWw+ID0gKGRyYWZ0OiBUTW9kZWwpID0+IHZvaWQ7XG5cbi8qKlxuICogVHlwZSBmb3IgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgYHVwZGF0ZWAgZnVuY3Rpb24uXG4gKi9cbnR5cGUgVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiA9IFtEcmFmdE1vZGVsRnVuY3Rpb248VE1vZGVsPiB8IG51bGwgfCB1bmRlZmluZWQsIC4uLihDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdXSB8IFtdO1xuXG50eXBlIERlZmVyRnVuY3Rpb248VE1vZGVsLCBUTWVzc2FnZT4gPSAoXG5cdGRyYWZ0Rm46IERyYWZ0TW9kZWxGdW5jdGlvbjxUTW9kZWw+IHwgbnVsbCB8IHVuZGVmaW5lZCxcblx0Li4uY29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdXG4pID0+IHZvaWQ7XG50eXBlIENhbGxCYXNlRnVuY3Rpb248VE1vZGVsLCBUUHJvcHMsIFRNZXNzYWdlPiA9IChcblx0Zm46IChcblx0XHRtc2c6IFRNZXNzYWdlLFxuXHRcdG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPixcblx0XHRwcm9wczogVFByb3BzLFxuXHRcdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHQpID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBNZXNzYWdlPixcbikgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPjtcblxudHlwZSBVcGRhdGVNYXBGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0gKFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG5pbnRlcmZhY2UgVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4ge1xuXHRkZWZlcjogRGVmZXJGdW5jdGlvbjxUTW9kZWwsIFRNZXNzYWdlPjtcblx0Y2FsbEJhc2U6IENhbGxCYXNlRnVuY3Rpb248VE1vZGVsLCBUUHJvcHMsIFRNZXNzYWdlPjtcbn1cblxudHlwZSBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiA9IChcblx0bW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+LFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbikgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPjtcblxuLyoqXG4gKiBUeXBlIGZvciBtYXBwaW5nIG1lc3NhZ2VzIHRvIGZ1bmN0aW9ucy5cbiAqIFVzZSB0aGlzIHR5cGUgdG8gY3JlYXRlIHlvdXIgdXBkYXRlIGxvZ2ljIGZvciB0aGUgdXNlRWxtaXNoIGhvb2suXG4gKi9cbnR5cGUgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+ID0ge1xuXHRbVE1lc3NhZ2VOYW1lIGluIFRNZXNzYWdlW1wibmFtZVwiXV06IChcblx0XHRtc2c6IFRNZXNzYWdlICYgeyBuYW1lOiBUTWVzc2FnZU5hbWUgfSxcblx0XHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdFx0cHJvcHM6IFRQcm9wcyxcblx0XHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlICYgeyBuYW1lOiBUTWVzc2FnZU5hbWUgfT4sXG5cdCkgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPjtcbn07XG5cbnR5cGUgU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gPSAobW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+LCBwcm9wczogVFByb3BzKSA9PiBTdWJzY3JpcHRpb25SZXN1bHQ8VE1lc3NhZ2U+O1xuXG5leHBvcnQgdHlwZSB7XG5cdENhbGxCYXNlRnVuY3Rpb24sXG5cdERlZmVyRnVuY3Rpb24sXG5cdERyYWZ0TW9kZWxGdW5jdGlvbixcblx0U3Vic2NyaXB0aW9uLFxuXHRVcGRhdGVGdW5jdGlvbixcblx0VXBkYXRlRnVuY3Rpb25PcHRpb25zLFxuXHRVcGRhdGVNYXAsXG5cdFVwZGF0ZU1hcEZ1bmN0aW9uLFxuXHRVcGRhdGVSZXR1cm5UeXBlLFxufTtcbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,5 @@
1
+ import type { Immutable } from "immer";
2
+ import type { Message } from "../Types";
3
+ import type { CallBaseFunction, UpdateFunctionOptions } from "./Types";
4
+ declare function createCallBase<TProps, TModel, TMessage extends Message>(msg: TMessage, model: Immutable<TModel>, props: TProps, options: Omit<UpdateFunctionOptions<TProps, TModel, TMessage>, "callBase">): CallBaseFunction<TModel, TProps, TMessage>;
5
+ export { createCallBase };
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createCallBase = createCallBase;
7
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
+ 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
+ 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
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : 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
+ function createCallBase(msg, model, props, options) {
14
+ var _callBase = function callBase(fn) {
15
+ return (
16
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- The current TMessage must be extended from Message
17
+ fn(msg, model, props, _objectSpread(_objectSpread({}, options), {}, {
18
+ callBase: _callBase
19
+ }))
20
+ );
21
+ };
22
+ return _callBase;
23
+ }
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDYWxsQmFzZSIsIm1zZyIsIm1vZGVsIiwicHJvcHMiLCJvcHRpb25zIiwiY2FsbEJhc2UiLCJmbiIsIl9vYmplY3RTcHJlYWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1tdXRhYmxlL2NyZWF0ZUNhbGxCYXNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW1tdXRhYmxlIH0gZnJvbSBcImltbWVyXCI7XG5pbXBvcnQgdHlwZSB7IE1lc3NhZ2UgfSBmcm9tIFwiLi4vVHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgQ2FsbEJhc2VGdW5jdGlvbiwgVXBkYXRlRnVuY3Rpb25PcHRpb25zLCBVcGRhdGVSZXR1cm5UeXBlIH0gZnJvbSBcIi4vVHlwZXNcIjtcblxuZnVuY3Rpb24gY3JlYXRlQ2FsbEJhc2U8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPixcblx0cHJvcHM6IFRQcm9wcyxcblx0b3B0aW9uczogT21pdDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiwgXCJjYWxsQmFzZVwiPixcbik6IENhbGxCYXNlRnVuY3Rpb248VE1vZGVsLCBUUHJvcHMsIFRNZXNzYWdlPiB7XG5cdGNvbnN0IGNhbGxCYXNlOiBDYWxsQmFzZUZ1bmN0aW9uPFRNb2RlbCwgVFByb3BzLCBUTWVzc2FnZT4gPSAoZm4pID0+XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb24gLS0gVGhlIGN1cnJlbnQgVE1lc3NhZ2UgbXVzdCBiZSBleHRlbmRlZCBmcm9tIE1lc3NhZ2Vcblx0XHRmbihtc2csIG1vZGVsLCBwcm9wcywgeyAuLi5vcHRpb25zLCBjYWxsQmFzZSB9KSBhcyBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG5cdHJldHVybiBjYWxsQmFzZTtcbn1cblxuZXhwb3J0IHsgY3JlYXRlQ2FsbEJhc2UgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBSUEsU0FBU0EsY0FBY0EsQ0FDdEJDLEdBQWEsRUFDYkMsS0FBd0IsRUFDeEJDLEtBQWEsRUFDYkMsT0FBMEUsRUFDN0I7RUFDN0MsSUFBTUMsU0FBb0QsR0FBRyxTQUF2REEsUUFBb0RBLENBQUlDLEVBQUU7SUFBQTtNQUMvRDtNQUNBQSxFQUFFLENBQUNMLEdBQUcsRUFBRUMsS0FBSyxFQUFFQyxLQUFLLEVBQUFJLGFBQUEsQ0FBQUEsYUFBQSxLQUFPSCxPQUFPO1FBQUVDLFFBQVEsRUFBUkE7TUFBUSxFQUFFO0lBQUM7RUFBQSxDQUFzQztFQUV0RixPQUFPQSxTQUFRO0FBQ2hCIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,7 @@
1
+ import type { Cmd, Message } from "../Types";
2
+ import type { DeferFunction, DraftModelFunction } from "./Types";
3
+ declare function createDefer<TModel, TMessage extends Message>(): [
4
+ DeferFunction<TModel, TMessage>,
5
+ () => [DraftModelFunction<TModel>[], (Cmd<TMessage> | undefined)[]]
6
+ ];
7
+ export { createDefer };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createDefer = createDefer;
7
+ function createDefer() {
8
+ var draftFunctions = [];
9
+ var deferredCommands = [];
10
+ var defer = function defer(tempDraftFn) {
11
+ if (tempDraftFn) {
12
+ draftFunctions.push(tempDraftFn);
13
+ }
14
+ for (var _len = arguments.length, tempDeferredCommands = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
15
+ tempDeferredCommands[_key - 1] = arguments[_key];
16
+ }
17
+ deferredCommands.push.apply(deferredCommands, tempDeferredCommands);
18
+ };
19
+ return [defer, function () {
20
+ return [draftFunctions, deferredCommands];
21
+ }];
22
+ }
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVEZWZlciIsImRyYWZ0RnVuY3Rpb25zIiwiZGVmZXJyZWRDb21tYW5kcyIsImRlZmVyIiwidGVtcERyYWZ0Rm4iLCJwdXNoIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInRlbXBEZWZlcnJlZENvbW1hbmRzIiwiQXJyYXkiLCJfa2V5IiwiYXBwbHkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1tdXRhYmxlL2NyZWF0ZURlZmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ21kLCBNZXNzYWdlIH0gZnJvbSBcIi4uL1R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IERlZmVyRnVuY3Rpb24sIERyYWZ0TW9kZWxGdW5jdGlvbiB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbmZ1bmN0aW9uIGNyZWF0ZURlZmVyPFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPigpOiBbXG5cdERlZmVyRnVuY3Rpb248VE1vZGVsLCBUTWVzc2FnZT4sXG5cdCgpID0+IFtEcmFmdE1vZGVsRnVuY3Rpb248VE1vZGVsPltdLCAoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXV0sXG5dIHtcblx0Y29uc3QgZHJhZnRGdW5jdGlvbnM6IERyYWZ0TW9kZWxGdW5jdGlvbjxUTW9kZWw+W10gPSBbXTtcblx0Y29uc3QgZGVmZXJyZWRDb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW10gPSBbXTtcblxuXHRjb25zdCBkZWZlcjogRGVmZXJGdW5jdGlvbjxUTW9kZWwsIFRNZXNzYWdlPiA9ICh0ZW1wRHJhZnRGbiwgLi4udGVtcERlZmVycmVkQ29tbWFuZHMpID0+IHtcblx0XHRpZiAodGVtcERyYWZ0Rm4pIHtcblx0XHRcdGRyYWZ0RnVuY3Rpb25zLnB1c2godGVtcERyYWZ0Rm4pO1xuXHRcdH1cblxuXHRcdGRlZmVycmVkQ29tbWFuZHMucHVzaCguLi50ZW1wRGVmZXJyZWRDb21tYW5kcyk7XG5cdH07XG5cblx0cmV0dXJuIFtkZWZlciwgKCkgPT4gW2RyYWZ0RnVuY3Rpb25zLCBkZWZlcnJlZENvbW1hbmRzXV07XG59XG5cbmV4cG9ydCB7IGNyZWF0ZURlZmVyIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBLFNBQVNBLFdBQVdBLENBQUEsRUFHbEI7RUFDRCxJQUFNQyxjQUE0QyxHQUFHLEVBQUU7RUFDdkQsSUFBTUMsZ0JBQStDLEdBQUcsRUFBRTtFQUUxRCxJQUFNQyxLQUFzQyxHQUFHLFNBQXpDQSxLQUFzQ0EsQ0FBSUMsV0FBVyxFQUE4QjtJQUN4RixJQUFJQSxXQUFXLEVBQUU7TUFDaEJILGNBQWMsQ0FBQ0ksSUFBSSxDQUFDRCxXQUFXLENBQUM7SUFDakM7SUFBQyxTQUFBRSxJQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxFQUg4REMsb0JBQW9CLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxPQUFBQSxJQUFBLFdBQUFLLElBQUEsTUFBQUEsSUFBQSxHQUFBTCxJQUFBLEVBQUFLLElBQUE7TUFBcEJGLG9CQUFvQixDQUFBRSxJQUFBLFFBQUFKLFNBQUEsQ0FBQUksSUFBQTtJQUFBO0lBS25GVCxnQkFBZ0IsQ0FBQ0csSUFBSSxDQUFBTyxLQUFBLENBQXJCVixnQkFBZ0IsRUFBU08sb0JBQW9CLENBQUM7RUFDL0MsQ0FBQztFQUVELE9BQU8sQ0FBQ04sS0FBSyxFQUFFO0lBQUEsT0FBTSxDQUFDRixjQUFjLEVBQUVDLGdCQUFnQixDQUFDO0VBQUEsRUFBQztBQUN6RCIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,7 @@
1
+ export { cmd } from "../cmd";
2
+ export { errorHandler, errorMsg, handleError, type ErrorMessage } from "../ErrorHandling";
3
+ export { init, type ElmOptions, type Logger } from "../Init";
4
+ export { mergeSubscriptions } from "../mergeSubscriptions";
5
+ export type { Cmd, Dispatch, InitResult, Message, SubscriptionResult, } from "../Types";
6
+ export type { UpdateFunctionOptions, UpdateMap, UpdateReturnType, } from "./Types";
7
+ export { useElmish, type UseElmishOptions } from "./useElmish";
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "cmd", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _cmd.cmd;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "errorHandler", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _ErrorHandling.errorHandler;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "errorMsg", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _ErrorHandling.errorMsg;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "handleError", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _ErrorHandling.handleError;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "init", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _Init.init;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "mergeSubscriptions", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _mergeSubscriptions.mergeSubscriptions;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "useElmish", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _useElmish.useElmish;
46
+ }
47
+ });
48
+ var _cmd = require("../cmd");
49
+ var _ErrorHandling = require("../ErrorHandling");
50
+ var _Init = require("../Init");
51
+ var _mergeSubscriptions = require("../mergeSubscriptions");
52
+ var _useElmish = require("./useElmish");
53
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY21kIiwicmVxdWlyZSIsIl9FcnJvckhhbmRsaW5nIiwiX0luaXQiLCJfbWVyZ2VTdWJzY3JpcHRpb25zIiwiX3VzZUVsbWlzaCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbW11dGFibGUvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgY21kIH0gZnJvbSBcIi4uL2NtZFwiO1xuZXhwb3J0IHsgZXJyb3JIYW5kbGVyLCBlcnJvck1zZywgaGFuZGxlRXJyb3IsIHR5cGUgRXJyb3JNZXNzYWdlIH0gZnJvbSBcIi4uL0Vycm9ySGFuZGxpbmdcIjtcbmV4cG9ydCB7IGluaXQsIHR5cGUgRWxtT3B0aW9ucywgdHlwZSBMb2dnZXIgfSBmcm9tIFwiLi4vSW5pdFwiO1xuZXhwb3J0IHsgbWVyZ2VTdWJzY3JpcHRpb25zIH0gZnJvbSBcIi4uL21lcmdlU3Vic2NyaXB0aW9uc1wiO1xuZXhwb3J0IHR5cGUge1xuXHRDbWQsXG5cdERpc3BhdGNoLFxuXHRJbml0UmVzdWx0LFxuXHRNZXNzYWdlLFxuXHRTdWJzY3JpcHRpb25SZXN1bHQsXG59IGZyb20gXCIuLi9UeXBlc1wiO1xuZXhwb3J0IHR5cGUge1xuXHRVcGRhdGVGdW5jdGlvbk9wdGlvbnMsXG5cdFVwZGF0ZU1hcCxcblx0VXBkYXRlUmV0dXJuVHlwZSxcbn0gZnJvbSBcIi4vVHlwZXNcIjtcbmV4cG9ydCB7IHVzZUVsbWlzaCwgdHlwZSBVc2VFbG1pc2hPcHRpb25zIH0gZnJvbSBcIi4vdXNlRWxtaXNoXCI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsSUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsY0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsbUJBQUEsR0FBQUgsT0FBQTtBQWFBLElBQUFJLFVBQUEsR0FBQUosT0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,49 @@
1
+ import { type Immutable } from "immer";
2
+ import { type Dispatch, type InitFunction, type Message } from "../Types";
3
+ import type { Subscription, UpdateFunction, UpdateFunctionOptions, UpdateMap, UpdateReturnType } from "./Types";
4
+ /**
5
+ * Options for the `useElmish` hook.
6
+ * @interface UseElmishOptions
7
+ * @template TProps The type of the props.
8
+ * @template TModel The type of the model.
9
+ * @template TMessage The type of the messages discriminated union.
10
+ */
11
+ interface UseElmishOptions<TProps, TModel, TMessage extends Message> {
12
+ /**
13
+ * The name of the component. This is used for logging only.
14
+ * @type {string}
15
+ */
16
+ name: string;
17
+ /**
18
+ * The props passed to the component.
19
+ * @type {TProps}
20
+ */
21
+ props: TProps;
22
+ /**
23
+ * The function to initialize the components model. This function is only called once.
24
+ * @type {InitFunction<TProps, TModel, TMessage>}
25
+ */
26
+ init: InitFunction<TProps, TModel, TMessage>;
27
+ /**
28
+ * The `update` function or update map object.
29
+ * @type {(UpdateFunction<TProps, TModel, TMessage> | UpdateMap<TProps, TModel, TMessage>)}
30
+ */
31
+ update: UpdateFunction<TProps, TModel, TMessage> | UpdateMap<TProps, TModel, TMessage>;
32
+ /**
33
+ * The optional `subscription` function. This function is only called once.
34
+ * @type {(UpdateFunction<TProps, TModel, TMessage> | UpdateMap<TProps, TModel, TMessage>)}
35
+ */
36
+ subscription?: Subscription<TProps, TModel, TMessage>;
37
+ }
38
+ /**
39
+ * Hook to use the Elm architecture pattern in a function component.
40
+ * @param {UseElmishOptions} options The options passed the the hook.
41
+ * @returns A tuple containing the current model and the dispatcher.
42
+ * @example
43
+ * const [model, dispatch] = useElmish({ props, init, update, name: "MyComponent" });
44
+ */
45
+ declare function useElmish<TProps, TModel, TMessage extends Message>({ name, props, init, update, subscription, }: UseElmishOptions<TProps, TModel, TMessage>): [Immutable<TModel>, Dispatch<TMessage>];
46
+ declare function callUpdate<TProps, TModel, TMessage extends Message>(update: UpdateFunction<TProps, TModel, TMessage> | UpdateMap<TProps, TModel, TMessage>, msg: TMessage, model: Immutable<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>): UpdateReturnType<TModel, TMessage>;
47
+ declare function callUpdateMap<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>, msg: TMessage, model: Immutable<TModel>, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>): UpdateReturnType<TModel, TMessage>;
48
+ export type { UseElmishOptions };
49
+ export { callUpdate, callUpdateMap, useElmish };
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.callUpdate = callUpdate;
7
+ exports.callUpdateMap = callUpdateMap;
8
+ exports.useElmish = useElmish;
9
+ var _immer = require("immer");
10
+ var _react = require("react");
11
+ var _Common = require("../Common");
12
+ var _fakeOptions = require("../fakeOptions");
13
+ var _Init = require("../Init");
14
+ var _reduxDevTools = require("../reduxDevTools");
15
+ var _Types = require("../Types");
16
+ var _createCallBase = require("./createCallBase");
17
+ var _createDefer3 = require("./createDefer");
18
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
19
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
20
+ 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."); }
21
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
22
+ function _toArray(r) { return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest(); }
23
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
24
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
25
+ 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."); }
26
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
27
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
28
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
29
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /* eslint-disable react-hooks/exhaustive-deps */
30
+ /**
31
+ * Options for the `useElmish` hook.
32
+ * @interface UseElmishOptions
33
+ * @template TProps The type of the props.
34
+ * @template TModel The type of the model.
35
+ * @template TMessage The type of the messages discriminated union.
36
+ */
37
+
38
+ /**
39
+ * Hook to use the Elm architecture pattern in a function component.
40
+ * @param {UseElmishOptions} options The options passed the the hook.
41
+ * @returns A tuple containing the current model and the dispatcher.
42
+ * @example
43
+ * const [model, dispatch] = useElmish({ props, init, update, name: "MyComponent" });
44
+ */
45
+ function useElmish(_ref) {
46
+ var _fakeOptions$dispatch;
47
+ var name = _ref.name,
48
+ props = _ref.props,
49
+ init = _ref.init,
50
+ update = _ref.update,
51
+ subscription = _ref.subscription;
52
+ var running = false;
53
+ var buffer = [];
54
+ var _useState = (0, _react.useState)(null),
55
+ _useState2 = _slicedToArray(_useState, 2),
56
+ model = _useState2[0],
57
+ setModel = _useState2[1];
58
+ var propsRef = (0, _react.useRef)(props);
59
+ var isMountedRef = (0, _react.useRef)(true);
60
+ var devTools = (0, _react.useRef)(null);
61
+ (0, _react.useEffect)(function () {
62
+ var reduxUnsubscribe;
63
+ if (_Init.Services.enableDevTools === true && (0, _reduxDevTools.isReduxDevToolsEnabled)(window)) {
64
+ // eslint-disable-next-line no-underscore-dangle
65
+ devTools.current = window.__REDUX_DEVTOOLS_EXTENSION__.connect({
66
+ name: name,
67
+ serialize: {
68
+ options: true
69
+ }
70
+ });
71
+ reduxUnsubscribe = devTools.current.subscribe(function (message) {
72
+ if (message.type === "DISPATCH" && message.payload.type === "JUMP_TO_ACTION") {
73
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
74
+ setModel(JSON.parse(message.state));
75
+ }
76
+ });
77
+ }
78
+ isMountedRef.current = true;
79
+ return function () {
80
+ var _reduxUnsubscribe;
81
+ isMountedRef.current = false;
82
+ (_reduxUnsubscribe = reduxUnsubscribe) === null || _reduxUnsubscribe === void 0 || _reduxUnsubscribe();
83
+ };
84
+ }, [name]);
85
+ var currentModel = model;
86
+ if (propsRef.current !== props) {
87
+ propsRef.current = props;
88
+ }
89
+ var fakeOptions = (0, _fakeOptions.getFakeOptionsOnce)();
90
+ var dispatch = (0, _react.useCallback)((_fakeOptions$dispatch = fakeOptions === null || fakeOptions === void 0 ? void 0 : fakeOptions.dispatch) !== null && _fakeOptions$dispatch !== void 0 ? _fakeOptions$dispatch : function (msg) {
91
+ if (running) {
92
+ buffer.push(msg);
93
+ return;
94
+ }
95
+ running = true;
96
+ var nextMsg = msg;
97
+ var modified = false;
98
+ do {
99
+ if (handleMessage(nextMsg)) {
100
+ modified = true;
101
+ }
102
+ if (devTools.current) {
103
+ devTools.current.send(nextMsg.name, currentModel);
104
+ }
105
+ nextMsg = buffer.shift();
106
+ } while (nextMsg);
107
+ running = false;
108
+ if (isMountedRef.current && modified) {
109
+ setModel(function () {
110
+ var _Services$logger;
111
+ (_Services$logger = _Init.Services.logger) === null || _Services$logger === void 0 || _Services$logger.debug("Update model for", name, currentModel);
112
+ return currentModel;
113
+ });
114
+ }
115
+ }, []);
116
+ var initializedModel = model;
117
+ if (!initializedModel) {
118
+ var _devTools$current, _Services$logger2;
119
+ var _ref2 = fakeOptions !== null && fakeOptions !== void 0 && fakeOptions.model ? [fakeOptions.model] : init(props),
120
+ _ref3 = _toArray(_ref2),
121
+ initModel = _ref3[0],
122
+ initCommands = _ref3.slice(1);
123
+ initializedModel = (0, _immer.castImmutable)((0, _immer.freeze)(initModel, true));
124
+ currentModel = initializedModel;
125
+ setModel(initializedModel);
126
+ (_devTools$current = devTools.current) === null || _devTools$current === void 0 || _devTools$current.init(initializedModel);
127
+ (_Services$logger2 = _Init.Services.logger) === null || _Services$logger2 === void 0 || _Services$logger2.debug("Initial model for", name, initializedModel);
128
+ _Common.execCmd.apply(void 0, [dispatch].concat(_toConsumableArray(initCommands)));
129
+ }
130
+
131
+ // biome-ignore lint/correctness/useExhaustiveDependencies: We want to run this effect only once
132
+ (0, _react.useEffect)(function () {
133
+ if (subscription) {
134
+ var subscriptionResult = subscription(initializedModel, props);
135
+ if ((0, _Types.subscriptionIsFunctionArray)(subscriptionResult)) {
136
+ var destructors = subscriptionResult.map(function (sub) {
137
+ return sub(dispatch);
138
+ }).filter(function (destructor) {
139
+ return destructor !== undefined;
140
+ });
141
+ return function combinedDestructor() {
142
+ var _iterator = _createForOfIteratorHelper(destructors),
143
+ _step;
144
+ try {
145
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
146
+ var _destructor = _step.value;
147
+ _destructor();
148
+ }
149
+ } catch (err) {
150
+ _iterator.e(err);
151
+ } finally {
152
+ _iterator.f();
153
+ }
154
+ };
155
+ }
156
+ var _subscriptionResult = _slicedToArray(subscriptionResult, 2),
157
+ subCmd = _subscriptionResult[0],
158
+ destructor = _subscriptionResult[1];
159
+ (0, _Common.execCmd)(dispatch, subCmd);
160
+ return destructor;
161
+ }
162
+ }, []);
163
+ return [initializedModel, dispatch];
164
+ function handleMessage(nextMsg) {
165
+ if (!currentModel) {
166
+ return false;
167
+ }
168
+ var modified = false;
169
+ (0, _Common.logMessage)(name, nextMsg);
170
+ var _createDefer = (0, _createDefer3.createDefer)(),
171
+ _createDefer2 = _slicedToArray(_createDefer, 2),
172
+ defer = _createDefer2[0],
173
+ getDeferred = _createDefer2[1];
174
+ var callBase = (0, _createCallBase.createCallBase)(nextMsg, currentModel, propsRef.current, {
175
+ defer: defer
176
+ });
177
+ var _callUpdate = callUpdate(update, nextMsg, currentModel, propsRef.current, {
178
+ defer: defer,
179
+ callBase: callBase
180
+ }),
181
+ _callUpdate2 = _toArray(_callUpdate),
182
+ draftFn = _callUpdate2[0],
183
+ commands = _callUpdate2.slice(1);
184
+ var _getDeferred = getDeferred(),
185
+ _getDeferred2 = _slicedToArray(_getDeferred, 2),
186
+ deferredDraftFunctions = _getDeferred2[0],
187
+ deferredCommands = _getDeferred2[1];
188
+ var _iterator2 = _createForOfIteratorHelper(deferredDraftFunctions),
189
+ _step2;
190
+ try {
191
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
192
+ var deferredDraftFn = _step2.value;
193
+ currentModel = (0, _immer.produce)(currentModel, deferredDraftFn);
194
+ modified = true;
195
+ }
196
+ } catch (err) {
197
+ _iterator2.e(err);
198
+ } finally {
199
+ _iterator2.f();
200
+ }
201
+ if (draftFn) {
202
+ currentModel = (0, _immer.produce)(currentModel, draftFn);
203
+ modified = true;
204
+ }
205
+ _Common.execCmd.apply(void 0, [dispatch].concat(_toConsumableArray(commands), _toConsumableArray(deferredCommands)));
206
+ return modified;
207
+ }
208
+ }
209
+ function callUpdate(update, msg, model, props, options) {
210
+ if (typeof update === "function") {
211
+ return update(model, msg, props, options);
212
+ }
213
+ return callUpdateMap(update, msg, model, props, options);
214
+ }
215
+ function callUpdateMap(updateMap, msg, model, props, options) {
216
+ var msgName = msg.name;
217
+ return updateMap[msgName](msg, model, props, options);
218
+ }
219
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW1tZXIiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0NvbW1vbiIsIl9mYWtlT3B0aW9ucyIsIl9Jbml0IiwiX3JlZHV4RGV2VG9vbHMiLCJfVHlwZXMiLCJfY3JlYXRlQ2FsbEJhc2UiLCJfY3JlYXRlRGVmZXIzIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJyIiwiZSIsInQiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsIl9uIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZiIsIlR5cGVFcnJvciIsIm8iLCJhIiwidSIsImNhbGwiLCJuZXh0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIl9hcnJheUxpa2VUb0FycmF5IiwiX3RvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfbm9uSXRlcmFibGVSZXN0IiwiZnJvbSIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInRlc3QiLCJsIiwiaSIsIk9iamVjdCIsInB1c2giLCJ1c2VFbG1pc2giLCJfcmVmIiwiX2Zha2VPcHRpb25zJGRpc3BhdGNoIiwicHJvcHMiLCJpbml0IiwidXBkYXRlIiwic3Vic2NyaXB0aW9uIiwicnVubmluZyIsImJ1ZmZlciIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm1vZGVsIiwic2V0TW9kZWwiLCJwcm9wc1JlZiIsInVzZVJlZiIsImlzTW91bnRlZFJlZiIsImRldlRvb2xzIiwidXNlRWZmZWN0IiwicmVkdXhVbnN1YnNjcmliZSIsIlNlcnZpY2VzIiwiZW5hYmxlRGV2VG9vbHMiLCJpc1JlZHV4RGV2VG9vbHNFbmFibGVkIiwid2luZG93IiwiY3VycmVudCIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0Iiwic2VyaWFsaXplIiwib3B0aW9ucyIsInN1YnNjcmliZSIsIm1lc3NhZ2UiLCJ0eXBlIiwicGF5bG9hZCIsIkpTT04iLCJwYXJzZSIsInN0YXRlIiwiX3JlZHV4VW5zdWJzY3JpYmUiLCJjdXJyZW50TW9kZWwiLCJmYWtlT3B0aW9ucyIsImdldEZha2VPcHRpb25zT25jZSIsImRpc3BhdGNoIiwidXNlQ2FsbGJhY2siLCJtc2ciLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJoYW5kbGVNZXNzYWdlIiwic2VuZCIsInNoaWZ0IiwiX1NlcnZpY2VzJGxvZ2dlciIsImxvZ2dlciIsImRlYnVnIiwiaW5pdGlhbGl6ZWRNb2RlbCIsIl9kZXZUb29scyRjdXJyZW50IiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfcmVmMiIsIl9yZWYzIiwiaW5pdE1vZGVsIiwiaW5pdENvbW1hbmRzIiwiY2FzdEltbXV0YWJsZSIsImZyZWV6ZSIsImV4ZWNDbWQiLCJhcHBseSIsImNvbmNhdCIsInN1YnNjcmlwdGlvblJlc3VsdCIsInN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheSIsImRlc3RydWN0b3JzIiwibWFwIiwic3ViIiwiZmlsdGVyIiwiZGVzdHJ1Y3RvciIsInVuZGVmaW5lZCIsImNvbWJpbmVkRGVzdHJ1Y3RvciIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZXJyIiwiX3N1YnNjcmlwdGlvblJlc3VsdCIsInN1YkNtZCIsImxvZ01lc3NhZ2UiLCJfY3JlYXRlRGVmZXIiLCJjcmVhdGVEZWZlciIsIl9jcmVhdGVEZWZlcjIiLCJkZWZlciIsImdldERlZmVycmVkIiwiY2FsbEJhc2UiLCJjcmVhdGVDYWxsQmFzZSIsIl9jYWxsVXBkYXRlIiwiY2FsbFVwZGF0ZSIsIl9jYWxsVXBkYXRlMiIsImRyYWZ0Rm4iLCJjb21tYW5kcyIsIl9nZXREZWZlcnJlZCIsIl9nZXREZWZlcnJlZDIiLCJkZWZlcnJlZERyYWZ0RnVuY3Rpb25zIiwiZGVmZXJyZWRDb21tYW5kcyIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJkZWZlcnJlZERyYWZ0Rm4iLCJwcm9kdWNlIiwiY2FsbFVwZGF0ZU1hcCIsInVwZGF0ZU1hcCIsIm1zZ05hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1tdXRhYmxlL3VzZUVsbWlzaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHMgKi9cbmltcG9ydCB7IGNhc3RJbW11dGFibGUsIGZyZWV6ZSwgcHJvZHVjZSwgdHlwZSBJbW11dGFibGUgfSBmcm9tIFwiaW1tZXJcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGV4ZWNDbWQsIGxvZ01lc3NhZ2UgfSBmcm9tIFwiLi4vQ29tbW9uXCI7XG5pbXBvcnQgeyBnZXRGYWtlT3B0aW9uc09uY2UgfSBmcm9tIFwiLi4vZmFrZU9wdGlvbnNcIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4uL0luaXRcIjtcbmltcG9ydCB7IGlzUmVkdXhEZXZUb29sc0VuYWJsZWQsIHR5cGUgUmVkdXhEZXZUb29scyB9IGZyb20gXCIuLi9yZWR1eERldlRvb2xzXCI7XG5pbXBvcnQgeyBzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXksIHR5cGUgRGlzcGF0Y2gsIHR5cGUgSW5pdEZ1bmN0aW9uLCB0eXBlIE1lc3NhZ2UsIHR5cGUgTnVsbGFibGUgfSBmcm9tIFwiLi4vVHlwZXNcIjtcbmltcG9ydCB7IGNyZWF0ZUNhbGxCYXNlIH0gZnJvbSBcIi4vY3JlYXRlQ2FsbEJhc2VcIjtcbmltcG9ydCB7IGNyZWF0ZURlZmVyIH0gZnJvbSBcIi4vY3JlYXRlRGVmZXJcIjtcbmltcG9ydCB0eXBlIHsgU3Vic2NyaXB0aW9uLCBVcGRhdGVGdW5jdGlvbiwgVXBkYXRlRnVuY3Rpb25PcHRpb25zLCBVcGRhdGVNYXAsIFVwZGF0ZVJldHVyblR5cGUgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBgdXNlRWxtaXNoYCBob29rLlxuICogQGludGVyZmFjZSBVc2VFbG1pc2hPcHRpb25zXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqIEB0ZW1wbGF0ZSBUTW9kZWwgVGhlIHR5cGUgb2YgdGhlIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNZXNzYWdlIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlcyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5pbnRlcmZhY2UgVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiB7XG5cdC8qKlxuXHQgKiBUaGUgbmFtZSBvZiB0aGUgY29tcG9uZW50LiBUaGlzIGlzIHVzZWQgZm9yIGxvZ2dpbmcgb25seS5cblx0ICogQHR5cGUge3N0cmluZ31cblx0ICovXG5cdG5hbWU6IHN0cmluZztcblx0LyoqXG5cdCAqIFRoZSBwcm9wcyBwYXNzZWQgdG8gdGhlIGNvbXBvbmVudC5cblx0ICogQHR5cGUge1RQcm9wc31cblx0ICovXG5cdHByb3BzOiBUUHJvcHM7XG5cdC8qKlxuXHQgKiBUaGUgZnVuY3Rpb24gdG8gaW5pdGlhbGl6ZSB0aGUgY29tcG9uZW50cyBtb2RlbC4gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBvbmNlLlxuXHQgKiBAdHlwZSB7SW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT59XG5cdCAqL1xuXHRpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPjtcblx0LyoqXG5cdCAqIFRoZSBgdXBkYXRlYCBmdW5jdGlvbiBvciB1cGRhdGUgbWFwIG9iamVjdC5cblx0ICogQHR5cGUgeyhVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pfVxuXHQgKi9cblx0dXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG5cdC8qKlxuXHQgKiBUaGUgb3B0aW9uYWwgYHN1YnNjcmlwdGlvbmAgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb25jZS5cblx0ICogQHR5cGUgeyhVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pfVxuXHQgKi9cblx0c3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbi8qKlxuICogSG9vayB0byB1c2UgdGhlIEVsbSBhcmNoaXRlY3R1cmUgcGF0dGVybiBpbiBhIGZ1bmN0aW9uIGNvbXBvbmVudC5cbiAqIEBwYXJhbSB7VXNlRWxtaXNoT3B0aW9uc30gb3B0aW9ucyBUaGUgb3B0aW9ucyBwYXNzZWQgdGhlIHRoZSBob29rLlxuICogQHJldHVybnMgQSB0dXBsZSBjb250YWluaW5nIHRoZSBjdXJyZW50IG1vZGVsIGFuZCB0aGUgZGlzcGF0Y2hlci5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBbbW9kZWwsIGRpc3BhdGNoXSA9IHVzZUVsbWlzaCh7IHByb3BzLCBpbml0LCB1cGRhdGUsIG5hbWU6IFwiTXlDb21wb25lbnRcIiB9KTtcbiAqL1xuZnVuY3Rpb24gdXNlRWxtaXNoPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KHtcblx0bmFtZSxcblx0cHJvcHMsXG5cdGluaXQsXG5cdHVwZGF0ZSxcblx0c3Vic2NyaXB0aW9uLFxufTogVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KTogW0ltbXV0YWJsZTxUTW9kZWw+LCBEaXNwYXRjaDxUTWVzc2FnZT5dIHtcblx0bGV0IHJ1bm5pbmcgPSBmYWxzZTtcblx0Y29uc3QgYnVmZmVyOiBUTWVzc2FnZVtdID0gW107XG5cblx0Y29uc3QgW21vZGVsLCBzZXRNb2RlbF0gPSB1c2VTdGF0ZTxOdWxsYWJsZTxJbW11dGFibGU8VE1vZGVsPj4+KG51bGwpO1xuXHRjb25zdCBwcm9wc1JlZiA9IHVzZVJlZihwcm9wcyk7XG5cdGNvbnN0IGlzTW91bnRlZFJlZiA9IHVzZVJlZih0cnVlKTtcblxuXHRjb25zdCBkZXZUb29scyA9IHVzZVJlZjxSZWR1eERldlRvb2xzIHwgbnVsbD4obnVsbCk7XG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRsZXQgcmVkdXhVbnN1YnNjcmliZTogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuXG5cdFx0aWYgKFNlcnZpY2VzLmVuYWJsZURldlRvb2xzID09PSB0cnVlICYmIGlzUmVkdXhEZXZUb29sc0VuYWJsZWQod2luZG93KSkge1xuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG5cdFx0XHRkZXZUb29scy5jdXJyZW50ID0gd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18uY29ubmVjdCh7IG5hbWUsIHNlcmlhbGl6ZTogeyBvcHRpb25zOiB0cnVlIH0gfSk7XG5cblx0XHRcdHJlZHV4VW5zdWJzY3JpYmUgPSBkZXZUb29scy5jdXJyZW50LnN1YnNjcmliZSgobWVzc2FnZSkgPT4ge1xuXHRcdFx0XHRpZiAobWVzc2FnZS50eXBlID09PSBcIkRJU1BBVENIXCIgJiYgbWVzc2FnZS5wYXlsb2FkLnR5cGUgPT09IFwiSlVNUF9UT19BQ1RJT05cIikge1xuXHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uXG5cdFx0XHRcdFx0c2V0TW9kZWwoSlNPTi5wYXJzZShtZXNzYWdlLnN0YXRlKSBhcyBJbW11dGFibGU8VE1vZGVsPik7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdGlzTW91bnRlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcblxuXHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRpc01vdW50ZWRSZWYuY3VycmVudCA9IGZhbHNlO1xuXG5cdFx0XHRyZWR1eFVuc3Vic2NyaWJlPy4oKTtcblx0XHR9O1xuXHR9LCBbbmFtZV0pO1xuXG5cdGxldCBjdXJyZW50TW9kZWwgPSBtb2RlbDtcblxuXHRpZiAocHJvcHNSZWYuY3VycmVudCAhPT0gcHJvcHMpIHtcblx0XHRwcm9wc1JlZi5jdXJyZW50ID0gcHJvcHM7XG5cdH1cblxuXHRjb25zdCBmYWtlT3B0aW9ucyA9IGdldEZha2VPcHRpb25zT25jZTxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXHRjb25zdCBkaXNwYXRjaCA9IHVzZUNhbGxiYWNrKFxuXHRcdGZha2VPcHRpb25zPy5kaXNwYXRjaCA/P1xuXHRcdFx0KChtc2c6IFRNZXNzYWdlKTogdm9pZCA9PiB7XG5cdFx0XHRcdGlmIChydW5uaW5nKSB7XG5cdFx0XHRcdFx0YnVmZmVyLnB1c2gobXNnKTtcblxuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJ1bm5pbmcgPSB0cnVlO1xuXG5cdFx0XHRcdGxldCBuZXh0TXNnOiBUTWVzc2FnZSB8IHVuZGVmaW5lZCA9IG1zZztcblx0XHRcdFx0bGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cblx0XHRcdFx0ZG8ge1xuXHRcdFx0XHRcdGlmIChoYW5kbGVNZXNzYWdlKG5leHRNc2cpKSB7XG5cdFx0XHRcdFx0XHRtb2RpZmllZCA9IHRydWU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0aWYgKGRldlRvb2xzLmN1cnJlbnQpIHtcblx0XHRcdFx0XHRcdGRldlRvb2xzLmN1cnJlbnQuc2VuZChuZXh0TXNnLm5hbWUsIGN1cnJlbnRNb2RlbCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0bmV4dE1zZyA9IGJ1ZmZlci5zaGlmdCgpO1xuXHRcdFx0XHR9IHdoaWxlIChuZXh0TXNnKTtcblxuXHRcdFx0XHRydW5uaW5nID0gZmFsc2U7XG5cblx0XHRcdFx0aWYgKGlzTW91bnRlZFJlZi5jdXJyZW50ICYmIG1vZGlmaWVkKSB7XG5cdFx0XHRcdFx0c2V0TW9kZWwoKCkgPT4ge1xuXHRcdFx0XHRcdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIlVwZGF0ZSBtb2RlbCBmb3JcIiwgbmFtZSwgY3VycmVudE1vZGVsKTtcblxuXHRcdFx0XHRcdFx0cmV0dXJuIGN1cnJlbnRNb2RlbDtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSksXG5cdFx0W10sXG5cdCk7XG5cblx0bGV0IGluaXRpYWxpemVkTW9kZWwgPSBtb2RlbDtcblxuXHRpZiAoIWluaXRpYWxpemVkTW9kZWwpIHtcblx0XHRjb25zdCBbaW5pdE1vZGVsLCAuLi5pbml0Q29tbWFuZHNdID0gZmFrZU9wdGlvbnM/Lm1vZGVsID8gW2Zha2VPcHRpb25zLm1vZGVsXSA6IGluaXQocHJvcHMpO1xuXG5cdFx0aW5pdGlhbGl6ZWRNb2RlbCA9IGNhc3RJbW11dGFibGUoZnJlZXplKGluaXRNb2RlbCwgdHJ1ZSkpO1xuXHRcdGN1cnJlbnRNb2RlbCA9IGluaXRpYWxpemVkTW9kZWw7XG5cdFx0c2V0TW9kZWwoaW5pdGlhbGl6ZWRNb2RlbCk7XG5cblx0XHRkZXZUb29scy5jdXJyZW50Py5pbml0KGluaXRpYWxpemVkTW9kZWwpO1xuXG5cdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkluaXRpYWwgbW9kZWwgZm9yXCIsIG5hbWUsIGluaXRpYWxpemVkTW9kZWwpO1xuXG5cdFx0ZXhlY0NtZChkaXNwYXRjaCwgLi4uaW5pdENvbW1hbmRzKTtcblx0fVxuXG5cdC8vIGJpb21lLWlnbm9yZSBsaW50L2NvcnJlY3RuZXNzL3VzZUV4aGF1c3RpdmVEZXBlbmRlbmNpZXM6IFdlIHdhbnQgdG8gcnVuIHRoaXMgZWZmZWN0IG9ubHkgb25jZVxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmIChzdWJzY3JpcHRpb24pIHtcblx0XHRcdGNvbnN0IHN1YnNjcmlwdGlvblJlc3VsdCA9IHN1YnNjcmlwdGlvbihpbml0aWFsaXplZE1vZGVsLCBwcm9wcyk7XG5cblx0XHRcdGlmIChzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXkoc3Vic2NyaXB0aW9uUmVzdWx0KSkge1xuXHRcdFx0XHRjb25zdCBkZXN0cnVjdG9ycyA9IHN1YnNjcmlwdGlvblJlc3VsdC5tYXAoKHN1YikgPT4gc3ViKGRpc3BhdGNoKSkuZmlsdGVyKChkZXN0cnVjdG9yKSA9PiBkZXN0cnVjdG9yICE9PSB1bmRlZmluZWQpO1xuXG5cdFx0XHRcdHJldHVybiBmdW5jdGlvbiBjb21iaW5lZERlc3RydWN0b3IoKSB7XG5cdFx0XHRcdFx0Zm9yIChjb25zdCBkZXN0cnVjdG9yIG9mIGRlc3RydWN0b3JzKSB7XG5cdFx0XHRcdFx0XHRkZXN0cnVjdG9yKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBbc3ViQ21kLCBkZXN0cnVjdG9yXSA9IHN1YnNjcmlwdGlvblJlc3VsdDtcblxuXHRcdFx0ZXhlY0NtZChkaXNwYXRjaCwgc3ViQ21kKTtcblxuXHRcdFx0cmV0dXJuIGRlc3RydWN0b3I7XG5cdFx0fVxuXHR9LCBbXSk7XG5cblx0cmV0dXJuIFtpbml0aWFsaXplZE1vZGVsLCBkaXNwYXRjaF07XG5cblx0ZnVuY3Rpb24gaGFuZGxlTWVzc2FnZShuZXh0TXNnOiBUTWVzc2FnZSk6IGJvb2xlYW4ge1xuXHRcdGlmICghY3VycmVudE1vZGVsKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0bGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cblx0XHRsb2dNZXNzYWdlKG5hbWUsIG5leHRNc2cpO1xuXG5cdFx0Y29uc3QgW2RlZmVyLCBnZXREZWZlcnJlZF0gPSBjcmVhdGVEZWZlcjxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXHRcdGNvbnN0IGNhbGxCYXNlID0gY3JlYXRlQ2FsbEJhc2U8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPihuZXh0TXNnLCBjdXJyZW50TW9kZWwsIHByb3BzUmVmLmN1cnJlbnQsIHsgZGVmZXIgfSk7XG5cblx0XHRjb25zdCBbZHJhZnRGbiwgLi4uY29tbWFuZHNdID0gY2FsbFVwZGF0ZSh1cGRhdGUsIG5leHRNc2csIGN1cnJlbnRNb2RlbCwgcHJvcHNSZWYuY3VycmVudCwgeyBkZWZlciwgY2FsbEJhc2UgfSk7XG5cblx0XHRjb25zdCBbZGVmZXJyZWREcmFmdEZ1bmN0aW9ucywgZGVmZXJyZWRDb21tYW5kc10gPSBnZXREZWZlcnJlZCgpO1xuXG5cdFx0Zm9yIChjb25zdCBkZWZlcnJlZERyYWZ0Rm4gb2YgZGVmZXJyZWREcmFmdEZ1bmN0aW9ucykge1xuXHRcdFx0Y3VycmVudE1vZGVsID0gcHJvZHVjZShjdXJyZW50TW9kZWwsIGRlZmVycmVkRHJhZnRGbik7XG5cblx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHR9XG5cblx0XHRpZiAoZHJhZnRGbikge1xuXHRcdFx0Y3VycmVudE1vZGVsID0gcHJvZHVjZShjdXJyZW50TW9kZWwsIGRyYWZ0Rm4pO1xuXG5cdFx0XHRtb2RpZmllZCA9IHRydWU7XG5cdFx0fVxuXG5cdFx0ZXhlY0NtZChkaXNwYXRjaCwgLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHMpO1xuXG5cdFx0cmV0dXJuIG1vZGlmaWVkO1xuXHR9XG59XG5cbmZ1bmN0aW9uIGNhbGxVcGRhdGU8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdHVwZGF0ZTogVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKTogVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiB7XG5cdGlmICh0eXBlb2YgdXBkYXRlID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRyZXR1cm4gdXBkYXRlKG1vZGVsLCBtc2csIHByb3BzLCBvcHRpb25zKTtcblx0fVxuXG5cdHJldHVybiBjYWxsVXBkYXRlTWFwKHVwZGF0ZSwgbXNnLCBtb2RlbCwgcHJvcHMsIG9wdGlvbnMpO1xufVxuXG5mdW5jdGlvbiBjYWxsVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHR1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKTogVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiB7XG5cdGNvbnN0IG1zZ05hbWU6IFRNZXNzYWdlW1wibmFtZVwiXSA9IG1zZy5uYW1lO1xuXG5cdHJldHVybiB1cGRhdGVNYXBbbXNnTmFtZV0obXNnLCBtb2RlbCwgcHJvcHMsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgdHlwZSB7IFVzZUVsbWlzaE9wdGlvbnMgfTtcblxuZXhwb3J0IHsgY2FsbFVwZGF0ZSwgY2FsbFVwZGF0ZU1hcCwgdXNlRWxtaXNoIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssY0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFB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
@@ -0,0 +1 @@
1
+ export {};
package/dist/index.d.ts CHANGED
@@ -3,5 +3,5 @@ export { ElmComponent } from "./ElmComponent";
3
3
  export { errorHandler, errorMsg, handleError, type ErrorMessage } from "./ErrorHandling";
4
4
  export { init, type ElmOptions, type Logger } from "./Init";
5
5
  export { mergeSubscriptions } from "./mergeSubscriptions";
6
- export type { Cmd, Dispatch, InitResult, Message, MsgSource, UpdateFunctionOptions, UpdateMap, UpdateReturnType } from "./Types";
7
- export { useElmish, type SubscriptionResult, type UseElmishOptions } from "./useElmish";
6
+ export type { Cmd, Dispatch, InitResult, Message, MsgSource, SubscriptionResult, UpdateFunctionOptions, UpdateMap, UpdateReturnType, } from "./Types";
7
+ export { useElmish, type UseElmishOptions } from "./useElmish";
package/dist/index.js CHANGED
@@ -57,4 +57,4 @@ var _ErrorHandling = require("./ErrorHandling");
57
57
  var _Init = require("./Init");
58
58
  var _mergeSubscriptions = require("./mergeSubscriptions");
59
59
  var _useElmish = require("./useElmish");
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY21kIiwicmVxdWlyZSIsIl9FbG1Db21wb25lbnQiLCJfRXJyb3JIYW5kbGluZyIsIl9Jbml0IiwiX21lcmdlU3Vic2NyaXB0aW9ucyIsIl91c2VFbG1pc2giXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgY21kIH0gZnJvbSBcIi4vY21kXCI7XG5leHBvcnQgeyBFbG1Db21wb25lbnQgfSBmcm9tIFwiLi9FbG1Db21wb25lbnRcIjtcbmV4cG9ydCB7IGVycm9ySGFuZGxlciwgZXJyb3JNc2csIGhhbmRsZUVycm9yLCB0eXBlIEVycm9yTWVzc2FnZSB9IGZyb20gXCIuL0Vycm9ySGFuZGxpbmdcIjtcbmV4cG9ydCB7IGluaXQsIHR5cGUgRWxtT3B0aW9ucywgdHlwZSBMb2dnZXIgfSBmcm9tIFwiLi9Jbml0XCI7XG5leHBvcnQgeyBtZXJnZVN1YnNjcmlwdGlvbnMgfSBmcm9tIFwiLi9tZXJnZVN1YnNjcmlwdGlvbnNcIjtcbmV4cG9ydCB0eXBlIHsgQ21kLCBEaXNwYXRjaCwgSW5pdFJlc3VsdCwgTWVzc2FnZSwgTXNnU291cmNlLCBVcGRhdGVGdW5jdGlvbk9wdGlvbnMsIFVwZGF0ZU1hcCwgVXBkYXRlUmV0dXJuVHlwZSB9IGZyb20gXCIuL1R5cGVzXCI7XG5leHBvcnQgeyB1c2VFbG1pc2gsIHR5cGUgU3Vic2NyaXB0aW9uUmVzdWx0LCB0eXBlIFVzZUVsbWlzaE9wdGlvbnMgfSBmcm9tIFwiLi91c2VFbG1pc2hcIjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxJQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxjQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxtQkFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssVUFBQSxHQUFBTCxPQUFBIiwiaWdub3JlTGlzdCI6W119
60
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY21kIiwicmVxdWlyZSIsIl9FbG1Db21wb25lbnQiLCJfRXJyb3JIYW5kbGluZyIsIl9Jbml0IiwiX21lcmdlU3Vic2NyaXB0aW9ucyIsIl91c2VFbG1pc2giXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgY21kIH0gZnJvbSBcIi4vY21kXCI7XG5leHBvcnQgeyBFbG1Db21wb25lbnQgfSBmcm9tIFwiLi9FbG1Db21wb25lbnRcIjtcbmV4cG9ydCB7IGVycm9ySGFuZGxlciwgZXJyb3JNc2csIGhhbmRsZUVycm9yLCB0eXBlIEVycm9yTWVzc2FnZSB9IGZyb20gXCIuL0Vycm9ySGFuZGxpbmdcIjtcbmV4cG9ydCB7IGluaXQsIHR5cGUgRWxtT3B0aW9ucywgdHlwZSBMb2dnZXIgfSBmcm9tIFwiLi9Jbml0XCI7XG5leHBvcnQgeyBtZXJnZVN1YnNjcmlwdGlvbnMgfSBmcm9tIFwiLi9tZXJnZVN1YnNjcmlwdGlvbnNcIjtcbmV4cG9ydCB0eXBlIHtcblx0Q21kLFxuXHREaXNwYXRjaCxcblx0SW5pdFJlc3VsdCxcblx0TWVzc2FnZSxcblx0TXNnU291cmNlLFxuXHRTdWJzY3JpcHRpb25SZXN1bHQsXG5cdFVwZGF0ZUZ1bmN0aW9uT3B0aW9ucyxcblx0VXBkYXRlTWFwLFxuXHRVcGRhdGVSZXR1cm5UeXBlLFxufSBmcm9tIFwiLi9UeXBlc1wiO1xuZXhwb3J0IHsgdXNlRWxtaXNoLCB0eXBlIFVzZUVsbWlzaE9wdGlvbnMgfSBmcm9tIFwiLi91c2VFbG1pc2hcIjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxJQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxjQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxtQkFBQSxHQUFBSixPQUFBO0FBWUEsSUFBQUssVUFBQSxHQUFBTCxPQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -1,5 +1,4 @@
1
- import type { Message } from "./Types";
2
- import { type Subscription, type SubscriptionFunction } from "./useElmish";
1
+ import { type Message, type Subscription, type SubscriptionFunction } from "./Types";
3
2
  type MergedSubscription<TProps, TModel, TMessage> = (model: TModel, props: TProps) => SubscriptionFunction<TMessage>[];
4
3
  declare function mergeSubscriptions<TProps, TModel, TMessage extends Message>(...subscriptions: (Subscription<TProps, TModel, TMessage> | undefined)[]): MergedSubscription<TProps, TModel, TMessage>;
5
4
  export { mergeSubscriptions };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.mergeSubscriptions = mergeSubscriptions;
7
- var _useElmish = require("./useElmish");
7
+ var _Types = require("./Types");
8
8
  function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
9
9
  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."); }
10
10
  function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
@@ -26,7 +26,7 @@ function mergeSubscriptions() {
26
26
  return subscription !== undefined;
27
27
  });
28
28
  var subscriptionFunctions = results.flatMap(function (result) {
29
- if ((0, _useElmish.subscriptionIsFunctionArray)(result)) {
29
+ if ((0, _Types.subscriptionIsFunctionArray)(result)) {
30
30
  return result;
31
31
  }
32
32
  var _result = _slicedToArray(result, 2),
@@ -46,4 +46,4 @@ function mapToFn(cmd) {
46
46
  cmd(dispatch);
47
47
  };
48
48
  }
49
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXNlRWxtaXNoIiwicmVxdWlyZSIsIl90b0NvbnN1bWFibGVBcnJheSIsInIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfc2xpY2VkVG9BcnJheSIsImUiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfbm9uSXRlcmFibGVSZXN0IiwiYSIsInQiLCJ0b1N0cmluZyIsImNhbGwiLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInRlc3QiLCJsZW5ndGgiLCJuIiwibCIsImkiLCJ1IiwiZiIsIm8iLCJuZXh0IiwiT2JqZWN0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsIm1lcmdlU3Vic2NyaXB0aW9ucyIsIl9sZW4iLCJhcmd1bWVudHMiLCJzdWJzY3JpcHRpb25zIiwiX2tleSIsIm1lcmdlZFN1YnNjcmlwdGlvbiIsIm1vZGVsIiwicHJvcHMiLCJyZXN1bHRzIiwibWFwIiwic3ViIiwiZmlsdGVyIiwic3Vic2NyaXB0aW9uIiwidW5kZWZpbmVkIiwic3Vic2NyaXB0aW9uRnVuY3Rpb25zIiwiZmxhdE1hcCIsInJlc3VsdCIsInN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheSIsIl9yZXN1bHQiLCJzdWJDbWQiLCJkaXNwb3NlIiwiY29uY2F0IiwibWFwVG9GbiIsImNtZCIsImRpc3BhdGNoIl0sInNvdXJjZXMiOlsiLi4vc3JjL21lcmdlU3Vic2NyaXB0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc3BhdGNoLCBNZXNzYWdlLCBTdWIgfSBmcm9tIFwiLi9UeXBlc1wiO1xuaW1wb3J0IHsgc3Vic2NyaXB0aW9uSXNGdW5jdGlvbkFycmF5LCB0eXBlIFN1YnNjcmlwdGlvbiwgdHlwZSBTdWJzY3JpcHRpb25GdW5jdGlvbiB9IGZyb20gXCIuL3VzZUVsbWlzaFwiO1xuXG50eXBlIE1lcmdlZFN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0gKG1vZGVsOiBUTW9kZWwsIHByb3BzOiBUUHJvcHMpID0+IFN1YnNjcmlwdGlvbkZ1bmN0aW9uPFRNZXNzYWdlPltdO1xuXG5mdW5jdGlvbiBtZXJnZVN1YnNjcmlwdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdC4uLnN1YnNjcmlwdGlvbnM6IChTdWJzY3JpcHRpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXVxuKTogTWVyZ2VkU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4ge1xuXHRyZXR1cm4gZnVuY3Rpb24gbWVyZ2VkU3Vic2NyaXB0aW9uKG1vZGVsLCBwcm9wcykge1xuXHRcdGNvbnN0IHJlc3VsdHMgPSBzdWJzY3JpcHRpb25zLm1hcCgoc3ViKSA9PiBzdWI/Lihtb2RlbCwgcHJvcHMpKS5maWx0ZXIoKHN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uICE9PSB1bmRlZmluZWQpO1xuXG5cdFx0Y29uc3Qgc3Vic2NyaXB0aW9uRnVuY3Rpb25zID0gcmVzdWx0cy5mbGF0TWFwKChyZXN1bHQpID0+IHtcblx0XHRcdGlmIChzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXkocmVzdWx0KSkge1xuXHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBbc3ViQ21kLCBkaXNwb3NlXSA9IHJlc3VsdDtcblxuXHRcdFx0cmV0dXJuIFsuLi5zdWJDbWQubWFwKG1hcFRvRm4pLCAoKSA9PiAoKSA9PiBkaXNwb3NlPy4oKV07XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gc3Vic2NyaXB0aW9uRnVuY3Rpb25zO1xuXHR9O1xufVxuXG5mdW5jdGlvbiBtYXBUb0ZuPFRNZXNzYWdlPihjbWQ6IFN1YjxUTWVzc2FnZT4pOiAoZGlzcGF0Y2g6IERpc3BhdGNoPFRNZXNzYWdlPikgPT4gdW5kZWZpbmVkIHtcblx0cmV0dXJuIChkaXNwYXRjaCkgPT4ge1xuXHRcdGNtZChkaXNwYXRjaCk7XG5cdH07XG59XG5cbmV4cG9ydCB7IG1lcmdlU3Vic2NyaXB0aW9ucyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxVQUFBLEdBQUFDLE9BQUE7QUFBd0csU0FBQUMsbUJBQUFDLENBQUEsV0FBQUMsa0JBQUEsQ0FBQUQsQ0FBQSxLQUFBRSxnQkFBQSxDQUFBRixDQUFBLEtBQUFHLDJCQUFBLENBQUFILENBQUEsS0FBQUksa0JBQUE7QUFBQSxTQUFBQSxtQkFBQSxjQUFBQyxTQUFBO0FBQUEsU0FBQUgsaUJBQUFGLENBQUEsOEJBQUFNLE1BQUEsWUFBQU4sQ0FBQSxDQUFBTSxNQUFBLENBQUFDLFFBQUEsYUFBQVAsQ0FBQSx1QkFBQVEsS0FBQSxDQUFBQyxJQUFBLENBQUFULENBQUE7QUFBQSxTQUFBQyxtQkFBQUQsQ0FBQSxRQUFBUSxLQUFBLENBQUFFLE9BQUEsQ0FBQVYsQ0FBQSxVQUFBVyxpQkFBQSxDQUFBWCxDQUFBO0FBQUEsU0FBQVksZUFBQVosQ0FBQSxFQUFBYSxDQUFBLFdBQUFDLGVBQUEsQ0FBQWQsQ0FBQSxLQUFBZSxxQkFBQSxDQUFBZixDQUFBLEVBQUFhLENBQUEsS0FBQVYsMkJBQUEsQ0FBQUgsQ0FBQSxFQUFBYSxDQUFBLEtBQUFHLGdCQUFBO0FBQUEsU0FBQUEsaUJBQUEsY0FBQVgsU0FBQTtBQUFBLFNBQUFGLDRCQUFBSCxDQUFBLEVBQUFpQixDQUFBLFFBQUFqQixDQUFBLDJCQUFBQSxDQUFBLFNBQUFXLGlCQUFBLENBQUFYLENBQUEsRUFBQWlCLENBQUEsT0FBQUMsQ0FBQSxNQUFBQyxRQUFBLENBQUFDLElBQUEsQ0FBQXBCLENBQUEsRUFBQXFCLEtBQUEsNkJBQUFILENBQUEsSUFBQWxCLENBQUEsQ0FBQXNCLFdBQUEsS0FBQUosQ0FBQSxHQUFBbEIsQ0FBQSxDQUFBc0IsV0FBQSxDQUFBQyxJQUFBLGFBQUFMLENBQUEsY0FBQUEsQ0FBQSxHQUFBVixLQUFBLENBQUFDLElBQUEsQ0FBQVQsQ0FBQSxvQkFBQWtCLENBQUEsK0NBQUFNLElBQUEsQ0FBQU4sQ0FBQSxJQUFBUCxpQkFBQSxDQUFBWCxDQUFBLEVBQUFpQixDQUFBO0FBQUEsU0FBQU4sa0JBQUFYLENBQUEsRUFBQWlCLENBQUEsYUFBQUEsQ0FBQSxJQUFBQSxDQUFBLEdBQUFqQixDQUFBLENBQUF5QixNQUFBLE1BQUFSLENBQUEsR0FBQWpCLENBQUEsQ0FBQXlCLE1BQUEsWUFBQVosQ0FBQSxNQUFBYSxDQUFBLEdBQUFsQixLQUFBLENBQUFTLENBQUEsR0FBQUosQ0FBQSxHQUFBSSxDQUFBLEVBQUFKLENBQUEsSUFBQWEsQ0FBQSxDQUFBYixDQUFBLElBQUFiLENBQUEsQ0FBQWEsQ0FBQSxVQUFBYSxDQUFBO0FBQUEsU0FBQVgsc0JBQUFmLENBQUEsRUFBQTJCLENBQUEsUUFBQVQsQ0FBQSxXQUFBbEIsQ0FBQSxnQ0FBQU0sTUFBQSxJQUFBTixDQUFBLENBQUFNLE1BQUEsQ0FBQUMsUUFBQSxLQUFBUCxDQUFBLDRCQUFBa0IsQ0FBQSxRQUFBTCxDQUFBLEVBQUFhLENBQUEsRUFBQUUsQ0FBQSxFQUFBQyxDQUFBLEVBQUFaLENBQUEsT0FBQWEsQ0FBQSxPQUFBQyxDQUFBLGlCQUFBSCxDQUFBLElBQUFWLENBQUEsR0FBQUEsQ0FBQSxDQUFBRSxJQUFBLENBQUFwQixDQUFBLEdBQUFnQyxJQUFBLFFBQUFMLENBQUEsUUFBQU0sTUFBQSxDQUFBZixDQUFBLE1BQUFBLENBQUEsVUFBQVksQ0FBQSx1QkFBQUEsQ0FBQSxJQUFBakIsQ0FBQSxHQUFBZSxDQUFBLENBQUFSLElBQUEsQ0FBQUYsQ0FBQSxHQUFBZ0IsSUFBQSxNQUFBakIsQ0FBQSxDQUFBa0IsSUFBQSxDQUFBdEIsQ0FBQSxDQUFBdUIsS0FBQSxHQUFBbkIsQ0FBQSxDQUFBUSxNQUFBLEtBQUFFLENBQUEsR0FBQUcsQ0FBQSxpQkFBQTlCLENBQUEsSUFBQStCLENBQUEsT0FBQUwsQ0FBQSxHQUFBMUIsQ0FBQSx5QkFBQThCLENBQUEsWUFBQVosQ0FBQSxlQUFBVyxDQUFBLEdBQUFYLENBQUEsY0FBQWUsTUFBQSxDQUFBSixDQUFBLE1BQUFBLENBQUEsMkJBQUFFLENBQUEsUUFBQUwsQ0FBQSxhQUFBVCxDQUFBO0FBQUEsU0FBQUgsZ0JBQUFkLENBQUEsUUFBQVEsS0FBQSxDQUFBRSxPQUFBLENBQUFWLENBQUEsVUFBQUEsQ0FBQTtBQUl4RyxTQUFTcUMsa0JBQWtCQSxDQUFBLEVBRXFCO0VBQUEsU0FBQUMsSUFBQSxHQUFBQyxTQUFBLENBQUFkLE1BQUEsRUFENUNlLGFBQWEsT0FBQWhDLEtBQUEsQ0FBQThCLElBQUEsR0FBQUcsSUFBQSxNQUFBQSxJQUFBLEdBQUFILElBQUEsRUFBQUcsSUFBQTtJQUFiRCxhQUFhLENBQUFDLElBQUEsSUFBQUYsU0FBQSxDQUFBRSxJQUFBO0VBQUE7RUFFaEIsT0FBTyxTQUFTQyxrQkFBa0JBLENBQUNDLEtBQUssRUFBRUMsS0FBSyxFQUFFO0lBQ2hELElBQU1DLE9BQU8sR0FBR0wsYUFBYSxDQUFDTSxHQUFHLENBQUMsVUFBQ0MsR0FBRztNQUFBLE9BQUtBLEdBQUcsYUFBSEEsR0FBRyx1QkFBSEEsR0FBRyxDQUFHSixLQUFLLEVBQUVDLEtBQUssQ0FBQztJQUFBLEVBQUMsQ0FBQ0ksTUFBTSxDQUFDLFVBQUNDLFlBQVk7TUFBQSxPQUFLQSxZQUFZLEtBQUtDLFNBQVM7SUFBQSxFQUFDO0lBRXBILElBQU1DLHFCQUFxQixHQUFHTixPQUFPLENBQUNPLE9BQU8sQ0FBQyxVQUFDQyxNQUFNLEVBQUs7TUFDekQsSUFBSSxJQUFBQyxzQ0FBMkIsRUFBQ0QsTUFBTSxDQUFDLEVBQUU7UUFDeEMsT0FBT0EsTUFBTTtNQUNkO01BRUEsSUFBQUUsT0FBQSxHQUFBM0MsY0FBQSxDQUEwQnlDLE1BQU07UUFBekJHLE1BQU0sR0FBQUQsT0FBQTtRQUFFRSxPQUFPLEdBQUFGLE9BQUE7TUFFdEIsVUFBQUcsTUFBQSxDQUFBM0Qsa0JBQUEsQ0FBV3lELE1BQU0sQ0FBQ1YsR0FBRyxDQUFDYSxPQUFPLENBQUMsSUFBRTtRQUFBLE9BQU07VUFBQSxPQUFNRixPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRyxDQUFDO1FBQUE7TUFBQTtJQUN4RCxDQUFDLENBQUM7SUFFRixPQUFPTixxQkFBcUI7RUFDN0IsQ0FBQztBQUNGO0FBRUEsU0FBU1EsT0FBT0EsQ0FBV0MsR0FBa0IsRUFBK0M7RUFDM0YsT0FBTyxVQUFDQyxRQUFRLEVBQUs7SUFDcEJELEdBQUcsQ0FBQ0MsUUFBUSxDQUFDO0VBQ2QsQ0FBQztBQUNGIiwiaWdub3JlTGlzdCI6W119
49
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVHlwZXMiLCJyZXF1aXJlIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJUeXBlRXJyb3IiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl9zbGljZWRUb0FycmF5IiwiZSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJhIiwidCIsInRvU3RyaW5nIiwiY2FsbCIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwidGVzdCIsImxlbmd0aCIsIm4iLCJsIiwiaSIsInUiLCJmIiwibyIsIm5leHQiLCJPYmplY3QiLCJkb25lIiwicHVzaCIsInZhbHVlIiwibWVyZ2VTdWJzY3JpcHRpb25zIiwiX2xlbiIsImFyZ3VtZW50cyIsInN1YnNjcmlwdGlvbnMiLCJfa2V5IiwibWVyZ2VkU3Vic2NyaXB0aW9uIiwibW9kZWwiLCJwcm9wcyIsInJlc3VsdHMiLCJtYXAiLCJzdWIiLCJmaWx0ZXIiLCJzdWJzY3JpcHRpb24iLCJ1bmRlZmluZWQiLCJzdWJzY3JpcHRpb25GdW5jdGlvbnMiLCJmbGF0TWFwIiwicmVzdWx0Iiwic3Vic2NyaXB0aW9uSXNGdW5jdGlvbkFycmF5IiwiX3Jlc3VsdCIsInN1YkNtZCIsImRpc3Bvc2UiLCJjb25jYXQiLCJtYXBUb0ZuIiwiY21kIiwiZGlzcGF0Y2giXSwic291cmNlcyI6WyIuLi9zcmMvbWVyZ2VTdWJzY3JpcHRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdHN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheSxcblx0dHlwZSBEaXNwYXRjaCxcblx0dHlwZSBNZXNzYWdlLFxuXHR0eXBlIFN1Yixcblx0dHlwZSBTdWJzY3JpcHRpb24sXG5cdHR5cGUgU3Vic2NyaXB0aW9uRnVuY3Rpb24sXG59IGZyb20gXCIuL1R5cGVzXCI7XG5cbnR5cGUgTWVyZ2VkU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gPSAobW9kZWw6IFRNb2RlbCwgcHJvcHM6IFRQcm9wcykgPT4gU3Vic2NyaXB0aW9uRnVuY3Rpb248VE1lc3NhZ2U+W107XG5cbmZ1bmN0aW9uIG1lcmdlU3Vic2NyaXB0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0Li4uc3Vic2NyaXB0aW9uczogKFN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdXG4pOiBNZXJnZWRTdWJzY3JpcHRpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB7XG5cdHJldHVybiBmdW5jdGlvbiBtZXJnZWRTdWJzY3JpcHRpb24obW9kZWwsIHByb3BzKSB7XG5cdFx0Y29uc3QgcmVzdWx0cyA9IHN1YnNjcmlwdGlvbnMubWFwKChzdWIpID0+IHN1Yj8uKG1vZGVsLCBwcm9wcykpLmZpbHRlcigoc3Vic2NyaXB0aW9uKSA9PiBzdWJzY3JpcHRpb24gIT09IHVuZGVmaW5lZCk7XG5cblx0XHRjb25zdCBzdWJzY3JpcHRpb25GdW5jdGlvbnMgPSByZXN1bHRzLmZsYXRNYXAoKHJlc3VsdCkgPT4ge1xuXHRcdFx0aWYgKHN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheShyZXN1bHQpKSB7XG5cdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IFtzdWJDbWQsIGRpc3Bvc2VdID0gcmVzdWx0O1xuXG5cdFx0XHRyZXR1cm4gWy4uLnN1YkNtZC5tYXAobWFwVG9GbiksICgpID0+ICgpID0+IGRpc3Bvc2U/LigpXTtcblx0XHR9KTtcblxuXHRcdHJldHVybiBzdWJzY3JpcHRpb25GdW5jdGlvbnM7XG5cdH07XG59XG5cbmZ1bmN0aW9uIG1hcFRvRm48VE1lc3NhZ2U+KGNtZDogU3ViPFRNZXNzYWdlPik6IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+KSA9PiB1bmRlZmluZWQge1xuXHRyZXR1cm4gKGRpc3BhdGNoKSA9PiB7XG5cdFx0Y21kKGRpc3BhdGNoKTtcblx0fTtcbn1cblxuZXhwb3J0IHsgbWVyZ2VTdWJzY3JpcHRpb25zIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQU9pQixTQUFBQyxtQkFBQUMsQ0FBQSxXQUFBQyxrQkFBQSxDQUFBRCxDQUFBLEtBQUFFLGdCQUFBLENBQUFGLENBQUEsS0FBQUcsMkJBQUEsQ0FBQUgsQ0FBQSxLQUFBSSxrQkFBQTtBQUFBLFNBQUFBLG1CQUFBLGNBQUFDLFNBQUE7QUFBQSxTQUFBSCxpQkFBQUYsQ0FBQSw4QkFBQU0sTUFBQSxZQUFBTixDQUFBLENBQUFNLE1BQUEsQ0FBQUMsUUFBQSxhQUFBUCxDQUFBLHVCQUFBUSxLQUFBLENBQUFDLElBQUEsQ0FBQVQsQ0FBQTtBQUFBLFNBQUFDLG1CQUFBRCxDQUFBLFFBQUFRLEtBQUEsQ0FBQUUsT0FBQSxDQUFBVixDQUFBLFVBQUFXLGlCQUFBLENBQUFYLENBQUE7QUFBQSxTQUFBWSxlQUFBWixDQUFBLEVBQUFhLENBQUEsV0FBQUMsZUFBQSxDQUFBZCxDQUFBLEtBQUFlLHFCQUFBLENBQUFmLENBQUEsRUFBQWEsQ0FBQSxLQUFBViwyQkFBQSxDQUFBSCxDQUFBLEVBQUFhLENBQUEsS0FBQUcsZ0JBQUE7QUFBQSxTQUFBQSxpQkFBQSxjQUFBWCxTQUFBO0FBQUEsU0FBQUYsNEJBQUFILENBQUEsRUFBQWlCLENBQUEsUUFBQWpCLENBQUEsMkJBQUFBLENBQUEsU0FBQVcsaUJBQUEsQ0FBQVgsQ0FBQSxFQUFBaUIsQ0FBQSxPQUFBQyxDQUFBLE1BQUFDLFFBQUEsQ0FBQUMsSUFBQSxDQUFBcEIsQ0FBQSxFQUFBcUIsS0FBQSw2QkFBQUgsQ0FBQSxJQUFBbEIsQ0FBQSxDQUFBc0IsV0FBQSxLQUFBSixDQUFBLEdBQUFsQixDQUFBLENBQUFzQixXQUFBLENBQUFDLElBQUEsYUFBQUwsQ0FBQSxjQUFBQSxDQUFBLEdBQUFWLEtBQUEsQ0FBQUMsSUFBQSxDQUFBVCxDQUFBLG9CQUFBa0IsQ0FBQSwrQ0FBQU0sSUFBQSxDQUFBTixDQUFBLElBQUFQLGlCQUFBLENBQUFYLENBQUEsRUFBQWlCLENBQUE7QUFBQSxTQUFBTixrQkFBQVgsQ0FBQSxFQUFBaUIsQ0FBQSxhQUFBQSxDQUFBLElBQUFBLENBQUEsR0FBQWpCLENBQUEsQ0FBQXlCLE1BQUEsTUFBQVIsQ0FBQSxHQUFBakIsQ0FBQSxDQUFBeUIsTUFBQSxZQUFBWixDQUFBLE1BQUFhLENBQUEsR0FBQWxCLEtBQUEsQ0FBQVMsQ0FBQSxHQUFBSixDQUFBLEdBQUFJLENBQUEsRUFBQUosQ0FBQSxJQUFBYSxDQUFBLENBQUFiLENBQUEsSUFBQWIsQ0FBQSxDQUFBYSxDQUFBLFVBQUFhLENBQUE7QUFBQSxTQUFBWCxzQkFBQWYsQ0FBQSxFQUFBMkIsQ0FBQSxRQUFBVCxDQUFBLFdBQUFsQixDQUFBLGdDQUFBTSxNQUFBLElBQUFOLENBQUEsQ0FBQU0sTUFBQSxDQUFBQyxRQUFBLEtBQUFQLENBQUEsNEJBQUFrQixDQUFBLFFBQUFMLENBQUEsRUFBQWEsQ0FBQSxFQUFBRSxDQUFBLEVBQUFDLENBQUEsRUFBQVosQ0FBQSxPQUFBYSxDQUFBLE9BQUFDLENBQUEsaUJBQUFILENBQUEsSUFBQVYsQ0FBQSxHQUFBQSxDQUFBLENBQUFFLElBQUEsQ0FBQXBCLENBQUEsR0FBQWdDLElBQUEsUUFBQUwsQ0FBQSxRQUFBTSxNQUFBLENBQUFmLENBQUEsTUFBQUEsQ0FBQSxVQUFBWSxDQUFBLHVCQUFBQSxDQUFBLElBQUFqQixDQUFBLEdBQUFlLENBQUEsQ0FBQVIsSUFBQSxDQUFBRixDQUFBLEdBQUFnQixJQUFBLE1BQUFqQixDQUFBLENBQUFrQixJQUFBLENBQUF0QixDQUFBLENBQUF1QixLQUFBLEdBQUFuQixDQUFBLENBQUFRLE1BQUEsS0FBQUUsQ0FBQSxHQUFBRyxDQUFBLGlCQUFBOUIsQ0FBQSxJQUFBK0IsQ0FBQSxPQUFBTCxDQUFBLEdBQUExQixDQUFBLHlCQUFBOEIsQ0FBQSxZQUFBWixDQUFBLGVBQUFXLENBQUEsR0FBQVgsQ0FBQSxjQUFBZSxNQUFBLENBQUFKLENBQUEsTUFBQUEsQ0FBQSwyQkFBQUUsQ0FBQSxRQUFBTCxDQUFBLGFBQUFULENBQUE7QUFBQSxTQUFBSCxnQkFBQWQsQ0FBQSxRQUFBUSxLQUFBLENBQUFFLE9BQUEsQ0FBQVYsQ0FBQSxVQUFBQSxDQUFBO0FBSWpCLFNBQVNxQyxrQkFBa0JBLENBQUEsRUFFcUI7RUFBQSxTQUFBQyxJQUFBLEdBQUFDLFNBQUEsQ0FBQWQsTUFBQSxFQUQ1Q2UsYUFBYSxPQUFBaEMsS0FBQSxDQUFBOEIsSUFBQSxHQUFBRyxJQUFBLE1BQUFBLElBQUEsR0FBQUgsSUFBQSxFQUFBRyxJQUFBO0lBQWJELGFBQWEsQ0FBQUMsSUFBQSxJQUFBRixTQUFBLENBQUFFLElBQUE7RUFBQTtFQUVoQixPQUFPLFNBQVNDLGtCQUFrQkEsQ0FBQ0MsS0FBSyxFQUFFQyxLQUFLLEVBQUU7SUFDaEQsSUFBTUMsT0FBTyxHQUFHTCxhQUFhLENBQUNNLEdBQUcsQ0FBQyxVQUFDQyxHQUFHO01BQUEsT0FBS0EsR0FBRyxhQUFIQSxHQUFHLHVCQUFIQSxHQUFHLENBQUdKLEtBQUssRUFBRUMsS0FBSyxDQUFDO0lBQUEsRUFBQyxDQUFDSSxNQUFNLENBQUMsVUFBQ0MsWUFBWTtNQUFBLE9BQUtBLFlBQVksS0FBS0MsU0FBUztJQUFBLEVBQUM7SUFFcEgsSUFBTUMscUJBQXFCLEdBQUdOLE9BQU8sQ0FBQ08sT0FBTyxDQUFDLFVBQUNDLE1BQU0sRUFBSztNQUN6RCxJQUFJLElBQUFDLGtDQUEyQixFQUFDRCxNQUFNLENBQUMsRUFBRTtRQUN4QyxPQUFPQSxNQUFNO01BQ2Q7TUFFQSxJQUFBRSxPQUFBLEdBQUEzQyxjQUFBLENBQTBCeUMsTUFBTTtRQUF6QkcsTUFBTSxHQUFBRCxPQUFBO1FBQUVFLE9BQU8sR0FBQUYsT0FBQTtNQUV0QixVQUFBRyxNQUFBLENBQUEzRCxrQkFBQSxDQUFXeUQsTUFBTSxDQUFDVixHQUFHLENBQUNhLE9BQU8sQ0FBQyxJQUFFO1FBQUEsT0FBTTtVQUFBLE9BQU1GLE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFHLENBQUM7UUFBQTtNQUFBO0lBQ3hELENBQUMsQ0FBQztJQUVGLE9BQU9OLHFCQUFxQjtFQUM3QixDQUFDO0FBQ0Y7QUFFQSxTQUFTUSxPQUFPQSxDQUFXQyxHQUFrQixFQUErQztFQUMzRixPQUFPLFVBQUNDLFFBQVEsRUFBSztJQUNwQkQsR0FBRyxDQUFDQyxRQUFRLENBQUM7RUFDZCxDQUFDO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,12 +1,4 @@
1
- import type { Cmd, Dispatch, InitFunction, Message, UpdateFunction, UpdateFunctionOptions, UpdateMap, UpdateReturnType } from "./Types";
2
- /**
3
- * The return type of the `subscription` function.
4
- * @template TMessage The type of the messages discriminated union.
5
- */
6
- type SubscriptionResult<TMessage> = [Cmd<TMessage>, (() => void)?] | SubscriptionFunction<TMessage>[];
7
- type SubscriptionFunction<TMessage> = (dispatch: Dispatch<TMessage>) => (() => void) | undefined;
8
- type Subscription<TProps, TModel, TMessage> = (model: TModel, props: TProps) => SubscriptionResult<TMessage>;
9
- declare function subscriptionIsFunctionArray(subscription: SubscriptionResult<unknown>): subscription is SubscriptionFunction<unknown>[];
1
+ import { type Dispatch, type InitFunction, type Message, type Subscription, type UpdateFunction, type UpdateFunctionOptions, type UpdateMap, type UpdateReturnType } from "./Types";
10
2
  /**
11
3
  * Options for the `useElmish` hook.
12
4
  * @interface UseElmishOptions
@@ -51,5 +43,5 @@ interface UseElmishOptions<TProps, TModel, TMessage extends Message> {
51
43
  declare function useElmish<TProps, TModel, TMessage extends Message>({ name, props, init, update, subscription, }: UseElmishOptions<TProps, TModel, TMessage>): [TModel, Dispatch<TMessage>];
52
44
  declare function callUpdate<TProps, TModel, TMessage extends Message>(update: UpdateFunction<TProps, TModel, TMessage> | UpdateMap<TProps, TModel, TMessage>, msg: TMessage, model: TModel, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>): UpdateReturnType<TModel, TMessage>;
53
45
  declare function callUpdateMap<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>, msg: TMessage, model: TModel, props: TProps, options: UpdateFunctionOptions<TProps, TModel, TMessage>): UpdateReturnType<TModel, TMessage>;
54
- export type { Subscription, SubscriptionFunction, SubscriptionResult, UseElmishOptions };
55
- export { callUpdate, callUpdateMap, subscriptionIsFunctionArray, useElmish };
46
+ export type { UseElmishOptions };
47
+ export { callUpdate, callUpdateMap, useElmish };
package/dist/useElmish.js CHANGED
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.callUpdate = callUpdate;
8
8
  exports.callUpdateMap = callUpdateMap;
9
- exports.subscriptionIsFunctionArray = subscriptionIsFunctionArray;
10
9
  exports.useElmish = useElmish;
11
10
  var _react = require("react");
12
11
  var _Common = require("./Common");
13
12
  var _Init = require("./Init");
13
+ var _Types = require("./Types");
14
14
  var _createCallBase = require("./createCallBase");
15
15
  var _createDefer3 = require("./createDefer");
16
16
  var _fakeOptions = require("./fakeOptions");
@@ -32,15 +32,6 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
32
32
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
33
33
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
34
34
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /* eslint-disable react-hooks/exhaustive-deps */
35
- /**
36
- * The return type of the `subscription` function.
37
- * @template TMessage The type of the messages discriminated union.
38
- */
39
-
40
- function subscriptionIsFunctionArray(subscription) {
41
- return typeof subscription[0] === "function";
42
- }
43
-
44
35
  /**
45
36
  * Options for the `useElmish` hook.
46
37
  * @interface UseElmishOptions
@@ -148,7 +139,7 @@ function useElmish(_ref) {
148
139
  (0, _react.useEffect)(function () {
149
140
  if (subscription) {
150
141
  var subscriptionResult = subscription(initializedModel, props);
151
- if (subscriptionIsFunctionArray(subscriptionResult)) {
142
+ if ((0, _Types.subscriptionIsFunctionArray)(subscriptionResult)) {
152
143
  var destructors = subscriptionResult.map(function (sub) {
153
144
  return sub(dispatch);
154
145
  }).filter(function (destructor) {
@@ -220,4 +211,4 @@ function callUpdateMap(updateMap, msg, model, props, options) {
220
211
  var msgName = msg.name;
221
212
  return updateMap[msgName](msg, model, props, options);
222
213
  }
223
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX0NvbW1vbiIsIl9Jbml0IiwiX2NyZWF0ZUNhbGxCYXNlIiwiX2NyZWF0ZURlZmVyMyIsIl9mYWtlT3B0aW9ucyIsIl9yZWR1eERldlRvb2xzIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJyIiwiZSIsInQiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsIl9uIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZiIsIlR5cGVFcnJvciIsIm8iLCJhIiwidSIsImNhbGwiLCJuZXh0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIl9hcnJheUxpa2VUb0FycmF5IiwiX3RvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfbm9uSXRlcmFibGVSZXN0IiwiZnJvbSIsIm93bktleXMiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiX3R5cGVvZiIsInRvUHJpbWl0aXZlIiwiU3RyaW5nIiwiTnVtYmVyIiwiX3NsaWNlZFRvQXJyYXkiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwidGVzdCIsImwiLCJzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXkiLCJzdWJzY3JpcHRpb24iLCJ1c2VFbG1pc2giLCJfcmVmIiwiX2Zha2VPcHRpb25zJGRpc3BhdGNoIiwicHJvcHMiLCJpbml0IiwidXBkYXRlIiwicnVubmluZyIsImJ1ZmZlciIsImN1cnJlbnRNb2RlbCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm1vZGVsIiwic2V0TW9kZWwiLCJwcm9wc1JlZiIsInVzZVJlZiIsImlzTW91bnRlZFJlZiIsImRldlRvb2xzIiwidXNlRWZmZWN0IiwicmVkdXhVbnN1YnNjcmliZSIsIlNlcnZpY2VzIiwiZW5hYmxlRGV2VG9vbHMiLCJpc1JlZHV4RGV2VG9vbHNFbmFibGVkIiwid2luZG93IiwiY3VycmVudCIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0Iiwic2VyaWFsaXplIiwib3B0aW9ucyIsInN1YnNjcmliZSIsIm1lc3NhZ2UiLCJ0eXBlIiwicGF5bG9hZCIsIkpTT04iLCJwYXJzZSIsInN0YXRlIiwiX3JlZHV4VW5zdWJzY3JpYmUiLCJpbml0aWFsaXplZE1vZGVsIiwiZmFrZU9wdGlvbnMiLCJnZXRGYWtlT3B0aW9uc09uY2UiLCJkaXNwYXRjaCIsInVzZUNhbGxiYWNrIiwibXNnIiwibmV4dE1zZyIsIm1vZGlmaWVkIiwiaGFuZGxlTWVzc2FnZSIsInNlbmQiLCJzaGlmdCIsInByZXZNb2RlbCIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJ1cGRhdGVkTW9kZWwiLCJsb2dnZXIiLCJkZWJ1ZyIsIl9kZXZUb29scyRjdXJyZW50IiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfcmVmMiIsIl9yZWYzIiwiaW5pdE1vZGVsIiwiaW5pdENvbW1hbmRzIiwiZXhlY0NtZCIsImNvbmNhdCIsInN1YnNjcmlwdGlvblJlc3VsdCIsImRlc3RydWN0b3JzIiwibWFwIiwic3ViIiwiZGVzdHJ1Y3RvciIsInVuZGVmaW5lZCIsImNvbWJpbmVkRGVzdHJ1Y3RvciIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZXJyIiwiX3N1YnNjcmlwdGlvblJlc3VsdCIsInN1YkNtZCIsImxvZ01lc3NhZ2UiLCJfY3JlYXRlRGVmZXIiLCJjcmVhdGVEZWZlciIsIl9jcmVhdGVEZWZlcjIiLCJkZWZlciIsImdldERlZmVycmVkIiwiY2FsbEJhc2UiLCJjcmVhdGVDYWxsQmFzZSIsIl9jYWxsVXBkYXRlIiwiY2FsbFVwZGF0ZSIsIl9jYWxsVXBkYXRlMiIsIm5ld01vZGVsIiwiY29tbWFuZHMiLCJfZ2V0RGVmZXJyZWQiLCJfZ2V0RGVmZXJyZWQyIiwiZGVmZXJyZWRNb2RlbCIsImRlZmVycmVkQ29tbWFuZHMiLCJtb2RlbEhhc0NoYW5nZWQiLCJjYWxsVXBkYXRlTWFwIiwidXBkYXRlTWFwIiwibXNnTmFtZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2VFbG1pc2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBleGVjQ21kLCBsb2dNZXNzYWdlLCBtb2RlbEhhc0NoYW5nZWQgfSBmcm9tIFwiLi9Db21tb25cIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUge1xuXHRDbWQsXG5cdERpc3BhdGNoLFxuXHRJbml0RnVuY3Rpb24sXG5cdE1lc3NhZ2UsXG5cdE51bGxhYmxlLFxuXHRVcGRhdGVGdW5jdGlvbixcblx0VXBkYXRlRnVuY3Rpb25PcHRpb25zLFxuXHRVcGRhdGVNYXAsXG5cdFVwZGF0ZVJldHVyblR5cGUsXG59IGZyb20gXCIuL1R5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVDYWxsQmFzZSB9IGZyb20gXCIuL2NyZWF0ZUNhbGxCYXNlXCI7XG5pbXBvcnQgeyBjcmVhdGVEZWZlciB9IGZyb20gXCIuL2NyZWF0ZURlZmVyXCI7XG5pbXBvcnQgeyBnZXRGYWtlT3B0aW9uc09uY2UgfSBmcm9tIFwiLi9mYWtlT3B0aW9uc1wiO1xuaW1wb3J0IHsgaXNSZWR1eERldlRvb2xzRW5hYmxlZCwgdHlwZSBSZWR1eERldlRvb2xzIH0gZnJvbSBcIi4vcmVkdXhEZXZUb29sc1wiO1xuXG4vKipcbiAqIFRoZSByZXR1cm4gdHlwZSBvZiB0aGUgYHN1YnNjcmlwdGlvbmAgZnVuY3Rpb24uXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzIGRpc2NyaW1pbmF0ZWQgdW5pb24uXG4gKi9cbnR5cGUgU3Vic2NyaXB0aW9uUmVzdWx0PFRNZXNzYWdlPiA9IFtDbWQ8VE1lc3NhZ2U+LCAoKCkgPT4gdm9pZCk/XSB8IFN1YnNjcmlwdGlvbkZ1bmN0aW9uPFRNZXNzYWdlPltdO1xudHlwZSBTdWJzY3JpcHRpb25GdW5jdGlvbjxUTWVzc2FnZT4gPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRNZXNzYWdlPikgPT4gKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xudHlwZSBTdWJzY3JpcHRpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiA9IChtb2RlbDogVE1vZGVsLCBwcm9wczogVFByb3BzKSA9PiBTdWJzY3JpcHRpb25SZXN1bHQ8VE1lc3NhZ2U+O1xuXG5mdW5jdGlvbiBzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXkoc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb25SZXN1bHQ8dW5rbm93bj4pOiBzdWJzY3JpcHRpb24gaXMgU3Vic2NyaXB0aW9uRnVuY3Rpb248dW5rbm93bj5bXSB7XG5cdHJldHVybiB0eXBlb2Ygc3Vic2NyaXB0aW9uWzBdID09PSBcImZ1bmN0aW9uXCI7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGB1c2VFbG1pc2hgIGhvb2suXG4gKiBAaW50ZXJmYWNlIFVzZUVsbWlzaE9wdGlvbnNcbiAqIEB0ZW1wbGF0ZSBUUHJvcHMgVGhlIHR5cGUgb2YgdGhlIHByb3BzLlxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzIGRpc2NyaW1pbmF0ZWQgdW5pb24uXG4gKi9cbmludGVyZmFjZSBVc2VFbG1pc2hPcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+IHtcblx0LyoqXG5cdCAqIFRoZSBuYW1lIG9mIHRoZSBjb21wb25lbnQuIFRoaXMgaXMgdXNlZCBmb3IgbG9nZ2luZyBvbmx5LlxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKi9cblx0bmFtZTogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIHByb3BzIHBhc3NlZCB0byB0aGUgY29tcG9uZW50LlxuXHQgKiBAdHlwZSB7VFByb3BzfVxuXHQgKi9cblx0cHJvcHM6IFRQcm9wcztcblx0LyoqXG5cdCAqIFRoZSBmdW5jdGlvbiB0byBpbml0aWFsaXplIHRoZSBjb21wb25lbnRzIG1vZGVsLiBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIG9uY2UuXG5cdCAqIEB0eXBlIHtJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPn1cblx0ICovXG5cdGluaXQ6IEluaXRGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+O1xuXHQvKipcblx0ICogVGhlIGB1cGRhdGVgIGZ1bmN0aW9uIG9yIHVwZGF0ZSBtYXAgb2JqZWN0LlxuXHQgKiBAdHlwZSB7KFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPil9XG5cdCAqL1xuXHR1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPjtcblx0LyoqXG5cdCAqIFRoZSBvcHRpb25hbCBgc3Vic2NyaXB0aW9uYCBmdW5jdGlvbi4gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBvbmNlLlxuXHQgKiBAdHlwZSB7KFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPil9XG5cdCAqL1xuXHRzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPjtcbn1cblxuLyoqXG4gKiBIb29rIHRvIHVzZSB0aGUgRWxtIGFyY2hpdGVjdHVyZSBwYXR0ZXJuIGluIGEgZnVuY3Rpb24gY29tcG9uZW50LlxuICogQHBhcmFtIHtVc2VFbG1pc2hPcHRpb25zfSBvcHRpb25zIFRoZSBvcHRpb25zIHBhc3NlZCB0aGUgdGhlIGhvb2suXG4gKiBAcmV0dXJucyBBIHR1cGxlIGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgbW9kZWwgYW5kIHRoZSBkaXNwYXRjaGVyLlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IFttb2RlbCwgZGlzcGF0Y2hdID0gdXNlRWxtaXNoKHsgcHJvcHMsIGluaXQsIHVwZGF0ZSwgbmFtZTogXCJNeUNvbXBvbmVudFwiIH0pO1xuICovXG5mdW5jdGlvbiB1c2VFbG1pc2g8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oe1xuXHRuYW1lLFxuXHRwcm9wcyxcblx0aW5pdCxcblx0dXBkYXRlLFxuXHRzdWJzY3JpcHRpb24sXG59OiBVc2VFbG1pc2hPcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pOiBbVE1vZGVsLCBEaXNwYXRjaDxUTWVzc2FnZT5dIHtcblx0bGV0IHJ1bm5pbmcgPSBmYWxzZTtcblx0Y29uc3QgYnVmZmVyOiBUTWVzc2FnZVtdID0gW107XG5cdGxldCBjdXJyZW50TW9kZWw6IFBhcnRpYWw8VE1vZGVsPiA9IHt9O1xuXG5cdGNvbnN0IFttb2RlbCwgc2V0TW9kZWxdID0gdXNlU3RhdGU8TnVsbGFibGU8VE1vZGVsPj4obnVsbCk7XG5cdGNvbnN0IHByb3BzUmVmID0gdXNlUmVmKHByb3BzKTtcblx0Y29uc3QgaXNNb3VudGVkUmVmID0gdXNlUmVmKHRydWUpO1xuXG5cdGNvbnN0IGRldlRvb2xzID0gdXNlUmVmPFJlZHV4RGV2VG9vbHMgfCBudWxsPihudWxsKTtcblxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGxldCByZWR1eFVuc3Vic2NyaWJlOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG5cblx0XHRpZiAoU2VydmljZXMuZW5hYmxlRGV2VG9vbHMgPT09IHRydWUgJiYgaXNSZWR1eERldlRvb2xzRW5hYmxlZCh3aW5kb3cpKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcblx0XHRcdGRldlRvb2xzLmN1cnJlbnQgPSB3aW5kb3cuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXy5jb25uZWN0KHsgbmFtZSwgc2VyaWFsaXplOiB7IG9wdGlvbnM6IHRydWUgfSB9KTtcblxuXHRcdFx0cmVkdXhVbnN1YnNjcmliZSA9IGRldlRvb2xzLmN1cnJlbnQuc3Vic2NyaWJlKChtZXNzYWdlKSA9PiB7XG5cdFx0XHRcdGlmIChtZXNzYWdlLnR5cGUgPT09IFwiRElTUEFUQ0hcIiAmJiBtZXNzYWdlLnBheWxvYWQudHlwZSA9PT0gXCJKVU1QX1RPX0FDVElPTlwiKSB7XG5cdFx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb25cblx0XHRcdFx0XHRzZXRNb2RlbChKU09OLnBhcnNlKG1lc3NhZ2Uuc3RhdGUpIGFzIFRNb2RlbCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdGlzTW91bnRlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcblxuXHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRpc01vdW50ZWRSZWYuY3VycmVudCA9IGZhbHNlO1xuXG5cdFx0XHRyZWR1eFVuc3Vic2NyaWJlPy4oKTtcblx0XHR9O1xuXHR9LCBbbmFtZV0pO1xuXG5cdGxldCBpbml0aWFsaXplZE1vZGVsID0gbW9kZWw7XG5cblx0aWYgKHByb3BzUmVmLmN1cnJlbnQgIT09IHByb3BzKSB7XG5cdFx0cHJvcHNSZWYuY3VycmVudCA9IHByb3BzO1xuXHR9XG5cblx0Y29uc3QgZmFrZU9wdGlvbnMgPSBnZXRGYWtlT3B0aW9uc09uY2U8VE1vZGVsLCBUTWVzc2FnZT4oKTtcblx0Y29uc3QgZGlzcGF0Y2ggPSB1c2VDYWxsYmFjayhcblx0XHRmYWtlT3B0aW9ucz8uZGlzcGF0Y2ggPz9cblx0XHRcdCgobXNnOiBUTWVzc2FnZSk6IHZvaWQgPT4ge1xuXHRcdFx0XHRpZiAocnVubmluZykge1xuXHRcdFx0XHRcdGJ1ZmZlci5wdXNoKG1zZyk7XG5cblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRydW5uaW5nID0gdHJ1ZTtcblxuXHRcdFx0XHRsZXQgbmV4dE1zZzogVE1lc3NhZ2UgfCB1bmRlZmluZWQgPSBtc2c7XG5cdFx0XHRcdGxldCBtb2RpZmllZCA9IGZhbHNlO1xuXG5cdFx0XHRcdGRvIHtcblx0XHRcdFx0XHRpZiAoaGFuZGxlTWVzc2FnZShuZXh0TXNnKSkge1xuXHRcdFx0XHRcdFx0bW9kaWZpZWQgPSB0cnVlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGlmIChkZXZUb29scy5jdXJyZW50KSB7XG5cdFx0XHRcdFx0XHRkZXZUb29scy5jdXJyZW50LnNlbmQobmV4dE1zZy5uYW1lLCB7IC4uLmluaXRpYWxpemVkTW9kZWwsIC4uLmN1cnJlbnRNb2RlbCB9KTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRuZXh0TXNnID0gYnVmZmVyLnNoaWZ0KCk7XG5cdFx0XHRcdH0gd2hpbGUgKG5leHRNc2cpO1xuXG5cdFx0XHRcdHJ1bm5pbmcgPSBmYWxzZTtcblxuXHRcdFx0XHRpZiAoaXNNb3VudGVkUmVmLmN1cnJlbnQgJiYgbW9kaWZpZWQpIHtcblx0XHRcdFx0XHRzZXRNb2RlbCgocHJldk1vZGVsKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCB1cGRhdGVkTW9kZWwgPSB7IC4uLnByZXZNb2RlbCwgLi4uY3VycmVudE1vZGVsIH07XG5cblx0XHRcdFx0XHRcdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJVcGRhdGUgbW9kZWwgZm9yXCIsIG5hbWUsIHVwZGF0ZWRNb2RlbCk7XG5cblx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIGFsd2F5cyBoYXZlIGEgZnVsbCBtb2RlbCBoZXJlXG5cdFx0XHRcdFx0XHRyZXR1cm4gdXBkYXRlZE1vZGVsIGFzIFRNb2RlbDtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSksXG5cdFx0W10sXG5cdCk7XG5cblx0aWYgKCFpbml0aWFsaXplZE1vZGVsKSB7XG5cdFx0Y29uc3QgW2luaXRNb2RlbCwgLi4uaW5pdENvbW1hbmRzXSA9IGZha2VPcHRpb25zPy5tb2RlbCA/IFtmYWtlT3B0aW9ucy5tb2RlbF0gOiBpbml0KHByb3BzKTtcblxuXHRcdGluaXRpYWxpemVkTW9kZWwgPSBpbml0TW9kZWw7XG5cdFx0c2V0TW9kZWwoaW5pdGlhbGl6ZWRNb2RlbCk7XG5cblx0XHRkZXZUb29scy5jdXJyZW50Py5pbml0KGluaXRpYWxpemVkTW9kZWwpO1xuXG5cdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkluaXRpYWwgbW9kZWwgZm9yXCIsIG5hbWUsIGluaXRpYWxpemVkTW9kZWwpO1xuXG5cdFx0ZXhlY0NtZChkaXNwYXRjaCwgLi4uaW5pdENvbW1hbmRzKTtcblx0fVxuXG5cdC8vIGJpb21lLWlnbm9yZSBsaW50L2NvcnJlY3RuZXNzL3VzZUV4aGF1c3RpdmVEZXBlbmRlbmNpZXM6IFdlIHdhbnQgdG8gcnVuIHRoaXMgZWZmZWN0IG9ubHkgb25jZVxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmIChzdWJzY3JpcHRpb24pIHtcblx0XHRcdGNvbnN0IHN1YnNjcmlwdGlvblJlc3VsdCA9IHN1YnNjcmlwdGlvbihpbml0aWFsaXplZE1vZGVsLCBwcm9wcyk7XG5cblx0XHRcdGlmIChzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXkoc3Vic2NyaXB0aW9uUmVzdWx0KSkge1xuXHRcdFx0XHRjb25zdCBkZXN0cnVjdG9ycyA9IHN1YnNjcmlwdGlvblJlc3VsdC5tYXAoKHN1YikgPT4gc3ViKGRpc3BhdGNoKSkuZmlsdGVyKChkZXN0cnVjdG9yKSA9PiBkZXN0cnVjdG9yICE9PSB1bmRlZmluZWQpO1xuXG5cdFx0XHRcdHJldHVybiBmdW5jdGlvbiBjb21iaW5lZERlc3RydWN0b3IoKSB7XG5cdFx0XHRcdFx0Zm9yIChjb25zdCBkZXN0cnVjdG9yIG9mIGRlc3RydWN0b3JzKSB7XG5cdFx0XHRcdFx0XHRkZXN0cnVjdG9yKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBbc3ViQ21kLCBkZXN0cnVjdG9yXSA9IHN1YnNjcmlwdGlvblJlc3VsdDtcblxuXHRcdFx0ZXhlY0NtZChkaXNwYXRjaCwgc3ViQ21kKTtcblxuXHRcdFx0cmV0dXJuIGRlc3RydWN0b3I7XG5cdFx0fVxuXHR9LCBbXSk7XG5cblx0cmV0dXJuIFtpbml0aWFsaXplZE1vZGVsLCBkaXNwYXRjaF07XG5cblx0ZnVuY3Rpb24gaGFuZGxlTWVzc2FnZShuZXh0TXNnOiBUTWVzc2FnZSk6IGJvb2xlYW4ge1xuXHRcdGlmICghaW5pdGlhbGl6ZWRNb2RlbCkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdGxldCBtb2RpZmllZCA9IGZhbHNlO1xuXG5cdFx0bG9nTWVzc2FnZShuYW1lLCBuZXh0TXNnKTtcblxuXHRcdGNvbnN0IHVwZGF0ZWRNb2RlbCA9IHsgLi4uaW5pdGlhbGl6ZWRNb2RlbCwgLi4uY3VycmVudE1vZGVsIH07XG5cblx0XHRjb25zdCBbZGVmZXIsIGdldERlZmVycmVkXSA9IGNyZWF0ZURlZmVyPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cdFx0Y29uc3QgY2FsbEJhc2UgPSBjcmVhdGVDYWxsQmFzZShuZXh0TXNnLCB1cGRhdGVkTW9kZWwsIHByb3BzUmVmLmN1cnJlbnQsIHsgZGVmZXIgfSk7XG5cblx0XHRjb25zdCBbbmV3TW9kZWwsIC4uLmNvbW1hbmRzXSA9IGNhbGxVcGRhdGUodXBkYXRlLCBuZXh0TXNnLCB1cGRhdGVkTW9kZWwsIHByb3BzUmVmLmN1cnJlbnQsIHsgZGVmZXIsIGNhbGxCYXNlIH0pO1xuXG5cdFx0Y29uc3QgW2RlZmVycmVkTW9kZWwsIGRlZmVycmVkQ29tbWFuZHNdID0gZ2V0RGVmZXJyZWQoKTtcblxuXHRcdGlmIChtb2RlbEhhc0NoYW5nZWQoY3VycmVudE1vZGVsLCB7IC4uLmRlZmVycmVkTW9kZWwsIC4uLm5ld01vZGVsIH0pKSB7XG5cdFx0XHRjdXJyZW50TW9kZWwgPSB7IC4uLmN1cnJlbnRNb2RlbCwgLi4uZGVmZXJyZWRNb2RlbCwgLi4ubmV3TW9kZWwgfTtcblxuXHRcdFx0bW9kaWZpZWQgPSB0cnVlO1xuXHRcdH1cblxuXHRcdGV4ZWNDbWQoZGlzcGF0Y2gsIC4uLmNvbW1hbmRzLCAuLi5kZWZlcnJlZENvbW1hbmRzKTtcblxuXHRcdHJldHVybiBtb2RpZmllZDtcblx0fVxufVxuXG5mdW5jdGlvbiBjYWxsVXBkYXRlPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHR1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcblx0bXNnOiBUTWVzc2FnZSxcblx0bW9kZWw6IFRNb2RlbCxcblx0cHJvcHM6IFRQcm9wcyxcblx0b3B0aW9uczogVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4pOiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+IHtcblx0aWYgKHR5cGVvZiB1cGRhdGUgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdHJldHVybiB1cGRhdGUobW9kZWwsIG1zZywgcHJvcHMsIG9wdGlvbnMpO1xuXHR9XG5cblx0cmV0dXJuIGNhbGxVcGRhdGVNYXAodXBkYXRlLCBtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9ucyk7XG59XG5cbmZ1bmN0aW9uIGNhbGxVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdHVwZGF0ZU1hcDogVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsOiBUTW9kZWwsXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKTogVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiB7XG5cdGNvbnN0IG1zZ05hbWU6IFRNZXNzYWdlW1wibmFtZVwiXSA9IG1zZy5uYW1lO1xuXG5cdHJldHVybiB1cGRhdGVNYXBbbXNnTmFtZV0obXNnLCBtb2RlbCwgcHJvcHMsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgdHlwZSB7IFN1YnNjcmlwdGlvbiwgU3Vic2NyaXB0aW9uRnVuY3Rpb24sIFN1YnNjcmlwdGlvblJlc3VsdCwgVXNlRWxtaXNoT3B0aW9ucyB9O1xuXG5leHBvcnQgeyBjYWxsVXBkYXRlLCBjYWxsVXBkYXRlTWFwLCBzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXksIHVzZUVsbWlzaCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBRixPQUFBO0FBWUEsSUFBQUcsZUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksYUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssWUFB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
214
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX0NvbW1vbiIsIl9Jbml0IiwiX1R5cGVzIiwiX2NyZWF0ZUNhbGxCYXNlIiwiX2NyZWF0ZURlZmVyMyIsIl9mYWtlT3B0aW9ucyIsIl9yZWR1eERldlRvb2xzIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJyIiwiZSIsInQiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsIl9uIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZiIsIlR5cGVFcnJvciIsIm8iLCJhIiwidSIsImNhbGwiLCJuZXh0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIl9hcnJheUxpa2VUb0FycmF5IiwiX3RvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfbm9uSXRlcmFibGVSZXN0IiwiZnJvbSIsIm93bktleXMiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiX3R5cGVvZiIsInRvUHJpbWl0aXZlIiwiU3RyaW5nIiwiTnVtYmVyIiwiX3NsaWNlZFRvQXJyYXkiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwidGVzdCIsImwiLCJ1c2VFbG1pc2giLCJfcmVmIiwiX2Zha2VPcHRpb25zJGRpc3BhdGNoIiwicHJvcHMiLCJpbml0IiwidXBkYXRlIiwic3Vic2NyaXB0aW9uIiwicnVubmluZyIsImJ1ZmZlciIsImN1cnJlbnRNb2RlbCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm1vZGVsIiwic2V0TW9kZWwiLCJwcm9wc1JlZiIsInVzZVJlZiIsImlzTW91bnRlZFJlZiIsImRldlRvb2xzIiwidXNlRWZmZWN0IiwicmVkdXhVbnN1YnNjcmliZSIsIlNlcnZpY2VzIiwiZW5hYmxlRGV2VG9vbHMiLCJpc1JlZHV4RGV2VG9vbHNFbmFibGVkIiwid2luZG93IiwiY3VycmVudCIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0Iiwic2VyaWFsaXplIiwib3B0aW9ucyIsInN1YnNjcmliZSIsIm1lc3NhZ2UiLCJ0eXBlIiwicGF5bG9hZCIsIkpTT04iLCJwYXJzZSIsInN0YXRlIiwiX3JlZHV4VW5zdWJzY3JpYmUiLCJpbml0aWFsaXplZE1vZGVsIiwiZmFrZU9wdGlvbnMiLCJnZXRGYWtlT3B0aW9uc09uY2UiLCJkaXNwYXRjaCIsInVzZUNhbGxiYWNrIiwibXNnIiwibmV4dE1zZyIsIm1vZGlmaWVkIiwiaGFuZGxlTWVzc2FnZSIsInNlbmQiLCJzaGlmdCIsInByZXZNb2RlbCIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJ1cGRhdGVkTW9kZWwiLCJsb2dnZXIiLCJkZWJ1ZyIsIl9kZXZUb29scyRjdXJyZW50IiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfcmVmMiIsIl9yZWYzIiwiaW5pdE1vZGVsIiwiaW5pdENvbW1hbmRzIiwiZXhlY0NtZCIsImNvbmNhdCIsInN1YnNjcmlwdGlvblJlc3VsdCIsInN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheSIsImRlc3RydWN0b3JzIiwibWFwIiwic3ViIiwiZGVzdHJ1Y3RvciIsInVuZGVmaW5lZCIsImNvbWJpbmVkRGVzdHJ1Y3RvciIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZXJyIiwiX3N1YnNjcmlwdGlvblJlc3VsdCIsInN1YkNtZCIsImxvZ01lc3NhZ2UiLCJfY3JlYXRlRGVmZXIiLCJjcmVhdGVEZWZlciIsIl9jcmVhdGVEZWZlcjIiLCJkZWZlciIsImdldERlZmVycmVkIiwiY2FsbEJhc2UiLCJjcmVhdGVDYWxsQmFzZSIsIl9jYWxsVXBkYXRlIiwiY2FsbFVwZGF0ZSIsIl9jYWxsVXBkYXRlMiIsIm5ld01vZGVsIiwiY29tbWFuZHMiLCJfZ2V0RGVmZXJyZWQiLCJfZ2V0RGVmZXJyZWQyIiwiZGVmZXJyZWRNb2RlbCIsImRlZmVycmVkQ29tbWFuZHMiLCJtb2RlbEhhc0NoYW5nZWQiLCJjYWxsVXBkYXRlTWFwIiwidXBkYXRlTWFwIiwibXNnTmFtZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2VFbG1pc2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBleGVjQ21kLCBsb2dNZXNzYWdlLCBtb2RlbEhhc0NoYW5nZWQgfSBmcm9tIFwiLi9Db21tb25cIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHtcblx0c3Vic2NyaXB0aW9uSXNGdW5jdGlvbkFycmF5LFxuXHR0eXBlIERpc3BhdGNoLFxuXHR0eXBlIEluaXRGdW5jdGlvbixcblx0dHlwZSBNZXNzYWdlLFxuXHR0eXBlIE51bGxhYmxlLFxuXHR0eXBlIFN1YnNjcmlwdGlvbixcblx0dHlwZSBVcGRhdGVGdW5jdGlvbixcblx0dHlwZSBVcGRhdGVGdW5jdGlvbk9wdGlvbnMsXG5cdHR5cGUgVXBkYXRlTWFwLFxuXHR0eXBlIFVwZGF0ZVJldHVyblR5cGUsXG59IGZyb20gXCIuL1R5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVDYWxsQmFzZSB9IGZyb20gXCIuL2NyZWF0ZUNhbGxCYXNlXCI7XG5pbXBvcnQgeyBjcmVhdGVEZWZlciB9IGZyb20gXCIuL2NyZWF0ZURlZmVyXCI7XG5pbXBvcnQgeyBnZXRGYWtlT3B0aW9uc09uY2UgfSBmcm9tIFwiLi9mYWtlT3B0aW9uc1wiO1xuaW1wb3J0IHsgaXNSZWR1eERldlRvb2xzRW5hYmxlZCwgdHlwZSBSZWR1eERldlRvb2xzIH0gZnJvbSBcIi4vcmVkdXhEZXZUb29sc1wiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBgdXNlRWxtaXNoYCBob29rLlxuICogQGludGVyZmFjZSBVc2VFbG1pc2hPcHRpb25zXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqIEB0ZW1wbGF0ZSBUTW9kZWwgVGhlIHR5cGUgb2YgdGhlIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNZXNzYWdlIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlcyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5pbnRlcmZhY2UgVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiB7XG5cdC8qKlxuXHQgKiBUaGUgbmFtZSBvZiB0aGUgY29tcG9uZW50LiBUaGlzIGlzIHVzZWQgZm9yIGxvZ2dpbmcgb25seS5cblx0ICogQHR5cGUge3N0cmluZ31cblx0ICovXG5cdG5hbWU6IHN0cmluZztcblx0LyoqXG5cdCAqIFRoZSBwcm9wcyBwYXNzZWQgdG8gdGhlIGNvbXBvbmVudC5cblx0ICogQHR5cGUge1RQcm9wc31cblx0ICovXG5cdHByb3BzOiBUUHJvcHM7XG5cdC8qKlxuXHQgKiBUaGUgZnVuY3Rpb24gdG8gaW5pdGlhbGl6ZSB0aGUgY29tcG9uZW50cyBtb2RlbC4gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBvbmNlLlxuXHQgKiBAdHlwZSB7SW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT59XG5cdCAqL1xuXHRpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPjtcblx0LyoqXG5cdCAqIFRoZSBgdXBkYXRlYCBmdW5jdGlvbiBvciB1cGRhdGUgbWFwIG9iamVjdC5cblx0ICogQHR5cGUgeyhVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pfVxuXHQgKi9cblx0dXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG5cdC8qKlxuXHQgKiBUaGUgb3B0aW9uYWwgYHN1YnNjcmlwdGlvbmAgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb25jZS5cblx0ICogQHR5cGUgeyhVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pfVxuXHQgKi9cblx0c3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbi8qKlxuICogSG9vayB0byB1c2UgdGhlIEVsbSBhcmNoaXRlY3R1cmUgcGF0dGVybiBpbiBhIGZ1bmN0aW9uIGNvbXBvbmVudC5cbiAqIEBwYXJhbSB7VXNlRWxtaXNoT3B0aW9uc30gb3B0aW9ucyBUaGUgb3B0aW9ucyBwYXNzZWQgdGhlIHRoZSBob29rLlxuICogQHJldHVybnMgQSB0dXBsZSBjb250YWluaW5nIHRoZSBjdXJyZW50IG1vZGVsIGFuZCB0aGUgZGlzcGF0Y2hlci5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBbbW9kZWwsIGRpc3BhdGNoXSA9IHVzZUVsbWlzaCh7IHByb3BzLCBpbml0LCB1cGRhdGUsIG5hbWU6IFwiTXlDb21wb25lbnRcIiB9KTtcbiAqL1xuZnVuY3Rpb24gdXNlRWxtaXNoPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KHtcblx0bmFtZSxcblx0cHJvcHMsXG5cdGluaXQsXG5cdHVwZGF0ZSxcblx0c3Vic2NyaXB0aW9uLFxufTogVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KTogW1RNb2RlbCwgRGlzcGF0Y2g8VE1lc3NhZ2U+XSB7XG5cdGxldCBydW5uaW5nID0gZmFsc2U7XG5cdGNvbnN0IGJ1ZmZlcjogVE1lc3NhZ2VbXSA9IFtdO1xuXHRsZXQgY3VycmVudE1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4gPSB7fTtcblxuXHRjb25zdCBbbW9kZWwsIHNldE1vZGVsXSA9IHVzZVN0YXRlPE51bGxhYmxlPFRNb2RlbD4+KG51bGwpO1xuXHRjb25zdCBwcm9wc1JlZiA9IHVzZVJlZihwcm9wcyk7XG5cdGNvbnN0IGlzTW91bnRlZFJlZiA9IHVzZVJlZih0cnVlKTtcblxuXHRjb25zdCBkZXZUb29scyA9IHVzZVJlZjxSZWR1eERldlRvb2xzIHwgbnVsbD4obnVsbCk7XG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRsZXQgcmVkdXhVbnN1YnNjcmliZTogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuXG5cdFx0aWYgKFNlcnZpY2VzLmVuYWJsZURldlRvb2xzID09PSB0cnVlICYmIGlzUmVkdXhEZXZUb29sc0VuYWJsZWQod2luZG93KSkge1xuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG5cdFx0XHRkZXZUb29scy5jdXJyZW50ID0gd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18uY29ubmVjdCh7IG5hbWUsIHNlcmlhbGl6ZTogeyBvcHRpb25zOiB0cnVlIH0gfSk7XG5cblx0XHRcdHJlZHV4VW5zdWJzY3JpYmUgPSBkZXZUb29scy5jdXJyZW50LnN1YnNjcmliZSgobWVzc2FnZSkgPT4ge1xuXHRcdFx0XHRpZiAobWVzc2FnZS50eXBlID09PSBcIkRJU1BBVENIXCIgJiYgbWVzc2FnZS5wYXlsb2FkLnR5cGUgPT09IFwiSlVNUF9UT19BQ1RJT05cIikge1xuXHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uXG5cdFx0XHRcdFx0c2V0TW9kZWwoSlNPTi5wYXJzZShtZXNzYWdlLnN0YXRlKSBhcyBUTW9kZWwpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRpc01vdW50ZWRSZWYuY3VycmVudCA9IHRydWU7XG5cblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0aXNNb3VudGVkUmVmLmN1cnJlbnQgPSBmYWxzZTtcblxuXHRcdFx0cmVkdXhVbnN1YnNjcmliZT8uKCk7XG5cdFx0fTtcblx0fSwgW25hbWVdKTtcblxuXHRsZXQgaW5pdGlhbGl6ZWRNb2RlbCA9IG1vZGVsO1xuXG5cdGlmIChwcm9wc1JlZi5jdXJyZW50ICE9PSBwcm9wcykge1xuXHRcdHByb3BzUmVmLmN1cnJlbnQgPSBwcm9wcztcblx0fVxuXG5cdGNvbnN0IGZha2VPcHRpb25zID0gZ2V0RmFrZU9wdGlvbnNPbmNlPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cdGNvbnN0IGRpc3BhdGNoID0gdXNlQ2FsbGJhY2soXG5cdFx0ZmFrZU9wdGlvbnM/LmRpc3BhdGNoID8/XG5cdFx0XHQoKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcblx0XHRcdFx0aWYgKHJ1bm5pbmcpIHtcblx0XHRcdFx0XHRidWZmZXIucHVzaChtc2cpO1xuXG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cnVubmluZyA9IHRydWU7XG5cblx0XHRcdFx0bGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuXHRcdFx0XHRsZXQgbW9kaWZpZWQgPSBmYWxzZTtcblxuXHRcdFx0XHRkbyB7XG5cdFx0XHRcdFx0aWYgKGhhbmRsZU1lc3NhZ2UobmV4dE1zZykpIHtcblx0XHRcdFx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRpZiAoZGV2VG9vbHMuY3VycmVudCkge1xuXHRcdFx0XHRcdFx0ZGV2VG9vbHMuY3VycmVudC5zZW5kKG5leHRNc2cubmFtZSwgeyAuLi5pbml0aWFsaXplZE1vZGVsLCAuLi5jdXJyZW50TW9kZWwgfSk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0bmV4dE1zZyA9IGJ1ZmZlci5zaGlmdCgpO1xuXHRcdFx0XHR9IHdoaWxlIChuZXh0TXNnKTtcblxuXHRcdFx0XHRydW5uaW5nID0gZmFsc2U7XG5cblx0XHRcdFx0aWYgKGlzTW91bnRlZFJlZi5jdXJyZW50ICYmIG1vZGlmaWVkKSB7XG5cdFx0XHRcdFx0c2V0TW9kZWwoKHByZXZNb2RlbCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgdXBkYXRlZE1vZGVsID0geyAuLi5wcmV2TW9kZWwsIC4uLmN1cnJlbnRNb2RlbCB9O1xuXG5cdFx0XHRcdFx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiVXBkYXRlIG1vZGVsIGZvclwiLCBuYW1lLCB1cGRhdGVkTW9kZWwpO1xuXG5cdFx0XHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS10eXBlLWFzc2VydGlvbiAtLSBXZSBhbHdheXMgaGF2ZSBhIGZ1bGwgbW9kZWwgaGVyZVxuXHRcdFx0XHRcdFx0cmV0dXJuIHVwZGF0ZWRNb2RlbCBhcyBUTW9kZWw7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdH0pLFxuXHRcdFtdLFxuXHQpO1xuXG5cdGlmICghaW5pdGlhbGl6ZWRNb2RlbCkge1xuXHRcdGNvbnN0IFtpbml0TW9kZWwsIC4uLmluaXRDb21tYW5kc10gPSBmYWtlT3B0aW9ucz8ubW9kZWwgPyBbZmFrZU9wdGlvbnMubW9kZWxdIDogaW5pdChwcm9wcyk7XG5cblx0XHRpbml0aWFsaXplZE1vZGVsID0gaW5pdE1vZGVsO1xuXHRcdHNldE1vZGVsKGluaXRpYWxpemVkTW9kZWwpO1xuXG5cdFx0ZGV2VG9vbHMuY3VycmVudD8uaW5pdChpbml0aWFsaXplZE1vZGVsKTtcblxuXHRcdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJJbml0aWFsIG1vZGVsIGZvclwiLCBuYW1lLCBpbml0aWFsaXplZE1vZGVsKTtcblxuXHRcdGV4ZWNDbWQoZGlzcGF0Y2gsIC4uLmluaXRDb21tYW5kcyk7XG5cdH1cblxuXHQvLyBiaW9tZS1pZ25vcmUgbGludC9jb3JyZWN0bmVzcy91c2VFeGhhdXN0aXZlRGVwZW5kZW5jaWVzOiBXZSB3YW50IHRvIHJ1biB0aGlzIGVmZmVjdCBvbmx5IG9uY2Vcblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpZiAoc3Vic2NyaXB0aW9uKSB7XG5cdFx0XHRjb25zdCBzdWJzY3JpcHRpb25SZXN1bHQgPSBzdWJzY3JpcHRpb24oaW5pdGlhbGl6ZWRNb2RlbCwgcHJvcHMpO1xuXG5cdFx0XHRpZiAoc3Vic2NyaXB0aW9uSXNGdW5jdGlvbkFycmF5KHN1YnNjcmlwdGlvblJlc3VsdCkpIHtcblx0XHRcdFx0Y29uc3QgZGVzdHJ1Y3RvcnMgPSBzdWJzY3JpcHRpb25SZXN1bHQubWFwKChzdWIpID0+IHN1YihkaXNwYXRjaCkpLmZpbHRlcigoZGVzdHJ1Y3RvcikgPT4gZGVzdHJ1Y3RvciAhPT0gdW5kZWZpbmVkKTtcblxuXHRcdFx0XHRyZXR1cm4gZnVuY3Rpb24gY29tYmluZWREZXN0cnVjdG9yKCkge1xuXHRcdFx0XHRcdGZvciAoY29uc3QgZGVzdHJ1Y3RvciBvZiBkZXN0cnVjdG9ycykge1xuXHRcdFx0XHRcdFx0ZGVzdHJ1Y3RvcigpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fTtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgW3N1YkNtZCwgZGVzdHJ1Y3Rvcl0gPSBzdWJzY3JpcHRpb25SZXN1bHQ7XG5cblx0XHRcdGV4ZWNDbWQoZGlzcGF0Y2gsIHN1YkNtZCk7XG5cblx0XHRcdHJldHVybiBkZXN0cnVjdG9yO1xuXHRcdH1cblx0fSwgW10pO1xuXG5cdHJldHVybiBbaW5pdGlhbGl6ZWRNb2RlbCwgZGlzcGF0Y2hdO1xuXG5cdGZ1bmN0aW9uIGhhbmRsZU1lc3NhZ2UobmV4dE1zZzogVE1lc3NhZ2UpOiBib29sZWFuIHtcblx0XHRpZiAoIWluaXRpYWxpemVkTW9kZWwpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHRsZXQgbW9kaWZpZWQgPSBmYWxzZTtcblxuXHRcdGxvZ01lc3NhZ2UobmFtZSwgbmV4dE1zZyk7XG5cblx0XHRjb25zdCB1cGRhdGVkTW9kZWwgPSB7IC4uLmluaXRpYWxpemVkTW9kZWwsIC4uLmN1cnJlbnRNb2RlbCB9O1xuXG5cdFx0Y29uc3QgW2RlZmVyLCBnZXREZWZlcnJlZF0gPSBjcmVhdGVEZWZlcjxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXHRcdGNvbnN0IGNhbGxCYXNlID0gY3JlYXRlQ2FsbEJhc2UobmV4dE1zZywgdXBkYXRlZE1vZGVsLCBwcm9wc1JlZi5jdXJyZW50LCB7IGRlZmVyIH0pO1xuXG5cdFx0Y29uc3QgW25ld01vZGVsLCAuLi5jb21tYW5kc10gPSBjYWxsVXBkYXRlKHVwZGF0ZSwgbmV4dE1zZywgdXBkYXRlZE1vZGVsLCBwcm9wc1JlZi5jdXJyZW50LCB7IGRlZmVyLCBjYWxsQmFzZSB9KTtcblxuXHRcdGNvbnN0IFtkZWZlcnJlZE1vZGVsLCBkZWZlcnJlZENvbW1hbmRzXSA9IGdldERlZmVycmVkKCk7XG5cblx0XHRpZiAobW9kZWxIYXNDaGFuZ2VkKGN1cnJlbnRNb2RlbCwgeyAuLi5kZWZlcnJlZE1vZGVsLCAuLi5uZXdNb2RlbCB9KSkge1xuXHRcdFx0Y3VycmVudE1vZGVsID0geyAuLi5jdXJyZW50TW9kZWwsIC4uLmRlZmVycmVkTW9kZWwsIC4uLm5ld01vZGVsIH07XG5cblx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHR9XG5cblx0XHRleGVjQ21kKGRpc3BhdGNoLCAuLi5jb21tYW5kcywgLi4uZGVmZXJyZWRDb21tYW5kcyk7XG5cblx0XHRyZXR1cm4gbW9kaWZpZWQ7XG5cdH1cbn1cblxuZnVuY3Rpb24gY2FsbFVwZGF0ZTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0dXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsOiBUTW9kZWwsXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKTogVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiB7XG5cdGlmICh0eXBlb2YgdXBkYXRlID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRyZXR1cm4gdXBkYXRlKG1vZGVsLCBtc2csIHByb3BzLCBvcHRpb25zKTtcblx0fVxuXG5cdHJldHVybiBjYWxsVXBkYXRlTWFwKHVwZGF0ZSwgbXNnLCBtb2RlbCwgcHJvcHMsIG9wdGlvbnMpO1xufVxuXG5mdW5jdGlvbiBjYWxsVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHR1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogVE1vZGVsLFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbik6IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuXHRjb25zdCBtc2dOYW1lOiBUTWVzc2FnZVtcIm5hbWVcIl0gPSBtc2cubmFtZTtcblxuXHRyZXR1cm4gdXBkYXRlTWFwW21zZ05hbWVdKG1zZywgbW9kZWwsIHByb3BzLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IHR5cGUgeyBVc2VFbG1pc2hPcHRpb25zIH07XG5cbmV4cG9ydCB7IGNhbGxVcGRhdGUsIGNhbGxVcGRhdGVNYXAsIHVzZUVsbWlzaCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFZQSxJQUFBSSxlQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxjQUFBLEdBQUFQLE9BQUE7QUFBNkUsU0FBQVEsMkJBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLHlCQUFBQyxNQUFBLElBQUFILENBQUEsQ0FBQUcsTUFBQSxDQUFBQyxRQUFBLEtBQUFKLENBQUEscUJBQUFFLENBQUEsUUFBQUcsS0FBQSxDQUFBQyxPQUFBLENBQUFOLENBQUEsTUFBQUUsQ0FBQSxHQUFBSywyQkFBQSxDQUFBUCxDQUFBLE1BQUFDLENBQUEsSUFBQUQsQ0FBQSx1QkFBQUEsQ0FBQSxDQUFBUSxNQUFBLElBQUFOLENBQUEsS0FBQUYsQ0FBQSxHQUFBRSxDQUFBLE9BQUFPLEVBQUEsTUFBQUMsQ0FBQSxZQUFBQSxFQUFBLGVBQUFDLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLFdBQUFBLEVBQUEsV0FBQUgsRUFBQSxJQUFBVCxDQUFBLENBQUFRLE1BQUEsS0FBQUssSUFBQSxXQUFBQSxJQUFBLE1BQUFDLEtBQUEsRUFBQWQsQ0FBQSxDQUFBUyxFQUFBLFVBQUFSLENBQUEsV0FBQUEsRUFBQUQsQ0FBQSxVQUFBQSxDQUFBLEtBQUFlLENBQUEsRUFBQUwsQ0FBQSxnQkFBQU0sU0FBQSxpSkFBQUMsQ0FBQSxFQUFBQyxDQUFBLE9BQUFDLENBQUEsZ0JBQUFSLENBQUEsV0FBQUEsRUFBQSxJQUFBVCxDQUFB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-elmish",
3
- "version": "9.3.1",
3
+ "version": "10.0.0-beta.1",
4
4
  "description": "Elmish for React using Typescript",
5
5
  "author": "atheck",
6
6
  "license": "MIT",
@@ -14,6 +14,9 @@
14
14
  "update": "npx -y npm-check-updates -i --install never && npx -y npm-check-updates -i --target minor --install never && npx -y npm-check-updates -i --target patch --install never && npm update",
15
15
  "semantic-release": "semantic-release"
16
16
  },
17
+ "dependencies": {
18
+ "immer": "10.1.1"
19
+ },
17
20
  "peerDependencies": {
18
21
  "react": ">=16.8.0 <20"
19
22
  },
@@ -53,6 +56,10 @@
53
56
  "files": [
54
57
  "dist/**/*"
55
58
  ],
56
- "main": "dist/index.js",
59
+ "exports": {
60
+ ".": "./dist/index.js",
61
+ "./immutable": "./dist/immutable/index.js",
62
+ "./testing": "./dist/Testing/index.js"
63
+ },
57
64
  "types": "dist/index.d.ts"
58
65
  }