react-elmish 10.4.0 → 10.5.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 +19 -0
- package/dist/cmd.d.ts +5 -4
- package/dist/cmd.js +33 -13
- package/dist/immutable/index.d.ts +1 -0
- package/dist/immutable/index.js +8 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +8 -1
- package/dist/noop.d.ts +10 -0
- package/dist/noop.js +18 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,6 +14,7 @@ This library brings the elmish pattern to react.
|
|
|
14
14
|
- [Call an async function](#call-an-async-function)
|
|
15
15
|
- [Dispatch a command from `init`](#dispatch-a-command-from-init)
|
|
16
16
|
- [Dispatching multiple commands](#dispatching-multiple-commands)
|
|
17
|
+
- [Ignoring a result conditionally with `noop`](#ignoring-a-result-conditionally-with-noop)
|
|
17
18
|
- [Subscriptions](#subscriptions)
|
|
18
19
|
- [Working with external sources of events](#working-with-external-sources-of-events)
|
|
19
20
|
- [Cleanup subscriptions](#cleanup-subscriptions)
|
|
@@ -380,6 +381,24 @@ To dispatch more than one command from `init` or `update` you can either use the
|
|
|
380
381
|
return [{}, cmd.ofMsg(Msg.loadData()), cmd.ofEither(doStuff, Msg.success, Msg.error)];
|
|
381
382
|
```
|
|
382
383
|
|
|
384
|
+
### Ignoring a result conditionally with `noop`
|
|
385
|
+
|
|
386
|
+
Sometimes the result of an async operation determines whether a message should be dispatched at all. Instead of defining a dedicated "do nothing" message in every component, you can use the built-in `noop()` function:
|
|
387
|
+
|
|
388
|
+
```ts
|
|
389
|
+
import { cmd, noop } from "react-elmish";
|
|
390
|
+
|
|
391
|
+
{
|
|
392
|
+
load() {
|
|
393
|
+
return [{}, cmd.ofEither(fetchData, (result) => result ? Msg.loaded(result) : noop(), Msg.error)];
|
|
394
|
+
},
|
|
395
|
+
}
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
When `noop()` is returned from a callback, the dispatch is silently skipped — no message is sent through the update system. This means you do not need to add a `noop` entry to your message type or `UpdateMap`.
|
|
399
|
+
|
|
400
|
+
`noop()` can be returned from the callback of `cmd.ofMsg`, `cmd.ofEither`, `cmd.ofSuccess`, and `cmd.ofError`.
|
|
401
|
+
|
|
383
402
|
## Subscriptions
|
|
384
403
|
|
|
385
404
|
### Working with external sources of events
|
package/dist/cmd.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { type NoopMessage } from "./noop";
|
|
1
2
|
import type { Cmd, Message, Sub } from "./Types";
|
|
2
3
|
declare const cmd: {
|
|
3
4
|
/**
|
|
4
5
|
* Creates a command out of a specific message.
|
|
5
6
|
* @param {TMessage} msg The specific message.
|
|
6
7
|
*/
|
|
7
|
-
ofMsg<TMessage extends Message>(msg: TMessage): Cmd<TMessage>;
|
|
8
|
+
ofMsg<TMessage extends Message>(msg: TMessage | NoopMessage): Cmd<TMessage>;
|
|
8
9
|
/**
|
|
9
10
|
* Aggregates multiple commands.
|
|
10
11
|
* @param {Cmd<TMessage> []} commands Array of commands.
|
|
@@ -22,21 +23,21 @@ declare const cmd: {
|
|
|
22
23
|
* @param ofError Creates the message to dispatch when the function throws an error or, for an async function, the promise is rejected.
|
|
23
24
|
* @param args The parameters of the task.
|
|
24
25
|
*/
|
|
25
|
-
ofEither<TSuccessMessage extends Message, TErrorMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: Awaited<TReturn>) => TSuccessMessage, ofError: (error: Error) => TErrorMessage, ...args: TArgs): Cmd<TSuccessMessage | TErrorMessage>;
|
|
26
|
+
ofEither<TSuccessMessage extends Message, TErrorMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: Awaited<TReturn>) => TSuccessMessage | NoopMessage, ofError: (error: Error) => TErrorMessage | NoopMessage, ...args: TArgs): Cmd<TSuccessMessage | TErrorMessage>;
|
|
26
27
|
/**
|
|
27
28
|
* Creates a command out of a function and ignores the error case. This can also be an async function.
|
|
28
29
|
* @param task The async function to call.
|
|
29
30
|
* @param ofSuccess Creates the message to dispatch when the function runs successfully or, for an async function, the promise is resolved.
|
|
30
31
|
* @param args The parameters of the task.
|
|
31
32
|
*/
|
|
32
|
-
ofSuccess<TSuccessMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: Awaited<TReturn>) => TSuccessMessage, ...args: TArgs): Cmd<TSuccessMessage>;
|
|
33
|
+
ofSuccess<TSuccessMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: Awaited<TReturn>) => TSuccessMessage | NoopMessage, ...args: TArgs): Cmd<TSuccessMessage>;
|
|
33
34
|
/**
|
|
34
35
|
* Creates a command out of a function and ignores the success case. This can also be an async function.
|
|
35
36
|
* @param task The function to call.
|
|
36
37
|
* @param ofError Creates the message to dispatch when the function runs successfully or, for an async function, the promise is rejected.
|
|
37
38
|
* @param args The parameters of the task.
|
|
38
39
|
*/
|
|
39
|
-
ofError<TErrorMessage extends Message, TArgs extends unknown[]>(task: (...args: TArgs) => unknown, ofError: (error: Error) => TErrorMessage, ...args: TArgs): Cmd<TErrorMessage>;
|
|
40
|
+
ofError<TErrorMessage extends Message, TArgs extends unknown[]>(task: (...args: TArgs) => unknown, ofError: (error: Error) => TErrorMessage | NoopMessage, ...args: TArgs): Cmd<TErrorMessage>;
|
|
40
41
|
/**
|
|
41
42
|
* Creates a command out of a function and ignores both, the success case and the error case. This can also be an async function.
|
|
42
43
|
* @param task The function to call.
|
package/dist/cmd.js
CHANGED
|
@@ -4,12 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.cmd = void 0;
|
|
7
|
+
var _noop = require("./noop");
|
|
7
8
|
var cmd = exports.cmd = {
|
|
8
9
|
/**
|
|
9
10
|
* Creates a command out of a specific message.
|
|
10
11
|
* @param {TMessage} msg The specific message.
|
|
11
12
|
*/
|
|
12
13
|
ofMsg: function ofMsg(msg) {
|
|
14
|
+
if ((0, _noop.isNoop)(msg)) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
13
17
|
return [function (dispatch) {
|
|
14
18
|
return dispatch(msg);
|
|
15
19
|
}];
|
|
@@ -48,15 +52,23 @@ var cmd = exports.cmd = {
|
|
|
48
52
|
try {
|
|
49
53
|
var taskResult = task.apply(void 0, args);
|
|
50
54
|
Promise.resolve(taskResult).then(function (result) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
var msg = ofSuccess(result);
|
|
56
|
+
if (!(0, _noop.isNoop)(msg)) {
|
|
57
|
+
dispatch(msg);
|
|
58
|
+
}
|
|
59
|
+
})["catch"](function (ex) {
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We only support Error types here.
|
|
61
|
+
var msg = ofError(ex);
|
|
62
|
+
if (!(0, _noop.isNoop)(msg)) {
|
|
63
|
+
dispatch(msg);
|
|
64
|
+
}
|
|
56
65
|
});
|
|
57
66
|
} catch (ex) {
|
|
58
67
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We only support Error types here.
|
|
59
|
-
|
|
68
|
+
var msg = ofError(ex);
|
|
69
|
+
if (!(0, _noop.isNoop)(msg)) {
|
|
70
|
+
dispatch(msg);
|
|
71
|
+
}
|
|
60
72
|
}
|
|
61
73
|
};
|
|
62
74
|
return [bind];
|
|
@@ -76,7 +88,10 @@ var cmd = exports.cmd = {
|
|
|
76
88
|
try {
|
|
77
89
|
var taskResult = task.apply(void 0, args);
|
|
78
90
|
Promise.resolve(taskResult).then(function (result) {
|
|
79
|
-
|
|
91
|
+
var msg = _ofSuccess(result);
|
|
92
|
+
if (!(0, _noop.isNoop)(msg)) {
|
|
93
|
+
dispatch(msg);
|
|
94
|
+
}
|
|
80
95
|
})["catch"](function () {
|
|
81
96
|
return fallback();
|
|
82
97
|
});
|
|
@@ -101,14 +116,19 @@ var cmd = exports.cmd = {
|
|
|
101
116
|
var taskResult = task.apply(void 0, args);
|
|
102
117
|
Promise.resolve(taskResult).then(function () {
|
|
103
118
|
return fallback === null || fallback === void 0 ? void 0 : fallback();
|
|
104
|
-
})
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
119
|
+
})["catch"](function (ex) {
|
|
120
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We only support Error types here.
|
|
121
|
+
var msg = _ofError(ex);
|
|
122
|
+
if (!(0, _noop.isNoop)(msg)) {
|
|
123
|
+
dispatch(msg);
|
|
124
|
+
}
|
|
108
125
|
});
|
|
109
126
|
} catch (ex) {
|
|
110
127
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We only support Error types here.
|
|
111
|
-
|
|
128
|
+
var msg = _ofError(ex);
|
|
129
|
+
if (!(0, _noop.isNoop)(msg)) {
|
|
130
|
+
dispatch(msg);
|
|
131
|
+
}
|
|
112
132
|
}
|
|
113
133
|
};
|
|
114
134
|
return [bind];
|
|
@@ -140,4 +160,4 @@ var cmd = exports.cmd = {
|
|
|
140
160
|
function defaultFallbackHandler() {
|
|
141
161
|
// blank
|
|
142
162
|
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbWQiLCJleHBvcnRzIiwib2ZNc2ciLCJtc2ciLCJkaXNwYXRjaCIsImJhdGNoIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImNvbW1hbmRzIiwiQXJyYXkiLCJfa2V5IiwiZmlsdGVyIiwiY3VycmVudCIsImZsYXQiLCJvZlN1YiIsInN1YiIsIm9mRWl0aGVyIiwidGFzayIsIm9mU3VjY2VzcyIsIm9mRXJyb3IiLCJfbGVuMiIsImFyZ3MiLCJfa2V5MiIsImJpbmQiLCJ0YXNrUmVzdWx0IiwiYXBwbHkiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJyZXN1bHQiLCJleCIsIl9sZW4zIiwiX2tleTMiLCJmYWxsYmFjayIsInVuZGVmaW5lZCIsImRlZmF1bHRGYWxsYmFja0hhbmRsZXIiLCJfdW51c2VkIiwiX2xlbjQiLCJfa2V5NCIsIm9mTm9uZSIsIl9sZW41IiwiX2tleTUiLCJfZGlzcGF0Y2giLCJfdW51c2VkMiJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jbWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDbWQsIERpc3BhdGNoLCBGYWxsYmFja0hhbmRsZXIsIE1lc3NhZ2UsIFN1YiB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbmNvbnN0IGNtZCA9IHtcblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIHNwZWNpZmljIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgc3BlY2lmaWMgbWVzc2FnZS5cblx0ICovXG5cdG9mTXNnPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4obXNnOiBUTWVzc2FnZSk6IENtZDxUTWVzc2FnZT4ge1xuXHRcdHJldHVybiBbKGRpc3BhdGNoKSA9PiBkaXNwYXRjaChtc2cpXTtcblx0fSxcblxuXHQvKipcblx0ICogQWdncmVnYXRlcyBtdWx0aXBsZSBjb21tYW5kcy5cblx0ICogQHBhcmFtIHtDbWQ8VE1lc3NhZ2U+IFtdfSBjb21tYW5kcyBBcnJheSBvZiBjb21tYW5kcy5cblx0ICovXG5cdGJhdGNoPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oLi4uY29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkIHwgbnVsbClbXSk6IENtZDxUTWVzc2FnZT4ge1xuXHRcdHJldHVybiBjb21tYW5kcy5maWx0ZXIoKGN1cnJlbnQpID0+IGN1cnJlbnQgIT0gbnVsbCkuZmxhdCgpO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDb21tYW5kIHRvIGNhbGwgdGhlIHN1YnNjcmliZXIuXG5cdCAqIEBwYXJhbSB7U3ViPFRNZXNzYWdlPn0gc3ViIFRoZSBzdWJzY3JpYmVyIGZ1bmN0aW9uLlxuXHQgKi9cblx0b2ZTdWI8VE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihzdWI6IFN1YjxUTWVzc2FnZT4pOiBDbWQ8VE1lc3NhZ2U+IHtcblx0XHRyZXR1cm4gW3N1Yl07XG5cdH0sXG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIGZ1bmN0aW9uIGFuZCBtYXBzIHRoZSByZXN1bHQuIFRoaXMgY2FuIGFsc28gYmUgYW4gYXN5bmMgZnVuY3Rpb24uXG5cdCAqIEBwYXJhbSB0YXNrIFRoZSBmdW5jdGlvbiB0byBjYWxsLlxuXHQgKiBAcGFyYW0gb2ZTdWNjZXNzIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgZnVuY3Rpb24gcnVucyBzdWNjZXNzZnVsbHkgb3IsIGZvciBhbiBhc3luYyBmdW5jdGlvbiwgdGhlIHByb21pc2UgaXMgcmVzb2x2ZWQuXG5cdCAqIEBwYXJhbSBvZkVycm9yIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgZnVuY3Rpb24gdGhyb3dzIGFuIGVycm9yIG9yLCBmb3IgYW4gYXN5bmMgZnVuY3Rpb24sIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLlxuXHQgKiBAcGFyYW0gYXJncyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgdGFzay5cblx0ICovXG5cdG9mRWl0aGVyPFRTdWNjZXNzTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRFcnJvck1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXSwgVFJldHVybj4oXG5cdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJuLFxuXHRcdG9mU3VjY2VzczogKHJlc3VsdDogQXdhaXRlZDxUUmV0dXJuPikgPT4gVFN1Y2Nlc3NNZXNzYWdlLFxuXHRcdG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRFcnJvck1lc3NhZ2UsXG5cdFx0Li4uYXJnczogVEFyZ3Ncblx0KTogQ21kPFRTdWNjZXNzTWVzc2FnZSB8IFRFcnJvck1lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUU3VjY2Vzc01lc3NhZ2UgfCBURXJyb3JNZXNzYWdlPik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKHJlc3VsdCkgPT4gZGlzcGF0Y2gob2ZTdWNjZXNzKHJlc3VsdCkpKVxuXHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRcdC5jYXRjaCgoZXg6IHVua25vd24pID0+IGRpc3BhdGNoKG9mRXJyb3IoZXggYXMgRXJyb3IpKSk7XG5cdFx0XHR9IGNhdGNoIChleDogdW5rbm93bikge1xuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS10eXBlLWFzc2VydGlvbiAtLSBXZSBvbmx5IHN1cHBvcnQgRXJyb3IgdHlwZXMgaGVyZS5cblx0XHRcdFx0ZGlzcGF0Y2gob2ZFcnJvcihleCBhcyBFcnJvcikpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgZXJyb3IgY2FzZS4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGFzeW5jIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cblx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdCAqL1xuXHRvZlN1Y2Nlc3M8VFN1Y2Nlc3NNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEFyZ3MgZXh0ZW5kcyB1bmtub3duW10sIFRSZXR1cm4+KFxuXHRcdHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybixcblx0XHRvZlN1Y2Nlc3M6IChyZXN1bHQ6IEF3YWl0ZWQ8VFJldHVybj4pID0+IFRTdWNjZXNzTWVzc2FnZSxcblx0XHQuLi5hcmdzOiBUQXJnc1xuXHQpOiBDbWQ8VFN1Y2Nlc3NNZXNzYWdlPiB7XG5cdFx0Y29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VFN1Y2Nlc3NNZXNzYWdlPiwgZmFsbGJhY2s6IEZhbGxiYWNrSGFuZGxlciA9IGRlZmF1bHRGYWxsYmFja0hhbmRsZXIpOiB2b2lkID0+IHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IHRhc2tSZXN1bHQgPSB0YXNrKC4uLmFyZ3MpO1xuXG5cdFx0XHRcdFByb21pc2UucmVzb2x2ZSh0YXNrUmVzdWx0KVxuXHRcdFx0XHRcdC50aGVuKChyZXN1bHQpID0+IGRpc3BhdGNoKG9mU3VjY2VzcyhyZXN1bHQpKSlcblx0XHRcdFx0XHQuY2F0Y2goKCkgPT4gZmFsbGJhY2soKSk7XG5cdFx0XHR9IGNhdGNoIHtcblx0XHRcdFx0ZmFsbGJhY2soKTtcblx0XHRcdH1cblx0XHR9O1xuXG5cdFx0cmV0dXJuIFtiaW5kXTtcblx0fSxcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGEgZnVuY3Rpb24gYW5kIGlnbm9yZXMgdGhlIHN1Y2Nlc3MgY2FzZS4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBvZkVycm9yIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgZnVuY3Rpb24gcnVucyBzdWNjZXNzZnVsbHkgb3IsIGZvciBhbiBhc3luYyBmdW5jdGlvbiwgdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG5cdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHQgKi9cblx0b2ZFcnJvcjxURXJyb3JNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KFxuXHRcdHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gdW5rbm93bixcblx0XHRvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBURXJyb3JNZXNzYWdlLFxuXHRcdC4uLmFyZ3M6IFRBcmdzXG5cdCk6IENtZDxURXJyb3JNZXNzYWdlPiB7XG5cdFx0Y29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VEVycm9yTWVzc2FnZT4sIGZhbGxiYWNrPzogRmFsbGJhY2tIYW5kbGVyKTogdm9pZCA9PiB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCB0YXNrUmVzdWx0ID0gdGFzayguLi5hcmdzKTtcblxuXHRcdFx0XHRQcm9taXNlLnJlc29sdmUodGFza1Jlc3VsdClcblx0XHRcdFx0XHQudGhlbigoKSA9PiBmYWxsYmFjaz8uKCkpXG5cdFx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb24gLS0gV2Ugb25seSBzdXBwb3J0IEVycm9yIHR5cGVzIGhlcmUuXG5cdFx0XHRcdFx0LmNhdGNoKChleDogdW5rbm93bikgPT4gZGlzcGF0Y2gob2ZFcnJvcihleCBhcyBFcnJvcikpKTtcblx0XHRcdH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRkaXNwYXRjaChvZkVycm9yKGV4IGFzIEVycm9yKSk7XG5cdFx0XHR9XG5cdFx0fTtcblxuXHRcdHJldHVybiBbYmluZF07XG5cdH0sXG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIGZ1bmN0aW9uIGFuZCBpZ25vcmVzIGJvdGgsIHRoZSBzdWNjZXNzIGNhc2UgYW5kIHRoZSBlcnJvciBjYXNlLiBUaGlzIGNhbiBhbHNvIGJlIGFuIGFzeW5jIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0gdGFzayBUaGUgZnVuY3Rpb24gdG8gY2FsbC5cblx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdCAqL1xuXHRvZk5vbmU8VEVycm9yTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRBcmdzIGV4dGVuZHMgdW5rbm93bltdPihcblx0XHR0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IHVua25vd24sXG5cdFx0Li4uYXJnczogVEFyZ3Ncblx0KTogQ21kPFRFcnJvck1lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKF9kaXNwYXRjaDogRGlzcGF0Y2g8VEVycm9yTWVzc2FnZT4sIGZhbGxiYWNrPzogRmFsbGJhY2tIYW5kbGVyKTogdm9pZCA9PiB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCB0YXNrUmVzdWx0ID0gdGFzayguLi5hcmdzKTtcblxuXHRcdFx0XHRQcm9taXNlLnJlc29sdmUodGFza1Jlc3VsdClcblx0XHRcdFx0XHQudGhlbigoKSA9PiBmYWxsYmFjaz8uKCkpXG5cdFx0XHRcdFx0LmNhdGNoKCgpID0+IGZhbGxiYWNrPy4oKSk7XG5cdFx0XHR9IGNhdGNoIHtcblx0XHRcdFx0ZmFsbGJhY2s/LigpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxufTtcblxuZnVuY3Rpb24gZGVmYXVsdEZhbGxiYWNrSGFuZGxlcigpOiB2b2lkIHtcblx0Ly8gYmxhbmtcbn1cblxuZXhwb3J0IHsgY21kIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBQUMsT0FBQSxDQUFBRCxHQUFBLEdBQUc7RUFDWDtBQUNEO0FBQ0E7QUFDQTtFQUNDRSxLQUFLLFdBQUxBLEtBQUtBLENBQTJCQyxHQUFhLEVBQWlCO0lBQzdELE9BQU8sQ0FBQyxVQUFDQyxRQUFRO01BQUEsT0FBS0EsUUFBUSxDQUFDRCxHQUFHLENBQUM7SUFBQSxFQUFDO0VBQ3JDLENBQUM7RUFFRDtBQUNEO0FBQ0E7QUFDQTtFQUNDRSxLQUFLLFdBQUxBLEtBQUtBLENBQUEsRUFBNkY7SUFBQSxTQUFBQyxJQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxFQUEvREMsUUFBUSxPQUFBQyxLQUFBLENBQUFKLElBQUEsR0FBQUssSUFBQSxNQUFBQSxJQUFBLEdBQUFMLElBQUEsRUFBQUssSUFBQTtNQUFSRixRQUFRLENBQUFFLElBQUEsSUFBQUosU0FBQSxDQUFBSSxJQUFBO0lBQUE7SUFDMUMsT0FBT0YsUUFBUSxDQUFDRyxNQUFNLENBQUMsVUFBQ0MsT0FBTztNQUFBLE9BQUtBLE9BQU8sSUFBSSxJQUFJO0lBQUEsRUFBQyxDQUFDQyxJQUFJLENBQUMs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
|
|
163
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9vcCIsInJlcXVpcmUiLCJjbWQiLCJleHBvcnRzIiwib2ZNc2ciLCJtc2ciLCJpc05vb3AiLCJkaXNwYXRjaCIsImJhdGNoIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImNvbW1hbmRzIiwiQXJyYXkiLCJfa2V5IiwiZmlsdGVyIiwiY3VycmVudCIsImZsYXQiLCJvZlN1YiIsInN1YiIsIm9mRWl0aGVyIiwidGFzayIsIm9mU3VjY2VzcyIsIm9mRXJyb3IiLCJfbGVuMiIsImFyZ3MiLCJfa2V5MiIsImJpbmQiLCJ0YXNrUmVzdWx0IiwiYXBwbHkiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJyZXN1bHQiLCJleCIsIl9sZW4zIiwiX2tleTMiLCJmYWxsYmFjayIsInVuZGVmaW5lZCIsImRlZmF1bHRGYWxsYmFja0hhbmRsZXIiLCJfdW51c2VkIiwiX2xlbjQiLCJfa2V5NCIsIm9mTm9uZSIsIl9sZW41IiwiX2tleTUiLCJfZGlzcGF0Y2giLCJfdW51c2VkMiJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jbWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNOb29wLCB0eXBlIE5vb3BNZXNzYWdlIH0gZnJvbSBcIi4vbm9vcFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERpc3BhdGNoLCBGYWxsYmFja0hhbmRsZXIsIE1lc3NhZ2UsIFN1YiB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbmNvbnN0IGNtZCA9IHtcblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIHNwZWNpZmljIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgc3BlY2lmaWMgbWVzc2FnZS5cblx0ICovXG5cdG9mTXNnPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4obXNnOiBUTWVzc2FnZSB8IE5vb3BNZXNzYWdlKTogQ21kPFRNZXNzYWdlPiB7XG5cdFx0aWYgKGlzTm9vcChtc2cpKSB7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXG5cdFx0cmV0dXJuIFsoZGlzcGF0Y2gpID0+IGRpc3BhdGNoKG1zZyldO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBBZ2dyZWdhdGVzIG11bHRpcGxlIGNvbW1hbmRzLlxuXHQgKiBAcGFyYW0ge0NtZDxUTWVzc2FnZT4gW119IGNvbW1hbmRzIEFycmF5IG9mIGNvbW1hbmRzLlxuXHQgKi9cblx0YmF0Y2g8VE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiguLi5jb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQgfCBudWxsKVtdKTogQ21kPFRNZXNzYWdlPiB7XG5cdFx0cmV0dXJuIGNvbW1hbmRzLmZpbHRlcigoY3VycmVudCkgPT4gY3VycmVudCAhPSBudWxsKS5mbGF0KCk7XG5cdH0sXG5cblx0LyoqXG5cdCAqIENvbW1hbmQgdG8gY2FsbCB0aGUgc3Vic2NyaWJlci5cblx0ICogQHBhcmFtIHtTdWI8VE1lc3NhZ2U+fSBzdWIgVGhlIHN1YnNjcmliZXIgZnVuY3Rpb24uXG5cdCAqL1xuXHRvZlN1YjxUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KHN1YjogU3ViPFRNZXNzYWdlPik6IENtZDxUTWVzc2FnZT4ge1xuXHRcdHJldHVybiBbc3ViXTtcblx0fSxcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGEgZnVuY3Rpb24gYW5kIG1hcHMgdGhlIHJlc3VsdC4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cblx0ICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiB0aHJvd3MgYW4gZXJyb3Igb3IsIGZvciBhbiBhc3luYyBmdW5jdGlvbiwgdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG5cdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHQgKi9cblx0b2ZFaXRoZXI8VFN1Y2Nlc3NNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEVycm9yTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBUUmV0dXJuPihcblx0XHR0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sXG5cdFx0b2ZTdWNjZXNzOiAocmVzdWx0OiBBd2FpdGVkPFRSZXR1cm4+KSA9PiBUU3VjY2Vzc01lc3NhZ2UgfCBOb29wTWVzc2FnZSxcblx0XHRvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBURXJyb3JNZXNzYWdlIHwgTm9vcE1lc3NhZ2UsXG5cdFx0Li4uYXJnczogVEFyZ3Ncblx0KTogQ21kPFRTdWNjZXNzTWVzc2FnZSB8IFRFcnJvck1lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUU3VjY2Vzc01lc3NhZ2UgfCBURXJyb3JNZXNzYWdlPik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKHJlc3VsdCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZTdWNjZXNzKHJlc3VsdCk7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC5jYXRjaCgoZXg6IHVua25vd24pID0+IHtcblx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZFcnJvcihleCBhcyBFcnJvcik7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRjb25zdCBtc2cgPSBvZkVycm9yKGV4IGFzIEVycm9yKTtcblxuXHRcdFx0XHRpZiAoIWlzTm9vcChtc2cpKSB7XG5cdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgZXJyb3IgY2FzZS4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGFzeW5jIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cblx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdCAqL1xuXHRvZlN1Y2Nlc3M8VFN1Y2Nlc3NNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEFyZ3MgZXh0ZW5kcyB1bmtub3duW10sIFRSZXR1cm4+KFxuXHRcdHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybixcblx0XHRvZlN1Y2Nlc3M6IChyZXN1bHQ6IEF3YWl0ZWQ8VFJldHVybj4pID0+IFRTdWNjZXNzTWVzc2FnZSB8IE5vb3BNZXNzYWdlLFxuXHRcdC4uLmFyZ3M6IFRBcmdzXG5cdCk6IENtZDxUU3VjY2Vzc01lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUU3VjY2Vzc01lc3NhZ2U+LCBmYWxsYmFjazogRmFsbGJhY2tIYW5kbGVyID0gZGVmYXVsdEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKHJlc3VsdCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZTdWNjZXNzKHJlc3VsdCk7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC5jYXRjaCgoKSA9PiBmYWxsYmFjaygpKTtcblx0XHRcdH0gY2F0Y2gge1xuXHRcdFx0XHRmYWxsYmFjaygpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgc3VjY2VzcyBjYXNlLiBUaGlzIGNhbiBhbHNvIGJlIGFuIGFzeW5jIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0gdGFzayBUaGUgZnVuY3Rpb24gdG8gY2FsbC5cblx0ICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZWplY3RlZC5cblx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdCAqL1xuXHRvZkVycm9yPFRFcnJvck1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXT4oXG5cdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiB1bmtub3duLFxuXHRcdG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRFcnJvck1lc3NhZ2UgfCBOb29wTWVzc2FnZSxcblx0XHQuLi5hcmdzOiBUQXJnc1xuXHQpOiBDbWQ8VEVycm9yTWVzc2FnZT4ge1xuXHRcdGNvbnN0IGJpbmQgPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRFcnJvck1lc3NhZ2U+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKCkgPT4gZmFsbGJhY2s/LigpKVxuXHRcdFx0XHRcdC5jYXRjaCgoZXg6IHVua25vd24pID0+IHtcblx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZFcnJvcihleCBhcyBFcnJvcik7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRjb25zdCBtc2cgPSBvZkVycm9yKGV4IGFzIEVycm9yKTtcblxuXHRcdFx0XHRpZiAoIWlzTm9vcChtc2cpKSB7XG5cdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyBib3RoLCB0aGUgc3VjY2VzcyBjYXNlIGFuZCB0aGUgZXJyb3IgY2FzZS4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHQgKi9cblx0b2ZOb25lPFRFcnJvck1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXT4oXG5cdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiB1bmtub3duLFxuXHRcdC4uLmFyZ3M6IFRBcmdzXG5cdCk6IENtZDxURXJyb3JNZXNzYWdlPiB7XG5cdFx0Y29uc3QgYmluZCA9IChfZGlzcGF0Y2g6IERpc3BhdGNoPFRFcnJvck1lc3NhZ2U+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKCkgPT4gZmFsbGJhY2s/LigpKVxuXHRcdFx0XHRcdC5jYXRjaCgoKSA9PiBmYWxsYmFjaz8uKCkpO1xuXHRcdFx0fSBjYXRjaCB7XG5cdFx0XHRcdGZhbGxiYWNrPy4oKTtcblx0XHRcdH1cblx0XHR9O1xuXG5cdFx0cmV0dXJuIFtiaW5kXTtcblx0fSxcbn07XG5cbmZ1bmN0aW9uIGRlZmF1bHRGYWxsYmFja0hhbmRsZXIoKTogdm9pZCB7XG5cdC8vIGJsYW5rXG59XG5cbmV4cG9ydCB7IGNtZCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFHQSxJQUFNQyxHQUFHLEdBQUFDLE9BQUEsQ0FBQUQsR0FBQSxHQUFHO0VBQ1g7QUFDRDtBQUNBO0FBQ0E7RUFDQ0UsS0FBSyxXQUFMQSxLQUFLQSxDQUEyQkMsR0FBMkIsRUFBaUI7SUFDM0UsSUFBSSxJQUFBQyxZQUFNLEVBQUNELEdBQUcsQ0FBQyxFQUFFO01BQ2hCLE9BQU8sRUFBRTtJQUNWO0lBRUEsT0FBTyxDQUFDLFVBQUNFLFFBQVE7TUFBQSxPQUFLQSxRQUFRLENBQUNGLEdBQUcsQ0FBQztJQUFBLEVBQUM7RUFDckMsQ0FBQztFQUVEO0FBQ0Q7QUFDQTtBQUNBO0VBQ0NHLEtBQUssV0FBTEEsS0FBS0EsQ0FBQSxFQUE2RjtJQUFBLFNBQUFDLElBQUEsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLEVBQS9EQyxRQUFRLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxHQUFBSyxJQUFBLE1BQUFBLElBQUEsR0FBQUwsSUFBQSxFQUFBSyxJQUFBO01BQVJGLFFBQVEsQ0FBQUUsSUFBQSxJQUFBSixTQUFBLENBQUFJLElBQUE7SUFBQTtJQUMxQyxPQUFPRixRQUFRLENBQUNHLE1BQU0sQ0FBQyxVQUFDQyxPQUFPO01BQUEsT0FBS0EsT0FBTyxJQUFJLElBQUk7SUFBQSxFQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDO0VBQzVELENBQUM7RUFF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
|
|
@@ -2,6 +2,7 @@ export { cmd } from "../cmd";
|
|
|
2
2
|
export { type ErrorMessage, errorMsg } from "../ErrorHandling";
|
|
3
3
|
export { type ElmOptions, init, type Logger } from "../Init";
|
|
4
4
|
export { mergeSubscriptions } from "../mergeSubscriptions";
|
|
5
|
+
export { type NoopMessage, noop } from "../noop";
|
|
5
6
|
export type { Cmd, Dispatch, DisposeFunction, InitResult, Message, SubscriptionResult, } from "../Types";
|
|
6
7
|
export { errorHandler, handleError } from "./ErrorHandling";
|
|
7
8
|
export type { Subscription, UpdateFunctionOptions, UpdateMap, UpdateReturnType, } from "./Types";
|
package/dist/immutable/index.js
CHANGED
|
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "mergeSubscriptions", {
|
|
|
39
39
|
return _mergeSubscriptions.mergeSubscriptions;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
+
Object.defineProperty(exports, "noop", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function get() {
|
|
45
|
+
return _noop.noop;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
42
48
|
Object.defineProperty(exports, "useElmish", {
|
|
43
49
|
enumerable: true,
|
|
44
50
|
get: function get() {
|
|
@@ -49,6 +55,7 @@ var _cmd = require("../cmd");
|
|
|
49
55
|
var _ErrorHandling = require("../ErrorHandling");
|
|
50
56
|
var _Init = require("../Init");
|
|
51
57
|
var _mergeSubscriptions = require("../mergeSubscriptions");
|
|
58
|
+
var _noop = require("../noop");
|
|
52
59
|
var _ErrorHandling2 = require("./ErrorHandling");
|
|
53
60
|
var _useElmish = require("./useElmish");
|
|
54
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY21kIiwicmVxdWlyZSIsIl9FcnJvckhhbmRsaW5nIiwiX0luaXQiLCJfbWVyZ2VTdWJzY3JpcHRpb25zIiwiX25vb3AiLCJfRXJyb3JIYW5kbGluZzIiLCJfdXNlRWxtaXNoIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltbXV0YWJsZS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBjbWQgfSBmcm9tIFwiLi4vY21kXCI7XG5leHBvcnQgeyB0eXBlIEVycm9yTWVzc2FnZSwgZXJyb3JNc2cgfSBmcm9tIFwiLi4vRXJyb3JIYW5kbGluZ1wiO1xuZXhwb3J0IHsgdHlwZSBFbG1PcHRpb25zLCBpbml0LCB0eXBlIExvZ2dlciB9IGZyb20gXCIuLi9Jbml0XCI7XG5leHBvcnQgeyBtZXJnZVN1YnNjcmlwdGlvbnMgfSBmcm9tIFwiLi4vbWVyZ2VTdWJzY3JpcHRpb25zXCI7XG5leHBvcnQgeyB0eXBlIE5vb3BNZXNzYWdlLCBub29wIH0gZnJvbSBcIi4uL25vb3BcIjtcbmV4cG9ydCB0eXBlIHtcblx0Q21kLFxuXHREaXNwYXRjaCxcblx0RGlzcG9zZUZ1bmN0aW9uLFxuXHRJbml0UmVzdWx0LFxuXHRNZXNzYWdlLFxuXHRTdWJzY3JpcHRpb25SZXN1bHQsXG59IGZyb20gXCIuLi9UeXBlc1wiO1xuZXhwb3J0IHsgZXJyb3JIYW5kbGVyLCBoYW5kbGVFcnJvciB9IGZyb20gXCIuL0Vycm9ySGFuZGxpbmdcIjtcbmV4cG9ydCB0eXBlIHtcblx0U3Vic2NyaXB0aW9uLFxuXHRVcGRhdGVGdW5jdGlvbk9wdGlvbnMsXG5cdFVwZGF0ZU1hcCxcblx0VXBkYXRlUmV0dXJuVHlwZSxcbn0gZnJvbSBcIi4vVHlwZXNcIjtcbmV4cG9ydCB7IHR5cGUgVXNlRWxtaXNoT3B0aW9ucywgdXNlRWxtaXNoIH0gZnJvbSBcIi4vdXNlRWxtaXNoXCI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsSUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsY0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsbUJBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUosT0FBQTtBQVNBLElBQUFLLGVBQUEsR0FBQUwsT0FBQTtBQU9BLElBQUFNLFVBQUEsR0FBQU4sT0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
package/dist/index.d.ts
CHANGED
|
@@ -3,5 +3,6 @@ export { ElmComponent } from "./ElmComponent";
|
|
|
3
3
|
export { type ErrorMessage, errorHandler, errorMsg, handleError } from "./ErrorHandling";
|
|
4
4
|
export { type ElmOptions, init, type Logger } from "./Init";
|
|
5
5
|
export { mergeSubscriptions } from "./mergeSubscriptions";
|
|
6
|
+
export { type NoopMessage, noop } from "./noop";
|
|
6
7
|
export type { Cmd, Dispatch, DisposeFunction, InitResult, Message, MsgSource, Subscription, SubscriptionResult, UpdateFunctionOptions, UpdateMap, UpdateReturnType, } from "./Types";
|
|
7
8
|
export { type UseElmishOptions, useElmish } from "./useElmish";
|
package/dist/index.js
CHANGED
|
@@ -45,6 +45,12 @@ Object.defineProperty(exports, "mergeSubscriptions", {
|
|
|
45
45
|
return _mergeSubscriptions.mergeSubscriptions;
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
+
Object.defineProperty(exports, "noop", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function get() {
|
|
51
|
+
return _noop.noop;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
48
54
|
Object.defineProperty(exports, "useElmish", {
|
|
49
55
|
enumerable: true,
|
|
50
56
|
get: function get() {
|
|
@@ -56,5 +62,6 @@ var _ElmComponent = require("./ElmComponent");
|
|
|
56
62
|
var _ErrorHandling = require("./ErrorHandling");
|
|
57
63
|
var _Init = require("./Init");
|
|
58
64
|
var _mergeSubscriptions = require("./mergeSubscriptions");
|
|
65
|
+
var _noop = require("./noop");
|
|
59
66
|
var _useElmish = require("./useElmish");
|
|
60
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY21kIiwicmVxdWlyZSIsIl9FbG1Db21wb25lbnQiLCJfRXJyb3JIYW5kbGluZyIsIl9Jbml0IiwiX21lcmdlU3Vic2NyaXB0aW9ucyIsIl9ub29wIiwiX3VzZUVsbWlzaCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBjbWQgfSBmcm9tIFwiLi9jbWRcIjtcbmV4cG9ydCB7IEVsbUNvbXBvbmVudCB9IGZyb20gXCIuL0VsbUNvbXBvbmVudFwiO1xuZXhwb3J0IHsgdHlwZSBFcnJvck1lc3NhZ2UsIGVycm9ySGFuZGxlciwgZXJyb3JNc2csIGhhbmRsZUVycm9yIH0gZnJvbSBcIi4vRXJyb3JIYW5kbGluZ1wiO1xuZXhwb3J0IHsgdHlwZSBFbG1PcHRpb25zLCBpbml0LCB0eXBlIExvZ2dlciB9IGZyb20gXCIuL0luaXRcIjtcbmV4cG9ydCB7IG1lcmdlU3Vic2NyaXB0aW9ucyB9IGZyb20gXCIuL21lcmdlU3Vic2NyaXB0aW9uc1wiO1xuZXhwb3J0IHsgdHlwZSBOb29wTWVzc2FnZSwgbm9vcCB9IGZyb20gXCIuL25vb3BcIjtcbmV4cG9ydCB0eXBlIHtcblx0Q21kLFxuXHREaXNwYXRjaCxcblx0RGlzcG9zZUZ1bmN0aW9uLFxuXHRJbml0UmVzdWx0LFxuXHRNZXNzYWdlLFxuXHRNc2dTb3VyY2UsXG5cdFN1YnNjcmlwdGlvbixcblx0U3Vic2NyaXB0aW9uUmVzdWx0LFxuXHRVcGRhdGVGdW5jdGlvbk9wdGlvbnMsXG5cdFVwZGF0ZU1hcCxcblx0VXBkYXRlUmV0dXJuVHlwZSxcbn0gZnJvbSBcIi4vVHlwZXNcIjtcbmV4cG9ydCB7IHR5cGUgVXNlRWxtaXNoT3B0aW9ucywgdXNlRWxtaXNoIH0gZnJvbSBcIi4vdXNlRWxtaXNoXCI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsSUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsYUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsY0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksbUJBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQUwsT0FBQTtBQWNBLElBQUFNLFVBQUEsR0FBQU4sT0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
package/dist/noop.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare const noopMessageName: "__react_elmish_noop__";
|
|
2
|
+
interface NoopMessage {
|
|
3
|
+
readonly name: typeof noopMessageName;
|
|
4
|
+
}
|
|
5
|
+
declare function noop(): NoopMessage;
|
|
6
|
+
declare function isNoop(msg: {
|
|
7
|
+
name: string;
|
|
8
|
+
}): msg is NoopMessage;
|
|
9
|
+
export type { NoopMessage };
|
|
10
|
+
export { isNoop, noop, noopMessageName };
|
package/dist/noop.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isNoop = isNoop;
|
|
7
|
+
exports.noop = noop;
|
|
8
|
+
exports.noopMessageName = void 0;
|
|
9
|
+
var noopMessageName = exports.noopMessageName = "__react_elmish_noop__";
|
|
10
|
+
function noop() {
|
|
11
|
+
return {
|
|
12
|
+
name: noopMessageName
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function isNoop(msg) {
|
|
16
|
+
return msg.name === noopMessageName;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub29wTWVzc2FnZU5hbWUiLCJleHBvcnRzIiwibm9vcCIsIm5hbWUiLCJpc05vb3AiLCJtc2ciXSwic291cmNlcyI6WyIuLi9zcmMvbm9vcC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBub29wTWVzc2FnZU5hbWUgPSBcIl9fcmVhY3RfZWxtaXNoX25vb3BfX1wiIGFzIGNvbnN0O1xuXG5pbnRlcmZhY2UgTm9vcE1lc3NhZ2Uge1xuXHRyZWFkb25seSBuYW1lOiB0eXBlb2Ygbm9vcE1lc3NhZ2VOYW1lO1xufVxuXG5mdW5jdGlvbiBub29wKCk6IE5vb3BNZXNzYWdlIHtcblx0cmV0dXJuIHsgbmFtZTogbm9vcE1lc3NhZ2VOYW1lIH07XG59XG5cbmZ1bmN0aW9uIGlzTm9vcChtc2c6IHsgbmFtZTogc3RyaW5nIH0pOiBtc2cgaXMgTm9vcE1lc3NhZ2Uge1xuXHRyZXR1cm4gbXNnLm5hbWUgPT09IG5vb3BNZXNzYWdlTmFtZTtcbn1cblxuZXhwb3J0IHR5cGUgeyBOb29wTWVzc2FnZSB9O1xuXG5leHBvcnQgeyBpc05vb3AsIG5vb3AsIG5vb3BNZXNzYWdlTmFtZSB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQU1BLGVBQWUsR0FBQUMsT0FBQSxDQUFBRCxlQUFBLEdBQUcsdUJBQWdDO0FBTXhELFNBQVNFLElBQUlBLENBQUEsRUFBZ0I7RUFDNUIsT0FBTztJQUFFQyxJQUFJLEVBQUVIO0VBQWdCLENBQUM7QUFDakM7QUFFQSxTQUFTSSxNQUFNQSxDQUFDQyxHQUFxQixFQUFzQjtFQUMxRCxPQUFPQSxHQUFHLENBQUNGLElBQUksS0FBS0gsZUFBZTtBQUNwQyIsImlnbm9yZUxpc3QiOltdfQ==
|