react-elmish 6.7.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/dist/Testing/index.d.ts +1 -2
- package/dist/Testing/index.js +1 -8
- package/dist/index.d.ts +1 -2
- package/dist/index.js +1 -8
- package/package.json +1 -1
- package/dist/Testing/getOfMsgParams.d.ts +0 -9
- package/dist/Testing/getOfMsgParams.js +0 -23
- package/dist/createCmd.d.ts +0 -88
- package/dist/createCmd.js +0 -78
package/README.md
CHANGED
|
@@ -33,6 +33,7 @@ This library brings the elmish pattern to react.
|
|
|
33
33
|
- [From v1.x to v2.x](#from-v1x-to-v2x)
|
|
34
34
|
- [From v2.x to v3.x](#from-v2x-to-v3x)
|
|
35
35
|
- [From v3.x to v4.x](#from-v3x-to-v4x)
|
|
36
|
+
- [From v6.x to v7.x](#from-v6x-to-v7x)
|
|
36
37
|
- [VS Code Snippets Extension](#vs-code-snippets-extension)
|
|
37
38
|
|
|
38
39
|
## Installation
|
|
@@ -857,7 +858,6 @@ To test your **update** handler you can use some helper functions in `react-elmi
|
|
|
857
858
|
| `getCreateUpdateArgs` | Creates a factory function to create a message, a model, and props in a test. |
|
|
858
859
|
| `createUpdateArgsFactory` | This is an alternative for `getCreateUpdateArgs`. Creates a factory function to create a message, a model, and props in a test. |
|
|
859
860
|
| `execCmd` | Executes the provided command and returns an array of all messages. |
|
|
860
|
-
| `getOfMsgParams` | Extracts the messages out of a command. You should not use this function, because its likely to be deprecated in near future. Use `execCmd` instead. |
|
|
861
861
|
|
|
862
862
|
### Testing the init function
|
|
863
863
|
|
|
@@ -1016,6 +1016,12 @@ import { useElmishMap } from "react-elmish/dist/legacy/useElmishMap";
|
|
|
1016
1016
|
|
|
1017
1017
|
Because the legacy `useElmish` and `useElmishMap` have been removed, you have to convert all usages of `useElmish` to use the parameter object.
|
|
1018
1018
|
|
|
1019
|
+
### From v6.x to v7.x
|
|
1020
|
+
|
|
1021
|
+
The function `createCmd` has been removed. Instead, import the `cmd` object.
|
|
1022
|
+
|
|
1023
|
+
The test function `getOfMsgParams` has been removed. Use `execCmd` instead, or use the `getUpdateAndExecCmdFn` function and use the returned `update` function. To test the `init` function, use `initAndExecCmd`.
|
|
1024
|
+
|
|
1019
1025
|
## VS Code Snippets Extension
|
|
1020
1026
|
|
|
1021
1027
|
You can install a snippet extension to create common elmish boilerplate code:
|
package/dist/Testing/index.d.ts
CHANGED
|
@@ -2,9 +2,8 @@ import { createUpdateArgsFactory, UpdateArgsFactory } from "./createUpdateArgsFa
|
|
|
2
2
|
import { execCmd } from "./execCmd";
|
|
3
3
|
import { RenderWithModelOptions } from "./fakeOptions";
|
|
4
4
|
import { getCreateUpdateArgs } from "./getCreateUpdateArgs";
|
|
5
|
-
import { getOfMsgParams } from "./getOfMsgParams";
|
|
6
5
|
import { getUpdateAndExecCmdFn, getUpdateFn } from "./getUpdateFn";
|
|
7
6
|
import { initAndExecCmd } from "./initAndExecCmd";
|
|
8
7
|
import { renderWithModel } from "./renderWithModel";
|
|
9
8
|
export type { UpdateArgsFactory, RenderWithModelOptions, };
|
|
10
|
-
export {
|
|
9
|
+
export { execCmd, initAndExecCmd, getUpdateFn, getUpdateAndExecCmdFn, createUpdateArgsFactory, getCreateUpdateArgs, renderWithModel, };
|
package/dist/Testing/index.js
CHANGED
|
@@ -21,12 +21,6 @@ Object.defineProperty(exports, "getCreateUpdateArgs", {
|
|
|
21
21
|
return _getCreateUpdateArgs.getCreateUpdateArgs;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
Object.defineProperty(exports, "getOfMsgParams", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function get() {
|
|
27
|
-
return _getOfMsgParams.getOfMsgParams;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
24
|
Object.defineProperty(exports, "getUpdateAndExecCmdFn", {
|
|
31
25
|
enumerable: true,
|
|
32
26
|
get: function get() {
|
|
@@ -54,8 +48,7 @@ Object.defineProperty(exports, "renderWithModel", {
|
|
|
54
48
|
var _createUpdateArgsFactory = require("./createUpdateArgsFactory");
|
|
55
49
|
var _execCmd = require("./execCmd");
|
|
56
50
|
var _getCreateUpdateArgs = require("./getCreateUpdateArgs");
|
|
57
|
-
var _getOfMsgParams = require("./getOfMsgParams");
|
|
58
51
|
var _getUpdateFn = require("./getUpdateFn");
|
|
59
52
|
var _initAndExecCmd = require("./initAndExecCmd");
|
|
60
53
|
var _renderWithModel = require("./renderWithModel");
|
|
61
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JlYXRlVXBkYXRlQXJnc0ZhY3RvcnkiLCJyZXF1aXJlIiwiX2V4ZWNDbWQiLCJfZ2V0Q3JlYXRlVXBkYXRlQXJncyIsIl9nZXRVcGRhdGVGbiIsIl9pbml0QW5kRXhlY0NtZCIsIl9yZW5kZXJXaXRoTW9kZWwiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvVGVzdGluZy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSwgVXBkYXRlQXJnc0ZhY3RvcnkgfSBmcm9tIFwiLi9jcmVhdGVVcGRhdGVBcmdzRmFjdG9yeVwiO1xuaW1wb3J0IHsgZXhlY0NtZCB9IGZyb20gXCIuL2V4ZWNDbWRcIjtcbmltcG9ydCB7IFJlbmRlcldpdGhNb2RlbE9wdGlvbnMgfSBmcm9tIFwiLi9mYWtlT3B0aW9uc1wiO1xuaW1wb3J0IHsgZ2V0Q3JlYXRlVXBkYXRlQXJncyB9IGZyb20gXCIuL2dldENyZWF0ZVVwZGF0ZUFyZ3NcIjtcbmltcG9ydCB7IGdldFVwZGF0ZUFuZEV4ZWNDbWRGbiwgZ2V0VXBkYXRlRm4gfSBmcm9tIFwiLi9nZXRVcGRhdGVGblwiO1xuaW1wb3J0IHsgaW5pdEFuZEV4ZWNDbWQgfSBmcm9tIFwiLi9pbml0QW5kRXhlY0NtZFwiO1xuaW1wb3J0IHsgcmVuZGVyV2l0aE1vZGVsIH0gZnJvbSBcIi4vcmVuZGVyV2l0aE1vZGVsXCI7XG5cbmV4cG9ydCB0eXBlIHtcbiAgICBVcGRhdGVBcmdzRmFjdG9yeSxcbiAgICBSZW5kZXJXaXRoTW9kZWxPcHRpb25zLFxufTtcblxuZXhwb3J0IHtcbiAgICBleGVjQ21kLFxuICAgIGluaXRBbmRFeGVjQ21kLFxuICAgIGdldFVwZGF0ZUZuLFxuICAgIGdldFVwZGF0ZUFuZEV4ZWNDbWRGbixcbiAgICBjcmVhdGVVcGRhdGVBcmdzRmFjdG9yeSxcbiAgICBnZXRDcmVhdGVVcGRhdGVBcmdzLFxuICAgIHJlbmRlcldpdGhNb2RlbCxcbn07Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLHdCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxvQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksZUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssZ0JBQUEsR0FBQUwsT0FBQSJ9
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { cmd } from "./cmd";
|
|
2
|
-
import { createCmd } from "./createCmd";
|
|
3
2
|
import { ElmComponent } from "./ElmComponent";
|
|
4
3
|
import { errorHandler, ErrorMessage, errorMsg, handleError } from "./ErrorHandling";
|
|
5
4
|
import { init, Logger } from "./Init";
|
|
6
5
|
import { Cmd, Dispatch, InitResult, Message, MsgSource, UpdateMap, UpdateReturnType } from "./Types";
|
|
7
6
|
import { SubscriptionResult, useElmish } from "./useElmish";
|
|
8
7
|
export type { Logger, Message, Cmd, Dispatch, InitResult, UpdateReturnType, SubscriptionResult, MsgSource, UpdateMap, ErrorMessage, };
|
|
9
|
-
export { init,
|
|
8
|
+
export { init, cmd, ElmComponent, errorMsg, errorHandler, handleError, useElmish, };
|
package/dist/index.js
CHANGED
|
@@ -15,12 +15,6 @@ Object.defineProperty(exports, "cmd", {
|
|
|
15
15
|
return _cmd.cmd;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
-
Object.defineProperty(exports, "createCmd", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function get() {
|
|
21
|
-
return _createCmd.createCmd;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
18
|
Object.defineProperty(exports, "errorHandler", {
|
|
25
19
|
enumerable: true,
|
|
26
20
|
get: function get() {
|
|
@@ -52,9 +46,8 @@ Object.defineProperty(exports, "useElmish", {
|
|
|
52
46
|
}
|
|
53
47
|
});
|
|
54
48
|
var _cmd = require("./cmd");
|
|
55
|
-
var _createCmd = require("./createCmd");
|
|
56
49
|
var _ElmComponent = require("./ElmComponent");
|
|
57
50
|
var _ErrorHandling = require("./ErrorHandling");
|
|
58
51
|
var _Init = require("./Init");
|
|
59
52
|
var _useElmish = require("./useElmish");
|
|
60
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY21kIiwicmVxdWlyZSIsIl9FbG1Db21wb25lbnQiLCJfRXJyb3JIYW5kbGluZyIsIl9Jbml0IiwiX3VzZUVsbWlzaCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbWQgfSBmcm9tIFwiLi9jbWRcIjtcbmltcG9ydCB7IEVsbUNvbXBvbmVudCB9IGZyb20gXCIuL0VsbUNvbXBvbmVudFwiO1xuaW1wb3J0IHsgZXJyb3JIYW5kbGVyLCBFcnJvck1lc3NhZ2UsIGVycm9yTXNnLCBoYW5kbGVFcnJvciB9IGZyb20gXCIuL0Vycm9ySGFuZGxpbmdcIjtcbmltcG9ydCB7IGluaXQsIExvZ2dlciB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB7IENtZCwgRGlzcGF0Y2gsIEluaXRSZXN1bHQsIE1lc3NhZ2UsIE1zZ1NvdXJjZSwgVXBkYXRlTWFwLCBVcGRhdGVSZXR1cm5UeXBlIH0gZnJvbSBcIi4vVHlwZXNcIjtcbmltcG9ydCB7IFN1YnNjcmlwdGlvblJlc3VsdCwgdXNlRWxtaXNoIH0gZnJvbSBcIi4vdXNlRWxtaXNoXCI7XG5cbmV4cG9ydCB0eXBlIHtcbiAgICBMb2dnZXIsXG4gICAgTWVzc2FnZSxcbiAgICBDbWQsXG4gICAgRGlzcGF0Y2gsXG4gICAgSW5pdFJlc3VsdCxcbiAgICBVcGRhdGVSZXR1cm5UeXBlLFxuICAgIFN1YnNjcmlwdGlvblJlc3VsdCxcbiAgICBNc2dTb3VyY2UsXG4gICAgVXBkYXRlTWFwLFxuICAgIEVycm9yTWVzc2FnZSxcbn07XG5cbmV4cG9ydCB7XG4gICAgaW5pdCxcbiAgICBjbWQsXG4gICAgRWxtQ29tcG9uZW50LFxuICAgIGVycm9yTXNnLFxuICAgIGVycm9ySGFuZGxlcixcbiAgICBoYW5kbGVFcnJvcixcbiAgICB1c2VFbG1pc2gsXG59OyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxJQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxjQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUEifQ==
|
package/package.json
CHANGED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Cmd } from "../Types";
|
|
2
|
-
/**
|
|
3
|
-
* Extracts the messages out of a command.
|
|
4
|
-
* @param cmd The command to process.
|
|
5
|
-
* @returns The array of messages.
|
|
6
|
-
* @deprecated Use `execCmd` instead or create an update function by using `getUpdateAndExecCmdFn`.
|
|
7
|
-
*/
|
|
8
|
-
declare function getOfMsgParams<TMessage>(cmd?: Cmd<TMessage>): TMessage[];
|
|
9
|
-
export { getOfMsgParams, };
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getOfMsgParams = getOfMsgParams;
|
|
7
|
-
/**
|
|
8
|
-
* Extracts the messages out of a command.
|
|
9
|
-
* @param cmd The command to process.
|
|
10
|
-
* @returns The array of messages.
|
|
11
|
-
* @deprecated Use `execCmd` instead or create an update function by using `getUpdateAndExecCmdFn`.
|
|
12
|
-
*/
|
|
13
|
-
function getOfMsgParams(cmd) {
|
|
14
|
-
var msgNames = [];
|
|
15
|
-
var dispatch = function dispatch(msg) {
|
|
16
|
-
msgNames.push(msg);
|
|
17
|
-
};
|
|
18
|
-
cmd === null || cmd === void 0 ? void 0 : cmd.map(function (currentCmd) {
|
|
19
|
-
return currentCmd(dispatch);
|
|
20
|
-
});
|
|
21
|
-
return msgNames;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRPZk1zZ1BhcmFtcyIsImNtZCIsIm1zZ05hbWVzIiwiZGlzcGF0Y2giLCJtc2ciLCJwdXNoIiwibWFwIiwiY3VycmVudENtZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9UZXN0aW5nL2dldE9mTXNnUGFyYW1zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENtZCB9IGZyb20gXCIuLi9UeXBlc1wiO1xuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSBtZXNzYWdlcyBvdXQgb2YgYSBjb21tYW5kLlxuICogQHBhcmFtIGNtZCBUaGUgY29tbWFuZCB0byBwcm9jZXNzLlxuICogQHJldHVybnMgVGhlIGFycmF5IG9mIG1lc3NhZ2VzLlxuICogQGRlcHJlY2F0ZWQgVXNlIGBleGVjQ21kYCBpbnN0ZWFkIG9yIGNyZWF0ZSBhbiB1cGRhdGUgZnVuY3Rpb24gYnkgdXNpbmcgYGdldFVwZGF0ZUFuZEV4ZWNDbWRGbmAuXG4gKi9cbmZ1bmN0aW9uIGdldE9mTXNnUGFyYW1zPFRNZXNzYWdlPiAoY21kPzogQ21kPFRNZXNzYWdlPik6IFRNZXNzYWdlIFtdIHtcbiAgICBjb25zdCBtc2dOYW1lczogVE1lc3NhZ2UgW10gPSBbXTtcblxuICAgIGNvbnN0IGRpc3BhdGNoID0gKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcbiAgICAgICAgbXNnTmFtZXMucHVzaChtc2cpO1xuICAgIH07XG5cbiAgICBjbWQ/Lm1hcChjdXJyZW50Q21kID0+IGN1cnJlbnRDbWQoZGlzcGF0Y2gpKTtcblxuICAgIHJldHVybiBtc2dOYW1lcztcbn1cblxuZXhwb3J0IHtcbiAgICBnZXRPZk1zZ1BhcmFtcyxcbn07Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxjQUFjQSxDQUFZQyxHQUFtQixFQUFlO0VBQ2pFLElBQU1DLFFBQXFCLEdBQUcsRUFBRTtFQUVoQyxJQUFNQyxRQUFRLEdBQUcsU0FBWEEsUUFBUUEsQ0FBSUMsR0FBYSxFQUFXO0lBQ3RDRixRQUFRLENBQUNHLElBQUksQ0FBQ0QsR0FBRyxDQUFDO0VBQ3RCLENBQUM7RUFFREgsR0FBRyxhQUFIQSxHQUFHLHVCQUFIQSxHQUFHLENBQUVLLEdBQUcsQ0FBQyxVQUFBQyxVQUFVO0lBQUEsT0FBSUEsVUFBVSxDQUFDSixRQUFRLENBQUM7RUFBQSxFQUFDO0VBRTVDLE9BQU9ELFFBQVE7QUFDbkIifQ==
|
package/dist/createCmd.d.ts
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { Cmd, Message, Sub } from "./Types";
|
|
2
|
-
/**
|
|
3
|
-
* Contains functions to create commands.
|
|
4
|
-
* @template TMessage Type of the Message discriminated union.
|
|
5
|
-
*/
|
|
6
|
-
interface Command<TMessage> {
|
|
7
|
-
/**
|
|
8
|
-
* Represents an empty command.
|
|
9
|
-
* @deprecated Do return nothing (`undefined`) instead.
|
|
10
|
-
*/
|
|
11
|
-
none: [];
|
|
12
|
-
/**
|
|
13
|
-
* Creates a command out of a specific message.
|
|
14
|
-
* @param {TMessage} msg The specific message.
|
|
15
|
-
*/
|
|
16
|
-
ofMsg: (msg: TMessage) => Cmd<TMessage>;
|
|
17
|
-
/**
|
|
18
|
-
* Aggregates multiple commands.
|
|
19
|
-
* @param {Cmd<TMessage> []} commands Array of commands.
|
|
20
|
-
*/
|
|
21
|
-
batch: (...commands: (Cmd<TMessage> | undefined | null)[]) => Cmd<TMessage>;
|
|
22
|
-
/**
|
|
23
|
-
* Command to call the subscriber.
|
|
24
|
-
* @param {Sub<TMessage>} sub The subscriber function.
|
|
25
|
-
*/
|
|
26
|
-
ofSub: (sub: Sub<TMessage>) => Cmd<TMessage>;
|
|
27
|
-
/**
|
|
28
|
-
* Provides functionalities to create commands from simple functions.
|
|
29
|
-
*/
|
|
30
|
-
ofFunc: {
|
|
31
|
-
/**
|
|
32
|
-
* Creates a command out of a simple function and maps the result.
|
|
33
|
-
* @param task The function to call.
|
|
34
|
-
* @param ofSuccess Creates the message to dispatch after a successful call of the task.
|
|
35
|
-
* @param ofError Creates the message to dispatch when an error occurred.
|
|
36
|
-
* @param args The parameters of the task.
|
|
37
|
-
*/
|
|
38
|
-
either: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: TReturn) => TMessage, ofError: (error: Error) => TMessage, ...args: TArgs) => Cmd<TMessage>;
|
|
39
|
-
/**
|
|
40
|
-
* Creates a command out of a simple function and ignores the error case.
|
|
41
|
-
* @param task The function to call.
|
|
42
|
-
* @param ofSuccess Creates the message to dispatch after a successful call of the task.
|
|
43
|
-
* @param args The parameters of the task.
|
|
44
|
-
*/
|
|
45
|
-
perform: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: TReturn) => TMessage, ...args: TArgs) => Cmd<TMessage>;
|
|
46
|
-
/**
|
|
47
|
-
* Creates a command out of a simple function and ignores the success case.
|
|
48
|
-
* @param task The function to call.
|
|
49
|
-
* @param ofError Creates the message to dispatch when an error occurred.
|
|
50
|
-
* @param args The parameters of the task.
|
|
51
|
-
*/
|
|
52
|
-
attempt: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofError: (error: Error) => TMessage, ...args: TArgs) => Cmd<TMessage>;
|
|
53
|
-
};
|
|
54
|
-
/**
|
|
55
|
-
* Provides functionalities to create commands from async functions.
|
|
56
|
-
*/
|
|
57
|
-
ofPromise: {
|
|
58
|
-
/**
|
|
59
|
-
* Creates a command out of an async function and maps the result.
|
|
60
|
-
* @param task The async function to call.
|
|
61
|
-
* @param ofSuccess Creates the message to dispatch when the promise is resolved.
|
|
62
|
-
* @param ofError Creates the message to dispatch when the promise is rejected.
|
|
63
|
-
* @param args The parameters of the task.
|
|
64
|
-
*/
|
|
65
|
-
either: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => Promise<TReturn>, ofSuccess: (result: TReturn) => TMessage, ofError: (error: Error) => TMessage, ...args: TArgs) => Cmd<TMessage>;
|
|
66
|
-
/**
|
|
67
|
-
* Creates a command out of an async function and ignores the error case.
|
|
68
|
-
* @param task The async function to call.
|
|
69
|
-
* @param ofSuccess Creates the message to dispatch when the promise is resolved.
|
|
70
|
-
* @param args The parameters of the task.
|
|
71
|
-
*/
|
|
72
|
-
perform: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => Promise<TReturn>, ofSuccess: (result: TReturn) => TMessage, ...args: TArgs) => Cmd<TMessage>;
|
|
73
|
-
/**
|
|
74
|
-
* Creates a command out of an async function and ignores the success case.
|
|
75
|
-
* @param task The async function to call.
|
|
76
|
-
* @param ofError Creates the message to dispatch when the promise is rejected.
|
|
77
|
-
* @param args The parameters of the task.
|
|
78
|
-
*/
|
|
79
|
-
attempt: <TArgs extends unknown[], TReturn>(task: (...args: TArgs) => Promise<TReturn>, ofError: (error: Error) => TMessage, ...args: TArgs) => Cmd<TMessage>;
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Creates a typed instance of the Command class.
|
|
84
|
-
* @template TMessage The type of the Msg discriminated union.
|
|
85
|
-
* @deprecated Import the `cmd` object and use this instead.
|
|
86
|
-
*/
|
|
87
|
-
declare function createCmd<TMessage extends Message>(): Command<TMessage>;
|
|
88
|
-
export { createCmd, };
|
package/dist/createCmd.js
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createCmd = createCmd;
|
|
7
|
-
var _cmd = require("./cmd");
|
|
8
|
-
/**
|
|
9
|
-
* Contains functions to create commands.
|
|
10
|
-
* @template TMessage Type of the Message discriminated union.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Creates a typed instance of the Command class.
|
|
15
|
-
* @template TMessage The type of the Msg discriminated union.
|
|
16
|
-
* @deprecated Import the `cmd` object and use this instead.
|
|
17
|
-
*/
|
|
18
|
-
function createCmd() {
|
|
19
|
-
return {
|
|
20
|
-
none: [],
|
|
21
|
-
ofMsg: function ofMsg(msg) {
|
|
22
|
-
return _cmd.cmd.ofMsg(msg);
|
|
23
|
-
},
|
|
24
|
-
batch: function batch() {
|
|
25
|
-
return _cmd.cmd.batch.apply(_cmd.cmd, arguments);
|
|
26
|
-
},
|
|
27
|
-
ofSub: function ofSub(sub) {
|
|
28
|
-
return _cmd.cmd.ofSub(sub);
|
|
29
|
-
},
|
|
30
|
-
ofFunc: {
|
|
31
|
-
either: function either(task, ofSuccess, ofError) {
|
|
32
|
-
var _cmd$ofFunc;
|
|
33
|
-
for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
|
|
34
|
-
args[_key - 3] = arguments[_key];
|
|
35
|
-
}
|
|
36
|
-
return (_cmd$ofFunc = _cmd.cmd.ofFunc).either.apply(_cmd$ofFunc, [task, ofSuccess, ofError].concat(args));
|
|
37
|
-
},
|
|
38
|
-
perform: function perform(task, ofSuccess) {
|
|
39
|
-
var _cmd$ofFunc2;
|
|
40
|
-
for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
|
41
|
-
args[_key2 - 2] = arguments[_key2];
|
|
42
|
-
}
|
|
43
|
-
return (_cmd$ofFunc2 = _cmd.cmd.ofFunc).perform.apply(_cmd$ofFunc2, [task, ofSuccess].concat(args));
|
|
44
|
-
},
|
|
45
|
-
attempt: function attempt(task, ofError) {
|
|
46
|
-
var _cmd$ofFunc3;
|
|
47
|
-
for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
|
|
48
|
-
args[_key3 - 2] = arguments[_key3];
|
|
49
|
-
}
|
|
50
|
-
return (_cmd$ofFunc3 = _cmd.cmd.ofFunc).attempt.apply(_cmd$ofFunc3, [task, ofError].concat(args));
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
ofPromise: {
|
|
54
|
-
either: function either(task, ofSuccess, ofError) {
|
|
55
|
-
var _cmd$ofPromise;
|
|
56
|
-
for (var _len4 = arguments.length, args = new Array(_len4 > 3 ? _len4 - 3 : 0), _key4 = 3; _key4 < _len4; _key4++) {
|
|
57
|
-
args[_key4 - 3] = arguments[_key4];
|
|
58
|
-
}
|
|
59
|
-
return (_cmd$ofPromise = _cmd.cmd.ofPromise).either.apply(_cmd$ofPromise, [task, ofSuccess, ofError].concat(args));
|
|
60
|
-
},
|
|
61
|
-
perform: function perform(task, ofSuccess) {
|
|
62
|
-
var _cmd$ofPromise2;
|
|
63
|
-
for (var _len5 = arguments.length, args = new Array(_len5 > 2 ? _len5 - 2 : 0), _key5 = 2; _key5 < _len5; _key5++) {
|
|
64
|
-
args[_key5 - 2] = arguments[_key5];
|
|
65
|
-
}
|
|
66
|
-
return (_cmd$ofPromise2 = _cmd.cmd.ofPromise).perform.apply(_cmd$ofPromise2, [task, ofSuccess].concat(args));
|
|
67
|
-
},
|
|
68
|
-
attempt: function attempt(task, ofError) {
|
|
69
|
-
var _cmd$ofPromise3;
|
|
70
|
-
for (var _len6 = arguments.length, args = new Array(_len6 > 2 ? _len6 - 2 : 0), _key6 = 2; _key6 < _len6; _key6++) {
|
|
71
|
-
args[_key6 - 2] = arguments[_key6];
|
|
72
|
-
}
|
|
73
|
-
return (_cmd$ofPromise3 = _cmd.cmd.ofPromise).attempt.apply(_cmd$ofPromise3, [task, ofError].concat(args));
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY21kIiwicmVxdWlyZSIsImNyZWF0ZUNtZCIsIm5vbmUiLCJvZk1zZyIsIm1zZyIsImNtZCIsImJhdGNoIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJvZlN1YiIsInN1YiIsIm9mRnVuYyIsImVpdGhlciIsInRhc2siLCJvZlN1Y2Nlc3MiLCJvZkVycm9yIiwiX2NtZCRvZkZ1bmMiLCJfbGVuIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNvbmNhdCIsInBlcmZvcm0iLCJfY21kJG9mRnVuYzIiLCJfbGVuMiIsIl9rZXkyIiwiYXR0ZW1wdCIsIl9jbWQkb2ZGdW5jMyIsIl9sZW4zIiwiX2tleTMiLCJvZlByb21pc2UiLCJfY21kJG9mUHJvbWlzZSIsIl9sZW40IiwiX2tleTQiLCJfY21kJG9mUHJvbWlzZTIiLCJfbGVuNSIsIl9rZXk1IiwiX2NtZCRvZlByb21pc2UzIiwiX2xlbjYiLCJfa2V5NiJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVDbWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY21kIH0gZnJvbSBcIi4vY21kXCI7XG5pbXBvcnQgeyBDbWQsIE1lc3NhZ2UsIFN1YiB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbi8qKlxuICogQ29udGFpbnMgZnVuY3Rpb25zIHRvIGNyZWF0ZSBjb21tYW5kcy5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUeXBlIG9mIHRoZSBNZXNzYWdlIGRpc2NyaW1pbmF0ZWQgdW5pb24uXG4gKi9cbmludGVyZmFjZSBDb21tYW5kPFRNZXNzYWdlPiB7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyBhbiBlbXB0eSBjb21tYW5kLlxuICAgICAqIEBkZXByZWNhdGVkIERvIHJldHVybiBub3RoaW5nIChgdW5kZWZpbmVkYCkgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBub25lOiBbXSxcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBzcGVjaWZpYyBtZXNzYWdlLlxuICAgICAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgc3BlY2lmaWMgbWVzc2FnZS5cbiAgICAgKi9cbiAgICBvZk1zZzogKG1zZzogVE1lc3NhZ2UpID0+IENtZDxUTWVzc2FnZT4sXG4gICAgLyoqXG4gICAgICogQWdncmVnYXRlcyBtdWx0aXBsZSBjb21tYW5kcy5cbiAgICAgKiBAcGFyYW0ge0NtZDxUTWVzc2FnZT4gW119IGNvbW1hbmRzIEFycmF5IG9mIGNvbW1hbmRzLlxuICAgICAqL1xuICAgIGJhdGNoOiAoLi4uY29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkIHwgbnVsbCkgW10pID0+IENtZDxUTWVzc2FnZT4sXG4gICAgLyoqXG4gICAgICogQ29tbWFuZCB0byBjYWxsIHRoZSBzdWJzY3JpYmVyLlxuICAgICAqIEBwYXJhbSB7U3ViPFRNZXNzYWdlPn0gc3ViIFRoZSBzdWJzY3JpYmVyIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIG9mU3ViOiAoc3ViOiBTdWI8VE1lc3NhZ2U+KSA9PiBDbWQ8VE1lc3NhZ2U+LFxuICAgIC8qKlxuICAgICAqIFByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyB0byBjcmVhdGUgY29tbWFuZHMgZnJvbSBzaW1wbGUgZnVuY3Rpb25zLlxuICAgICAqL1xuICAgIG9mRnVuYzoge1xuICAgICAgICAvKipcbiAgICAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBzaW1wbGUgZnVuY3Rpb24gYW5kIG1hcHMgdGhlIHJlc3VsdC5cbiAgICAgICAgKiBAcGFyYW0gdGFzayBUaGUgZnVuY3Rpb24gdG8gY2FsbC5cbiAgICAgICAgKiBAcGFyYW0gb2ZTdWNjZXNzIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggYWZ0ZXIgYSBzdWNjZXNzZnVsIGNhbGwgb2YgdGhlIHRhc2suXG4gICAgICAgICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIGFuIGVycm9yIG9jY3VycmVkLlxuICAgICAgICAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuICAgICAgICAqL1xuICAgICAgICBlaXRoZXI6IDxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybiwgb2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUTWVzc2FnZSwgb2ZFcnJvcjogKGVycm9yOiBFcnJvcikgPT4gVE1lc3NhZ2UsIC4uLmFyZ3M6IFRBcmdzKSA9PiBDbWQ8VE1lc3NhZ2U+LFxuICAgICAgICAvKipcbiAgICAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBzaW1wbGUgZnVuY3Rpb24gYW5kIGlnbm9yZXMgdGhlIGVycm9yIGNhc2UuXG4gICAgICAgICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG4gICAgICAgICogQHBhcmFtIG9mU3VjY2VzcyBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIGFmdGVyIGEgc3VjY2Vzc2Z1bCBjYWxsIG9mIHRoZSB0YXNrLlxuICAgICAgICAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuICAgICAgICAqL1xuICAgICAgICBwZXJmb3JtOiA8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sIG9mU3VjY2VzczogKHJlc3VsdDogVFJldHVybikgPT4gVE1lc3NhZ2UsIC4uLmFyZ3M6IFRBcmdzKSA9PiBDbWQ8VE1lc3NhZ2U+LFxuICAgICAgICAvKipcbiAgICAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBzaW1wbGUgZnVuY3Rpb24gYW5kIGlnbm9yZXMgdGhlIHN1Y2Nlc3MgY2FzZS5cbiAgICAgICAgKiBAcGFyYW0gdGFzayBUaGUgZnVuY3Rpb24gdG8gY2FsbC5cbiAgICAgICAgKiBAcGFyYW0gb2ZFcnJvciBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIHdoZW4gYW4gZXJyb3Igb2NjdXJyZWQuXG4gICAgICAgICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG4gICAgICAgICovXG4gICAgICAgIGF0dGVtcHQ6IDxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybiwgb2ZFcnJvcjogKGVycm9yOiBFcnJvcikgPT4gVE1lc3NhZ2UsIC4uLmFyZ3M6IFRBcmdzKSA9PiBDbWQ8VE1lc3NhZ2U+LFxuICAgIH0sXG4gICAgLyoqXG4gICAgICogUHJvdmlkZXMgZnVuY3Rpb25hbGl0aWVzIHRvIGNyZWF0ZSBjb21tYW5kcyBmcm9tIGFzeW5jIGZ1bmN0aW9ucy5cbiAgICAgKi9cbiAgICBvZlByb21pc2U6IHtcbiAgICAgICAgLyoqXG4gICAgICAgICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGFuIGFzeW5jIGZ1bmN0aW9uIGFuZCBtYXBzIHRoZSByZXN1bHQuXG4gICAgICAgICogQHBhcmFtIHRhc2sgVGhlIGFzeW5jIGZ1bmN0aW9uIHRvIGNhbGwuXG4gICAgICAgICogQHBhcmFtIG9mU3VjY2VzcyBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIHdoZW4gdGhlIHByb21pc2UgaXMgcmVzb2x2ZWQuXG4gICAgICAgICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLlxuICAgICAgICAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuICAgICAgICAqL1xuICAgICAgICBlaXRoZXI6IDxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gUHJvbWlzZTxUUmV0dXJuPiwgb2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUTWVzc2FnZSwgb2ZFcnJvcjogKGVycm9yOiBFcnJvcikgPT4gVE1lc3NhZ2UsIC4uLmFyZ3M6IFRBcmdzKSA9PiBDbWQ8VE1lc3NhZ2U+LFxuICAgICAgICAvKipcbiAgICAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYW4gYXN5bmMgZnVuY3Rpb24gYW5kIGlnbm9yZXMgdGhlIGVycm9yIGNhc2UuXG4gICAgICAgICogQHBhcmFtIHRhc2sgVGhlIGFzeW5jIGZ1bmN0aW9uIHRvIGNhbGwuXG4gICAgICAgICogQHBhcmFtIG9mU3VjY2VzcyBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIHdoZW4gdGhlIHByb21pc2UgaXMgcmVzb2x2ZWQuXG4gICAgICAgICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG4gICAgICAgICovXG4gICAgICAgIHBlcmZvcm06IDxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gUHJvbWlzZTxUUmV0dXJuPiwgb2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUTWVzc2FnZSwgLi4uYXJnczogVEFyZ3MpID0+IENtZDxUTWVzc2FnZT4sXG4gICAgICAgIC8qKlxuICAgICAgICAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhbiBhc3luYyBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgc3VjY2VzcyBjYXNlLlxuICAgICAgICAqIEBwYXJhbSB0YXNrIFRoZSBhc3luYyBmdW5jdGlvbiB0byBjYWxsLlxuICAgICAgICAqIEBwYXJhbSBvZkVycm9yIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgcHJvbWlzZSBpcyByZWplY3RlZC5cbiAgICAgICAgKiBAcGFyYW0gYXJncyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgdGFzay5cbiAgICAgICAgKi9cbiAgICAgICAgYXR0ZW1wdDogPFRBcmdzIGV4dGVuZHMgdW5rbm93biBbXSwgVFJldHVybj4odGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBQcm9taXNlPFRSZXR1cm4+LCBvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBUTWVzc2FnZSwgLi4uYXJnczogVEFyZ3MpID0+IENtZDxUTWVzc2FnZT4sXG4gICAgfSxcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgdHlwZWQgaW5zdGFuY2Ugb2YgdGhlIENvbW1hbmQgY2xhc3MuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIE1zZyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICogQGRlcHJlY2F0ZWQgSW1wb3J0IHRoZSBgY21kYCBvYmplY3QgYW5kIHVzZSB0aGlzIGluc3RlYWQuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUNtZDxUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+ICgpOiBDb21tYW5kPFRNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbm9uZTogW10sXG4gICAgICAgIG9mTXNnIChtc2c6IFRNZXNzYWdlKTogQ21kPFRNZXNzYWdlPiB7XG4gICAgICAgICAgICByZXR1cm4gY21kLm9mTXNnKG1zZyk7XG4gICAgICAgIH0sXG4gICAgICAgIGJhdGNoICguLi5jb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQgfCBudWxsKSBbXSk6IENtZDxUTWVzc2FnZT4ge1xuICAgICAgICAgICAgcmV0dXJuIGNtZC5iYXRjaCguLi5jb21tYW5kcyk7XG4gICAgICAgIH0sXG4gICAgICAgIG9mU3ViIChzdWI6IFN1YjxUTWVzc2FnZT4pOiBDbWQ8VE1lc3NhZ2U+IHtcbiAgICAgICAgICAgIHJldHVybiBjbWQub2ZTdWIoc3ViKTtcbiAgICAgICAgfSxcbiAgICAgICAgb2ZGdW5jOiB7XG4gICAgICAgICAgICBlaXRoZXI8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sIG9mU3VjY2VzczogKHJlc3VsdDogVFJldHVybikgPT4gVE1lc3NhZ2UsIG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRNZXNzYWdlLCAuLi5hcmdzOiBUQXJncyk6IENtZDxUTWVzc2FnZT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBjbWQub2ZGdW5jLmVpdGhlcih0YXNrLCBvZlN1Y2Nlc3MsIG9mRXJyb3IsIC4uLmFyZ3MpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBlcmZvcm08VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sIG9mU3VjY2VzczogKHJlc3VsdDogVFJldHVybikgPT4gVE1lc3NhZ2UsIC4uLmFyZ3M6IFRBcmdzKTogQ21kPFRNZXNzYWdlPiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNtZC5vZkZ1bmMucGVyZm9ybSh0YXNrLCBvZlN1Y2Nlc3MsIC4uLmFyZ3MpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGF0dGVtcHQ8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sIG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRNZXNzYWdlLCAuLi5hcmdzOiBUQXJncyk6IENtZDxUTWVzc2FnZT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBjbWQub2ZGdW5jLmF0dGVtcHQodGFzaywgb2ZFcnJvciwgLi4uYXJncyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBvZlByb21pc2U6IHtcbiAgICAgICAgICAgIGVpdGhlcjxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gUHJvbWlzZTxUUmV0dXJuPiwgb2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUTWVzc2FnZSwgb2ZFcnJvcjogKGVycm9yOiBFcnJvcikgPT4gVE1lc3NhZ2UsIC4uLmFyZ3M6IFRBcmdzKTogQ21kPFRNZXNzYWdlPiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNtZC5vZlByb21pc2UuZWl0aGVyKHRhc2ssIG9mU3VjY2Vzcywgb2ZFcnJvciwgLi4uYXJncyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGVyZm9ybTxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gUHJvbWlzZTxUUmV0dXJuPiwgb2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUTWVzc2FnZSwgLi4uYXJnczogVEFyZ3MpOiBDbWQ8VE1lc3NhZ2U+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY21kLm9mUHJvbWlzZS5wZXJmb3JtKHRhc2ssIG9mU3VjY2VzcywgLi4uYXJncyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXR0ZW1wdDxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gUHJvbWlzZTxUUmV0dXJuPiwgb2ZFcnJvcjogKGVycm9yOiBFcnJvcikgPT4gVE1lc3NhZ2UsIC4uLmFyZ3M6IFRBcmdzKTogQ21kPFRNZXNzYWdlPiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNtZC5vZlByb21pc2UuYXR0ZW1wdCh0YXNrLCBvZkVycm9yLCAuLi5hcmdzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfTtcbn1cblxuZXhwb3J0IHtcbiAgICBjcmVhdGVDbWQsXG59OyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsSUFBQSxHQUFBQyxPQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBOEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQyxTQUFTQSxDQUFBLEVBQWlEO0VBQy9ELE9BQU87SUFDSEMsSUFBSSxFQUFFLEVBQUU7SUFDUkMsS0FBSyxXQUFBQSxNQUFFQyxHQUFhLEVBQWlCO01BQ2pDLE9BQU9DLFFBQUcsQ0FB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
|