react-elmish 10.0.0-beta.2 → 10.0.0-beta.4

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.
@@ -0,0 +1,25 @@
1
+ import type { ErrorMessage } from "../ErrorHandling";
2
+ import type { UpdateReturnType } from "./Types";
3
+ /**
4
+ * Creates an object to handle error messages in an update map.
5
+ * Spread the object returned by this function into your `UpdateMap`.
6
+ * @returns An object containing an error handler function.
7
+ * @example
8
+ * ```ts
9
+ * const update: UpdateMap<Props, Model, Message> = {
10
+ * // ...
11
+ * ...errorHandler(),
12
+ * };
13
+ * ```
14
+ */
15
+ declare function errorHandler<TModel, TMessage>(): {
16
+ error: (msg: ErrorMessage) => UpdateReturnType<TModel, TMessage>;
17
+ };
18
+ /**
19
+ * Handles an error.
20
+ * Logs the error if a Logger was specified.
21
+ * Calls the error handling middleware if specified.
22
+ * @param {Error} error The error.
23
+ */
24
+ declare function handleError<TModel, TMessage>(error: Error): UpdateReturnType<TModel, TMessage>;
25
+ export { errorHandler, handleError };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.errorHandler = errorHandler;
7
+ exports.handleError = handleError;
8
+ var _Init = require("../Init");
9
+ /**
10
+ * Creates an object to handle error messages in an update map.
11
+ * Spread the object returned by this function into your `UpdateMap`.
12
+ * @returns An object containing an error handler function.
13
+ * @example
14
+ * ```ts
15
+ * const update: UpdateMap<Props, Model, Message> = {
16
+ * // ...
17
+ * ...errorHandler(),
18
+ * };
19
+ * ```
20
+ */
21
+ function errorHandler() {
22
+ return {
23
+ error: function error(_ref) {
24
+ var error = _ref.error;
25
+ return handleError(error);
26
+ }
27
+ };
28
+ }
29
+
30
+ /**
31
+ * Handles an error.
32
+ * Logs the error if a Logger was specified.
33
+ * Calls the error handling middleware if specified.
34
+ * @param {Error} error The error.
35
+ */
36
+ function handleError(error) {
37
+ var _Services$logger;
38
+ if (_Init.Services.errorMiddleware) {
39
+ _Init.Services.errorMiddleware(error);
40
+ }
41
+ (_Services$logger = _Init.Services.logger) === null || _Services$logger === void 0 || _Services$logger.error(error);
42
+ return [];
43
+ }
44
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW5pdCIsInJlcXVpcmUiLCJlcnJvckhhbmRsZXIiLCJlcnJvciIsIl9yZWYiLCJoYW5kbGVFcnJvciIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJTZXJ2aWNlcyIsImVycm9yTWlkZGxld2FyZSIsImxvZ2dlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbW11dGFibGUvRXJyb3JIYW5kbGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVycm9yTWVzc2FnZSB9IGZyb20gXCIuLi9FcnJvckhhbmRsaW5nXCI7XG5pbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuLi9Jbml0XCI7XG5pbXBvcnQgdHlwZSB7IFVwZGF0ZVJldHVyblR5cGUgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gb2JqZWN0IHRvIGhhbmRsZSBlcnJvciBtZXNzYWdlcyBpbiBhbiB1cGRhdGUgbWFwLlxuICogU3ByZWFkIHRoZSBvYmplY3QgcmV0dXJuZWQgYnkgdGhpcyBmdW5jdGlvbiBpbnRvIHlvdXIgYFVwZGF0ZU1hcGAuXG4gKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyBhbiBlcnJvciBoYW5kbGVyIGZ1bmN0aW9uLlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBjb25zdCB1cGRhdGU6IFVwZGF0ZU1hcDxQcm9wcywgTW9kZWwsIE1lc3NhZ2U+ID0ge1xuICogICAgIC8vIC4uLlxuICogICAgIC4uLmVycm9ySGFuZGxlcigpLFxuICogfTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBlcnJvckhhbmRsZXI8VE1vZGVsLCBUTWVzc2FnZT4oKToge1xuXHRlcnJvcjogKG1zZzogRXJyb3JNZXNzYWdlKSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xufSB7XG5cdHJldHVybiB7XG5cdFx0ZXJyb3IoeyBlcnJvciB9KSB7XG5cdFx0XHRyZXR1cm4gaGFuZGxlRXJyb3IoZXJyb3IpO1xuXHRcdH0sXG5cdH07XG59XG5cbi8qKlxuICogSGFuZGxlcyBhbiBlcnJvci5cbiAqIExvZ3MgdGhlIGVycm9yIGlmIGEgTG9nZ2VyIHdhcyBzcGVjaWZpZWQuXG4gKiBDYWxscyB0aGUgZXJyb3IgaGFuZGxpbmcgbWlkZGxld2FyZSBpZiBzcGVjaWZpZWQuXG4gKiBAcGFyYW0ge0Vycm9yfSBlcnJvciBUaGUgZXJyb3IuXG4gKi9cbmZ1bmN0aW9uIGhhbmRsZUVycm9yPFRNb2RlbCwgVE1lc3NhZ2U+KGVycm9yOiBFcnJvcik6IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuXHRpZiAoU2VydmljZXMuZXJyb3JNaWRkbGV3YXJlKSB7XG5cdFx0U2VydmljZXMuZXJyb3JNaWRkbGV3YXJlKGVycm9yKTtcblx0fVxuXHRTZXJ2aWNlcy5sb2dnZXI/LmVycm9yKGVycm9yKTtcblxuXHRyZXR1cm4gW107XG59XG5cbmV4cG9ydCB7IGVycm9ySGFuZGxlciwgaGFuZGxlRXJyb3IgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLElBQUFBLEtBQUEsR0FBQUMsT0FBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLFlBQVlBLENBQUEsRUFFbkI7RUFDRCxPQUFPO0lBQ05DLEtBQUssV0FBTEEsS0FBS0EsQ0FBQUMsSUFBQSxFQUFZO01BQUEsSUFBVEQsS0FBSyxHQUFBQyxJQUFBLENBQUxELEtBQUs7TUFDWixPQUFPRSxXQUFXLENBQUNGLEtBQUssQ0FBQztJQUMxQjtFQUNELENBQUM7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTRSxXQUFXQSxDQUFtQkYsS0FBWSxFQUFzQztFQUFBLElBQUFHLGdCQUFBO0VBQ3hGLElBQUlDLGNBQVEsQ0FBQ0MsZUFBZSxFQUFFO0lBQzdCRCxjQUFRLENBQUNDLGVBQWUsQ0FBQ0wsS0FBSyxDQUFDO0VBQ2hDO0VBQ0EsQ0FBQUcsZ0JBQUEsR0FBQUMsY0FBUSxDQUFDRSxNQUFNLGNBQUFILGdCQUFBLGVBQWZBLGdCQUFBLENBQWlCSCxLQUFLLENBQUNBLEtBQUssQ0FBQztFQUU3QixPQUFPLEVBQUU7QUFDViIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,6 +1,6 @@
1
- import type { Immutable } from "immer";
1
+ import type { Draft, Immutable } from "immer";
2
2
  import type { Cmd, Message, SubscriptionResult } from "../Types";
3
- type DraftModelFunction<TModel> = (draft: TModel) => void;
3
+ type DraftModelFunction<TModel> = (draft: Draft<Immutable<TModel>>) => void;
4
4
  /**
5
5
  * Type for the return value of the `update` function.
6
6
  */
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltbXV0YWJsZS9UeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEltbXV0YWJsZSB9IGZyb20gXCJpbW1lclwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIE1lc3NhZ2UsIFN1YnNjcmlwdGlvblJlc3VsdCB9IGZyb20gXCIuLi9UeXBlc1wiO1xuXG50eXBlIERyYWZ0TW9kZWxGdW5jdGlvbjxUTW9kZWw+ID0gKGRyYWZ0OiBUTW9kZWwpID0+IHZvaWQ7XG5cbi8qKlxuICogVHlwZSBmb3IgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgYHVwZGF0ZWAgZnVuY3Rpb24uXG4gKi9cbnR5cGUgVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiA9IFtEcmFmdE1vZGVsRnVuY3Rpb248VE1vZGVsPiB8IG51bGwgfCB1bmRlZmluZWQsIC4uLihDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdXSB8IFtdO1xuXG50eXBlIERlZmVyRnVuY3Rpb248VE1vZGVsLCBUTWVzc2FnZT4gPSAoXG5cdGRyYWZ0Rm46IERyYWZ0TW9kZWxGdW5jdGlvbjxUTW9kZWw+IHwgbnVsbCB8IHVuZGVmaW5lZCxcblx0Li4uY29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdXG4pID0+IHZvaWQ7XG50eXBlIENhbGxCYXNlRnVuY3Rpb248VE1vZGVsLCBUUHJvcHMsIFRNZXNzYWdlPiA9IChcblx0Zm46IChcblx0XHRtc2c6IFRNZXNzYWdlLFxuXHRcdG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPixcblx0XHRwcm9wczogVFByb3BzLFxuXHRcdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHQpID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBNZXNzYWdlPixcbikgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPjtcblxudHlwZSBVcGRhdGVNYXBGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0gKFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+O1xuXG5pbnRlcmZhY2UgVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4ge1xuXHRkZWZlcjogRGVmZXJGdW5jdGlvbjxUTW9kZWwsIFRNZXNzYWdlPjtcblx0Y2FsbEJhc2U6IENhbGxCYXNlRnVuY3Rpb248VE1vZGVsLCBUUHJvcHMsIFRNZXNzYWdlPjtcbn1cblxudHlwZSBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiA9IChcblx0bW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+LFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbikgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPjtcblxuLyoqXG4gKiBUeXBlIGZvciBtYXBwaW5nIG1lc3NhZ2VzIHRvIGZ1bmN0aW9ucy5cbiAqIFVzZSB0aGlzIHR5cGUgdG8gY3JlYXRlIHlvdXIgdXBkYXRlIGxvZ2ljIGZvciB0aGUgdXNlRWxtaXNoIGhvb2suXG4gKi9cbnR5cGUgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+ID0ge1xuXHRbVE1lc3NhZ2VOYW1lIGluIFRNZXNzYWdlW1wibmFtZVwiXV06IChcblx0XHRtc2c6IFRNZXNzYWdlICYgeyBuYW1lOiBUTWVzc2FnZU5hbWUgfSxcblx0XHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdFx0cHJvcHM6IFRQcm9wcyxcblx0XHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlICYgeyBuYW1lOiBUTWVzc2FnZU5hbWUgfT4sXG5cdCkgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPjtcbn07XG5cbnR5cGUgU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gPSAobW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+LCBwcm9wczogVFByb3BzKSA9PiBTdWJzY3JpcHRpb25SZXN1bHQ8VE1lc3NhZ2U+O1xuXG5leHBvcnQgdHlwZSB7XG5cdENhbGxCYXNlRnVuY3Rpb24sXG5cdERlZmVyRnVuY3Rpb24sXG5cdERyYWZ0TW9kZWxGdW5jdGlvbixcblx0U3Vic2NyaXB0aW9uLFxuXHRVcGRhdGVGdW5jdGlvbixcblx0VXBkYXRlRnVuY3Rpb25PcHRpb25zLFxuXHRVcGRhdGVNYXAsXG5cdFVwZGF0ZU1hcEZ1bmN0aW9uLFxuXHRVcGRhdGVSZXR1cm5UeXBlLFxufTtcbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltbXV0YWJsZS9UeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERyYWZ0LCBJbW11dGFibGUgfSBmcm9tIFwiaW1tZXJcIjtcbmltcG9ydCB0eXBlIHsgQ21kLCBNZXNzYWdlLCBTdWJzY3JpcHRpb25SZXN1bHQgfSBmcm9tIFwiLi4vVHlwZXNcIjtcblxudHlwZSBEcmFmdE1vZGVsRnVuY3Rpb248VE1vZGVsPiA9IChkcmFmdDogRHJhZnQ8SW1tdXRhYmxlPFRNb2RlbD4+KSA9PiB2b2lkO1xuXG4vKipcbiAqIFR5cGUgZm9yIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGB1cGRhdGVgIGZ1bmN0aW9uLlxuICovXG50eXBlIFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4gPSBbRHJhZnRNb2RlbEZ1bmN0aW9uPFRNb2RlbD4gfCBudWxsIHwgdW5kZWZpbmVkLCAuLi4oQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXV0gfCBbXTtcblxudHlwZSBEZWZlckZ1bmN0aW9uPFRNb2RlbCwgVE1lc3NhZ2U+ID0gKFxuXHRkcmFmdEZuOiBEcmFmdE1vZGVsRnVuY3Rpb248VE1vZGVsPiB8IG51bGwgfCB1bmRlZmluZWQsXG5cdC4uLmNvbW1hbmRzOiAoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXVxuKSA9PiB2b2lkO1xudHlwZSBDYWxsQmFzZUZ1bmN0aW9uPFRNb2RlbCwgVFByb3BzLCBUTWVzc2FnZT4gPSAoXG5cdGZuOiAoXG5cdFx0bXNnOiBUTWVzc2FnZSxcblx0XHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdFx0cHJvcHM6IFRQcm9wcyxcblx0XHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcblx0KSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgTWVzc2FnZT4sXG4pID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT47XG5cbnR5cGUgVXBkYXRlTWFwRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiA9IChcblx0bXNnOiBUTWVzc2FnZSxcblx0bW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+LFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbikgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPjtcblxuaW50ZXJmYWNlIFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHtcblx0ZGVmZXI6IERlZmVyRnVuY3Rpb248VE1vZGVsLCBUTWVzc2FnZT47XG5cdGNhbGxCYXNlOiBDYWxsQmFzZUZ1bmN0aW9uPFRNb2RlbCwgVFByb3BzLCBUTWVzc2FnZT47XG59XG5cbnR5cGUgVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4gPSAoXG5cdG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPixcblx0bXNnOiBUTWVzc2FnZSxcblx0cHJvcHM6IFRQcm9wcyxcblx0b3B0aW9uczogVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4pID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT47XG5cbi8qKlxuICogVHlwZSBmb3IgbWFwcGluZyBtZXNzYWdlcyB0byBmdW5jdGlvbnMuXG4gKiBVc2UgdGhpcyB0eXBlIHRvIGNyZWF0ZSB5b3VyIHVwZGF0ZSBsb2dpYyBmb3IgdGhlIHVzZUVsbWlzaCBob29rLlxuICovXG50eXBlIFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiA9IHtcblx0W1RNZXNzYWdlTmFtZSBpbiBUTWVzc2FnZVtcIm5hbWVcIl1dOiAoXG5cdFx0bXNnOiBUTWVzc2FnZSAmIHsgbmFtZTogVE1lc3NhZ2VOYW1lIH0sXG5cdFx0bW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+LFxuXHRcdHByb3BzOiBUUHJvcHMsXG5cdFx0b3B0aW9uczogVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSAmIHsgbmFtZTogVE1lc3NhZ2VOYW1lIH0+LFxuXHQpID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT47XG59O1xuXG50eXBlIFN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0gKG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPiwgcHJvcHM6IFRQcm9wcykgPT4gU3Vic2NyaXB0aW9uUmVzdWx0PFRNZXNzYWdlPjtcblxuZXhwb3J0IHR5cGUge1xuXHRDYWxsQmFzZUZ1bmN0aW9uLFxuXHREZWZlckZ1bmN0aW9uLFxuXHREcmFmdE1vZGVsRnVuY3Rpb24sXG5cdFN1YnNjcmlwdGlvbixcblx0VXBkYXRlRnVuY3Rpb24sXG5cdFVwZGF0ZUZ1bmN0aW9uT3B0aW9ucyxcblx0VXBkYXRlTWFwLFxuXHRVcGRhdGVNYXBGdW5jdGlvbixcblx0VXBkYXRlUmV0dXJuVHlwZSxcbn07XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,7 +1,8 @@
1
1
  export { cmd } from "../cmd";
2
- export { errorHandler, errorMsg, handleError, type ErrorMessage } from "../ErrorHandling";
2
+ export { errorMsg, type ErrorMessage } from "../ErrorHandling";
3
3
  export { init, type ElmOptions, type Logger } from "../Init";
4
4
  export { mergeSubscriptions } from "../mergeSubscriptions";
5
5
  export type { Cmd, Dispatch, InitResult, Message, SubscriptionResult, } from "../Types";
6
+ export { errorHandler, handleError } from "./ErrorHandling";
6
7
  export type { UpdateFunctionOptions, UpdateMap, UpdateReturnType, } from "./Types";
7
8
  export { useElmish, type UseElmishOptions } from "./useElmish";
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "cmd", {
12
12
  Object.defineProperty(exports, "errorHandler", {
13
13
  enumerable: true,
14
14
  get: function get() {
15
- return _ErrorHandling.errorHandler;
15
+ return _ErrorHandling2.errorHandler;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "errorMsg", {
@@ -24,7 +24,7 @@ Object.defineProperty(exports, "errorMsg", {
24
24
  Object.defineProperty(exports, "handleError", {
25
25
  enumerable: true,
26
26
  get: function get() {
27
- return _ErrorHandling.handleError;
27
+ return _ErrorHandling2.handleError;
28
28
  }
29
29
  });
30
30
  Object.defineProperty(exports, "init", {
@@ -49,5 +49,6 @@ var _cmd = require("../cmd");
49
49
  var _ErrorHandling = require("../ErrorHandling");
50
50
  var _Init = require("../Init");
51
51
  var _mergeSubscriptions = require("../mergeSubscriptions");
52
+ var _ErrorHandling2 = require("./ErrorHandling");
52
53
  var _useElmish = require("./useElmish");
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY21kIiwicmVxdWlyZSIsIl9FcnJvckhhbmRsaW5nIiwiX0luaXQiLCJfbWVyZ2VTdWJzY3JpcHRpb25zIiwiX3VzZUVsbWlzaCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbW11dGFibGUvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgY21kIH0gZnJvbSBcIi4uL2NtZFwiO1xuZXhwb3J0IHsgZXJyb3JIYW5kbGVyLCBlcnJvck1zZywgaGFuZGxlRXJyb3IsIHR5cGUgRXJyb3JNZXNzYWdlIH0gZnJvbSBcIi4uL0Vycm9ySGFuZGxpbmdcIjtcbmV4cG9ydCB7IGluaXQsIHR5cGUgRWxtT3B0aW9ucywgdHlwZSBMb2dnZXIgfSBmcm9tIFwiLi4vSW5pdFwiO1xuZXhwb3J0IHsgbWVyZ2VTdWJzY3JpcHRpb25zIH0gZnJvbSBcIi4uL21lcmdlU3Vic2NyaXB0aW9uc1wiO1xuZXhwb3J0IHR5cGUge1xuXHRDbWQsXG5cdERpc3BhdGNoLFxuXHRJbml0UmVzdWx0LFxuXHRNZXNzYWdlLFxuXHRTdWJzY3JpcHRpb25SZXN1bHQsXG59IGZyb20gXCIuLi9UeXBlc1wiO1xuZXhwb3J0IHR5cGUge1xuXHRVcGRhdGVGdW5jdGlvbk9wdGlvbnMsXG5cdFVwZGF0ZU1hcCxcblx0VXBkYXRlUmV0dXJuVHlwZSxcbn0gZnJvbSBcIi4vVHlwZXNcIjtcbmV4cG9ydCB7IHVzZUVsbWlzaCwgdHlwZSBVc2VFbG1pc2hPcHRpb25zIH0gZnJvbSBcIi4vdXNlRWxtaXNoXCI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsSUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsY0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsbUJBQUEsR0FBQUgsT0FBQTtBQWFBLElBQUFJLFVBQUEsR0FBQUosT0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY21kIiwicmVxdWlyZSIsIl9FcnJvckhhbmRsaW5nIiwiX0luaXQiLCJfbWVyZ2VTdWJzY3JpcHRpb25zIiwiX0Vycm9ySGFuZGxpbmcyIiwiX3VzZUVsbWlzaCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbW11dGFibGUvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgY21kIH0gZnJvbSBcIi4uL2NtZFwiO1xuZXhwb3J0IHsgZXJyb3JNc2csIHR5cGUgRXJyb3JNZXNzYWdlIH0gZnJvbSBcIi4uL0Vycm9ySGFuZGxpbmdcIjtcbmV4cG9ydCB7IGluaXQsIHR5cGUgRWxtT3B0aW9ucywgdHlwZSBMb2dnZXIgfSBmcm9tIFwiLi4vSW5pdFwiO1xuZXhwb3J0IHsgbWVyZ2VTdWJzY3JpcHRpb25zIH0gZnJvbSBcIi4uL21lcmdlU3Vic2NyaXB0aW9uc1wiO1xuZXhwb3J0IHR5cGUge1xuXHRDbWQsXG5cdERpc3BhdGNoLFxuXHRJbml0UmVzdWx0LFxuXHRNZXNzYWdlLFxuXHRTdWJzY3JpcHRpb25SZXN1bHQsXG59IGZyb20gXCIuLi9UeXBlc1wiO1xuZXhwb3J0IHsgZXJyb3JIYW5kbGVyLCBoYW5kbGVFcnJvciB9IGZyb20gXCIuL0Vycm9ySGFuZGxpbmdcIjtcbmV4cG9ydCB0eXBlIHtcblx0VXBkYXRlRnVuY3Rpb25PcHRpb25zLFxuXHRVcGRhdGVNYXAsXG5cdFVwZGF0ZVJldHVyblR5cGUsXG59IGZyb20gXCIuL1R5cGVzXCI7XG5leHBvcnQgeyB1c2VFbG1pc2gsIHR5cGUgVXNlRWxtaXNoT3B0aW9ucyB9IGZyb20gXCIuL3VzZUVsbWlzaFwiO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLElBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGNBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLG1CQUFBLEdBQUFILE9BQUE7QUFRQSxJQUFBSSxlQUFBLEdBQUFKLE9BQUE7QUFNQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,4 @@
1
+ import { type Immutable } from "immer";
2
+ import type { InitFunction, Message } from "../../Types";
3
+ declare function createModelAndProps<TProps, TModel, TMessage extends Message>(init: InitFunction<TProps, TModel, TMessage>, initProps: () => TProps, modelTemplate?: Partial<TModel>, propsTemplate?: Partial<TProps>): [Immutable<TModel>, TProps];
4
+ export { createModelAndProps };
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createModelAndProps = createModelAndProps;
7
+ var _immer = require("immer");
8
+ 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); }
9
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
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."); }
11
+ 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; } }
12
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13
+ 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; } }
14
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
15
+ 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; }
16
+ 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; }
17
+ 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; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
19
+ 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); }
20
+ function createModelAndProps(init, initProps, modelTemplate, propsTemplate) {
21
+ var props = _objectSpread(_objectSpread({}, initProps()), propsTemplate);
22
+ var _init = init(props),
23
+ _init2 = _slicedToArray(_init, 1),
24
+ model = _init2[0];
25
+ return [(0, _immer.castImmutable)((0, _immer.freeze)(_objectSpread(_objectSpread({}, model), modelTemplate), true)), props];
26
+ }
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW1tZXIiLCJyZXF1aXJlIiwiX3R5cGVvZiIsIm8iLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwiX3NsaWNlZFRvQXJyYXkiLCJyIiwiZSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJUeXBlRXJyb3IiLCJhIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0IiwidG9TdHJpbmciLCJjYWxsIiwic2xpY2UiLCJuYW1lIiwiQXJyYXkiLCJmcm9tIiwidGVzdCIsImxlbmd0aCIsIm4iLCJsIiwiaSIsInUiLCJmIiwibmV4dCIsIk9iamVjdCIsImRvbmUiLCJwdXNoIiwidmFsdWUiLCJpc0FycmF5Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJTdHJpbmciLCJOdW1iZXIiLCJjcmVhdGVNb2RlbEFuZFByb3BzIiwiaW5pdCIsImluaXRQcm9wcyIsIm1vZGVsVGVtcGxhdGUiLCJwcm9wc1RlbXBsYXRlIiwicHJvcHMiLCJfaW5pdCIsIl9pbml0MiIsIm1vZGVsIiwiY2FzdEltbXV0YWJsZSIsImZyZWV6ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbW11dGFibGUvdGVzdGluZy9jcmVhdGVNb2RlbEFuZFByb3BzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNhc3RJbW11dGFibGUsIGZyZWV6ZSwgdHlwZSBJbW11dGFibGUgfSBmcm9tIFwiaW1tZXJcIjtcbmltcG9ydCB0eXBlIHsgSW5pdEZ1bmN0aW9uLCBNZXNzYWdlIH0gZnJvbSBcIi4uLy4uL1R5cGVzXCI7XG5cbmZ1bmN0aW9uIGNyZWF0ZU1vZGVsQW5kUHJvcHM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdGluaXQ6IEluaXRGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRpbml0UHJvcHM6ICgpID0+IFRQcm9wcyxcblx0bW9kZWxUZW1wbGF0ZT86IFBhcnRpYWw8VE1vZGVsPixcblx0cHJvcHNUZW1wbGF0ZT86IFBhcnRpYWw8VFByb3BzPixcbik6IFtJbW11dGFibGU8VE1vZGVsPiwgVFByb3BzXSB7XG5cdGNvbnN0IHByb3BzOiBUUHJvcHMgPSB7XG5cdFx0Li4uaW5pdFByb3BzKCksXG5cdFx0Li4ucHJvcHNUZW1wbGF0ZSxcblx0fTtcblx0Y29uc3QgW21vZGVsXSA9IGluaXQocHJvcHMpO1xuXG5cdHJldHVybiBbY2FzdEltbXV0YWJsZShmcmVlemUoeyAuLi5tb2RlbCwgLi4ubW9kZWxUZW1wbGF0ZSB9LCB0cnVlKSksIHByb3BzXTtcbn1cblxuZXhwb3J0IHsgY3JlYXRlTW9kZWxBbmRQcm9wcyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFBOEQsU0FBQUMsUUFBQUMsQ0FBQSxzQ0FBQUQsT0FBQSx3QkFBQUUsTUFBQSx1QkFBQUEsTUFBQSxDQUFBQyxRQUFBLGFBQUFGLENBQUEsa0JBQUFBLENBQUEsZ0JBQUFBLENBQUEsV0FBQUEsQ0FBQSx5QkFBQUMsTUFBQSxJQUFBRCxDQUFBLENBQUFHLFdBQUEsS0FBQUYsTUFBQSxJQUFBRCxDQUFBLEtBQUFDLE1BQUEsQ0FBQUcsU0FBQSxxQkFBQUosQ0FBQSxLQUFBRCxPQUFBLENBQUFD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
@@ -0,0 +1,18 @@
1
+ import { type Immutable } from "immer";
2
+ import type { Message } from "../../Types";
3
+ import type { UpdateFunctionOptions } from "../Types";
4
+ type UpdateArgsFactory<TProps, TModel, TMessage extends Message> = (msg: TMessage, modelTemplate?: Partial<TModel>, propsTemplate?: Partial<TProps>, optionsTemplate?: Partial<UpdateFunctionOptions<TProps, TModel, TMessage>>) => [TMessage, Immutable<TModel>, TProps, Partial<UpdateFunctionOptions<TProps, TModel, TMessage>>?];
5
+ /**
6
+ * Creates a factory function to create a message, a model, props, and options which can be passed to an update function in tests.
7
+ * @param {() => TModel} initModel A function to create an initial model.
8
+ * @param {() => TProps} initProps A function to create initial props.
9
+ * @returns {UpdateArgsFactory<TProps, TModel, TMessage>} A function to create a message, a model, and props.
10
+ * @example
11
+ * // one time
12
+ * const createUpdateArgs = createUpdateArgsFactory(() => ({ ... }), () => ({ ... }));
13
+ * // in tests
14
+ * const [msg, model, props] = createUpdateArgs(Msg.myMessage(), { ... }, , { ... });
15
+ */
16
+ declare function createUpdateArgsFactory<TProps, TModel, TMessage extends Message>(initModel: () => TModel, initProps: () => TProps): UpdateArgsFactory<TProps, TModel, TMessage>;
17
+ export type { UpdateArgsFactory };
18
+ export { createUpdateArgsFactory };
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createUpdateArgsFactory = createUpdateArgsFactory;
7
+ var _immer = require("immer");
8
+ 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); }
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
13
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
+ /**
15
+ * Creates a factory function to create a message, a model, props, and options which can be passed to an update function in tests.
16
+ * @param {() => TModel} initModel A function to create an initial model.
17
+ * @param {() => TProps} initProps A function to create initial props.
18
+ * @returns {UpdateArgsFactory<TProps, TModel, TMessage>} A function to create a message, a model, and props.
19
+ * @example
20
+ * // one time
21
+ * const createUpdateArgs = createUpdateArgsFactory(() => ({ ... }), () => ({ ... }));
22
+ * // in tests
23
+ * const [msg, model, props] = createUpdateArgs(Msg.myMessage(), { ... }, , { ... });
24
+ */
25
+ function createUpdateArgsFactory(initModel, initProps) {
26
+ return function createUpdateArgs(msg, modelTemplate, propsTemplate, optionsTemplate) {
27
+ var model = (0, _immer.castImmutable)((0, _immer.freeze)(_objectSpread(_objectSpread({}, initModel()), modelTemplate), true));
28
+ var props = _objectSpread(_objectSpread({}, initProps()), propsTemplate);
29
+ return [msg, model, props, optionsTemplate];
30
+ };
31
+ }
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW1tZXIiLCJyZXF1aXJlIiwiX3R5cGVvZiIsIm8iLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaSIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsImNyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5IiwiaW5pdE1vZGVsIiwiaW5pdFByb3BzIiwiY3JlYXRlVXBkYXRlQXJncyIsIm1zZyIsIm1vZGVsVGVtcGxhdGUiLCJwcm9wc1RlbXBsYXRlIiwib3B0aW9uc1RlbXBsYXRlIiwibW9kZWwiLCJjYXN0SW1tdXRhYmxlIiwiZnJlZXplIiwicHJvcHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW1tdXRhYmxlL3Rlc3RpbmcvY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2FzdEltbXV0YWJsZSwgZnJlZXplLCB0eXBlIEltbXV0YWJsZSB9IGZyb20gXCJpbW1lclwiO1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlIH0gZnJvbSBcIi4uLy4uL1R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IFVwZGF0ZUZ1bmN0aW9uT3B0aW9ucyB9IGZyb20gXCIuLi9UeXBlc1wiO1xuXG50eXBlIFVwZGF0ZUFyZ3NGYWN0b3J5PFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+ID0gKFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbFRlbXBsYXRlPzogUGFydGlhbDxUTW9kZWw+LFxuXHRwcm9wc1RlbXBsYXRlPzogUGFydGlhbDxUUHJvcHM+LFxuXHRvcHRpb25zVGVtcGxhdGU/OiBQYXJ0aWFsPFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+PixcbikgPT4gW1RNZXNzYWdlLCBJbW11dGFibGU8VE1vZGVsPiwgVFByb3BzLCBQYXJ0aWFsPFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+Pj9dO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG1lc3NhZ2UsIGEgbW9kZWwsIHByb3BzLCBhbmQgb3B0aW9ucyB3aGljaCBjYW4gYmUgcGFzc2VkIHRvIGFuIHVwZGF0ZSBmdW5jdGlvbiBpbiB0ZXN0cy5cbiAqIEBwYXJhbSB7KCkgPT4gVE1vZGVsfSBpbml0TW9kZWwgQSBmdW5jdGlvbiB0byBjcmVhdGUgYW4gaW5pdGlhbCBtb2RlbC5cbiAqIEBwYXJhbSB7KCkgPT4gVFByb3BzfSBpbml0UHJvcHMgQSBmdW5jdGlvbiB0byBjcmVhdGUgaW5pdGlhbCBwcm9wcy5cbiAqIEByZXR1cm5zIHtVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+fSBBIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG1lc3NhZ2UsIGEgbW9kZWwsIGFuZCBwcm9wcy5cbiAqIEBleGFtcGxlXG4gKiAvLyBvbmUgdGltZVxuICogY29uc3QgY3JlYXRlVXBkYXRlQXJncyA9IGNyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5KCgpID0+ICh7IC4uLiB9KSwgKCkgPT4gKHsgLi4uIH0pKTtcbiAqIC8vIGluIHRlc3RzXG4gKiBjb25zdCBbbXNnLCBtb2RlbCwgcHJvcHNdID0gY3JlYXRlVXBkYXRlQXJncyhNc2cubXlNZXNzYWdlKCksIHsgLi4uIH0sICwgeyAuLi4gfSk7XG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5PFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRpbml0TW9kZWw6ICgpID0+IFRNb2RlbCxcblx0aW5pdFByb3BzOiAoKSA9PiBUUHJvcHMsXG4pOiBVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHtcblx0cmV0dXJuIGZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZUFyZ3MoXG5cdFx0bXNnOiBUTWVzc2FnZSxcblx0XHRtb2RlbFRlbXBsYXRlPzogUGFydGlhbDxUTW9kZWw+LFxuXHRcdHByb3BzVGVtcGxhdGU/OiBQYXJ0aWFsPFRQcm9wcz4sXG5cdFx0b3B0aW9uc1RlbXBsYXRlPzogUGFydGlhbDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPj4sXG5cdCk6IFtUTWVzc2FnZSwgSW1tdXRhYmxlPFRNb2RlbD4sIFRQcm9wcywgUGFydGlhbDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPj4/XSB7XG5cdFx0Y29uc3QgbW9kZWwgPSBjYXN0SW1tdXRhYmxlKFxuXHRcdFx0ZnJlZXplKFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0Li4uaW5pdE1vZGVsKCksXG5cdFx0XHRcdFx0Li4ubW9kZWxUZW1wbGF0ZSxcblx0XHRcdFx0fSxcblx0XHRcdFx0dHJ1ZSxcblx0XHRcdCksXG5cdFx0KTtcblx0XHRjb25zdCBwcm9wcyA9IHtcblx0XHRcdC4uLmluaXRQcm9wcygpLFxuXHRcdFx0Li4ucHJvcHNUZW1wbGF0ZSxcblx0XHR9O1xuXG5cdFx0cmV0dXJuIFttc2csIG1vZGVsLCBwcm9wcywgb3B0aW9uc1RlbXBsYXRlXTtcblx0fTtcbn1cblxuZXhwb3J0IHR5cGUgeyBVcGRhdGVBcmdz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
@@ -0,0 +1,5 @@
1
+ import type { Immutable } from "immer";
2
+ import { type Dispatch, type Message } from "../../Types";
3
+ import type { Subscription } from "../Types";
4
+ declare function execSubscription<TProps, TModel, TMessage extends Message>(subscription: Subscription<TProps, TModel, TMessage> | undefined, dispatch: Dispatch<TMessage>, model: Immutable<TModel>, props: TProps): () => void;
5
+ export { execSubscription };
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.execSubscription = execSubscription;
7
+ var _Types = require("../../Types");
8
+ var _testing = require("../../testing");
9
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
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."); }
11
+ 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; } }
12
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
13
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
14
+ 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; } }
15
+ 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; }
16
+ function execSubscription(subscription, dispatch, model, props) {
17
+ var noop = function noop() {
18
+ // do nothing
19
+ };
20
+ if (!subscription) {
21
+ return noop;
22
+ }
23
+ var subscriptionResult = subscription(model, props);
24
+ if ((0, _Types.subscriptionIsFunctionArray)(subscriptionResult)) {
25
+ var disposers = subscriptionResult.map(function (sub) {
26
+ return sub(dispatch);
27
+ }).filter(function (disposer) {
28
+ return disposer !== undefined;
29
+ });
30
+ return function () {
31
+ var _iterator = _createForOfIteratorHelper(disposers),
32
+ _step;
33
+ try {
34
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
35
+ var _dispose = _step.value;
36
+ _dispose();
37
+ }
38
+ } catch (err) {
39
+ _iterator.e(err);
40
+ } finally {
41
+ _iterator.f();
42
+ }
43
+ };
44
+ }
45
+ var _subscriptionResult = _slicedToArray(subscriptionResult, 2),
46
+ cmd = _subscriptionResult[0],
47
+ dispose = _subscriptionResult[1];
48
+ (0, _testing.execCmdWithDispatch)(dispatch, cmd);
49
+ return dispose !== null && dispose !== void 0 ? dispose : noop;
50
+ }
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVHlwZXMiLCJyZXF1aXJlIiwiX3Rlc3RpbmciLCJfc2xpY2VkVG9BcnJheSIsInIiLCJlIiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIlR5cGVFcnJvciIsImwiLCJ0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJuIiwiaSIsInUiLCJhIiwiZiIsIm8iLCJjYWxsIiwibmV4dCIsIk9iamVjdCIsImRvbmUiLCJwdXNoIiwidmFsdWUiLCJsZW5ndGgiLCJBcnJheSIsImlzQXJyYXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9uIiwiRiIsInMiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsImV4ZWNTdWJzY3JpcHRpb24iLCJzdWJzY3JpcHRpb24iLCJkaXNwYXRjaCIsIm1vZGVsIiwicHJvcHMiLCJub29wIiwic3Vic2NyaXB0aW9uUmVzdWx0Iiwic3Vic2NyaXB0aW9uSXNGdW5jdGlvbkFycmF5IiwiZGlzcG9zZXJzIiwibWFwIiwic3ViIiwiZmlsdGVyIiwiZGlzcG9zZXIiLCJ1bmRlZmluZWQiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImRpc3Bvc2UiLCJlcnIiLCJfc3Vic2NyaXB0aW9uUmVzdWx0IiwiY21kIiwiZXhlY0NtZFdpdGhEaXNwYXRjaCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbW11dGFibGUvdGVzdGluZy9leGVjU3Vic2NyaXB0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW1tdXRhYmxlIH0gZnJvbSBcImltbWVyXCI7XG5pbXBvcnQgeyBzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXksIHR5cGUgRGlzcGF0Y2gsIHR5cGUgTWVzc2FnZSB9IGZyb20gXCIuLi8uLi9UeXBlc1wiO1xuaW1wb3J0IHsgZXhlY0NtZFdpdGhEaXNwYXRjaCB9IGZyb20gXCIuLi8uLi90ZXN0aW5nXCI7XG5pbXBvcnQgdHlwZSB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCIuLi9UeXBlc1wiO1xuXG5mdW5jdGlvbiBleGVjU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgdW5kZWZpbmVkLFxuXHRkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+LFxuXHRtb2RlbDogSW1tdXRhYmxlPFRNb2RlbD4sXG5cdHByb3BzOiBUUHJvcHMsXG4pOiAoKSA9PiB2b2lkIHtcblx0Y29uc3Qgbm9vcCA9ICgpOiB2b2lkID0+IHtcblx0XHQvLyBkbyBub3RoaW5nXG5cdH07XG5cblx0aWYgKCFzdWJzY3JpcHRpb24pIHtcblx0XHRyZXR1cm4gbm9vcDtcblx0fVxuXG5cdGNvbnN0IHN1YnNjcmlwdGlvblJlc3VsdCA9IHN1YnNjcmlwdGlvbihtb2RlbCwgcHJvcHMpO1xuXG5cdGlmIChzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXkoc3Vic2NyaXB0aW9uUmVzdWx0KSkge1xuXHRcdGNvbnN0IGRpc3Bvc2VycyA9IHN1YnNjcmlwdGlvblJlc3VsdC5tYXAoKHN1YikgPT4gc3ViKGRpc3BhdGNoKSkuZmlsdGVyKChkaXNwb3NlcikgPT4gZGlzcG9zZXIgIT09IHVuZGVmaW5lZCk7XG5cblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0Zm9yIChjb25zdCBkaXNwb3NlIG9mIGRpc3Bvc2Vycykge1xuXHRcdFx0XHRkaXNwb3NlKCk7XG5cdFx0XHR9XG5cdFx0fTtcblx0fVxuXG5cdGNvbnN0IFtjbWQsIGRpc3Bvc2VdID0gc3Vic2NyaXB0aW9uUmVzdWx0O1xuXG5cdGV4ZWNDbWRXaXRoRGlzcGF0Y2g8VE1lc3NhZ2U+KGRpc3BhdGNoLCBjbWQpO1xuXG5cdHJldHVybiBkaXNwb3NlID8/IG5vb3A7XG59XG5cbmV4cG9ydCB7IGV4ZWNTdWJzY3JpcHRpb24gfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQW9ELFNBQUFFLGVBQUFDLENBQUEsRUFBQUMsQ0FBQSxXQUFBQyxlQUFBLENBQUFGLENBQUEsS0FBQUcscUJBQUEsQ0FBQUgsQ0FBQSxFQUFBQyxDQUFBLEtBQUFHLDJCQUFBLENBQUFKLENBQUEsRUFBQUMsQ0FBQSxLQUFBSSxnQkFBQTtBQUFBLFNBQUFBLGlCQUFBLGNBQUFDLFNBQUE7QUFBQSxTQUFBSCxzQkFBQUgsQ0FBQSxFQUFBTyxDQUFBLFFBQUFDLENBQUEsV0FBQVIsQ0FBQSxnQ0FBQVMsTUFBQSxJQUFBVCxDQUFBLENBQUFTLE1BQUEsQ0FBQUMsUUFBQSxLQUFBVixDQUFBLDRCQUFBUSxDQUFBLFFBQUFQLENBQUEsRUFBQVUsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxPQUFBQyxDQUFBLE9BQUFDLENBQUEsaUJBQUFKLENBQUEsSUFBQUosQ0FBQSxHQUFBQSxDQUFBLENBQUFTLElBQUEsQ0FBQWpCLENBQUEsR0FBQWtCLElBQUEsUUFBQVgsQ0FBQSxRQUFBWSxNQUFBLENBQUFYLENBQUEsTUFBQUEsQ0FBQSxVQUFBTyxDQUFBLHVCQUFBQSxDQUFBLElBQUFkLENBQUEsR0FBQVcsQ0FBQSxDQUFBSyxJQUFBLENBQUFULENBQUEsR0FBQVksSUFBQSxNQUFBTixDQUFBLENBQUFPLElBQUEsQ0FBQXBCLENBQUEsQ0FBQXFCLEtBQUEsR0FBQVIsQ0FBQSxDQUFBUyxNQUFBLEtBQUFoQixDQUFBLEdBQUFRLENBQUEsaUJBQUFmLENBQUEsSUFBQWdCLENBQUEsT0FBQUwsQ0FBQSxHQUFBWCxDQUFBLHlCQUFBZSxDQUFBLFlBQUFQLENBQUEsZUFBQUssQ0FBQSxHQUFBTCxDQUFBLGNBQUFXLE1BQUEsQ0FBQU4sQ0FBQSxNQUFBQSxDQUFBLDJCQUFBRyxDQUFBLFFBQUFMLENBQUEsYUFBQUcsQ0FBQTtBQUFBLFNBQUFaLGdCQUFBRixDQUFBLFFBQUF3QixLQUFBLENBQUFDLE9BQUEsQ0FBQXpCLENBQUEsVUFBQUEsQ0FBQTtBQUFBLFNBQUEwQiwyQkFBQTFCLENBQUEsRUFBQUMsQ0FBQSxRQUFBTyxDQUFBLHlCQUFBQyxNQUFBLElBQUFULENBQUEsQ0FBQVMsTUFBQSxDQUFBQyxRQUFBLEtBQUFWLENBQUEscUJBQUFRLENBQUEsUUFBQWdCLEtBQUEsQ0FBQUMsT0FBQSxDQUFBekIsQ0FBQSxNQUFBUSxDQUFBLEdBQUFKLDJCQUFBLENBQUFKLENBQUEsTUFBQUMsQ0FBQSxJQUFBRCxDQUFBLHVCQUFBQSxDQUFBLENBQUF1QixNQUFBLElBQUFmLENBQUEsS0FBQVIsQ0FBQSxHQUFBUSxDQUFBLE9BQUFtQixFQUFBLE1BQUFDLENBQUEsWUFBQUEsRUFBQSxlQUFBQyxDQUFBLEVBQUFELENBQUEsRUFBQWpCLENBQUEsV0FBQUEsRUFBQSxXQUFBZ0IsRUFBQSxJQUFBM0IsQ0FBQSxDQUFBdUIsTUFBQSxLQUFBSCxJQUFBLFdBQUFBLElBQUEsTUFBQUUsS0FBQSxFQUFBdEIsQ0FBQSxDQUFBMkIsRUFBQSxVQUFBMUIsQ0FBQSxXQUFBQSxFQUFBRCxDQUFBLFVBQUFBLENBQUEsS0FBQWUsQ0FBQSxFQUFBYSxDQUFBLGdCQUFBdEIsU0FBQSxpSkFBQVUsQ0FBQSxFQUFBRixDQUFBLE9BQUFELENBQUEsZ0JBQUFnQixDQUFBLFdBQUFBLEVBQUEsSUFBQXJCLENBQUEsR0FBQUEsQ0FBQSxDQUFBUyxJQUFBLENBQUFqQixDQUFBLE1BQUFXLENBQUEsV0FBQUEsRUFBQSxRQUFBWCxDQUFBLEdBQUFRLENBQUEsQ0FBQVUsSUFBQSxXQUFBSixDQUFBLEdBQUFkLENBQUEsQ0FBQW9CLElBQUEsRUFBQXBCLENBQUEsS0FBQUMsQ0FBQSxXQUFBQSxFQUFBRCxDQUFBLElBQUFhLENBQUEsT0FBQUcsQ0FBQSxHQUFBaEIsQ0FBQSxLQUFBZSxDQUFBLFdBQUFBLEVBQUEsVUFBQUQsQ0FBQSxZQUFBTixDQUFBLGNBQUFBLENBQUEsOEJBQUFLLENBQUEsUUFBQUcsQ0FBQTtBQUFBLFNBQUFaLDRCQUFBSixDQUFBLEVBQUFjLENBQUEsUUFBQWQsQ0FBQSwyQkFBQUEsQ0FBQSxTQUFBOEIsaUJBQUEsQ0FBQTlCLENBQUEsRUFBQWMsQ0FBQSxPQUFBTixDQUFBLE1BQUF1QixRQUFBLENBQUFkLElBQUEsQ0FBQWpCLENBQUEsRUFBQWdDLEtBQUEsNkJBQUF4QixDQUFBLElBQUFSLENBQUEsQ0FBQWlDLFdBQUEsS0FBQXpCLENBQUEsR0FBQVIsQ0FBQSxDQUFBaUMsV0FBQSxDQUFBQyxJQUFBLGFBQUExQixDQUFBLGNBQUFBLENBQUEsR0FBQWdCLEtBQUEsQ0FBQVcsSUFBQSxDQUFBbkMsQ0FBQSxvQkFBQVEsQ0FBQSwrQ0FBQTRCLElBQUEsQ0FBQTVCLENBQUEsSUFBQXNCLGlCQUFBLENBQUE5QixDQUFBLEVBQUFjLENBQUE7QUFBQSxTQUFBZ0Isa0JBQUE5QixDQUFBLEVBQUFjLENBQUEsYUFBQUEsQ0FBQSxJQUFBQSxDQUFBLEdBQUFkLENBQUEsQ0FBQXVCLE1BQUEsTUFBQVQsQ0FBQSxHQUFBZCxDQUFBLENBQUF1QixNQUFBLFlBQUF0QixDQUFBLE1BQUFVLENBQUEsR0FBQWEsS0FBQSxDQUFBVixDQUFBLEdBQUFiLENBQUEsR0FBQWEsQ0FBQSxFQUFBYixDQUFBLElBQUFVLENBQUEsQ0FBQVYsQ0FBQSxJQUFBRCxDQUFBLENBQUFDLENBQUEsVUFBQVUsQ0FBQTtBQUdwRCxTQUFTMEIsZ0JBQWdCQSxDQUN4QkMsWUFBZ0UsRUFDaEVDLFFBQTRCLEVBQzVCQyxLQUF3QixFQUN4QkMsS0FBYSxFQUNBO0VBQ2IsSUFBTUMsSUFBSSxHQUFHLFNBQVBBLElBQUlBLENBQUEsRUFBZTtJQUN4QjtFQUFBLENBQ0E7RUFFRCxJQUFJLENBQUNKLFlBQVksRUFBRTtJQUNsQixPQUFPSSxJQUFJO0VBQ1o7RUFFQSxJQUFNQyxrQkFBa0IsR0FBR0wsWUFBWSxDQUFDRSxLQUFLLEVBQUVDLEtBQUssQ0FBQztFQUVyRCxJQUFJLElBQUFHLGtDQUEyQixFQUFDRCxrQkFBa0IsQ0FBQyxFQUFFO0lBQ3BELElBQU1FLFNBQVMsR0FBR0Ysa0JBQWtCLENBQUNHLEdBQUcsQ0FBQyxVQUFDQyxHQUFHO01BQUEsT0FBS0EsR0FBRyxDQUFDUixRQUFRLENBQUM7SUFBQSxFQUFDLENBQUNTLE1BQU0sQ0FBQyxVQUFDQyxRQUFRO01BQUEsT0FBS0EsUUFBUSxLQUFLQyxTQUFTO0lBQUEsRUFBQztJQUU3RyxPQUFPLFlBQU07TUFBQSxJQUFBQyxTQUFBLEdBQUF6QiwwQkFBQSxDQUNVbUIsU0FBUztRQUFBTyxLQUFBO01BQUE7UUFBL0IsS0FBQUQsU0FBQSxDQUFBdEIsQ0FBQSxNQUFBdUIsS0FBQSxHQUFBRCxTQUFBLENBQUF4QyxDQUFBLElBQUFTLElBQUEsR0FBaUM7VUFBQSxJQUF0QmlDLFFBQU8sR0FBQUQsS0FBQSxDQUFBOUIsS0FBQTtVQUNqQitCLFFBQU8sQ0FBQyxDQUFDO1FBQ1Y7TUFBQyxTQUFBQyxHQUFBO1FBQUFILFNBQUEsQ0FBQWxELENBQUEsQ0FBQXFELEdBQUE7TUFBQTtRQUFBSCxTQUFBLENBQUFwQyxDQUFBO01BQUE7SUFDRixDQUFDO0VBQ0Y7RUFFQSxJQUFBd0MsbUJBQUEsR0FBQXhELGNBQUEsQ0FBdUI0QyxrQkFBa0I7SUFBbENhLEdBQUcsR0FBQUQsbUJBQUE7SUFBRUYsT0FBTyxHQUFBRSxtQkFBQTtFQUVuQixJQUFBRSw0QkFBbUIsRUFBV2xCLFFBQVEsRUFBRWlCLEdBQUcsQ0FBQztFQUU1QyxPQUFPSCxPQUFPLGFBQVBBLE9BQU8sY0FBUEEsT0FBTyxHQUFJWCxJQUFJO0FBQ3ZCIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,30 @@
1
+ import type { Immutable } from "immer";
2
+ import type { InitFunction, Message } from "../../Types";
3
+ import type { UpdateArgsFactory } from "./createUpdateArgsFactory";
4
+ /**
5
+ * Creates a factory function to create a message, a model, props, and options which can be passed to an update function in tests.
6
+ * @param {InitFunction<TProps, TModel, TMessage>} init The init function which creates the model.
7
+ * @param {() => TProps} initProps A function to create initial props.
8
+ * @returns {UpdateArgsFactory<TProps, TModel, TMessage>} A function to create a message, a model, and props.
9
+ * @example
10
+ * // one time
11
+ * const createUpdateArgs = getCreateUpdateArgs(init, () => ({ ... }));
12
+ * // in tests
13
+ * const [msg, model, props] = createUpdateArgs(Msg.myMessage(), { ... }, , { ... });
14
+ */
15
+ declare function getCreateUpdateArgs<TProps, TModel, TMessage extends Message>(init: InitFunction<TProps, TModel, TMessage>, initProps: () => TProps): UpdateArgsFactory<TProps, TModel, TMessage>;
16
+ type ModelAndPropsFactory<TProps, TModel> = (modelTemplate?: Partial<TModel>, propsTemplate?: Partial<TProps>) => [Immutable<TModel>, TProps];
17
+ /**
18
+ * Creates a factory function to create a model, props, and options which can be passed to an update or subscription function in tests.
19
+ * @param {InitFunction<TProps, TModel, TMessage>} init The init function which creates the model.
20
+ * @param {() => TProps} initProps A function to create initial props.
21
+ * @returns {ModelAndPropsFactory<TProps, TModel>} A function to create a a model and props.
22
+ * @example
23
+ * // one time
24
+ * const createModelAndProps = getCreateModelAndProps(init, () => ({ ... }));
25
+ * // in tests
26
+ * const [model, props] = createModelAndProps({ ... }, , { ... });
27
+ */
28
+ declare function getCreateModelAndProps<TProps, TModel, TMessage extends Message>(init: InitFunction<TProps, TModel, TMessage>, initProps: () => TProps): ModelAndPropsFactory<TProps, TModel>;
29
+ export type { ModelAndPropsFactory };
30
+ export { getCreateModelAndProps, getCreateUpdateArgs };
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getCreateModelAndProps = getCreateModelAndProps;
7
+ exports.getCreateUpdateArgs = getCreateUpdateArgs;
8
+ var _createModelAndProps = require("./createModelAndProps");
9
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
10
+ 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."); }
11
+ 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; } }
12
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
13
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
14
+ 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; }
15
+ /**
16
+ * Creates a factory function to create a message, a model, props, and options which can be passed to an update function in tests.
17
+ * @param {InitFunction<TProps, TModel, TMessage>} init The init function which creates the model.
18
+ * @param {() => TProps} initProps A function to create initial props.
19
+ * @returns {UpdateArgsFactory<TProps, TModel, TMessage>} A function to create a message, a model, and props.
20
+ * @example
21
+ * // one time
22
+ * const createUpdateArgs = getCreateUpdateArgs(init, () => ({ ... }));
23
+ * // in tests
24
+ * const [msg, model, props] = createUpdateArgs(Msg.myMessage(), { ... }, , { ... });
25
+ */
26
+ function getCreateUpdateArgs(init, initProps) {
27
+ return function createUpdateArgs(msg, modelTemplate, propsTemplate, optionsTemplate) {
28
+ var args = (0, _createModelAndProps.createModelAndProps)(init, initProps, modelTemplate, propsTemplate);
29
+ return [msg].concat(_toConsumableArray(args), [optionsTemplate]);
30
+ };
31
+ }
32
+ /**
33
+ * Creates a factory function to create a model, props, and options which can be passed to an update or subscription function in tests.
34
+ * @param {InitFunction<TProps, TModel, TMessage>} init The init function which creates the model.
35
+ * @param {() => TProps} initProps A function to create initial props.
36
+ * @returns {ModelAndPropsFactory<TProps, TModel>} A function to create a a model and props.
37
+ * @example
38
+ * // one time
39
+ * const createModelAndProps = getCreateModelAndProps(init, () => ({ ... }));
40
+ * // in tests
41
+ * const [model, props] = createModelAndProps({ ... }, , { ... });
42
+ */
43
+ function getCreateModelAndProps(init, initProps) {
44
+ return function create(modelTemplate, propsTemplate) {
45
+ return (0, _createModelAndProps.createModelAndProps)(init, initProps, modelTemplate, propsTemplate);
46
+ };
47
+ }
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JlYXRlTW9kZWxBbmRQcm9wcyIsInJlcXVpcmUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJyIiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIlR5cGVFcnJvciIsImEiLCJfYXJyYXlMaWtlVG9BcnJheSIsInQiLCJ0b1N0cmluZyIsImNhbGwiLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJTeW1ib2wiLCJpdGVyYXRvciIsImlzQXJyYXkiLCJsZW5ndGgiLCJlIiwibiIsImdldENyZWF0ZVVwZGF0ZUFyZ3MiLCJpbml0IiwiaW5pdFByb3BzIiwiY3JlYXRlVXBkYXRlQXJncyIsIm1zZyIsIm1vZGVsVGVtcGxhdGUiLCJwcm9wc1RlbXBsYXRlIiwib3B0aW9uc1RlbXBsYXRlIiwiYXJncyIsImNyZWF0ZU1vZGVsQW5kUHJvcHMiLCJjb25jYXQiLCJnZXRDcmVhdGVNb2RlbEFuZFByb3BzIiwiY3JlYXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltbXV0YWJsZS90ZXN0aW5nL2dldENyZWF0ZVVwZGF0ZUFyZ3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbW11dGFibGUgfSBmcm9tIFwiaW1tZXJcIjtcbmltcG9ydCB0eXBlIHsgSW5pdEZ1bmN0aW9uLCBNZXNzYWdlIH0gZnJvbSBcIi4uLy4uL1R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IFVwZGF0ZUZ1bmN0aW9uT3B0aW9ucyB9IGZyb20gXCIuLi9UeXBlc1wiO1xuaW1wb3J0IHsgY3JlYXRlTW9kZWxBbmRQcm9wcyB9IGZyb20gXCIuL2NyZWF0ZU1vZGVsQW5kUHJvcHNcIjtcbmltcG9ydCB0eXBlIHsgVXBkYXRlQXJnc0ZhY3RvcnkgfSBmcm9tIFwiLi9jcmVhdGVVcGRhdGVBcmdzRmFjdG9yeVwiO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG1lc3NhZ2UsIGEgbW9kZWwsIHByb3BzLCBhbmQgb3B0aW9ucyB3aGljaCBjYW4gYmUgcGFzc2VkIHRvIGFuIHVwZGF0ZSBmdW5jdGlvbiBpbiB0ZXN0cy5cbiAqIEBwYXJhbSB7SW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT59IGluaXQgVGhlIGluaXQgZnVuY3Rpb24gd2hpY2ggY3JlYXRlcyB0aGUgbW9kZWwuXG4gKiBAcGFyYW0geygpID0+IFRQcm9wc30gaW5pdFByb3BzIEEgZnVuY3Rpb24gdG8gY3JlYXRlIGluaXRpYWwgcHJvcHMuXG4gKiBAcmV0dXJucyB7VXBkYXRlQXJnc0ZhY3Rvcnk8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPn0gQSBmdW5jdGlvbiB0byBjcmVhdGUgYSBtZXNzYWdlLCBhIG1vZGVsLCBhbmQgcHJvcHMuXG4gKiBAZXhhbXBsZVxuICogLy8gb25lIHRpbWVcbiAqIGNvbnN0IGNyZWF0ZVVwZGF0ZUFyZ3MgPSBnZXRDcmVhdGVVcGRhdGVBcmdzKGluaXQsICgpID0+ICh7IC4uLiB9KSk7XG4gKiAvLyBpbiB0ZXN0c1xuICogY29uc3QgW21zZywgbW9kZWwsIHByb3BzXSA9IGNyZWF0ZVVwZGF0ZUFyZ3MoTXNnLm15TWVzc2FnZSgpLCB7IC4uLiB9LCAsIHsgLi4uIH0pO1xuICovXG5mdW5jdGlvbiBnZXRDcmVhdGVVcGRhdGVBcmdzPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcblx0aW5pdFByb3BzOiAoKSA9PiBUUHJvcHMsXG4pOiBVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHtcblx0cmV0dXJuIGZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZUFyZ3MoXG5cdFx0bXNnOiBUTWVzc2FnZSxcblx0XHRtb2RlbFRlbXBsYXRlPzogUGFydGlhbDxUTW9kZWw+LFxuXHRcdHByb3BzVGVtcGxhdGU/OiBQYXJ0aWFsPFRQcm9wcz4sXG5cdFx0b3B0aW9uc1RlbXBsYXRlPzogUGFydGlhbDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPj4sXG5cdCk6IFtUTWVzc2FnZSwgSW1tdXRhYmxlPFRNb2RlbD4sIFRQcm9wcywgUGFydGlhbDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPj4/XSB7XG5cdFx0Y29uc3QgYXJncyA9IGNyZWF0ZU1vZGVsQW5kUHJvcHMoaW5pdCwgaW5pdFByb3BzLCBtb2RlbFRlbXBsYXRlLCBwcm9wc1RlbXBsYXRlKTtcblxuXHRcdHJldHVybiBbbXNnLCAuLi5hcmdzLCBvcHRpb25zVGVtcGxhdGVdO1xuXHR9O1xufVxuXG50eXBlIE1vZGVsQW5kUHJvcHNGYWN0b3J5PFRQcm9wcywgVE1vZGVsPiA9IChcblx0bW9kZWxUZW1wbGF0ZT86IFBhcnRpYWw8VE1vZGVsPixcblx0cHJvcHNUZW1wbGF0ZT86IFBhcnRpYWw8VFByb3BzPixcbikgPT4gW0ltbXV0YWJsZTxUTW9kZWw+LCBUUHJvcHNdO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG1vZGVsLCBwcm9wcywgYW5kIG9wdGlvbnMgd2hpY2ggY2FuIGJlIHBhc3NlZCB0byBhbiB1cGRhdGUgb3Igc3Vic2NyaXB0aW9uIGZ1bmN0aW9uIGluIHRlc3RzLlxuICogQHBhcmFtIHtJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPn0gaW5pdCBUaGUgaW5pdCBmdW5jdGlvbiB3aGljaCBjcmVhdGVzIHRoZSBtb2RlbC5cbiAqIEBwYXJhbSB7KCkgPT4gVFByb3BzfSBpbml0UHJvcHMgQSBmdW5jdGlvbiB0byBjcmVhdGUgaW5pdGlhbCBwcm9wcy5cbiAqIEByZXR1cm5zIHtNb2RlbEFuZFByb3BzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbD59IEEgZnVuY3Rpb24gdG8gY3JlYXRlIGEgYSBtb2RlbCBhbmQgcHJvcHMuXG4gKiBAZXhhbXBsZVxuICogLy8gb25lIHRpbWVcbiAqIGNvbnN0IGNyZWF0ZU1vZGVsQW5kUHJvcHMgPSBnZXRDcmVhdGVNb2RlbEFuZFByb3BzKGluaXQsICgpID0+ICh7IC4uLiB9KSk7XG4gKiAvLyBpbiB0ZXN0c1xuICogY29uc3QgW21vZGVsLCBwcm9wc10gPSBjcmVhdGVNb2RlbEFuZFByb3BzKHsgLi4uIH0sICwgeyAuLi4gfSk7XG4gKi9cbmZ1bmN0aW9uIGdldENyZWF0ZU1vZGVsQW5kUHJvcHM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdGluaXQ6IEluaXRGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRpbml0UHJvcHM6ICgpID0+IFRQcm9wcyxcbik6IE1vZGVsQW5kUHJvcHNGYWN0b3J5PFRQcm9wcywgVE1vZGVsPiB7XG5cdHJldHVybiBmdW5jdGlvbiBjcmVhdGUobW9kZWxUZW1wbGF0ZT86IFBhcnRpYWw8VE1vZGVsPiwgcHJvcHNUZW1wbGF0ZT86IFBhcnRpYWw8VFByb3BzPik6IFtJbW11dGFibGU8VE1vZGVsPiwgVFByb3BzXSB7XG5cdFx0cmV0dXJuIGNyZWF0ZU1vZGVsQW5kUHJvcHMoaW5pdCwgaW5pdFByb3BzLCBtb2RlbFRlbXBsYXRlLCBwcm9wc1RlbXBsYXRlKTtcblx0fTtcbn1cblxuZXhwb3J0IHR5cGUgeyBNb2RlbEFuZFByb3BzRmFjdG9yeSB9O1xuXG5leHBvcnQgeyBnZXRDcmVhdGVNb2RlbEFuZFByb3BzLCBnZXRDcmVhdGVVcGRhdGVBcmdzIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxJQUFBQSxvQkFBQSxHQUFBQyxPQUFBO0FBQTRELFNBQUFDLG1CQUFBQyxDQUFBLFdBQUFDLGtCQUFBLENBQUFELENBQUEsS0FBQUUsZ0JBQUEsQ0FBQUYsQ0FBQSxLQUFBRywyQkFBQSxDQUFBSCxDQUFBLEtBQUFJLGtCQUFBO0FBQUEsU0FBQUEsbUJBQUEsY0FBQUMsU0FBQTtBQUFBLFNBQUFGLDRCQUFBSCxDQUFBLEVBQUFNLENBQUEsUUFBQU4sQ0FBQSwyQkFBQUEsQ0FBQSxTQUFBTyxpQkFBQSxDQUFBUCxDQUFBLEVBQUFNLENBQUEsT0FBQUUsQ0FBQSxNQUFBQyxRQUFBLENBQUFDLElBQUEsQ0FBQVYsQ0FBQSxFQUFBVyxLQUFBLDZCQUFBSCxDQUFBLElBQUFSLENBQUEsQ0FBQVksV0FBQSxLQUFBSixDQUFBLEdBQUFSLENBQUEsQ0FBQVksV0FBQSxDQUFBQyxJQUFBLGFBQUFMLENBQUEsY0FBQUEsQ0FBQSxHQUFBTSxLQUFBLENBQUFDLElBQUEsQ0FBQWYsQ0FBQSxvQkFBQVEsQ0FBQSwrQ0FBQVEsSUFBQSxDQUFBUixDQUFBLElBQUFELGlCQUFBLENBQUFQLENBQUEsRUFBQU0sQ0FBQTtBQUFBLFNBQUFKLGlCQUFBRixDQUFBLDhCQUFBaUIsTUFBQSxZQUFBakIsQ0FBQSxDQUFBaUIsTUFBQSxDQUFBQyxRQUFBLGFBQUFsQixDQUFBLHVCQUFBYyxLQUFBLENBQUFDLElBQUEsQ0FBQWYsQ0FBQTtBQUFBLFNBQUFDLG1CQUFBRCxDQUFBLFFBQUFjLEtBQUEsQ0FBQUssT0FBQSxDQUFBbkIsQ0FBQSxVQUFBTyxpQkFBQSxDQUFBUCxDQUFBO0FBQUEsU0FBQU8sa0JBQUFQLENBQUEsRUFBQU0sQ0FBQSxhQUFBQSxDQUFBLElBQUFBLENBQUEsR0FBQU4sQ0FBQSxDQUFBb0IsTUFBQSxNQUFBZCxDQUFBLEdBQUFOLENBQUEsQ0FBQW9CLE1BQUEsWUFBQUMsQ0FBQSxNQUFBQyxDQUFBLEdBQUFSLEtBQUEsQ0FBQVIsQ0FBQSxHQUFBZSxDQUFBLEdBQUFmLENBQUEsRUFBQWUsQ0FBQSxJQUFBQyxDQUFBLENBQUFELENBQUEsSUFBQXJCLENBQUEsQ0FBQXFCLENBQUEsVUFBQUMsQ0FBQTtBQUc1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0MsbUJBQW1CQSxDQUMzQkMsSUFBNEMsRUFDNUNDLFNBQXVCLEVBQ3VCO0VBQzlDLE9BQU8sU0FBU0MsZ0JBQWdCQSxDQUMvQkMsR0FBYSxFQUNiQyxhQUErQixFQUMvQkMsYUFBK0IsRUFDL0JDLGVBQTBFLEVBQ3lCO0lBQ25HLElBQU1DLElBQUksR0FBRyxJQUFBQyx3Q0FBbUIsRUFBQ1IsSUFBSSxFQUFFQyxTQUFTLEVBQUVHLGFBQWEsRUFBRUMsYUFBYSxDQUFDO0lBRS9FLFFBQVFGLEdBQUcsRUFBQU0sTUFBQSxDQUFBbEMsa0JBQUEsQ0FBS2dDLElBQUksSUFBRUQsZUFBZTtFQUN0QyxDQUFDO0FBQ0Y7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0ksc0JBQXNCQSxDQUM5QlYsSUFBNEMsRUFDNUNDLFNBQXVCLEVBQ2dCO0VBQ3ZDLE9BQU8sU0FBU1UsTUFBTUEsQ0FBQ1AsYUFBK0IsRUFBRUMsYUFBK0IsRUFBK0I7SUFDckgsT0FBTyxJQUFBRyx3Q0FBbUIsRUFBQ1IsSUFBSSxFQUFFQyxTQUFTLEVBQUVHLGFBQWEsRUFBRUMsYUFBYSxDQUFDO0VBQzFFLENBQUM7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,26 @@
1
+ import { type Immutable } from "immer";
2
+ import type { Cmd, Message, Nullable } from "../../Types";
3
+ import type { UpdateFunctionOptions, UpdateMap } from "../Types";
4
+ /**
5
+ * Creates an update function out of an UpdateMap.
6
+ * @param updateMap The UpdateMap.
7
+ * @returns The created update function which can be used in tests.
8
+ * @example
9
+ * const updateFn = getUpdateFn(update);
10
+ *
11
+ * // in your tests:
12
+ * const [model, cmd] = updateFn(...args);
13
+ */
14
+ declare function getUpdateFn<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>): (msg: TMessage, model: Immutable<TModel>, props: TProps, optionsTemplate?: Partial<UpdateFunctionOptions<TProps, TModel, TMessage>>) => [Partial<TModel>, ...(Cmd<TMessage> | undefined)[]];
15
+ /**
16
+ * Creates an update function out of an UpdateMap which immediately executes the command.
17
+ * @param updateMap The UpdateMap.
18
+ * @returns The created update function which can be used in tests.
19
+ * @example
20
+ * const updateAndExecCmd = getUpdateAndExecCmdFn(update);
21
+ *
22
+ * // in your test:
23
+ * const [model, messages] = await updateAndExecCmd(...args);
24
+ */
25
+ declare function getUpdateAndExecCmdFn<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>): (msg: TMessage, model: Immutable<TModel>, props: TProps, optionsTemplate?: Partial<UpdateFunctionOptions<TProps, TModel, TMessage>>) => Promise<[Partial<TModel>, Nullable<TMessage>[]]>;
26
+ export { getUpdateAndExecCmdFn, getUpdateFn };
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getUpdateAndExecCmdFn = getUpdateAndExecCmdFn;
8
+ exports.getUpdateFn = getUpdateFn;
9
+ var _immer = require("immer");
10
+ var _testing = require("../../testing");
11
+ var _createCallBase = require("../createCallBase");
12
+ var _createDefer5 = require("../createDefer");
13
+ var _useElmish = require("../useElmish");
14
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
15
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
16
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
17
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
18
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
19
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
20
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
21
+ function _toArray(r) { return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest(); }
22
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
23
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
+ 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; }
26
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
27
+ 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); }
28
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
29
+ 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."); }
30
+ 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; } }
31
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
32
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
33
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
34
+ /**
35
+ * Creates an update function out of an UpdateMap.
36
+ * @param updateMap The UpdateMap.
37
+ * @returns The created update function which can be used in tests.
38
+ * @example
39
+ * const updateFn = getUpdateFn(update);
40
+ *
41
+ * // in your tests:
42
+ * const [model, cmd] = updateFn(...args);
43
+ */
44
+ function getUpdateFn(updateMap) {
45
+ return function updateFn(msg, model, props, optionsTemplate) {
46
+ var _createDefer = (0, _createDefer5.createDefer)(),
47
+ _createDefer2 = _slicedToArray(_createDefer, 2),
48
+ defer = _createDefer2[0],
49
+ getDeferred = _createDefer2[1];
50
+ var callBase = (0, _createCallBase.createCallBase)(msg, model, props, {
51
+ defer: defer
52
+ });
53
+ var options = _objectSpread({
54
+ defer: defer,
55
+ callBase: callBase
56
+ }, optionsTemplate);
57
+ var _callUpdateMap = (0, _useElmish.callUpdateMap)(updateMap, msg, model, props, options),
58
+ _callUpdateMap2 = _toArray(_callUpdateMap),
59
+ draftFn = _callUpdateMap2[0],
60
+ commands = _callUpdateMap2.slice(1);
61
+ var _getDeferred = getDeferred(),
62
+ _getDeferred2 = _slicedToArray(_getDeferred, 2),
63
+ deferredDraftFunctions = _getDeferred2[0],
64
+ deferredCommands = _getDeferred2[1];
65
+ var allDraftFunctions = [].concat(_toConsumableArray(deferredDraftFunctions), [draftFn]).filter(function (fn) {
66
+ return fn != null;
67
+ });
68
+ var currentModel = model;
69
+ var diff = {};
70
+ var _iterator = _createForOfIteratorHelper(allDraftFunctions),
71
+ _step;
72
+ try {
73
+ var _loop = function _loop() {
74
+ var fn = _step.value;
75
+ currentModel = (0, _immer.produce)(currentModel, function (draft) {
76
+ fn(draft);
77
+ calculateModelDiff(draft, model, diff);
78
+ });
79
+ };
80
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
81
+ _loop();
82
+ }
83
+ } catch (err) {
84
+ _iterator.e(err);
85
+ } finally {
86
+ _iterator.f();
87
+ }
88
+ return [diff].concat(_toConsumableArray(commands), _toConsumableArray(deferredCommands));
89
+ };
90
+ }
91
+
92
+ /**
93
+ * Creates an update function out of an UpdateMap which immediately executes the command.
94
+ * @param updateMap The UpdateMap.
95
+ * @returns The created update function which can be used in tests.
96
+ * @example
97
+ * const updateAndExecCmd = getUpdateAndExecCmdFn(update);
98
+ *
99
+ * // in your test:
100
+ * const [model, messages] = await updateAndExecCmd(...args);
101
+ */
102
+ function getUpdateAndExecCmdFn(updateMap) {
103
+ return /*#__PURE__*/function () {
104
+ var _updateAndExecCmdFn = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(msg, model, props, optionsTemplate) {
105
+ var _createDefer3, _createDefer4, defer, getDeferred, callBase, options, _callUpdateMap3, _callUpdateMap4, draftFn, commands, _getDeferred3, _getDeferred4, deferredDraftFunctions, deferredCommands, allDraftFunctions, currentModel, diff, _iterator2, _step2, _loop2, messages;
106
+ return _regeneratorRuntime().wrap(function _callee$(_context2) {
107
+ while (1) switch (_context2.prev = _context2.next) {
108
+ case 0:
109
+ _createDefer3 = (0, _createDefer5.createDefer)(), _createDefer4 = _slicedToArray(_createDefer3, 2), defer = _createDefer4[0], getDeferred = _createDefer4[1];
110
+ callBase = (0, _createCallBase.createCallBase)(msg, model, props, {
111
+ defer: defer
112
+ });
113
+ options = _objectSpread({
114
+ defer: defer,
115
+ callBase: callBase
116
+ }, optionsTemplate);
117
+ _callUpdateMap3 = (0, _useElmish.callUpdateMap)(updateMap, msg, model, props, options), _callUpdateMap4 = _toArray(_callUpdateMap3), draftFn = _callUpdateMap4[0], commands = _callUpdateMap4.slice(1);
118
+ _getDeferred3 = getDeferred(), _getDeferred4 = _slicedToArray(_getDeferred3, 2), deferredDraftFunctions = _getDeferred4[0], deferredCommands = _getDeferred4[1];
119
+ allDraftFunctions = [draftFn].concat(_toConsumableArray(deferredDraftFunctions)).filter(function (fn) {
120
+ return fn != null;
121
+ });
122
+ currentModel = model;
123
+ diff = {};
124
+ _iterator2 = _createForOfIteratorHelper(allDraftFunctions);
125
+ _context2.prev = 9;
126
+ _loop2 = /*#__PURE__*/_regeneratorRuntime().mark(function _loop2() {
127
+ var fn;
128
+ return _regeneratorRuntime().wrap(function _loop2$(_context) {
129
+ while (1) switch (_context.prev = _context.next) {
130
+ case 0:
131
+ fn = _step2.value;
132
+ currentModel = (0, _immer.produce)(currentModel, function (draft) {
133
+ fn(draft);
134
+ calculateModelDiff(draft, model, diff);
135
+ });
136
+ case 2:
137
+ case "end":
138
+ return _context.stop();
139
+ }
140
+ }, _loop2);
141
+ });
142
+ _iterator2.s();
143
+ case 12:
144
+ if ((_step2 = _iterator2.n()).done) {
145
+ _context2.next = 16;
146
+ break;
147
+ }
148
+ return _context2.delegateYield(_loop2(), "t0", 14);
149
+ case 14:
150
+ _context2.next = 12;
151
+ break;
152
+ case 16:
153
+ _context2.next = 21;
154
+ break;
155
+ case 18:
156
+ _context2.prev = 18;
157
+ _context2.t1 = _context2["catch"](9);
158
+ _iterator2.e(_context2.t1);
159
+ case 21:
160
+ _context2.prev = 21;
161
+ _iterator2.f();
162
+ return _context2.finish(21);
163
+ case 24:
164
+ _context2.next = 26;
165
+ return _testing.execCmd.apply(void 0, _toConsumableArray(commands).concat(_toConsumableArray(deferredCommands)));
166
+ case 26:
167
+ messages = _context2.sent;
168
+ return _context2.abrupt("return", [diff, messages]);
169
+ case 28:
170
+ case "end":
171
+ return _context2.stop();
172
+ }
173
+ }, _callee, null, [[9, 18, 21, 24]]);
174
+ }));
175
+ function updateAndExecCmdFn(_x, _x2, _x3, _x4) {
176
+ return _updateAndExecCmdFn.apply(this, arguments);
177
+ }
178
+ return updateAndExecCmdFn;
179
+ }();
180
+ }
181
+ function calculateModelDiff(draft, model, diff) {
182
+ for (var key in draft) {
183
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
184
+ // @ts-expect-error
185
+ if (Object.hasOwn(draft, key) && Object.hasOwn(model, key) && model[key] !== draft[key]) {
186
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
187
+ // @ts-expect-error
188
+ diff[key] = draft[key];
189
+ }
190
+ }
191
+ }
192
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW1tZXIiLCJyZXF1aXJlIiwiX3Rlc3RpbmciLCJfY3JlYXRlQ2FsbEJhc2UiLCJfY3JlYXRlRGVmZXI1IiwiX3VzZUVsbWlzaCIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJlIiwidCIsInIiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJuIiwiaGFzT3duUHJvcGVydHkiLCJvIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImkiLCJTeW1ib2wiLCJhIiwiaXRlcmF0b3IiLCJjIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImNhbGwiLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJfdHlwZW9mIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsImRvbmUiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsIlR5cGVFcnJvciIsInJlc3VsdE5hbWUiLCJuZXh0IiwibmV4dExvYyIsInB1c2hUcnlFbnRyeSIsInRyeUxvYyIsImNhdGNoTG9jIiwiZmluYWxseUxvYyIsImFmdGVyTG9jIiwidHJ5RW50cmllcyIsInB1c2giLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9uIiwiRiIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl90b0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX25vbkl0ZXJhYmxlUmVzdCIsImZyb20iLCJvd25LZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwidG9TdHJpbmciLCJ0ZXN0IiwiZ2V0VXBkYXRlRm4iLCJ1cGRhdGVNYXAiLCJ1cGRhdGVGbiIsIm1zZyIsIm1vZGVsIiwicHJvcHMiLCJvcHRpb25zVGVtcGxhdGUiLCJfY3JlYXRlRGVmZXIiLCJjcmVhdGVEZWZlciIsIl9jcmVhdGVEZWZlcjIiLCJkZWZlciIsImdldERlZmVycmVkIiwiY2FsbEJhc2UiLCJjcmVhdGVDYWxsQmFzZSIsIm9wdGlvbnMiLCJfY2FsbFVwZGF0ZU1hcCIsImNhbGxVcGRhdGVNYXAiLCJfY2FsbFVwZGF0ZU1hcDIiLCJkcmFmdEZuIiwiY29tbWFuZHMiLCJfZ2V0RGVmZXJyZWQiLCJfZ2V0RGVmZXJyZWQyIiwiZGVmZXJyZWREcmFmdEZ1bmN0aW9ucyIsImRlZmVycmVkQ29tbWFuZHMiLCJhbGxEcmFmdEZ1bmN0aW9ucyIsImNvbmNhdCIsImZuIiwiY3VycmVudE1vZGVsIiwiZGlmZiIsIl9pdGVyYXRvciIsIl9zdGVwIiwiX2xvb3AiLCJwcm9kdWNlIiwiZHJhZnQiLCJjYWxjdWxhdGVNb2RlbERpZmYiLCJlcnIiLCJnZXRVcGRhdGVBbmRFeGVjQ21kRm4iLCJfdXBkYXRlQW5kRXhlY0NtZEZuIiwiX2NhbGxlZSIsIl9jcmVhdGVEZWZlcjMiLCJfY3JlYXRlRGVmZXI0IiwiX2NhbGxVcGRhdGVNYXAzIiwiX2NhbGxVcGRhdGVNYXA0IiwiX2dldERlZmVycmVkMyIsIl9nZXREZWZlcnJlZDQiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwiX2xvb3AyIiwibWVzc2FnZXMiLCJfY2FsbGVlJCIsIl9jb250ZXh0MiIsIl9sb29wMiQiLCJfY29udGV4dCIsInQxIiwiZXhlY0NtZCIsInVwZGF0ZUFuZEV4ZWNDbWRGbiIsIl94IiwiX3gyIiwiX3gzIiwiX3g0Iiwia2V5IiwiaGFzT3duIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltbXV0YWJsZS90ZXN0aW5nL2dldFVwZGF0ZUZuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb2R1Y2UsIHR5cGUgRHJhZnQsIHR5cGUgSW1tdXRhYmxlIH0gZnJvbSBcImltbWVyXCI7XG5pbXBvcnQgeyBleGVjQ21kIH0gZnJvbSBcIi4uLy4uL3Rlc3RpbmdcIjtcbmltcG9ydCB0eXBlIHsgQ21kLCBNZXNzYWdlLCBOdWxsYWJsZSB9IGZyb20gXCIuLi8uLi9UeXBlc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ2FsbEJhc2UgfSBmcm9tIFwiLi4vY3JlYXRlQ2FsbEJhc2VcIjtcbmltcG9ydCB7IGNyZWF0ZURlZmVyIH0gZnJvbSBcIi4uL2NyZWF0ZURlZmVyXCI7XG5pbXBvcnQgdHlwZSB7IFVwZGF0ZUZ1bmN0aW9uT3B0aW9ucywgVXBkYXRlTWFwIH0gZnJvbSBcIi4uL1R5cGVzXCI7XG5pbXBvcnQgeyBjYWxsVXBkYXRlTWFwIH0gZnJvbSBcIi4uL3VzZUVsbWlzaFwiO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gdXBkYXRlIGZ1bmN0aW9uIG91dCBvZiBhbiBVcGRhdGVNYXAuXG4gKiBAcGFyYW0gdXBkYXRlTWFwIFRoZSBVcGRhdGVNYXAuXG4gKiBAcmV0dXJucyBUaGUgY3JlYXRlZCB1cGRhdGUgZnVuY3Rpb24gd2hpY2ggY2FuIGJlIHVzZWQgaW4gdGVzdHMuXG4gKiBAZXhhbXBsZVxuICogY29uc3QgdXBkYXRlRm4gPSBnZXRVcGRhdGVGbih1cGRhdGUpO1xuICpcbiAqIC8vIGluIHlvdXIgdGVzdHM6XG4gKiBjb25zdCBbbW9kZWwsIGNtZF0gPSB1cGRhdGVGbiguLi5hcmdzKTtcbiAqL1xuZnVuY3Rpb24gZ2V0VXBkYXRlRm48VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdHVwZGF0ZU1hcDogVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4pOiAoXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPixcblx0cHJvcHM6IFRQcm9wcyxcblx0b3B0aW9uc1RlbXBsYXRlPzogUGFydGlhbDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPj4sXG4pID0+IFtQYXJ0aWFsPFRNb2RlbD4sIC4uLihDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdXSB7XG5cdHJldHVybiBmdW5jdGlvbiB1cGRhdGVGbihtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9uc1RlbXBsYXRlKTogW1BhcnRpYWw8VE1vZGVsPiwgLi4uKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW11dIHtcblx0XHRjb25zdCBbZGVmZXIsIGdldERlZmVycmVkXSA9IGNyZWF0ZURlZmVyPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cdFx0Y29uc3QgY2FsbEJhc2UgPSBjcmVhdGVDYWxsQmFzZShtc2csIG1vZGVsLCBwcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdGNvbnN0IG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0ge1xuXHRcdFx0ZGVmZXIsXG5cdFx0XHRjYWxsQmFzZSxcblx0XHRcdC4uLm9wdGlvbnNUZW1wbGF0ZSxcblx0XHR9O1xuXG5cdFx0Y29uc3QgW2RyYWZ0Rm4sIC4uLmNvbW1hbmRzXSA9IGNhbGxVcGRhdGVNYXAodXBkYXRlTWFwLCBtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9ucyk7XG5cdFx0Y29uc3QgW2RlZmVycmVkRHJhZnRGdW5jdGlvbnMsIGRlZmVycmVkQ29tbWFuZHNdID0gZ2V0RGVmZXJyZWQoKTtcblxuXHRcdGNvbnN0IGFsbERyYWZ0RnVuY3Rpb25zID0gWy4uLmRlZmVycmVkRHJhZnRGdW5jdGlvbnMsIGRyYWZ0Rm5dLmZpbHRlcigoZm4pID0+IGZuICE9IG51bGwpO1xuXG5cdFx0bGV0IGN1cnJlbnRNb2RlbCA9IG1vZGVsO1xuXHRcdGNvbnN0IGRpZmY6IFBhcnRpYWw8VE1vZGVsPiA9IHt9O1xuXG5cdFx0Zm9yIChjb25zdCBmbiBvZiBhbGxEcmFmdEZ1bmN0aW9ucykge1xuXHRcdFx0Y3VycmVudE1vZGVsID0gcHJvZHVjZShjdXJyZW50TW9kZWwsIChkcmFmdCkgPT4ge1xuXHRcdFx0XHRmbihkcmFmdCk7XG5cdFx0XHRcdGNhbGN1bGF0ZU1vZGVsRGlmZjxUTW9kZWw+KGRyYWZ0LCBtb2RlbCwgZGlmZik7XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gW2RpZmYsIC4uLmNvbW1hbmRzLCAuLi5kZWZlcnJlZENvbW1hbmRzXTtcblx0fTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIHVwZGF0ZSBmdW5jdGlvbiBvdXQgb2YgYW4gVXBkYXRlTWFwIHdoaWNoIGltbWVkaWF0ZWx5IGV4ZWN1dGVzIHRoZSBjb21tYW5kLlxuICogQHBhcmFtIHVwZGF0ZU1hcCBUaGUgVXBkYXRlTWFwLlxuICogQHJldHVybnMgVGhlIGNyZWF0ZWQgdXBkYXRlIGZ1bmN0aW9uIHdoaWNoIGNhbiBiZSB1c2VkIGluIHRlc3RzLlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHVwZGF0ZUFuZEV4ZWNDbWQgPSBnZXRVcGRhdGVBbmRFeGVjQ21kRm4odXBkYXRlKTtcbiAqXG4gKiAvLyBpbiB5b3VyIHRlc3Q6XG4gKiBjb25zdCBbbW9kZWwsIG1lc3NhZ2VzXSA9IGF3YWl0IHVwZGF0ZUFuZEV4ZWNDbWQoLi4uYXJncyk7XG4gKi9cbmZ1bmN0aW9uIGdldFVwZGF0ZUFuZEV4ZWNDbWRGbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0dXBkYXRlTWFwOiBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbik6IChcblx0bXNnOiBUTWVzc2FnZSxcblx0bW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+LFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zVGVtcGxhdGU/OiBQYXJ0aWFsPFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+PixcbikgPT4gUHJvbWlzZTxbUGFydGlhbDxUTW9kZWw+LCBOdWxsYWJsZTxUTWVzc2FnZT5bXV0+IHtcblx0cmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUFuZEV4ZWNDbWRGbihtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9uc1RlbXBsYXRlKTogUHJvbWlzZTxbUGFydGlhbDxUTW9kZWw+LCBOdWxsYWJsZTxUTWVzc2FnZT5bXV0+IHtcblx0XHRjb25zdCBbZGVmZXIsIGdldERlZmVycmVkXSA9IGNyZWF0ZURlZmVyPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cdFx0Y29uc3QgY2FsbEJhc2UgPSBjcmVhdGVDYWxsQmFzZShtc2csIG1vZGVsLCBwcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdGNvbnN0IG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+ID0ge1xuXHRcdFx0ZGVmZXIsXG5cdFx0XHRjYWxsQmFzZSxcblx0XHRcdC4uLm9wdGlvbnNUZW1wbGF0ZSxcblx0XHR9O1xuXG5cdFx0Y29uc3QgW2RyYWZ0Rm4sIC4uLmNvbW1hbmRzXSA9IGNhbGxVcGRhdGVNYXAodXBkYXRlTWFwLCBtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9ucyk7XG5cdFx0Y29uc3QgW2RlZmVycmVkRHJhZnRGdW5jdGlvbnMsIGRlZmVycmVkQ29tbWFuZHNdID0gZ2V0RGVmZXJyZWQoKTtcblxuXHRcdGNvbnN0IGFsbERyYWZ0RnVuY3Rpb25zID0gW2RyYWZ0Rm4sIC4uLmRlZmVycmVkRHJhZnRGdW5jdGlvbnNdLmZpbHRlcigoZm4pID0+IGZuICE9IG51bGwpO1xuXG5cdFx0bGV0IGN1cnJlbnRNb2RlbCA9IG1vZGVsO1xuXHRcdGNvbnN0IGRpZmY6IFBhcnRpYWw8VE1vZGVsPiA9IHt9O1xuXG5cdFx0Zm9yIChjb25zdCBmbiBvZiBhbGxEcmFmdEZ1bmN0aW9ucykge1xuXHRcdFx0Y3VycmVudE1vZGVsID0gcHJvZHVjZShjdXJyZW50TW9kZWwsIChkcmFmdCkgPT4ge1xuXHRcdFx0XHRmbihkcmFmdCk7XG5cdFx0XHRcdGNhbGN1bGF0ZU1vZGVsRGlmZjxUTW9kZWw+KGRyYWZ0LCBtb2RlbCwgZGlmZik7XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRjb25zdCBtZXNzYWdlcyA9IGF3YWl0IGV4ZWNDbWQoLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHMpO1xuXG5cdFx0cmV0dXJuIFtkaWZmLCBtZXNzYWdlc107XG5cdH07XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZU1vZGVsRGlmZjxUTW9kZWw+KGRyYWZ0OiBEcmFmdDxJbW11dGFibGU8VE1vZGVsPj4sIG1vZGVsOiBJbW11dGFibGU8VE1vZGVsPiwgZGlmZjogUGFydGlhbDxUTW9kZWw+KTogdm9pZCB7XG5cdGZvciAoY29uc3Qga2V5IGluIGRyYWZ0KSB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1leHBlY3QtZXJyb3Jcblx0XHRpZiAoT2JqZWN0Lmhhc093bihkcmFmdCwga2V5KSAmJiBPYmplY3QuaGFzT3duKG1vZGVsLCBrZXkpICYmIG1vZGVsW2tleV0gIT09IGRyYWZ0W2tleV0pIHtcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3Jcblx0XHRcdGRpZmZba2V5XSA9IGRyYWZ0W2tleV07XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCB7IGdldFVwZGF0ZUFuZEV4ZWNDbWRGbiwgZ2V0VXBkYXRlRm4gfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxlQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxhQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFBNkMsU0FBQUssb0JBQUEsa0JBTDdDLHFKQUFBQSxtQkFBQSxZQUFBQSxvQkFBQSxXQUFBQyxDQUFBLFNBQUFDLENBQUEsRUFBQUQsQ0FBQSxPQUFBRSxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsU0FBQSxFQUFBQyxDQUFBLEdBQUFILENBQUEs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
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export type { RenderWithModelOptions } from "../../fakeOptions";
2
+ export { execCmd, initAndExecCmd, renderWithModel } from "../../testing";
3
+ export { createModelAndProps } from "./createModelAndProps";
4
+ export { createUpdateArgsFactory, type UpdateArgsFactory } from "./createUpdateArgsFactory";
5
+ export { execSubscription } from "./execSubscription";
6
+ export { getCreateModelAndProps, getCreateUpdateArgs, type ModelAndPropsFactory } from "./getCreateUpdateArgs";
7
+ export { getUpdateAndExecCmdFn, getUpdateFn } from "./getUpdateFn";
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "createModelAndProps", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _createModelAndProps.createModelAndProps;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "createUpdateArgsFactory", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _createUpdateArgsFactory.createUpdateArgsFactory;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "execCmd", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _testing.execCmd;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "execSubscription", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _execSubscription.execSubscription;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "getCreateModelAndProps", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _getCreateUpdateArgs.getCreateModelAndProps;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "getCreateUpdateArgs", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _getCreateUpdateArgs.getCreateUpdateArgs;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "getUpdateAndExecCmdFn", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _getUpdateFn.getUpdateAndExecCmdFn;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "getUpdateFn", {
49
+ enumerable: true,
50
+ get: function get() {
51
+ return _getUpdateFn.getUpdateFn;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "initAndExecCmd", {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _testing.initAndExecCmd;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "renderWithModel", {
61
+ enumerable: true,
62
+ get: function get() {
63
+ return _testing.renderWithModel;
64
+ }
65
+ });
66
+ var _testing = require("../../testing");
67
+ var _createModelAndProps = require("./createModelAndProps");
68
+ var _createUpdateArgsFactory = require("./createUpdateArgsFactory");
69
+ var _execSubscription = require("./execSubscription");
70
+ var _getCreateUpdateArgs = require("./getCreateUpdateArgs");
71
+ var _getUpdateFn = require("./getUpdateFn");
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdGluZyIsInJlcXVpcmUiLCJfY3JlYXRlTW9kZWxBbmRQcm9wcyIsIl9jcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSIsIl9leGVjU3Vic2NyaXB0aW9uIiwiX2dldENyZWF0ZVVwZGF0ZUFyZ3MiLCJfZ2V0VXBkYXRlRm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW1tdXRhYmxlL3Rlc3RpbmcvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBSZW5kZXJXaXRoTW9kZWxPcHRpb25zIH0gZnJvbSBcIi4uLy4uL2Zha2VPcHRpb25zXCI7XG5leHBvcnQgeyBleGVjQ21kLCBpbml0QW5kRXhlY0NtZCwgcmVuZGVyV2l0aE1vZGVsIH0gZnJvbSBcIi4uLy4uL3Rlc3RpbmdcIjtcbmV4cG9ydCB7IGNyZWF0ZU1vZGVsQW5kUHJvcHMgfSBmcm9tIFwiLi9jcmVhdGVNb2RlbEFuZFByb3BzXCI7XG5leHBvcnQgeyBjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSwgdHlwZSBVcGRhdGVBcmdzRmFjdG9yeSB9IGZyb20gXCIuL2NyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5XCI7XG5leHBvcnQgeyBleGVjU3Vic2NyaXB0aW9uIH0gZnJvbSBcIi4vZXhlY1N1YnNjcmlwdGlvblwiO1xuZXhwb3J0IHsgZ2V0Q3JlYXRlTW9kZWxBbmRQcm9wcywgZ2V0Q3JlYXRlVXBkYXRlQXJncywgdHlwZSBNb2RlbEFuZFByb3BzRmFjdG9yeSB9IGZyb20gXCIuL2dldENyZWF0ZVVwZGF0ZUFyZ3NcIjtcbmV4cG9ydCB7IGdldFVwZGF0ZUFuZEV4ZWNDbWRGbiwgZ2V0VXBkYXRlRm4gfSBmcm9tIFwiLi9nZXRVcGRhdGVGblwiO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLG9CQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSx3QkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLG9CQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxZQUFBLEdBQUFMLE9BQUEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,6 +1,5 @@
1
1
  import type { Message, UpdateFunctionOptions } from "../Types";
2
2
  type UpdateArgsFactory<TProps, TModel, TMessage extends Message> = (msg: TMessage, modelTemplate?: Partial<TModel>, propsTemplate?: Partial<TProps>, optionsTemplate?: Partial<UpdateFunctionOptions<TProps, TModel, TMessage>>) => [TMessage, TModel, TProps, Partial<UpdateFunctionOptions<TProps, TModel, TMessage>>?];
3
- type ModelAndPropsFactory<TProps, TModel> = (modelTemplate?: Partial<TModel>, propsTemplate?: Partial<TProps>) => [TModel, TProps];
4
3
  /**
5
4
  * Creates a factory function to create a message, a model, props, and options which can be passed to an update function in tests.
6
5
  * @param {() => TModel} initModel A function to create an initial model.
@@ -13,5 +12,5 @@ type ModelAndPropsFactory<TProps, TModel> = (modelTemplate?: Partial<TModel>, pr
13
12
  * const [msg, model, props] = createUpdateArgs(Msg.myMessage(), { ... }, , { ... });
14
13
  */
15
14
  declare function createUpdateArgsFactory<TProps, TModel, TMessage extends Message>(initModel: () => TModel, initProps: () => TProps): UpdateArgsFactory<TProps, TModel, TMessage>;
16
- export type { ModelAndPropsFactory, UpdateArgsFactory };
15
+ export type { UpdateArgsFactory };
17
16
  export { createUpdateArgsFactory };
@@ -28,4 +28,4 @@ function createUpdateArgsFactory(initModel, initProps) {
28
28
  return [msg, model, props, optionsTemplate];
29
29
  };
30
30
  }
31
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSIsImluaXRNb2RlbCIsImluaXRQcm9wcyIsImNyZWF0ZVVwZGF0ZUFyZ3MiLCJtc2ciLCJtb2RlbFRlbXBsYXRlIiwicHJvcHNUZW1wbGF0ZSIsIm9wdGlvbnNUZW1wbGF0ZSIsIm1vZGVsIiwiX29iamVjdFNwcmVhZCIsInByb3BzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNZXNzYWdlLCBVcGRhdGVGdW5jdGlvbk9wdGlvbnMgfSBmcm9tIFwiLi4vVHlwZXNcIjtcblxudHlwZSBVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiA9IChcblx0bXNnOiBUTWVzc2FnZSxcblx0bW9kZWxUZW1wbGF0ZT86IFBhcnRpYWw8VE1vZGVsPixcblx0cHJvcHNUZW1wbGF0ZT86IFBhcnRpYWw8VFByb3BzPixcblx0b3B0aW9uc1RlbXBsYXRlPzogUGFydGlhbDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPj4sXG4pID0+IFtUTWVzc2FnZSwgVE1vZGVsLCBUUHJvcHMsIFBhcnRpYWw8VXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4+P107XG5cbnR5cGUgTW9kZWxBbmRQcm9wc0ZhY3Rvcnk8VFByb3BzLCBUTW9kZWw+ID0gKFxuXHRtb2RlbFRlbXBsYXRlPzogUGFydGlhbDxUTW9kZWw+LFxuXHRwcm9wc1RlbXBsYXRlPzogUGFydGlhbDxUUHJvcHM+LFxuKSA9PiBbVE1vZGVsLCBUUHJvcHNdO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG1lc3NhZ2UsIGEgbW9kZWwsIHByb3BzLCBhbmQgb3B0aW9ucyB3aGljaCBjYW4gYmUgcGFzc2VkIHRvIGFuIHVwZGF0ZSBmdW5jdGlvbiBpbiB0ZXN0cy5cbiAqIEBwYXJhbSB7KCkgPT4gVE1vZGVsfSBpbml0TW9kZWwgQSBmdW5jdGlvbiB0byBjcmVhdGUgYW4gaW5pdGlhbCBtb2RlbC5cbiAqIEBwYXJhbSB7KCkgPT4gVFByb3BzfSBpbml0UHJvcHMgQSBmdW5jdGlvbiB0byBjcmVhdGUgaW5pdGlhbCBwcm9wcy5cbiAqIEByZXR1cm5zIHtVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+fSBBIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG1lc3NhZ2UsIGEgbW9kZWwsIGFuZCBwcm9wcy5cbiAqIEBleGFtcGxlXG4gKiAvLyBvbmUgdGltZVxuICogY29uc3QgY3JlYXRlVXBkYXRlQXJncyA9IGNyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5KCgpID0+ICh7IC4uLiB9KSwgKCkgPT4gKHsgLi4uIH0pKTtcbiAqIC8vIGluIHRlc3RzXG4gKiBjb25zdCBbbXNnLCBtb2RlbCwgcHJvcHNdID0gY3JlYXRlVXBkYXRlQXJncyhNc2cubXlNZXNzYWdlKCksIHsgLi4uIH0sICwgeyAuLi4gfSk7XG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5PFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRpbml0TW9kZWw6ICgpID0+IFRNb2RlbCxcblx0aW5pdFByb3BzOiAoKSA9PiBUUHJvcHMsXG4pOiBVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHtcblx0cmV0dXJuIGZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZUFyZ3MoXG5cdFx0bXNnOiBUTWVzc2FnZSxcblx0XHRtb2RlbFRlbXBsYXRlPzogUGFydGlhbDxUTW9kZWw+LFxuXHRcdHByb3BzVGVtcGxhdGU/OiBQYXJ0aWFsPFRQcm9wcz4sXG5cdFx0b3B0aW9uc1RlbXBsYXRlPzogUGFydGlhbDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPj4sXG5cdCk6IFtUTWVzc2FnZSwgVE1vZGVsLCBUUHJvcHMsIFBhcnRpYWw8VXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4+P10ge1xuXHRcdGNvbnN0IG1vZGVsID0ge1xuXHRcdFx0Li4uaW5pdE1vZGVsKCksXG5cdFx0XHQuLi5tb2RlbFRlbXBsYXRlLFxuXHRcdH07XG5cdFx0Y29uc3QgcHJvcHMgPSB7XG5cdFx0XHQuLi5pbml0UHJvcHMoKSxcblx0XHRcdC4uLnByb3BzVGVtcGxhdGUsXG5cdFx0fTtcblxuXHRcdHJldHVybiBbbXNnLCBtb2RlbCwgcHJvcHMsIG9wdGlvbnNUZW1wbGF0ZV07XG5cdH07XG59XG5cbmV4cG9ydCB0eXBlIHsgTW9kZWxBbmRQcm9wc0ZhY3RvcnksIFVwZGF0ZUFyZ3NGYWN0b3J5IH07XG5cbmV4cG9ydCB7IGNyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5IH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSx1QkFBdUJBLENBQy9CQyxTQUF1QixFQUN2QkMsU0FBdUIsRUFDdUI7RUFDOUMsT0FBTyxTQUFTQyxnQkFBZ0JBLENBQy9CQyxHQUFhLEVBQ2JDLGFBQStCLEVBQy9CQyxhQUErQixFQUMvQkMsZUFBMEUsRUFDYztJQUN4RixJQUFNQyxLQUFLLEdBQUFDLGFBQUEsQ0FBQUEsYUFBQSxLQUNQUixTQUFTLENBQUMsQ0FBQyxHQUNYSSxhQUFhLENBQ2hCO0lBQ0QsSUFBTUssS0FBSyxHQUFBRCxhQUFBLENBQUFBLGFBQUEsS0FDUFAsU0FBUyxDQUFDLENBQUMsR0FDWEksYUFBYSxDQUNoQjtJQUVELE9BQU8sQ0FBQ0YsR0FBRyxFQUFFSSxLQUFLLEVBQUVFLEtBQUssRUFBRUgsZUFBZSxDQUFDO0VBQzVDLENBQUM7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
31
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSIsImluaXRNb2RlbCIsImluaXRQcm9wcyIsImNyZWF0ZVVwZGF0ZUFyZ3MiLCJtc2ciLCJtb2RlbFRlbXBsYXRlIiwicHJvcHNUZW1wbGF0ZSIsIm9wdGlvbnNUZW1wbGF0ZSIsIm1vZGVsIiwiX29iamVjdFNwcmVhZCIsInByb3BzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNZXNzYWdlLCBVcGRhdGVGdW5jdGlvbk9wdGlvbnMgfSBmcm9tIFwiLi4vVHlwZXNcIjtcblxudHlwZSBVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiA9IChcblx0bXNnOiBUTWVzc2FnZSxcblx0bW9kZWxUZW1wbGF0ZT86IFBhcnRpYWw8VE1vZGVsPixcblx0cHJvcHNUZW1wbGF0ZT86IFBhcnRpYWw8VFByb3BzPixcblx0b3B0aW9uc1RlbXBsYXRlPzogUGFydGlhbDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPj4sXG4pID0+IFtUTWVzc2FnZSwgVE1vZGVsLCBUUHJvcHMsIFBhcnRpYWw8VXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4+P107XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZhY3RvcnkgZnVuY3Rpb24gdG8gY3JlYXRlIGEgbWVzc2FnZSwgYSBtb2RlbCwgcHJvcHMsIGFuZCBvcHRpb25zIHdoaWNoIGNhbiBiZSBwYXNzZWQgdG8gYW4gdXBkYXRlIGZ1bmN0aW9uIGluIHRlc3RzLlxuICogQHBhcmFtIHsoKSA9PiBUTW9kZWx9IGluaXRNb2RlbCBBIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhbiBpbml0aWFsIG1vZGVsLlxuICogQHBhcmFtIHsoKSA9PiBUUHJvcHN9IGluaXRQcm9wcyBBIGZ1bmN0aW9uIHRvIGNyZWF0ZSBpbml0aWFsIHByb3BzLlxuICogQHJldHVybnMge1VwZGF0ZUFyZ3NGYWN0b3J5PFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT59IEEgZnVuY3Rpb24gdG8gY3JlYXRlIGEgbWVzc2FnZSwgYSBtb2RlbCwgYW5kIHByb3BzLlxuICogQGV4YW1wbGVcbiAqIC8vIG9uZSB0aW1lXG4gKiBjb25zdCBjcmVhdGVVcGRhdGVBcmdzID0gY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnkoKCkgPT4gKHsgLi4uIH0pLCAoKSA9PiAoeyAuLi4gfSkpO1xuICogLy8gaW4gdGVzdHNcbiAqIGNvbnN0IFttc2csIG1vZGVsLCBwcm9wc10gPSBjcmVhdGVVcGRhdGVBcmdzKE1zZy5teU1lc3NhZ2UoKSwgeyAuLi4gfSwgLCB7IC4uLiB9KTtcbiAqL1xuZnVuY3Rpb24gY3JlYXRlVXBkYXRlQXJnc0ZhY3Rvcnk8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdGluaXRNb2RlbDogKCkgPT4gVE1vZGVsLFxuXHRpbml0UHJvcHM6ICgpID0+IFRQcm9wcyxcbik6IFVwZGF0ZUFyZ3NGYWN0b3J5PFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4ge1xuXHRyZXR1cm4gZnVuY3Rpb24gY3JlYXRlVXBkYXRlQXJncyhcblx0XHRtc2c6IFRNZXNzYWdlLFxuXHRcdG1vZGVsVGVtcGxhdGU/OiBQYXJ0aWFsPFRNb2RlbD4sXG5cdFx0cHJvcHNUZW1wbGF0ZT86IFBhcnRpYWw8VFByb3BzPixcblx0XHRvcHRpb25zVGVtcGxhdGU/OiBQYXJ0aWFsPFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+Pixcblx0KTogW1RNZXNzYWdlLCBUTW9kZWwsIFRQcm9wcywgUGFydGlhbDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPj4/XSB7XG5cdFx0Y29uc3QgbW9kZWwgPSB7XG5cdFx0XHQuLi5pbml0TW9kZWwoKSxcblx0XHRcdC4uLm1vZGVsVGVtcGxhdGUsXG5cdFx0fTtcblx0XHRjb25zdCBwcm9wcyA9IHtcblx0XHRcdC4uLmluaXRQcm9wcygpLFxuXHRcdFx0Li4ucHJvcHNUZW1wbGF0ZSxcblx0XHR9O1xuXG5cdFx0cmV0dXJuIFttc2csIG1vZGVsLCBwcm9wcywgb3B0aW9uc1RlbXBsYXRlXTtcblx0fTtcbn1cblxuZXhwb3J0IHR5cGUgeyBVcGRhdGVBcmdzRmFjdG9yeSB9O1xuXG5leHBvcnQgeyBjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsdUJBQXVCQSxDQUMvQkMsU0FBdUIsRUFDdkJDLFNBQXVCLEVBQ3VCO0VBQzlDLE9BQU8sU0FBU0MsZ0JBQWdCQSxDQUMvQkMsR0FBYSxFQUNiQyxhQUErQixFQUMvQkMsYUFBK0IsRUFDL0JDLGVBQTBFLEVBQ2M7SUFDeEYsSUFBTUMsS0FBSyxHQUFBQyxhQUFBLENBQUFBLGFBQUEsS0FDUFIsU0FBUyxDQUFDLENBQUMsR0FDWEksYUFBYSxDQUNoQjtJQUNELElBQU1LLEtBQUssR0FBQUQsYUFBQSxDQUFBQSxhQUFBLEtBQ1BQLFNBQVMsQ0FBQyxDQUFDLEdBQ1hJLGFBQWEsQ0FDaEI7SUFFRCxPQUFPLENBQUNGLEdBQUcsRUFBRUksS0FBSyxFQUFFRSxLQUFLLEVBQUVILGVBQWUsQ0FBQztFQUM1QyxDQUFDO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,5 +1,5 @@
1
1
  import type { InitFunction, Message } from "../Types";
2
- import type { ModelAndPropsFactory, UpdateArgsFactory } from "./createUpdateArgsFactory";
2
+ import type { UpdateArgsFactory } from "./createUpdateArgsFactory";
3
3
  /**
4
4
  * Creates a factory function to create a message, a model, props, and options which can be passed to an update function in tests.
5
5
  * @param {InitFunction<TProps, TModel, TMessage>} init The init function which creates the model.
@@ -12,6 +12,7 @@ import type { ModelAndPropsFactory, UpdateArgsFactory } from "./createUpdateArgs
12
12
  * const [msg, model, props] = createUpdateArgs(Msg.myMessage(), { ... }, , { ... });
13
13
  */
14
14
  declare function getCreateUpdateArgs<TProps, TModel, TMessage extends Message>(init: InitFunction<TProps, TModel, TMessage>, initProps: () => TProps): UpdateArgsFactory<TProps, TModel, TMessage>;
15
+ type ModelAndPropsFactory<TProps, TModel> = (modelTemplate?: Partial<TModel>, propsTemplate?: Partial<TProps>) => [TModel, TProps];
15
16
  /**
16
17
  * Creates a factory function to create a model, props, and options which can be passed to an update or subscription function in tests.
17
18
  * @param {InitFunction<TProps, TModel, TMessage>} init The init function which creates the model.
@@ -24,4 +25,5 @@ declare function getCreateUpdateArgs<TProps, TModel, TMessage extends Message>(i
24
25
  * const [model, props] = createModelAndProps({ ... }, , { ... });
25
26
  */
26
27
  declare function getCreateModelAndProps<TProps, TModel, TMessage extends Message>(init: InitFunction<TProps, TModel, TMessage>, initProps: () => TProps): ModelAndPropsFactory<TProps, TModel>;
28
+ export type { ModelAndPropsFactory };
27
29
  export { getCreateModelAndProps, getCreateUpdateArgs };
@@ -29,7 +29,6 @@ function getCreateUpdateArgs(init, initProps) {
29
29
  return [msg].concat(_toConsumableArray(args), [optionsTemplate]);
30
30
  };
31
31
  }
32
-
33
32
  /**
34
33
  * Creates a factory function to create a model, props, and options which can be passed to an update or subscription function in tests.
35
34
  * @param {InitFunction<TProps, TModel, TMessage>} init The init function which creates the model.
@@ -46,4 +45,4 @@ function getCreateModelAndProps(init, initProps) {
46
45
  return (0, _createModelAndProps.createModelAndProps)(init, initProps, modelTemplate, propsTemplate);
47
46
  };
48
47
  }
49
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JlYXRlTW9kZWxBbmRQcm9wcyIsInJlcXVpcmUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJyIiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIlR5cGVFcnJvciIsImEiLCJfYXJyYXlMaWtlVG9BcnJheSIsInQiLCJ0b1N0cmluZyIsImNhbGwiLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJTeW1ib2wiLCJpdGVyYXRvciIsImlzQXJyYXkiLCJsZW5ndGgiLCJlIiwibiIsImdldENyZWF0ZVVwZGF0ZUFyZ3MiLCJpbml0IiwiaW5pdFByb3BzIiwiY3JlYXRlVXBkYXRlQXJncyIsIm1zZyIsIm1vZGVsVGVtcGxhdGUiLCJwcm9wc1RlbXBsYXRlIiwib3B0aW9uc1RlbXBsYXRlIiwiYXJncyIsImNyZWF0ZU1vZGVsQW5kUHJvcHMiLCJjb25jYXQiLCJnZXRDcmVhdGVNb2RlbEFuZFByb3BzIiwiY3JlYXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvZ2V0Q3JlYXRlVXBkYXRlQXJncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEluaXRGdW5jdGlvbiwgTWVzc2FnZSwgVXBkYXRlRnVuY3Rpb25PcHRpb25zIH0gZnJvbSBcIi4uL1R5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVNb2RlbEFuZFByb3BzIH0gZnJvbSBcIi4vY3JlYXRlTW9kZWxBbmRQcm9wc1wiO1xuaW1wb3J0IHR5cGUgeyBNb2RlbEFuZFByb3BzRmFjdG9yeSwgVXBkYXRlQXJnc0ZhY3RvcnkgfSBmcm9tIFwiLi9jcmVhdGVVcGRhdGVBcmdzRmFjdG9yeVwiO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG1lc3NhZ2UsIGEgbW9kZWwsIHByb3BzLCBhbmQgb3B0aW9ucyB3aGljaCBjYW4gYmUgcGFzc2VkIHRvIGFuIHVwZGF0ZSBmdW5jdGlvbiBpbiB0ZXN0cy5cbiAqIEBwYXJhbSB7SW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT59IGluaXQgVGhlIGluaXQgZnVuY3Rpb24gd2hpY2ggY3JlYXRlcyB0aGUgbW9kZWwuXG4gKiBAcGFyYW0geygpID0+IFRQcm9wc30gaW5pdFByb3BzIEEgZnVuY3Rpb24gdG8gY3JlYXRlIGluaXRpYWwgcHJvcHMuXG4gKiBAcmV0dXJucyB7VXBkYXRlQXJnc0ZhY3Rvcnk8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPn0gQSBmdW5jdGlvbiB0byBjcmVhdGUgYSBtZXNzYWdlLCBhIG1vZGVsLCBhbmQgcHJvcHMuXG4gKiBAZXhhbXBsZVxuICogLy8gb25lIHRpbWVcbiAqIGNvbnN0IGNyZWF0ZVVwZGF0ZUFyZ3MgPSBnZXRDcmVhdGVVcGRhdGVBcmdzKGluaXQsICgpID0+ICh7IC4uLiB9KSk7XG4gKiAvLyBpbiB0ZXN0c1xuICogY29uc3QgW21zZywgbW9kZWwsIHByb3BzXSA9IGNyZWF0ZVVwZGF0ZUFyZ3MoTXNnLm15TWVzc2FnZSgpLCB7IC4uLiB9LCAsIHsgLi4uIH0pO1xuICovXG5mdW5jdGlvbiBnZXRDcmVhdGVVcGRhdGVBcmdzPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcblx0aW5pdFByb3BzOiAoKSA9PiBUUHJvcHMsXG4pOiBVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHtcblx0cmV0dXJuIGZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZUFyZ3MoXG5cdFx0bXNnOiBUTWVzc2FnZSxcblx0XHRtb2RlbFRlbXBsYXRlPzogUGFydGlhbDxUTW9kZWw+LFxuXHRcdHByb3BzVGVtcGxhdGU/OiBQYXJ0aWFsPFRQcm9wcz4sXG5cdFx0b3B0aW9uc1RlbXBsYXRlPzogUGFydGlhbDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPj4sXG5cdCk6IFtUTWVzc2FnZSwgVE1vZGVsLCBUUHJvcHMsIFBhcnRpYWw8VXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4+P10ge1xuXHRcdGNvbnN0IGFyZ3MgPSBjcmVhdGVNb2RlbEFuZFByb3BzKGluaXQsIGluaXRQcm9wcywgbW9kZWxUZW1wbGF0ZSwgcHJvcHNUZW1wbGF0ZSk7XG5cblx0XHRyZXR1cm4gW21zZywgLi4uYXJncywgb3B0aW9uc1RlbXBsYXRlXTtcblx0fTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgYSBtb2RlbCwgcHJvcHMsIGFuZCBvcHRpb25zIHdoaWNoIGNhbiBiZSBwYXNzZWQgdG8gYW4gdXBkYXRlIG9yIHN1YnNjcmlwdGlvbiBmdW5jdGlvbiBpbiB0ZXN0cy5cbiAqIEBwYXJhbSB7SW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT59IGluaXQgVGhlIGluaXQgZnVuY3Rpb24gd2hpY2ggY3JlYXRlcyB0aGUgbW9kZWwuXG4gKiBAcGFyYW0geygpID0+IFRQcm9wc30gaW5pdFByb3BzIEEgZnVuY3Rpb24gdG8gY3JlYXRlIGluaXRpYWwgcHJvcHMuXG4gKiBAcmV0dXJucyB7TW9kZWxBbmRQcm9wc0ZhY3Rvcnk8VFByb3BzLCBUTW9kZWw+fSBBIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIGEgbW9kZWwgYW5kIHByb3BzLlxuICogQGV4YW1wbGVcbiAqIC8vIG9uZSB0aW1lXG4gKiBjb25zdCBjcmVhdGVNb2RlbEFuZFByb3BzID0gZ2V0Q3JlYXRlTW9kZWxBbmRQcm9wcyhpbml0LCAoKSA9PiAoeyAuLi4gfSkpO1xuICogLy8gaW4gdGVzdHNcbiAqIGNvbnN0IFttb2RlbCwgcHJvcHNdID0gY3JlYXRlTW9kZWxBbmRQcm9wcyh7IC4uLiB9LCAsIHsgLi4uIH0pO1xuICovXG5mdW5jdGlvbiBnZXRDcmVhdGVNb2RlbEFuZFByb3BzPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcblx0aW5pdFByb3BzOiAoKSA9PiBUUHJvcHMsXG4pOiBNb2RlbEFuZFByb3BzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbD4ge1xuXHRyZXR1cm4gZnVuY3Rpb24gY3JlYXRlKG1vZGVsVGVtcGxhdGU/OiBQYXJ0aWFsPFRNb2RlbD4sIHByb3BzVGVtcGxhdGU/OiBQYXJ0aWFsPFRQcm9wcz4pOiBbVE1vZGVsLCBUUHJvcHNdIHtcblx0XHRyZXR1cm4gY3JlYXRlTW9kZWxBbmRQcm9wcyhpbml0LCBpbml0UHJvcHMsIG1vZGVsVGVtcGxhdGUsIHByb3BzVGVtcGxhdGUpO1xuXHR9O1xufVxuXG5leHBvcnQgeyBnZXRDcmVhdGVNb2RlbEFuZFByb3BzLCBnZXRDcmVhdGVVcGRhdGVBcmdzIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQSxJQUFBQSxvQkFBQSxHQUFBQyxPQUFBO0FBQTRELFNBQUFDLG1CQUFBQyxDQUFBLFdBQUFDLGtCQUFBLENBQUFELENBQUEsS0FBQUUsZ0JBQUEsQ0FBQUYsQ0FBQSxLQUFBRywyQkFBQSxDQUFBSCxDQUFBLEtBQUFJLGtCQUFBO0FBQUEsU0FBQUEsbUJBQUEsY0FBQUMsU0FBQTtBQUFBLFNBQUFGLDRCQUFBSCxDQUFBLEVBQUFNLENBQUEsUUFBQU4sQ0FBQSwyQkFBQUEsQ0FBQSxTQUFBTyxpQkFBQSxDQUFBUCxDQUFBLEVBQUFNLENBQUEsT0FBQUUsQ0FBQSxNQUFBQyxRQUFBLENBQUFDLElBQUEsQ0FBQVYsQ0FBQSxFQUFBVyxLQUFBLDZCQUFBSCxDQUFBLElBQUFSLENBQUEsQ0FBQVksV0FBQSxLQUFBSixDQUFBLEdBQUFSLENBQUEsQ0FBQVksV0FBQSxDQUFBQyxJQUFBLGFBQUFMLENBQUEsY0FBQUEsQ0FBQSxHQUFBTSxLQUFBLENBQUFDLElBQUEsQ0FBQWYsQ0FBQSxvQkFBQVEsQ0FBQSwrQ0FBQVEsSUFBQSxDQUFBUixDQUFBLElBQUFELGlCQUFBLENBQUFQLENBQUEsRUFBQU0sQ0FBQTtBQUFBLFNBQUFKLGlCQUFBRixDQUFBLDhCQUFBaUIsTUFBQSxZQUFBakIsQ0FBQSxDQUFBaUIsTUFBQSxDQUFBQyxRQUFBLGFBQUFsQixDQUFBLHVCQUFBYyxLQUFBLENBQUFDLElBQUEsQ0FBQWYsQ0FBQTtBQUFBLFNBQUFDLG1CQUFBRCxDQUFBLFFBQUFjLEtBQUEsQ0FBQUssT0FBQSxDQUFBbkIsQ0FBQSxVQUFBTyxpQkFBQSxDQUFBUCxDQUFBO0FBQUEsU0FBQU8sa0JBQUFQLENBQUEsRUFBQU0sQ0FBQSxhQUFBQSxDQUFBLElBQUFBLENBQUEsR0FBQU4sQ0FBQSxDQUFBb0IsTUFBQSxNQUFBZCxDQUFBLEdBQUFOLENBQUEsQ0FBQW9CLE1BQUEsWUFBQUMsQ0FBQSxNQUFBQyxDQUFBLEdBQUFSLEtBQUEsQ0FBQVIsQ0FBQSxHQUFBZSxDQUFBLEdBQUFmLENBQUEsRUFBQWUsQ0FBQSxJQUFBQyxDQUFBLENBQUFELENBQUEsSUFBQXJCLENBQUEsQ0FBQXFCLENBQUEsVUFBQUMsQ0FBQTtBQUc1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0MsbUJBQW1CQSxDQUMzQkMsSUFBNEMsRUFDNUNDLFNBQXVCLEVBQ3VCO0VBQzlDLE9BQU8sU0FBU0MsZ0JBQWdCQSxDQUMvQkMsR0FBYSxFQUNiQyxhQUErQixFQUMvQkMsYUFBK0IsRUFDL0JDLGVBQTBFLEVBQ2M7SUFDeEYsSUFBTUMsSUFBSSxHQUFHLElBQUFDLHdDQUFtQixFQUFDUixJQUFJLEVBQUVDLFNBQVMsRUFBRUcsYUFBYSxFQUFFQyxhQUFhLENBQUM7SUFFL0UsUUFBUUYsR0FBRyxFQUFBTSxNQUFBLENBQUFsQyxrQkFBQSxDQUFLZ0MsSUFBSSxJQUFFRCxlQUFlO0VBQ3RDLENBQUM7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0ksc0JBQXNCQSxDQUM5QlYsSUFBNEMsRUFDNUNDLFNBQXVCLEVBQ2dCO0VBQ3ZDLE9BQU8sU0FBU1UsTUFBTUEsQ0FBQ1AsYUFBK0IsRUFBRUMsYUFBK0IsRUFBb0I7SUFDMUcsT0FBTyxJQUFBRyx3Q0FBbUIsRUFBQ1IsSUFBSSxFQUFFQyxTQUFTLEVBQUVHLGFBQWEsRUFBRUMsYUFBYSxDQUFDO0VBQzFFLENBQUM7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JlYXRlTW9kZWxBbmRQcm9wcyIsInJlcXVpcmUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJyIiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIlR5cGVFcnJvciIsImEiLCJfYXJyYXlMaWtlVG9BcnJheSIsInQiLCJ0b1N0cmluZyIsImNhbGwiLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJTeW1ib2wiLCJpdGVyYXRvciIsImlzQXJyYXkiLCJsZW5ndGgiLCJlIiwibiIsImdldENyZWF0ZVVwZGF0ZUFyZ3MiLCJpbml0IiwiaW5pdFByb3BzIiwiY3JlYXRlVXBkYXRlQXJncyIsIm1zZyIsIm1vZGVsVGVtcGxhdGUiLCJwcm9wc1RlbXBsYXRlIiwib3B0aW9uc1RlbXBsYXRlIiwiYXJncyIsImNyZWF0ZU1vZGVsQW5kUHJvcHMiLCJjb25jYXQiLCJnZXRDcmVhdGVNb2RlbEFuZFByb3BzIiwiY3JlYXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvZ2V0Q3JlYXRlVXBkYXRlQXJncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEluaXRGdW5jdGlvbiwgTWVzc2FnZSwgVXBkYXRlRnVuY3Rpb25PcHRpb25zIH0gZnJvbSBcIi4uL1R5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVNb2RlbEFuZFByb3BzIH0gZnJvbSBcIi4vY3JlYXRlTW9kZWxBbmRQcm9wc1wiO1xuaW1wb3J0IHR5cGUgeyBVcGRhdGVBcmdzRmFjdG9yeSB9IGZyb20gXCIuL2NyZWF0ZVVwZGF0ZUFyZ3NGYWN0b3J5XCI7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZhY3RvcnkgZnVuY3Rpb24gdG8gY3JlYXRlIGEgbWVzc2FnZSwgYSBtb2RlbCwgcHJvcHMsIGFuZCBvcHRpb25zIHdoaWNoIGNhbiBiZSBwYXNzZWQgdG8gYW4gdXBkYXRlIGZ1bmN0aW9uIGluIHRlc3RzLlxuICogQHBhcmFtIHtJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPn0gaW5pdCBUaGUgaW5pdCBmdW5jdGlvbiB3aGljaCBjcmVhdGVzIHRoZSBtb2RlbC5cbiAqIEBwYXJhbSB7KCkgPT4gVFByb3BzfSBpbml0UHJvcHMgQSBmdW5jdGlvbiB0byBjcmVhdGUgaW5pdGlhbCBwcm9wcy5cbiAqIEByZXR1cm5zIHtVcGRhdGVBcmdzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+fSBBIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG1lc3NhZ2UsIGEgbW9kZWwsIGFuZCBwcm9wcy5cbiAqIEBleGFtcGxlXG4gKiAvLyBvbmUgdGltZVxuICogY29uc3QgY3JlYXRlVXBkYXRlQXJncyA9IGdldENyZWF0ZVVwZGF0ZUFyZ3MoaW5pdCwgKCkgPT4gKHsgLi4uIH0pKTtcbiAqIC8vIGluIHRlc3RzXG4gKiBjb25zdCBbbXNnLCBtb2RlbCwgcHJvcHNdID0gY3JlYXRlVXBkYXRlQXJncyhNc2cubXlNZXNzYWdlKCksIHsgLi4uIH0sICwgeyAuLi4gfSk7XG4gKi9cbmZ1bmN0aW9uIGdldENyZWF0ZVVwZGF0ZUFyZ3M8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdGluaXQ6IEluaXRGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRpbml0UHJvcHM6ICgpID0+IFRQcm9wcyxcbik6IFVwZGF0ZUFyZ3NGYWN0b3J5PFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4ge1xuXHRyZXR1cm4gZnVuY3Rpb24gY3JlYXRlVXBkYXRlQXJncyhcblx0XHRtc2c6IFRNZXNzYWdlLFxuXHRcdG1vZGVsVGVtcGxhdGU/OiBQYXJ0aWFsPFRNb2RlbD4sXG5cdFx0cHJvcHNUZW1wbGF0ZT86IFBhcnRpYWw8VFByb3BzPixcblx0XHRvcHRpb25zVGVtcGxhdGU/OiBQYXJ0aWFsPFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+Pixcblx0KTogW1RNZXNzYWdlLCBUTW9kZWwsIFRQcm9wcywgUGFydGlhbDxVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPj4/XSB7XG5cdFx0Y29uc3QgYXJncyA9IGNyZWF0ZU1vZGVsQW5kUHJvcHMoaW5pdCwgaW5pdFByb3BzLCBtb2RlbFRlbXBsYXRlLCBwcm9wc1RlbXBsYXRlKTtcblxuXHRcdHJldHVybiBbbXNnLCAuLi5hcmdzLCBvcHRpb25zVGVtcGxhdGVdO1xuXHR9O1xufVxuXG50eXBlIE1vZGVsQW5kUHJvcHNGYWN0b3J5PFRQcm9wcywgVE1vZGVsPiA9IChcblx0bW9kZWxUZW1wbGF0ZT86IFBhcnRpYWw8VE1vZGVsPixcblx0cHJvcHNUZW1wbGF0ZT86IFBhcnRpYWw8VFByb3BzPixcbikgPT4gW1RNb2RlbCwgVFByb3BzXTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgYSBtb2RlbCwgcHJvcHMsIGFuZCBvcHRpb25zIHdoaWNoIGNhbiBiZSBwYXNzZWQgdG8gYW4gdXBkYXRlIG9yIHN1YnNjcmlwdGlvbiBmdW5jdGlvbiBpbiB0ZXN0cy5cbiAqIEBwYXJhbSB7SW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT59IGluaXQgVGhlIGluaXQgZnVuY3Rpb24gd2hpY2ggY3JlYXRlcyB0aGUgbW9kZWwuXG4gKiBAcGFyYW0geygpID0+IFRQcm9wc30gaW5pdFByb3BzIEEgZnVuY3Rpb24gdG8gY3JlYXRlIGluaXRpYWwgcHJvcHMuXG4gKiBAcmV0dXJucyB7TW9kZWxBbmRQcm9wc0ZhY3Rvcnk8VFByb3BzLCBUTW9kZWw+fSBBIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIGEgbW9kZWwgYW5kIHByb3BzLlxuICogQGV4YW1wbGVcbiAqIC8vIG9uZSB0aW1lXG4gKiBjb25zdCBjcmVhdGVNb2RlbEFuZFByb3BzID0gZ2V0Q3JlYXRlTW9kZWxBbmRQcm9wcyhpbml0LCAoKSA9PiAoeyAuLi4gfSkpO1xuICogLy8gaW4gdGVzdHNcbiAqIGNvbnN0IFttb2RlbCwgcHJvcHNdID0gY3JlYXRlTW9kZWxBbmRQcm9wcyh7IC4uLiB9LCAsIHsgLi4uIH0pO1xuICovXG5mdW5jdGlvbiBnZXRDcmVhdGVNb2RlbEFuZFByb3BzPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcblx0aW5pdFByb3BzOiAoKSA9PiBUUHJvcHMsXG4pOiBNb2RlbEFuZFByb3BzRmFjdG9yeTxUUHJvcHMsIFRNb2RlbD4ge1xuXHRyZXR1cm4gZnVuY3Rpb24gY3JlYXRlKG1vZGVsVGVtcGxhdGU/OiBQYXJ0aWFsPFRNb2RlbD4sIHByb3BzVGVtcGxhdGU/OiBQYXJ0aWFsPFRQcm9wcz4pOiBbVE1vZGVsLCBUUHJvcHNdIHtcblx0XHRyZXR1cm4gY3JlYXRlTW9kZWxBbmRQcm9wcyhpbml0LCBpbml0UHJvcHMsIG1vZGVsVGVtcGxhdGUsIHByb3BzVGVtcGxhdGUpO1xuXHR9O1xufVxuXG5leHBvcnQgdHlwZSB7IE1vZGVsQW5kUHJvcHNGYWN0b3J5IH07XG5cbmV4cG9ydCB7IGdldENyZWF0ZU1vZGVsQW5kUHJvcHMsIGdldENyZWF0ZVVwZGF0ZUFyZ3MgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLElBQUFBLG9CQUFBLEdBQUFDLE9BQUE7QUFBNEQsU0FBQUMsbUJBQUFDLENBQUEsV0FBQUMsa0JBQUEsQ0FBQUQsQ0FBQSxLQUFBRSxnQkFBQSxDQUFBRixDQUFBLEtBQUFHLDJCQUFBLENBQUFILENBQUEsS0FBQUksa0JBQUE7QUFBQSxTQUFBQSxtQkFBQSxjQUFBQyxTQUFBO0FBQUEsU0FBQUYsNEJBQUFILENBQUEsRUFBQU0sQ0FBQSxRQUFBTixDQUFBLDJCQUFBQSxDQUFBLFNBQUFPLGlCQUFBLENBQUFQLENBQUEsRUFBQU0sQ0FBQSxPQUFBRSxDQUFBLE1BQUFDLFFBQUEsQ0FBQUMsSUFBQSxDQUFBVixDQUFBLEVBQUFXLEtBQUEsNkJBQUFILENBQUEsSUFBQVIsQ0FBQSxDQUFBWSxXQUFBLEtBQUFKLENBQUEsR0FBQVIsQ0FBQSxDQUFBWSxXQUFBLENBQUFDLElBQUEsYUFBQUwsQ0FBQSxjQUFBQSxDQUFBLEdBQUFNLEtBQUEsQ0FBQUMsSUFBQSxDQUFBZixDQUFBLG9CQUFBUSxDQUFBLCtDQUFBUSxJQUFBLENBQUFSLENBQUEsSUFBQUQsaUJBQUEsQ0FBQVAsQ0FBQSxFQUFBTSxDQUFBO0FBQUEsU0FBQUosaUJBQUFGLENBQUEsOEJBQUFpQixNQUFBLFlBQUFqQixDQUFBLENBQUFpQixNQUFBLENBQUFDLFFBQUEsYUFBQWxCLENBQUEsdUJBQUFjLEtBQUEsQ0FBQUMsSUFBQSxDQUFBZixDQUFBO0FBQUEsU0FBQUMsbUJBQUFELENBQUEsUUFBQWMsS0FBQSxDQUFBSyxPQUFBLENBQUFuQixDQUFBLFVBQUFPLGlCQUFBLENBQUFQLENBQUE7QUFBQSxTQUFBTyxrQkFBQVAsQ0FBQSxFQUFBTSxDQUFBLGFBQUFBLENBQUEsSUFBQUEsQ0FBQSxHQUFBTixDQUFBLENBQUFvQixNQUFBLE1BQUFkLENBQUEsR0FBQU4sQ0FBQSxDQUFBb0IsTUFBQSxZQUFBQyxDQUFBLE1BQUFDLENBQUEsR0FBQVIsS0FBQSxDQUFBUixDQUFBLEdBQUFlLENBQUEsR0FBQWYsQ0FBQSxFQUFBZSxDQUFBLElBQUFDLENBQUEsQ0FBQUQsQ0FBQSxJQUFBckIsQ0FBQSxDQUFBcUIsQ0FBQSxVQUFBQyxDQUFBO0FBRzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQyxtQkFBbUJBLENBQzNCQyxJQUE0QyxFQUM1Q0MsU0FBdUIsRUFDdUI7RUFDOUMsT0FBTyxTQUFTQyxnQkFBZ0JBLENBQy9CQyxHQUFhLEVBQ2JDLGFBQStCLEVBQy9CQyxhQUErQixFQUMvQkMsZUFBMEUsRUFDYztJQUN4RixJQUFNQyxJQUFJLEdBQUcsSUFBQUMsd0NBQW1CLEVBQUNSLElBQUksRUFBRUMsU0FBUyxFQUFFRyxhQUFhLEVBQUVDLGFBQWEsQ0FBQztJQUUvRSxRQUFRRixHQUFHLEVBQUFNLE1BQUEsQ0FBQWxDLGtCQUFBLENBQUtnQyxJQUFJLElBQUVELGVBQWU7RUFDdEMsQ0FBQztBQUNGO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNJLHNCQUFzQkEsQ0FDOUJWLElBQTRDLEVBQzVDQyxTQUF1QixFQUNnQjtFQUN2QyxPQUFPLFNBQVNVLE1BQU1BLENBQUNQLGFBQStCLEVBQUVDLGFBQStCLEVBQW9CO0lBQzFHLE9BQU8sSUFBQUcsd0NBQW1CLEVBQUNSLElBQUksRUFBRUMsU0FBUyxFQUFFRyxhQUFhLEVBQUVDLGFBQWEsQ0FBQztFQUMxRSxDQUFDO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,9 +1,9 @@
1
1
  export type { RenderWithModelOptions } from "../fakeOptions";
2
2
  export { createModelAndProps } from "./createModelAndProps";
3
- export { createUpdateArgsFactory, type ModelAndPropsFactory, type UpdateArgsFactory } from "./createUpdateArgsFactory";
4
- export { execCmd } from "./execCmd";
3
+ export { createUpdateArgsFactory, type UpdateArgsFactory } from "./createUpdateArgsFactory";
4
+ export { execCmd, execCmdWithDispatch } from "./execCmd";
5
5
  export { execSubscription } from "./execSubscription";
6
- export { getCreateModelAndProps, getCreateUpdateArgs } from "./getCreateUpdateArgs";
6
+ export { getCreateModelAndProps, getCreateUpdateArgs, type ModelAndPropsFactory } from "./getCreateUpdateArgs";
7
7
  export { getUpdateAndExecCmdFn, getUpdateFn } from "./getUpdateFn";
8
8
  export { initAndExecCmd } from "./initAndExecCmd";
9
9
  export { renderWithModel } from "./renderWithModel";
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "execCmd", {
21
21
  return _execCmd.execCmd;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "execCmdWithDispatch", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _execCmd.execCmdWithDispatch;
28
+ }
29
+ });
24
30
  Object.defineProperty(exports, "execSubscription", {
25
31
  enumerable: true,
26
32
  get: function get() {
@@ -71,4 +77,4 @@ var _getCreateUpdateArgs = require("./getCreateUpdateArgs");
71
77
  var _getUpdateFn = require("./getUpdateFn");
72
78
  var _initAndExecCmd = require("./initAndExecCmd");
73
79
  var _renderWithModel = require("./renderWithModel");
74
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JlYXRlTW9kZWxBbmRQcm9wcyIsInJlcXVpcmUiLCJfY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnkiLCJfZXhlY0NtZCIsIl9leGVjU3Vic2NyaXB0aW9uIiwiX2dldENyZWF0ZVVwZGF0ZUFyZ3MiLCJfZ2V0VXBkYXRlRm4iLCJfaW5pdEFuZEV4ZWNDbWQiLCJfcmVuZGVyV2l0aE1vZGVsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBSZW5kZXJXaXRoTW9kZWxPcHRpb25zIH0gZnJvbSBcIi4uL2Zha2VPcHRpb25zXCI7XG5leHBvcnQgeyBjcmVhdGVNb2RlbEFuZFByb3BzIH0gZnJvbSBcIi4vY3JlYXRlTW9kZWxBbmRQcm9wc1wiO1xuZXhwb3J0IHsgY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnksIHR5cGUgTW9kZWxBbmRQcm9wc0ZhY3RvcnksIHR5cGUgVXBkYXRlQXJnc0ZhY3RvcnkgfSBmcm9tIFwiLi9jcmVhdGVVcGRhdGVBcmdzRmFjdG9yeVwiO1xuZXhwb3J0IHsgZXhlY0NtZCB9IGZyb20gXCIuL2V4ZWNDbWRcIjtcbmV4cG9ydCB7IGV4ZWNTdWJzY3JpcHRpb24gfSBmcm9tIFwiLi9leGVjU3Vic2NyaXB0aW9uXCI7XG5leHBvcnQgeyBnZXRDcmVhdGVNb2RlbEFuZFByb3BzLCBnZXRDcmVhdGVVcGRhdGVBcmdzIH0gZnJvbSBcIi4vZ2V0Q3JlYXRlVXBkYXRlQXJnc1wiO1xuZXhwb3J0IHsgZ2V0VXBkYXRlQW5kRXhlY0NtZEZuLCBnZXRVcGRhdGVGbiB9IGZyb20gXCIuL2dldFVwZGF0ZUZuXCI7XG5leHBvcnQgeyBpbml0QW5kRXhlY0NtZCB9IGZyb20gXCIuL2luaXRBbmRFeGVjQ21kXCI7XG5leHBvcnQgeyByZW5kZXJXaXRoTW9kZWwgfSBmcm9tIFwiLi9yZW5kZXJXaXRoTW9kZWxcIjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxJQUFBQSxvQkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsd0JBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGlCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxvQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sZUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sZ0JBQUEsR0FBQVAsT0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
80
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JlYXRlTW9kZWxBbmRQcm9wcyIsInJlcXVpcmUiLCJfY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnkiLCJfZXhlY0NtZCIsIl9leGVjU3Vic2NyaXB0aW9uIiwiX2dldENyZWF0ZVVwZGF0ZUFyZ3MiLCJfZ2V0VXBkYXRlRm4iLCJfaW5pdEFuZEV4ZWNDbWQiLCJfcmVuZGVyV2l0aE1vZGVsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBSZW5kZXJXaXRoTW9kZWxPcHRpb25zIH0gZnJvbSBcIi4uL2Zha2VPcHRpb25zXCI7XG5leHBvcnQgeyBjcmVhdGVNb2RlbEFuZFByb3BzIH0gZnJvbSBcIi4vY3JlYXRlTW9kZWxBbmRQcm9wc1wiO1xuZXhwb3J0IHsgY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnksIHR5cGUgVXBkYXRlQXJnc0ZhY3RvcnkgfSBmcm9tIFwiLi9jcmVhdGVVcGRhdGVBcmdzRmFjdG9yeVwiO1xuZXhwb3J0IHsgZXhlY0NtZCwgZXhlY0NtZFdpdGhEaXNwYXRjaCB9IGZyb20gXCIuL2V4ZWNDbWRcIjtcbmV4cG9ydCB7IGV4ZWNTdWJzY3JpcHRpb24gfSBmcm9tIFwiLi9leGVjU3Vic2NyaXB0aW9uXCI7XG5leHBvcnQgeyBnZXRDcmVhdGVNb2RlbEFuZFByb3BzLCBnZXRDcmVhdGVVcGRhdGVBcmdzLCB0eXBlIE1vZGVsQW5kUHJvcHNGYWN0b3J5IH0gZnJvbSBcIi4vZ2V0Q3JlYXRlVXBkYXRlQXJnc1wiO1xuZXhwb3J0IHsgZ2V0VXBkYXRlQW5kRXhlY0NtZEZuLCBnZXRVcGRhdGVGbiB9IGZyb20gXCIuL2dldFVwZGF0ZUZuXCI7XG5leHBvcnQgeyBpbml0QW5kRXhlY0NtZCB9IGZyb20gXCIuL2luaXRBbmRFeGVjQ21kXCI7XG5leHBvcnQgeyByZW5kZXJXaXRoTW9kZWwgfSBmcm9tIFwiLi9yZW5kZXJXaXRoTW9kZWxcIjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxJQUFBQSxvQkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsd0JBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGlCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxvQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sZUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sZ0JBQUEsR0FBQVAsT0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-elmish",
3
- "version": "10.0.0-beta.2",
3
+ "version": "10.0.0-beta.4",
4
4
  "description": "Elmish for React using Typescript",
5
5
  "author": "atheck",
6
6
  "license": "MIT",