react-elmish 3.0.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +198 -73
- package/dist/Cmd.d.ts +17 -14
- package/dist/Cmd.js +42 -123
- package/dist/ElmComponent.d.ts +2 -7
- package/dist/ElmComponent.js +4 -4
- package/dist/ErrorHandling.d.ts +33 -0
- package/dist/ErrorHandling.js +56 -0
- package/dist/Testing/index.d.ts +1 -2
- package/dist/Testing/index.js +1 -1
- package/dist/{ElmUtilities.d.ts → Types.d.ts} +8 -15
- package/dist/Types.js +6 -0
- package/dist/index.d.ts +6 -5
- package/dist/index.js +17 -5
- package/dist/legacy/useElmish.d.ts +3 -4
- package/dist/legacy/useElmish.js +5 -2
- package/dist/legacy/useElmishMap.d.ts +3 -3
- package/dist/legacy/useElmishMap.js +5 -2
- package/dist/useElmish.d.ts +7 -5
- package/dist/useElmish.js +22 -4
- package/package.json +2 -2
- package/dist/ElmUtilities.js +0 -35
package/dist/Cmd.js
CHANGED
|
@@ -5,14 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.createCmd = createCmd;
|
|
7
7
|
|
|
8
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
|
-
|
|
10
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
11
|
-
|
|
12
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
13
|
-
|
|
14
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
-
|
|
16
8
|
/**
|
|
17
9
|
* Type of the dispatch function.
|
|
18
10
|
*/
|
|
@@ -22,27 +14,36 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
22
14
|
*/
|
|
23
15
|
|
|
24
16
|
/**
|
|
25
|
-
*
|
|
26
|
-
* @
|
|
27
|
-
* @template TMsg Type of the Msg discriminated union.
|
|
17
|
+
* Contains functions to create commands.
|
|
18
|
+
* @template TMsg Type of the Message discriminated union.
|
|
28
19
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Creates a typed instance of the Command class.
|
|
23
|
+
* @template TMsg The type of the Msg discriminated union.
|
|
24
|
+
*/
|
|
25
|
+
function createCmd() {
|
|
26
|
+
return {
|
|
27
|
+
none: [],
|
|
28
|
+
ofMsg: function ofMsg(msg) {
|
|
29
|
+
return [function (dispatch) {
|
|
30
|
+
return dispatch(msg);
|
|
31
|
+
}];
|
|
32
|
+
},
|
|
33
|
+
batch: function batch() {
|
|
34
|
+
for (var _len = arguments.length, commands = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
35
|
+
commands[_key] = arguments[_key];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return commands.flat();
|
|
39
|
+
},
|
|
40
|
+
ofSub: function ofSub(sub) {
|
|
41
|
+
return [sub];
|
|
42
|
+
},
|
|
43
|
+
ofFunc: {
|
|
43
44
|
either: function either(task, ofSuccess, ofError) {
|
|
44
|
-
for (var
|
|
45
|
-
args[
|
|
45
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
|
|
46
|
+
args[_key2 - 3] = arguments[_key2];
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
var bind = function bind(dispatch) {
|
|
@@ -57,16 +58,9 @@ var Command = /*#__PURE__*/function () {
|
|
|
57
58
|
|
|
58
59
|
return [bind];
|
|
59
60
|
},
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Creates a command out of a simple function and ignores the error case.
|
|
63
|
-
* @param task The function to call.
|
|
64
|
-
* @param ofSuccess Creates the message to dispatch after a successful call of the task.
|
|
65
|
-
* @param args The parameters of the task.
|
|
66
|
-
*/
|
|
67
61
|
perform: function perform(task, ofSuccess) {
|
|
68
|
-
for (var
|
|
69
|
-
args[
|
|
62
|
+
for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
|
|
63
|
+
args[_key3 - 2] = arguments[_key3];
|
|
70
64
|
}
|
|
71
65
|
|
|
72
66
|
var bind = function bind(dispatch, fallback) {
|
|
@@ -83,16 +77,9 @@ var Command = /*#__PURE__*/function () {
|
|
|
83
77
|
|
|
84
78
|
return [bind];
|
|
85
79
|
},
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Creates a command out of a simple function and ignores the success case.
|
|
89
|
-
* @param task The function to call.
|
|
90
|
-
* @param ofError Creates the message to dispatch when an error occurred.
|
|
91
|
-
* @param args The parameters of the task.
|
|
92
|
-
*/
|
|
93
80
|
attempt: function attempt(task, ofError) {
|
|
94
|
-
for (var
|
|
95
|
-
args[
|
|
81
|
+
for (var _len4 = arguments.length, args = new Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {
|
|
82
|
+
args[_key4 - 2] = arguments[_key4];
|
|
96
83
|
}
|
|
97
84
|
|
|
98
85
|
var bind = function bind(dispatch, fallback) {
|
|
@@ -109,19 +96,11 @@ var Command = /*#__PURE__*/function () {
|
|
|
109
96
|
|
|
110
97
|
return [bind];
|
|
111
98
|
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
_defineProperty(this, "ofPromise", {
|
|
115
|
-
/**
|
|
116
|
-
* Creates a command out of an async function and maps the result.
|
|
117
|
-
* @param task The async function to call.
|
|
118
|
-
* @param ofSuccess Creates the message to dispatch when the promise is resolved.
|
|
119
|
-
* @param ofError Creates the message to dispatch when the promise is rejected.
|
|
120
|
-
* @param args The parameters of the task.
|
|
121
|
-
*/
|
|
99
|
+
},
|
|
100
|
+
ofPromise: {
|
|
122
101
|
either: function either(task, ofSuccess, ofError) {
|
|
123
|
-
for (var
|
|
124
|
-
args[
|
|
102
|
+
for (var _len5 = arguments.length, args = new Array(_len5 > 3 ? _len5 - 3 : 0), _key5 = 3; _key5 < _len5; _key5++) {
|
|
103
|
+
args[_key5 - 3] = arguments[_key5];
|
|
125
104
|
}
|
|
126
105
|
|
|
127
106
|
var bind = function bind(dispatch) {
|
|
@@ -134,16 +113,9 @@ var Command = /*#__PURE__*/function () {
|
|
|
134
113
|
|
|
135
114
|
return [bind];
|
|
136
115
|
},
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Creates a command out of an async function and ignores the error case.
|
|
140
|
-
* @param task The async function to call.
|
|
141
|
-
* @param ofSuccess Creates the message to dispatch when the promise is resolved.
|
|
142
|
-
* @param args The parameters of the task.
|
|
143
|
-
*/
|
|
144
116
|
perform: function perform(task, ofSuccess) {
|
|
145
|
-
for (var
|
|
146
|
-
args[
|
|
117
|
+
for (var _len6 = arguments.length, args = new Array(_len6 > 2 ? _len6 - 2 : 0), _key6 = 2; _key6 < _len6; _key6++) {
|
|
118
|
+
args[_key6 - 2] = arguments[_key6];
|
|
147
119
|
}
|
|
148
120
|
|
|
149
121
|
var defaultFallbackHandler = function defaultFallbackHandler() {// blank
|
|
@@ -158,16 +130,9 @@ var Command = /*#__PURE__*/function () {
|
|
|
158
130
|
|
|
159
131
|
return [bind];
|
|
160
132
|
},
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Creates a command out of an async function and ignores the success case.
|
|
164
|
-
* @param task The async function to call.
|
|
165
|
-
* @param ofError Creates the message to dispatch when the promise is rejected.
|
|
166
|
-
* @param args The parameters of the task.
|
|
167
|
-
*/
|
|
168
133
|
attempt: function attempt(task, ofError) {
|
|
169
|
-
for (var
|
|
170
|
-
args[
|
|
134
|
+
for (var _len7 = arguments.length, args = new Array(_len7 > 2 ? _len7 - 2 : 0), _key7 = 2; _key7 < _len7; _key7++) {
|
|
135
|
+
args[_key7 - 2] = arguments[_key7];
|
|
171
136
|
}
|
|
172
137
|
|
|
173
138
|
var bind = function bind(dispatch, fallback) {
|
|
@@ -182,53 +147,7 @@ var Command = /*#__PURE__*/function () {
|
|
|
182
147
|
|
|
183
148
|
return [bind];
|
|
184
149
|
}
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
_createClass(Command, [{
|
|
189
|
-
key: "ofMsg",
|
|
190
|
-
value:
|
|
191
|
-
/**
|
|
192
|
-
* Creates a command out of a specific message.
|
|
193
|
-
* @param {TMsg} msg The specific message.
|
|
194
|
-
*/
|
|
195
|
-
// eslint-disable-next-line class-methods-use-this
|
|
196
|
-
function ofMsg(msg) {
|
|
197
|
-
return [function (dispatch) {
|
|
198
|
-
return dispatch(msg);
|
|
199
|
-
}];
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Aggregates multiple commands.
|
|
203
|
-
* @param {Cmd<TMsg> []} commands Array of commands.
|
|
204
|
-
*/
|
|
205
|
-
// eslint-disable-next-line class-methods-use-this
|
|
206
|
-
|
|
207
|
-
}, {
|
|
208
|
-
key: "batch",
|
|
209
|
-
value: function batch() {
|
|
210
|
-
for (var _len7 = arguments.length, commands = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
|
|
211
|
-
commands[_key7] = arguments[_key7];
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
return commands.flat();
|
|
215
150
|
}
|
|
216
|
-
|
|
217
|
-
* Provides functionalities to create commands from simple functions.
|
|
218
|
-
*/
|
|
219
|
-
|
|
220
|
-
}]);
|
|
221
|
-
|
|
222
|
-
return Command;
|
|
223
|
-
}();
|
|
224
|
-
/**
|
|
225
|
-
* Creates a typed instance of the Command class.
|
|
226
|
-
* @template TMsg The type of the Msg discriminated union.
|
|
227
|
-
* @see Command
|
|
228
|
-
*/
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
function createCmd() {
|
|
232
|
-
return new Command();
|
|
151
|
+
};
|
|
233
152
|
}
|
|
234
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9DbWQudHMiXSwibmFtZXMiOlsiQ29tbWFuZCIsImVpdGhlciIsInRhc2siLCJvZlN1Y2Nlc3MiLCJvZkVycm9yIiwiYXJncyIsImJpbmQiLCJkaXNwYXRjaCIsInJlc3VsdCIsImV4IiwicGVyZm9ybSIsImZhbGxiYWNrIiwiYXR0ZW1wdCIsInRoZW4iLCJkZWZhdWx0RmFsbGJhY2tIYW5kbGVyIiwibXNnIiwiY29tbWFuZHMiLCJmbGF0IiwiY3JlYXRlQ21kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7O0FBTUE7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDTUEsTzs7OztrQ0FJWSxFOztvQ0F1QkU7QUFDWjtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNRQyxNQUFBQSxNQVJZLGtCQVE4QkMsSUFSOUIsRUFRaUVDLFNBUmpFLEVBUXVHQyxPQVJ2RyxFQVFtSztBQUFBLDBDQUF4QkMsSUFBd0I7QUFBeEJBLFVBQUFBLElBQXdCO0FBQUE7O0FBQzNLLFlBQU1DLElBQUksR0FBRyxTQUFQQSxJQUFPLENBQUNDLFFBQUQsRUFBb0M7QUFDN0MsY0FBSTtBQUNBLGdCQUFNQyxPQUFNLEdBQUdOLElBQUksTUFBSixTQUFRRyxJQUFSLENBQWY7O0FBRUFFLFlBQUFBLFFBQVEsQ0FBQ0osU0FBUyxDQUFDSyxPQUFELENBQVYsQ0FBUjtBQUNILFdBSkQsQ0FJRSxPQUFPQyxFQUFQLEVBQW9CO0FBQ2xCRixZQUFBQSxRQUFRLENBQUNILE9BQU8sQ0FBQ0ssRUFBRCxDQUFSLENBQVI7QUFDSDtBQUNKLFNBUkQ7O0FBVUEsZUFBTyxDQUFDSCxJQUFELENBQVA7QUFDSCxPQXBCVzs7QUFzQlo7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ1FJLE1BQUFBLE9BNUJZLG1CQTRCK0JSLElBNUIvQixFQTRCa0VDLFNBNUJsRSxFQTRCbUk7QUFBQSwyQ0FBeEJFLElBQXdCO0FBQXhCQSxV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LElBQUksR0FBRyxTQUFQQSxJQUFPLENBQUNDLFFBQUQsRUFBMkJJLFFBQTNCLEVBQWdFO0FBQ3pFVCxVQUFBQSxJQUFJLE1BQUosU0FBUUcsSUFBUixFQUFjUSxJQUFkLENBQW1CLFlBQU07QUFDckIsZ0JBQUlGLFFBQUosRUFBYztBQUNWQSxjQUFBQSxRQUFRO0FBQ1g7QUFDSixXQUpELFdBS1csVUFBQ0YsRUFBRDtBQUFBLG1CQUFlRixRQUFRLENBQUNILE9BQU8sQ0FBQ0ssRUFBRCxDQUFSLENBQXZCO0FBQUEsV0FMWDtBQU1ILFNBUEQ7O0FBU0EsZUFBTyxDQUFDSCxJQUFELENBQVA7QUFDSDtBQXJEYyxLOzs7Ozs7QUEzRm5CO0FBQ0o7QUFDQTtBQUNBO0FBQ0k7QUFDQSxtQkFBY1MsR0FBZCxFQUFvQztBQUNoQyxhQUFPLENBQUMsVUFBQVIsUUFBUTtBQUFBLGVBQUlBLFFBQVEsQ0FBQ1EsR0FBRCxDQUFaO0FBQUEsT0FBVCxDQUFQO0FBQ0g7QUFFRDtBQUNKO0FBQ0E7QUFDQTtBQUNJOzs7O1dBQ0EsaUJBQW9EO0FBQUEseUNBQW5DQyxRQUFtQztBQUFuQ0EsUUFBQUEsUUFBbUM7QUFBQTs7QUFDaEQsYUFBT0EsUUFBUSxDQUFDQyxJQUFULEVBQVA7QUFDSDtBQUVEO0FBQ0o7QUFDQTs7Ozs7O0FBZ0lBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFNBQVNDLFNBQVQsR0FBMkM7QUFDOUMsU0FBTyxJQUFJbEIsT0FBSixFQUFQO0FBQ0giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFR5cGUgb2YgdGhlIGRpc3BhdGNoIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBEaXNwYXRjaDxUTXNnPiA9IChtc2c6IFRNc2cpID0+IHZvaWQ7XG5cbnR5cGUgRmFsbGJhY2tIYW5kbGVyID0gKGVycm9yPzogRXJyb3IpID0+IHZvaWQ7XG50eXBlIFN1YjxUTXNnPiA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1zZz4sIGZhbGxiYWNrPzogRmFsbGJhY2tIYW5kbGVyKSA9PiB2b2lkO1xuXG4vKipcbiAqIFR5cGUgb2YgYSBjb21tYW5kLlxuICovXG5leHBvcnQgdHlwZSBDbWQ8VE1zZz4gPSBTdWI8VE1zZz4gW107XG5cbi8qKlxuICogQ2xhc3MgdG8gY3JlYXRlIGNvbW1hbmRzLlxuICogQGNsYXNzIENvbW1hbmRcbiAqIEB0ZW1wbGF0ZSBUTXNnIFR5cGUgb2YgdGhlIE1zZyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5jbGFzcyBDb21tYW5kPFRNc2c+IHtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGFuIGVtcHR5IGNvbW1hbmQuXG4gICAgICovXG4gICAgcHVibGljIG5vbmUgPSBbXTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIHNwZWNpZmljIG1lc3NhZ2UuXG4gICAgICogQHBhcmFtIHtUTXNnfSBtc2cgVGhlIHNwZWNpZmljIG1lc3NhZ2UuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgICBwdWJsaWMgb2ZNc2cgKG1zZzogVE1zZyk6IENtZDxUTXNnPiB7XG4gICAgICAgIHJldHVybiBbZGlzcGF0Y2ggPT4gZGlzcGF0Y2gobXNnKV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWdncmVnYXRlcyBtdWx0aXBsZSBjb21tYW5kcy5cbiAgICAgKiBAcGFyYW0ge0NtZDxUTXNnPiBbXX0gY29tbWFuZHMgQXJyYXkgb2YgY29tbWFuZHMuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgICBwdWJsaWMgYmF0Y2ggKC4uLmNvbW1hbmRzOiBDbWQ8VE1zZz4gW10pOiBDbWQ8VE1zZz4ge1xuICAgICAgICByZXR1cm4gY29tbWFuZHMuZmxhdCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyB0byBjcmVhdGUgY29tbWFuZHMgZnJvbSBzaW1wbGUgZnVuY3Rpb25zLlxuICAgICAqL1xuICAgIHB1YmxpYyBvZkZ1bmMgPSB7XG4gICAgICAgIC8qKlxuICAgICAgICAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIHNpbXBsZSBmdW5jdGlvbiBhbmQgbWFwcyB0aGUgcmVzdWx0LlxuICAgICAgICAqIEBwYXJhbSB0YXNrIFRoZSBmdW5jdGlvbiB0byBjYWxsLlxuICAgICAgICAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCBhZnRlciBhIHN1Y2Nlc3NmdWwgY2FsbCBvZiB0aGUgdGFzay5cbiAgICAgICAgKiBAcGFyYW0gb2ZFcnJvciBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIHdoZW4gYW4gZXJyb3Igb2NjdXJyZWQuXG4gICAgICAgICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG4gICAgICAgICovXG4gICAgICAgIGVpdGhlcjxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybiwgb2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUTXNnLCBvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBUTXNnLCAuLi5hcmdzOiBUQXJncyk6IENtZDxUTXNnPiB7XG4gICAgICAgICAgICBjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUTXNnPik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cbiAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2gob2ZTdWNjZXNzKHJlc3VsdCkpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKG9mRXJyb3IoZXggYXMgRXJyb3IpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXR1cm4gW2JpbmRdO1xuICAgICAgICB9LFxuXG4gICAgICAgIC8qKlxuICAgICAgICAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIHNpbXBsZSBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgZXJyb3IgY2FzZS5cbiAgICAgICAgKiBAcGFyYW0gdGFzayBUaGUgZnVuY3Rpb24gdG8gY2FsbC5cbiAgICAgICAgKiBAcGFyYW0gb2ZTdWNjZXNzIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggYWZ0ZXIgYSBzdWNjZXNzZnVsIGNhbGwgb2YgdGhlIHRhc2suXG4gICAgICAgICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG4gICAgICAgICovXG4gICAgICAgIHBlcmZvcm08VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sIG9mU3VjY2VzczogKHJlc3VsdDogVFJldHVybikgPT4gVE1zZywgLi4uYXJnczogVEFyZ3MpOiBDbWQ8VE1zZz4ge1xuICAgICAgICAgICAgY29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1zZz4sIGZhbGxiYWNrPzogRmFsbGJhY2tIYW5kbGVyKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGFzayguLi5hcmdzKTtcblxuICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaChvZlN1Y2Nlc3MocmVzdWx0KSk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXg6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWxsYmFjayhleCBhcyBFcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXR1cm4gW2JpbmRdO1xuICAgICAgICB9LFxuXG4gICAgICAgIC8qKlxuICAgICAgICAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIHNpbXBsZSBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgc3VjY2VzcyBjYXNlLlxuICAgICAgICAqIEBwYXJhbSB0YXNrIFRoZSBmdW5jdGlvbiB0byBjYWxsLlxuICAgICAgICAqIEBwYXJhbSBvZkVycm9yIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiBhbiBlcnJvciBvY2N1cnJlZC5cbiAgICAgICAgKiBAcGFyYW0gYXJncyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgdGFzay5cbiAgICAgICAgKi9cbiAgICAgICAgYXR0ZW1wdDxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybiwgb2ZFcnJvcjogKGVycm9yOiBFcnJvcikgPT4gVE1zZywgLi4uYXJnczogVEFyZ3MpOiBDbWQ8VE1zZz4ge1xuICAgICAgICAgICAgY29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1zZz4sIGZhbGxiYWNrPzogRmFsbGJhY2tIYW5kbGVyKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdGFzayguLi5hcmdzKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoZmFsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIChleDogdW5rbm93bikge1xuICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaChvZkVycm9yKGV4IGFzIEVycm9yKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIFtiaW5kXTtcbiAgICAgICAgfSxcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUHJvdmlkZXMgZnVuY3Rpb25hbGl0aWVzIHRvIGNyZWF0ZSBjb21tYW5kcyBmcm9tIGFzeW5jIGZ1bmN0aW9ucy5cbiAgICAgKi9cbiAgICBwdWJsaWMgb2ZQcm9taXNlID0ge1xuICAgICAgICAvKipcbiAgICAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYW4gYXN5bmMgZnVuY3Rpb24gYW5kIG1hcHMgdGhlIHJlc3VsdC5cbiAgICAgICAgKiBAcGFyYW0gdGFzayBUaGUgYXN5bmMgZnVuY3Rpb24gdG8gY2FsbC5cbiAgICAgICAgKiBAcGFyYW0gb2ZTdWNjZXNzIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cbiAgICAgICAgKiBAcGFyYW0gb2ZFcnJvciBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIHdoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gICAgICAgICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG4gICAgICAgICovXG4gICAgICAgIGVpdGhlcjxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gUHJvbWlzZTxUUmV0dXJuPiwgb2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUTXNnLCBvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBUTXNnLCAuLi5hcmdzOiBUQXJncyk6IENtZDxUTXNnPiB7XG4gICAgICAgICAgICBjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUTXNnPik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIHRhc2soLi4uYXJncykudGhlbihyZXN1bHQgPT4gZGlzcGF0Y2gob2ZTdWNjZXNzKHJlc3VsdCkpKVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGV4OiBFcnJvcikgPT4gZGlzcGF0Y2gob2ZFcnJvcihleCkpKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJldHVybiBbYmluZF07XG4gICAgICAgIH0sXG5cbiAgICAgICAgLyoqXG4gICAgICAgICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGFuIGFzeW5jIGZ1bmN0aW9uIGFuZCBpZ25vcmVzIHRoZSBlcnJvciBjYXNlLlxuICAgICAgICAqIEBwYXJhbSB0YXNrIFRoZSBhc3luYyBmdW5jdGlvbiB0byBjYWxsLlxuICAgICAgICAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBwcm9taXNlIGlzIHJlc29sdmVkLlxuICAgICAgICAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuICAgICAgICAqL1xuICAgICAgICBwZXJmb3JtPFRBcmdzIGV4dGVuZHMgdW5rbm93biBbXSwgVFJldHVybj4odGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBQcm9taXNlPFRSZXR1cm4+LCBvZlN1Y2Nlc3M6IChyZXN1bHQ6IFRSZXR1cm4pID0+IFRNc2csIC4uLmFyZ3M6IFRBcmdzKTogQ21kPFRNc2c+IHtcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRGYWxsYmFja0hhbmRsZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgLy8gYmxhbmtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGJpbmQgPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRNc2c+LCBmYWxsYmFjazogRmFsbGJhY2tIYW5kbGVyID0gZGVmYXVsdEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIHRhc2soLi4uYXJncykudGhlbihyZXN1bHQgPT4gZGlzcGF0Y2gob2ZTdWNjZXNzKHJlc3VsdCkpKVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goZmFsbGJhY2spO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIFtiaW5kXTtcbiAgICAgICAgfSxcblxuICAgICAgICAvKipcbiAgICAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYW4gYXN5bmMgZnVuY3Rpb24gYW5kIGlnbm9yZXMgdGhlIHN1Y2Nlc3MgY2FzZS5cbiAgICAgICAgKiBAcGFyYW0gdGFzayBUaGUgYXN5bmMgZnVuY3Rpb24gdG8gY2FsbC5cbiAgICAgICAgKiBAcGFyYW0gb2ZFcnJvciBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIHdoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gICAgICAgICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG4gICAgICAgICovXG4gICAgICAgIGF0dGVtcHQ8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFByb21pc2U8VFJldHVybj4sIG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRNc2csIC4uLmFyZ3M6IFRBcmdzKTogQ21kPFRNc2c+IHtcbiAgICAgICAgICAgIGNvbnN0IGJpbmQgPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRNc2c+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIHRhc2soLi4uYXJncykudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmYWxsYmFjaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2soKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXg6IEVycm9yKSA9PiBkaXNwYXRjaChvZkVycm9yKGV4KSkpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIFtiaW5kXTtcbiAgICAgICAgfSxcbiAgICB9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSB0eXBlZCBpbnN0YW5jZSBvZiB0aGUgQ29tbWFuZCBjbGFzcy5cbiAqIEB0ZW1wbGF0ZSBUTXNnIFRoZSB0eXBlIG9mIHRoZSBNc2cgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqIEBzZWUgQ29tbWFuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ21kPFRNc2c+ICgpOiBDb21tYW5kPFRNc2c+IHtcbiAgICByZXR1cm4gbmV3IENvbW1hbmQ8VE1zZz4oKTtcbn0iXX0=
|
|
153
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9DbWQudHMiXSwibmFtZXMiOlsiY3JlYXRlQ21kIiwibm9uZSIsIm9mTXNnIiwibXNnIiwiZGlzcGF0Y2giLCJiYXRjaCIsImNvbW1hbmRzIiwiZmxhdCIsIm9mU3ViIiwic3ViIiwib2ZGdW5jIiwiZWl0aGVyIiwidGFzayIsIm9mU3VjY2VzcyIsIm9mRXJyb3IiLCJhcmdzIiwiYmluZCIsInJlc3VsdCIsImV4IiwicGVyZm9ybSIsImZhbGxiYWNrIiwiYXR0ZW1wdCIsIm9mUHJvbWlzZSIsInRoZW4iLCJkZWZhdWx0RmFsbGJhY2tIYW5kbGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDQTtBQUNBOztBQU1BO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUE2RUE7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQSxTQUFULEdBQTJDO0FBQzlDLFNBQU87QUFDSEMsSUFBQUEsSUFBSSxFQUFFLEVBREg7QUFFSEMsSUFBQUEsS0FGRyxpQkFFSUMsR0FGSixFQUUwQjtBQUN6QixhQUFPLENBQUMsVUFBQUMsUUFBUTtBQUFBLGVBQUlBLFFBQVEsQ0FBQ0QsR0FBRCxDQUFaO0FBQUEsT0FBVCxDQUFQO0FBQ0gsS0FKRTtBQUtIRSxJQUFBQSxLQUxHLG1CQUswQztBQUFBLHdDQUFuQ0MsUUFBbUM7QUFBbkNBLFFBQUFBLFFBQW1DO0FBQUE7O0FBQ3pDLGFBQU9BLFFBQVEsQ0FBQ0MsSUFBVCxFQUFQO0FBQ0gsS0FQRTtBQVFIQyxJQUFBQSxLQVJHLGlCQVFJQyxHQVJKLEVBUStCO0FBQzlCLGFBQU8sQ0FBQ0EsR0FBRCxDQUFQO0FBQ0gsS0FWRTtBQVdIQyxJQUFBQSxNQUFNLEVBQUU7QUFDSkMsTUFBQUEsTUFESSxrQkFDc0NDLElBRHRDLEVBQ3lFQyxTQUR6RSxFQUMrR0MsT0FEL0csRUFDMks7QUFBQSwyQ0FBeEJDLElBQXdCO0FBQXhCQSxVQUFBQSxJQUF3QjtBQUFBOztBQUMzSyxZQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFB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bUJBQUliLFFBQVEsQ0FBQ1MsU0FBUyxDQUFDSSxNQUFELENBQVYsQ0FBWjtBQUFBLFdBQXpCLFdBQ1dHLFFBRFg7QUFFSCxTQUhEOztBQUtBLGVBQU8sQ0FBQ0osSUFBRCxDQUFQO0FBQ0gsT0FwQk07QUFxQlBLLE1BQUFBLE9BckJPLG1CQXFCb0NULElBckJwQyxFQXFCZ0ZFLE9BckJoRixFQXFCNEk7QUFBQSwyQ0FBeEJDLElBQXdCO0FBQXhCQSxVQUFBQSxJQUF3QjtBQUFBOztBQUMvSSxZQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBTyxDQUFDWixRQUFELEVBQTJCZ0IsUUFBM0IsRUFBZ0U7QUFDekVSLFVBQUFBLElBQUksTUFBSixTQUFRRyxJQUFSLEVBQWNRLElBQWQsQ0FBbUIsWUFBTTtBQUNyQixnQkFBSUgsUUFBSixFQUFjO0FBQ1ZBLGNBQUFBLFFBQVE7QUFDWDtBQUNKLFdBSkQsV0FLVyxVQUFDRixFQUFEO0FBQUEsbUJBQWVkLFFBQVEsQ0FBQ1UsT0FBTyxDQUFDSSxFQUFELENBQVIsQ0FBdkI7QUFBQSxXQUxYO0FBTUgsU0FQRDs7QUFTQSxlQUFPLENBQUNGLElBQUQsQ0FBUDtBQUNIO0FBaENNO0FBeERSLEdBQVA7QUEyRkgiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFR5cGUgb2YgdGhlIGRpc3BhdGNoIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBEaXNwYXRjaDxUTXNnPiA9IChtc2c6IFRNc2cpID0+IHZvaWQ7XG5cbnR5cGUgRmFsbGJhY2tIYW5kbGVyID0gKGVycm9yPzogRXJyb3IpID0+IHZvaWQ7XG50eXBlIFN1YjxUTXNnPiA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1zZz4sIGZhbGxiYWNrPzogRmFsbGJhY2tIYW5kbGVyKSA9PiB2b2lkO1xuXG4vKipcbiAqIFR5cGUgb2YgYSBjb21tYW5kLlxuICovXG5leHBvcnQgdHlwZSBDbWQ8VE1zZz4gPSBTdWI8VE1zZz4gW107XG5cbi8qKlxuICogQ29udGFpbnMgZnVuY3Rpb25zIHRvIGNyZWF0ZSBjb21tYW5kcy5cbiAqIEB0ZW1wbGF0ZSBUTXNnIFR5cGUgb2YgdGhlIE1lc3NhZ2UgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqL1xuaW50ZXJmYWNlIENvbW1hbmQ8VE1zZz4ge1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYW4gZW1wdHkgY29tbWFuZC5cbiAgICAgKi9cbiAgICBub25lOiBbXSxcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBzcGVjaWZpYyBtZXNzYWdlLlxuICAgICAqIEBwYXJhbSB7VE1zZ30gbXNnIFRoZSBzcGVjaWZpYyBtZXNzYWdlLlxuICAgICAqL1xuICAgIG9mTXNnOiAobXNnOiBUTXNnKSA9PiBDbWQ8VE1zZz4sXG4gICAgLyoqXG4gICAgICogQWdncmVnYXRlcyBtdWx0aXBsZSBjb21tYW5kcy5cbiAgICAgKiBAcGFyYW0ge0NtZDxUTXNnPiBbXX0gY29tbWFuZHMgQXJyYXkgb2YgY29tbWFuZHMuXG4gICAgICovXG4gICAgYmF0Y2g6ICguLi5jb21tYW5kczogQ21kPFRNc2c+IFtdKSA9PiBDbWQ8VE1zZz4sXG4gICAgLyoqXG4gICAgICogQ29tbWFuZCB0byBjYWxsIHRoZSBzdWJzY3JpYmVyLlxuICAgICAqIEBwYXJhbSB7U3ViPFRNc2c+fSBzdWIgVGhlIHN1YnNjcmliZXIgZnVuY3Rpb24uXG4gICAgICovXG4gICAgb2ZTdWI6IChzdWI6IFN1YjxUTXNnPikgPT4gQ21kPFRNc2c+LFxuICAgIC8qKlxuICAgICAqIFByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyB0byBjcmVhdGUgY29tbWFuZHMgZnJvbSBzaW1wbGUgZnVuY3Rpb25zLlxuICAgICAqL1xuICAgIG9mRnVuYzoge1xuICAgICAgICAvKipcbiAgICAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBzaW1wbGUgZnVuY3Rpb24gYW5kIG1hcHMgdGhlIHJlc3VsdC5cbiAgICAgICAgKiBAcGFyYW0gdGFzayBUaGUgZnVuY3Rpb24gdG8gY2FsbC5cbiAgICAgICAgKiBAcGFyYW0gb2ZTdWNjZXNzIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggYWZ0ZXIgYSBzdWNjZXNzZnVsIGNhbGwgb2YgdGhlIHRhc2suXG4gICAgICAgICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIGFuIGVycm9yIG9jY3VycmVkLlxuICAgICAgICAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuICAgICAgICAqL1xuICAgICAgICBlaXRoZXI6IDxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybiwgb2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUTXNnLCBvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBUTXNnLCAuLi5hcmdzOiBUQXJncykgPT4gQ21kPFRNc2c+LFxuICAgICAgICAvKipcbiAgICAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBzaW1wbGUgZnVuY3Rpb24gYW5kIGlnbm9yZXMgdGhlIGVycm9yIGNhc2UuXG4gICAgICAgICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG4gICAgICAgICogQHBhcmFtIG9mU3VjY2VzcyBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIGFmdGVyIGEgc3VjY2Vzc2Z1bCBjYWxsIG9mIHRoZSB0YXNrLlxuICAgICAgICAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuICAgICAgICAqL1xuICAgICAgICBwZXJmb3JtOiA8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sIG9mU3VjY2VzczogKHJlc3VsdDogVFJldHVybikgPT4gVE1zZywgLi4uYXJnczogVEFyZ3MpID0+IENtZDxUTXNnPixcbiAgICAgICAgLyoqXG4gICAgICAgICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGEgc2ltcGxlIGZ1bmN0aW9uIGFuZCBpZ25vcmVzIHRoZSBzdWNjZXNzIGNhc2UuXG4gICAgICAgICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG4gICAgICAgICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIGFuIGVycm9yIG9jY3VycmVkLlxuICAgICAgICAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuICAgICAgICAqL1xuICAgICAgICBhdHRlbXB0OiA8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sIG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRNc2csIC4uLmFyZ3M6IFRBcmdzKSA9PiBDbWQ8VE1zZz4sXG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBQcm92aWRlcyBmdW5jdGlvbmFsaXRpZXMgdG8gY3JlYXRlIGNvbW1hbmRzIGZyb20gYXN5bmMgZnVuY3Rpb25zLlxuICAgICAqL1xuICAgIG9mUHJvbWlzZToge1xuICAgICAgICAvKipcbiAgICAgICAgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYW4gYXN5bmMgZnVuY3Rpb24gYW5kIG1hcHMgdGhlIHJlc3VsdC5cbiAgICAgICAgKiBAcGFyYW0gdGFzayBUaGUgYXN5bmMgZnVuY3Rpb24gdG8gY2FsbC5cbiAgICAgICAgKiBAcGFyYW0gb2ZTdWNjZXNzIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cbiAgICAgICAgKiBAcGFyYW0gb2ZFcnJvciBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIHdoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gICAgICAgICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG4gICAgICAgICovXG4gICAgICAgIGVpdGhlcjogPFRBcmdzIGV4dGVuZHMgdW5rbm93biBbXSwgVFJldHVybj4odGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBQcm9taXNlPFRSZXR1cm4+LCBvZlN1Y2Nlc3M6IChyZXN1bHQ6IFRSZXR1cm4pID0+IFRNc2csIG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRNc2csIC4uLmFyZ3M6IFRBcmdzKSA9PiBDbWQ8VE1zZz4sXG4gICAgICAgIC8qKlxuICAgICAgICAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhbiBhc3luYyBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgZXJyb3IgY2FzZS5cbiAgICAgICAgKiBAcGFyYW0gdGFzayBUaGUgYXN5bmMgZnVuY3Rpb24gdG8gY2FsbC5cbiAgICAgICAgKiBAcGFyYW0gb2ZTdWNjZXNzIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cbiAgICAgICAgKiBAcGFyYW0gYXJncyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgdGFzay5cbiAgICAgICAgKi9cbiAgICAgICAgcGVyZm9ybTogPFRBcmdzIGV4dGVuZHMgdW5rbm93biBbXSwgVFJldHVybj4odGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBQcm9taXNlPFRSZXR1cm4+LCBvZlN1Y2Nlc3M6IChyZXN1bHQ6IFRSZXR1cm4pID0+IFRNc2csIC4uLmFyZ3M6IFRBcmdzKSA9PiBDbWQ8VE1zZz4sXG4gICAgICAgIC8qKlxuICAgICAgICAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhbiBhc3luYyBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgc3VjY2VzcyBjYXNlLlxuICAgICAgICAqIEBwYXJhbSB0YXNrIFRoZSBhc3luYyBmdW5jdGlvbiB0byBjYWxsLlxuICAgICAgICAqIEBwYXJhbSBvZkVycm9yIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgcHJvbWlzZSBpcyByZWplY3RlZC5cbiAgICAgICAgKiBAcGFyYW0gYXJncyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgdGFzay5cbiAgICAgICAgKi9cbiAgICAgICAgYXR0ZW1wdDogPFRBcmdzIGV4dGVuZHMgdW5rbm93biBbXSwgVFJldHVybj4odGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBQcm9taXNlPFRSZXR1cm4+LCBvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBUTXNnLCAuLi5hcmdzOiBUQXJncykgPT4gQ21kPFRNc2c+LFxuICAgIH0sXG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHR5cGVkIGluc3RhbmNlIG9mIHRoZSBDb21tYW5kIGNsYXNzLlxuICogQHRlbXBsYXRlIFRNc2cgVGhlIHR5cGUgb2YgdGhlIE1zZyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ21kPFRNc2c+ICgpOiBDb21tYW5kPFRNc2c+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBub25lOiBbXSxcbiAgICAgICAgb2ZNc2cgKG1zZzogVE1zZyk6IENtZDxUTXNnPiB7XG4gICAgICAgICAgICByZXR1cm4gW2Rpc3BhdGNoID0+IGRpc3BhdGNoKG1zZyldO1xuICAgICAgICB9LFxuICAgICAgICBiYXRjaCAoLi4uY29tbWFuZHM6IENtZDxUTXNnPiBbXSk6IENtZDxUTXNnPiB7XG4gICAgICAgICAgICByZXR1cm4gY29tbWFuZHMuZmxhdCgpO1xuICAgICAgICB9LFxuICAgICAgICBvZlN1YiAoc3ViOiBTdWI8VE1zZz4pOiBDbWQ8VE1zZz4ge1xuICAgICAgICAgICAgcmV0dXJuIFtzdWJdO1xuICAgICAgICB9LFxuICAgICAgICBvZkZ1bmM6IHtcbiAgICAgICAgICAgIGVpdGhlcjxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybiwgb2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUTXNnLCBvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBUTXNnLCAuLi5hcmdzOiBUQXJncyk6IENtZDxUTXNnPiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1zZz4pOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKG9mU3VjY2VzcyhyZXN1bHQpKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXg6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKG9mRXJyb3IoZXggYXMgRXJyb3IpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gW2JpbmRdO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBlcmZvcm08VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sIG9mU3VjY2VzczogKHJlc3VsdDogVFJldHVybikgPT4gVE1zZywgLi4uYXJnczogVEFyZ3MpOiBDbWQ8VE1zZz4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJpbmQgPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRNc2c+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGFzayguLi5hcmdzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2gob2ZTdWNjZXNzKHJlc3VsdCkpO1xuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChleDogdW5rbm93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2soZXggYXMgRXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBbYmluZF07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXR0ZW1wdDxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybiwgb2ZFcnJvcjogKGVycm9yOiBFcnJvcikgPT4gVE1zZywgLi4uYXJnczogVEFyZ3MpOiBDbWQ8VE1zZz4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJpbmQgPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRNc2c+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFzayguLi5hcmdzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2soKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXg6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKG9mRXJyb3IoZXggYXMgRXJyb3IpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gW2JpbmRdO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgb2ZQcm9taXNlOiB7XG4gICAgICAgICAgICBlaXRoZXI8VEFyZ3MgZXh0ZW5kcyB1bmtub3duIFtdLCBUUmV0dXJuPih0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFByb21pc2U8VFJldHVybj4sIG9mU3VjY2VzczogKHJlc3VsdDogVFJldHVybikgPT4gVE1zZywgb2ZFcnJvcjogKGVycm9yOiBFcnJvcikgPT4gVE1zZywgLi4uYXJnczogVEFyZ3MpOiBDbWQ8VE1zZz4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJpbmQgPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRNc2c+KTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRhc2soLi4uYXJncykudGhlbihyZXN1bHQgPT4gZGlzcGF0Y2gob2ZTdWNjZXNzKHJlc3VsdCkpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChleDogRXJyb3IpID0+IGRpc3BhdGNoKG9mRXJyb3IoZXgpKSk7XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBbYmluZF07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGVyZm9ybTxUQXJncyBleHRlbmRzIHVua25vd24gW10sIFRSZXR1cm4+KHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gUHJvbWlzZTxUUmV0dXJuPiwgb2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUTXNnLCAuLi5hcmdzOiBUQXJncyk6IENtZDxUTXNnPiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdEZhbGxiYWNrSGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gYmxhbmtcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgY29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1zZz4sIGZhbGxiYWNrOiBGYWxsYmFja0hhbmRsZXIgPSBkZWZhdWx0RmFsbGJhY2tIYW5kbGVyKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRhc2soLi4uYXJncykudGhlbihyZXN1bHQgPT4gZGlzcGF0Y2gob2ZTdWNjZXNzKHJlc3VsdCkpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKGZhbGxiYWNrKTtcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtiaW5kXTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhdHRlbXB0PFRBcmdzIGV4dGVuZHMgdW5rbm93biBbXSwgVFJldHVybj4odGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBQcm9taXNlPFRSZXR1cm4+LCBvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBUTXNnLCAuLi5hcmdzOiBUQXJncyk6IENtZDxUTXNnPiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VE1zZz4sIGZhbGxiYWNrPzogRmFsbGJhY2tIYW5kbGVyKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRhc2soLi4uYXJncykudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxsYmFjaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChleDogRXJyb3IpID0+IGRpc3BhdGNoKG9mRXJyb3IoZXgpKSk7XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBbYmluZF07XG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH07XG59Il19
|
package/dist/ElmComponent.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Message } from "./Init";
|
|
2
|
-
import {
|
|
2
|
+
import { InitFunction, UpdateFunction } from "./Types";
|
|
3
3
|
import React from "react";
|
|
4
4
|
/**
|
|
5
5
|
* Abstract class for a react class component using the elmish pattern.
|
|
@@ -25,7 +25,7 @@ export declare abstract class ElmComponent<TModel, TMsg extends Message, TProps>
|
|
|
25
25
|
* @param name The name of the component.
|
|
26
26
|
* @memberof ElmComponent
|
|
27
27
|
*/
|
|
28
|
-
constructor(props: TProps, init:
|
|
28
|
+
constructor(props: TProps, init: InitFunction<TProps, TModel, TMsg>, name: string);
|
|
29
29
|
/**
|
|
30
30
|
* Is called when the component is loaded.
|
|
31
31
|
* When implementing this method, the base implementation has to be called.
|
|
@@ -63,8 +63,3 @@ export declare abstract class ElmComponent<TModel, TMsg extends Message, TProps>
|
|
|
63
63
|
*/
|
|
64
64
|
abstract update: UpdateFunction<TProps, TModel, TMsg>;
|
|
65
65
|
}
|
|
66
|
-
export declare type UpdateFunction<TProps, TModel, TMsg> = (model: TModel, msg: TMsg, props: TProps) => UpdateReturnType<TModel, TMsg>;
|
|
67
|
-
/**
|
|
68
|
-
* Type for the return value of the update function.
|
|
69
|
-
*/
|
|
70
|
-
export declare type UpdateReturnType<TModel, TMsg> = [Partial<TModel>, Cmd<TMsg>?];
|
package/dist/ElmComponent.js
CHANGED
|
@@ -109,11 +109,11 @@ var ElmComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
109
109
|
try {
|
|
110
110
|
var _this$update = _this.update(_this.currentModel, nextMsg, _this.props),
|
|
111
111
|
_this$update2 = _slicedToArray(_this$update, 2),
|
|
112
|
-
|
|
112
|
+
model = _this$update2[0],
|
|
113
113
|
cmd = _this$update2[1];
|
|
114
114
|
|
|
115
|
-
if (modelHasChanged(
|
|
116
|
-
_this.currentModel = _objectSpread(_objectSpread({}, _this.currentModel),
|
|
115
|
+
if (modelHasChanged(model)) {
|
|
116
|
+
_this.currentModel = _objectSpread(_objectSpread({}, _this.currentModel), model);
|
|
117
117
|
modified = true;
|
|
118
118
|
}
|
|
119
119
|
|
|
@@ -222,4 +222,4 @@ var ElmComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
222
222
|
}(_react["default"].Component);
|
|
223
223
|
|
|
224
224
|
exports.ElmComponent = ElmComponent;
|
|
225
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9FbG1Db21wb25lbnQudHMiXSwibmFtZXMiOlsiRWxtQ29tcG9uZW50IiwicHJvcHMiLCJpbml0IiwibmFtZSIsIm1zZyIsIm1vZGVsSGFzQ2hhbmdlZCIsIm1vZGVsIiwiY3VycmVudE1vZGVsIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImxlbmd0aCIsImRpc3BhdGNoTWlkZGxld2FyZSIsInJlZW50ZXJlZCIsImJ1ZmZlciIsInB1c2giLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJMb2dnZXJTZXJ2aWNlIiwiaW5mbyIsImNvbXBvbmVudE5hbWUiLCJkZWJ1ZyIsInVwZGF0ZSIsImNtZCIsImV4ZWNDbWQiLCJleCIsImVycm9yIiwic2hpZnQiLCJtb3VudGVkIiwiZm9yY2VVcGRhdGUiLCJpbml0Q21kIiwiZm9yRWFjaCIsImNhbGwiLCJkaXNwYXRjaCIsIlJlYWN0IiwiQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFHQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDc0JBLFk7Ozs7O0FBUWxCO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0ksd0JBQW9CQyxLQUFwQixFQUFtQ0MsSUFBbkMsRUFBMkZDLElBQTNGLEVBQXlHO0FBQUE7O0FBQUE7O0FBQ3JHLDhCQUFNRixLQUFOOztBQURxRyw2REFadEUsRUFZc0U7O0FBQUEsZ0VBWHJGLEtBV3FGOztBQUFBLDhEQVZ2RixLQVV1Rjs7QUFBQSwrREEwRDlFLFVBQUNHLEdBQUQsRUFBcUI7QUFDNUMsVUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDQyxLQUFEO0FBQUEsZUFBcUNBLEtBQUssS0FBSyxNQUFLQyxZQUFmLElBQStCQyxNQUFNLENBQUNDLG1CQUFQLENBQTJCSCxLQUEzQixFQUFrQ0ksTUFBbEMs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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztFQTlIaUYwQixrQkFBTUMsUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRpc3BhdGNoTWlkZGxld2FyZSwgTG9nZ2VyU2VydmljZSwgTWVzc2FnZSB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB7IENtZCB9IGZyb20gXCIuL0NtZFwiO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tIFwiLi9FbG1VdGlsaXRpZXNcIjtcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuLyoqXG4gKiBBYnN0cmFjdCBjbGFzcyBmb3IgYSByZWFjdCBjbGFzcyBjb21wb25lbnQgdXNpbmcgdGhlIGVsbWlzaCBwYXR0ZXJuLlxuICogQGV4cG9ydFxuICogQGFic3RyYWN0XG4gKiBAY2xhc3MgRWxtQ29tcG9uZW50XG4gKiBAZXh0ZW5kcyB7Q29tcG9uZW50PFRQcm9wcywgVE1vZGVsPn1cbiAqIEB0ZW1wbGF0ZSBUTW9kZWwgVGhlIHR5cGUgb2YgdGhlIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNc2cgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzLlxuICogQHRlbXBsYXRlIFRQcm9wcyBUaGUgdHlwZSBvZiB0aGUgcHJvcHMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFbG1Db21wb25lbnQ8VE1vZGVsLCBUTXNnIGV4dGVuZHMgTWVzc2FnZSwgVFByb3BzPiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxUUHJvcHM+IHtcbiAgICBwcml2YXRlIGluaXRDbWQ6IE51bGxhYmxlPENtZDxUTXNnPj4gfCB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnROYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWZmZXI6IFRNc2cgW10gPSBbXTtcbiAgICBwcml2YXRlIHJlZW50ZXJlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgbW91bnRlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgY3VycmVudE1vZGVsOiBUTW9kZWw7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIEVsbUNvbXBvbmVudC5cbiAgICAgKiBAcGFyYW0ge1RQcm9wc30gcHJvcHMgVGhlIHByb3BzIGZvciB0aGUgY29tcG9uZW50LlxuICAgICAqIEBwYXJhbSB7KCkgPT4gVE1vZGVsfSBpbml0IFRoZSBpbml0aWFsaXplciBmdW5jdGlvbi5cbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IgKHByb3BzOiBUUHJvcHMsIGluaXQ6IChhcmc6IFRQcm9wcykgPT4gW1RNb2RlbCwgQ21kPFRNc2c+IHwgdW5kZWZpbmVkXSwgbmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICBjb25zdCBbbW9kZWwsIGNtZF0gPSBpbml0KHRoaXMucHJvcHMpO1xuXG4gICAgICAgIHRoaXMuY29tcG9uZW50TmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMuY3VycmVudE1vZGVsID0gbW9kZWw7XG4gICAgICAgIHRoaXMuaW5pdENtZCA9IGNtZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyBjYWxsZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGxvYWRlZC5cbiAgICAgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cbiAgICAgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG4gICAgICovXG4gICAgcHVibGljIGNvbXBvbmVudERpZE1vdW50ICgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3VudGVkID0gdHJ1ZTtcblxuICAgICAgICBpZiAodGhpcy5pbml0Q21kKSB7XG4gICAgICAgICAgICB0aGlzLmV4ZWNDbWQodGhpcy5pbml0Q21kKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdENtZCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyBjYWxsZWQgYmVmb3JlIHVubG9hZGluZyB0aGUgY29tcG9uZW50LlxuICAgICAqIFdoZW4gaW1wbGVtZW50aW5nIHRoaXMgbWV0aG9kLCB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYmUgY2FsbGVkLlxuICAgICAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgY29tcG9uZW50V2lsbFVubW91bnQgKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdW50ZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4ZWNDbWQgKGNtZDogQ21kPFRNc2c+KTogdm9pZCB7XG4gICAgICAgIGNtZC5mb3JFYWNoKGNhbGwgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjYWxsKHRoaXMuZGlzcGF0Y2gpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXg6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgICBMb2dnZXJTZXJ2aWNlPy5lcnJvcihleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbW9kZWwuXG4gICAgICogQHJlYWRvbmx5XG4gICAgICogQHR5cGUge1JlYWRvbmx5PFRNb2RlbD59XG4gICAgICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgbW9kZWwgKCk6IFJlYWRvbmx5PFRNb2RlbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TW9kZWw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzcGF0Y2hlcyBhIG1lc3NhZ2UuXG4gICAgICogQHBhcmFtIHtUTXNnfSBtc2cgVGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2guXG4gICAgICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBkaXNwYXRjaCA9IChtc2c6IFRNc2cpOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgbW9kZWxIYXNDaGFuZ2VkID0gKG1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4pOiBib29sZWFuID0+IG1vZGVsICE9PSB0aGlzLmN1cnJlbnRNb2RlbCAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhtb2RlbCkubGVuZ3RoID4gMDtcblxuICAgICAgICBpZiAoZGlzcGF0Y2hNaWRkbGV3YXJlKSB7XG4gICAgICAgICAgICBkaXNwYXRjaE1pZGRsZXdhcmUobXNnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnJlZW50ZXJlZCkge1xuICAgICAgICAgICAgdGhpcy5idWZmZXIucHVzaChtc2cpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZWVudGVyZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICBsZXQgbmV4dE1zZzogVE1zZyB8IHVuZGVmaW5lZCA9IG1zZztcbiAgICAgICAgICAgIGxldCBtb2RpZmllZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICB3aGlsZSAobmV4dE1zZykge1xuICAgICAgICAgICAgICAgIExvZ2dlclNlcnZpY2U/LmluZm8oXCJFbG1cIiwgXCJtZXNzYWdlIGZyb21cIiwgdGhpcy5jb21wb25lbnROYW1lLCBuZXh0TXNnLm5hbWUpO1xuICAgICAgICAgICAgICAgIExvZ2dlclNlcnZpY2U/LmRlYnVnKFwiRWxtXCIsIFwibWVzc2FnZSBmcm9tXCIsIHRoaXMuY29tcG9uZW50TmFtZSwgbmV4dE1zZyk7XG5cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBbbW9kZWwsIGNtZF0gPSB0aGlzLnVwZGF0ZSh0aGlzLmN1cnJlbnRNb2RlbCwgbmV4dE1zZywgdGhpcy5wcm9wcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKG1vZGVsSGFzQ2hhbmdlZChtb2RlbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudE1vZGVsID0geyAuLi50aGlzLmN1cnJlbnRNb2RlbCwgLi4ubW9kZWwgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChjbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhlY0NtZChjbWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXg6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgICAgICAgTG9nZ2VyU2VydmljZT8uZXJyb3IoZXgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG5leHRNc2cgPSB0aGlzLmJ1ZmZlci5zaGlmdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5yZWVudGVyZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgaWYgKHRoaXMubW91bnRlZCAmJiBtb2RpZmllZCkge1xuICAgICAgICAgICAgICAgIExvZ2dlclNlcnZpY2U/LmRlYnVnKFwiRWxtXCIsIFwidXBkYXRlIG1vZGVsIGZvclwiLCB0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuY3VycmVudE1vZGVsKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcmNlVXBkYXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gbW9kaWZ5IHRoZSBtb2RlbCBiYXNlZCBvbiBhIG1lc3NhZ2UuXG4gICAgICogQHBhcmFtIHtUTW9kZWx9IG1vZGVsIFRoZSBjdXJyZW50IG1vZGVsLlxuICAgICAqIEBwYXJhbSB7VE1zZ30gbXNnIFRoZSBtZXNzYWdlIHRvIHByb2Nlc3MuXG4gICAgICogQHBhcmFtIHtUUHJvcHN9IHByb3BzIFRoZSBwcm9wcyBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEByZXR1cm5zIFRoZSBuZXcgbW9kZWwgKGNhbiBhbHNvIGJlIGFuIGVtcHR5IG9iamVjdCB7fSkgYW5kIGFuIG9wdGlvbmFsIG5ldyBtZXNzYWdlIHRvIGRpc3BhdGNoLlxuICAgICAqIEBhYnN0cmFjdFxuICAgICAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgdXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1zZz47XG59XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTXNnPiA9IChtb2RlbDogVE1vZGVsLCBtc2c6IFRNc2csIHByb3BzOiBUUHJvcHMpID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTXNnPjtcblxuLyoqXG4gKiBUeXBlIGZvciB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSB1cGRhdGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCB0eXBlIFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTXNnPiA9IFtQYXJ0aWFsPFRNb2RlbD4sIENtZDxUTXNnPj9dOyJdfQ==
|
|
225
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9FbG1Db21wb25lbnQudHMiXSwibmFtZXMiOlsiRWxtQ29tcG9uZW50IiwicHJvcHMiLCJpbml0IiwibmFtZSIsIm1zZyIsIm1vZGVsSGFzQ2hhbmdlZCIsIm1vZGVsIiwiY3VycmVudE1vZGVsIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImxlbmd0aCIsImRpc3BhdGNoTWlkZGxld2FyZSIsInJlZW50ZXJlZCIsImJ1ZmZlciIsInB1c2giLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJMb2dnZXJTZXJ2aWNlIiwiaW5mbyIsImNvbXBvbmVudE5hbWUiLCJkZWJ1ZyIsInVwZGF0ZSIsImNtZCIsImV4ZWNDbWQiLCJleCIsImVycm9yIiwic2hpZnQiLCJtb3VudGVkIiwiZm9yY2VVcGRhdGUiLCJpbml0Q21kIiwiZm9yRWFjaCIsImNhbGwiLCJkaXNwYXRjaCIsIlJlYWN0IiwiQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFHQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDc0JBLFk7Ozs7O0FBUWxCO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0ksd0JBQW9CQyxLQUFwQixFQUFtQ0MsSUFBbkMsRUFBNkVDLElBQTdFLEVBQTJGO0FBQUE7O0FBQUE7O0FBQ3ZGLDhCQUFNRixLQUFOOztBQUR1Riw2REFaeEQsRUFZd0Q7O0FBQUEsZ0VBWHZFLEtBV3VFOztBQUFBLDhEQVZ6RSxLQVV5RTs7QUFBQSwrREEwRGhFLFVBQUNHLEdBQUQsRUFBcUI7QUFDNUMsVUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDQyxLQUFEO0FBQUEsZUFBcUNBLEtBQUssS0FBSyxNQUFLQyxZQUFmLElBQStCQyxNQUFNLENBQUNDLG1CQUFQLENBQTJCSCxLQUEzQixFQUFrQ0ksTUFBbEMs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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztFQTlIaUYwQixrQkFBTUMsUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRpc3BhdGNoTWlkZGxld2FyZSwgTG9nZ2VyU2VydmljZSwgTWVzc2FnZSB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB7IEluaXRGdW5jdGlvbiwgTnVsbGFibGUsIFVwZGF0ZUZ1bmN0aW9uIH0gZnJvbSBcIi4vVHlwZXNcIjtcbmltcG9ydCB7IENtZCB9IGZyb20gXCIuL0NtZFwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGZvciBhIHJlYWN0IGNsYXNzIGNvbXBvbmVudCB1c2luZyB0aGUgZWxtaXNoIHBhdHRlcm4uXG4gKiBAZXhwb3J0XG4gKiBAYWJzdHJhY3RcbiAqIEBjbGFzcyBFbG1Db21wb25lbnRcbiAqIEBleHRlbmRzIHtDb21wb25lbnQ8VFByb3BzLCBUTW9kZWw+fVxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1zZyBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMuXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVsbUNvbXBvbmVudDxUTW9kZWwsIFRNc2cgZXh0ZW5kcyBNZXNzYWdlLCBUUHJvcHM+IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFRQcm9wcz4ge1xuICAgIHByaXZhdGUgaW5pdENtZDogTnVsbGFibGU8Q21kPFRNc2c+PiB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbXBvbmVudE5hbWU6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1ZmZlcjogVE1zZyBbXSA9IFtdO1xuICAgIHByaXZhdGUgcmVlbnRlcmVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBtb3VudGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBjdXJyZW50TW9kZWw6IFRNb2RlbDtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRWxtQ29tcG9uZW50LlxuICAgICAqIEBwYXJhbSB7VFByb3BzfSBwcm9wcyBUaGUgcHJvcHMgZm9yIHRoZSBjb21wb25lbnQuXG4gICAgICogQHBhcmFtIHsoKSA9PiBUTW9kZWx9IGluaXQgVGhlIGluaXRpYWxpemVyIGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAocHJvcHM6IFRQcm9wcywgaW5pdDogSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTXNnPiwgbmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICBjb25zdCBbbW9kZWwsIGNtZF0gPSBpbml0KHRoaXMucHJvcHMpO1xuXG4gICAgICAgIHRoaXMuY29tcG9uZW50TmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMuY3VycmVudE1vZGVsID0gbW9kZWw7XG4gICAgICAgIHRoaXMuaW5pdENtZCA9IGNtZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyBjYWxsZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGxvYWRlZC5cbiAgICAgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cbiAgICAgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG4gICAgICovXG4gICAgcHVibGljIGNvbXBvbmVudERpZE1vdW50ICgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3VudGVkID0gdHJ1ZTtcblxuICAgICAgICBpZiAodGhpcy5pbml0Q21kKSB7XG4gICAgICAgICAgICB0aGlzLmV4ZWNDbWQodGhpcy5pbml0Q21kKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdENtZCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyBjYWxsZWQgYmVmb3JlIHVubG9hZGluZyB0aGUgY29tcG9uZW50LlxuICAgICAqIFdoZW4gaW1wbGVtZW50aW5nIHRoaXMgbWV0aG9kLCB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYmUgY2FsbGVkLlxuICAgICAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgY29tcG9uZW50V2lsbFVubW91bnQgKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdW50ZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4ZWNDbWQgKGNtZDogQ21kPFRNc2c+KTogdm9pZCB7XG4gICAgICAgIGNtZC5mb3JFYWNoKGNhbGwgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjYWxsKHRoaXMuZGlzcGF0Y2gpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXg6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgICBMb2dnZXJTZXJ2aWNlPy5lcnJvcihleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbW9kZWwuXG4gICAgICogQHJlYWRvbmx5XG4gICAgICogQHR5cGUge1JlYWRvbmx5PFRNb2RlbD59XG4gICAgICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgbW9kZWwgKCk6IFJlYWRvbmx5PFRNb2RlbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TW9kZWw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzcGF0Y2hlcyBhIG1lc3NhZ2UuXG4gICAgICogQHBhcmFtIHtUTXNnfSBtc2cgVGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2guXG4gICAgICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBkaXNwYXRjaCA9IChtc2c6IFRNc2cpOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgbW9kZWxIYXNDaGFuZ2VkID0gKG1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4pOiBib29sZWFuID0+IG1vZGVsICE9PSB0aGlzLmN1cnJlbnRNb2RlbCAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhtb2RlbCkubGVuZ3RoID4gMDtcblxuICAgICAgICBpZiAoZGlzcGF0Y2hNaWRkbGV3YXJlKSB7XG4gICAgICAgICAgICBkaXNwYXRjaE1pZGRsZXdhcmUobXNnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnJlZW50ZXJlZCkge1xuICAgICAgICAgICAgdGhpcy5idWZmZXIucHVzaChtc2cpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZWVudGVyZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICBsZXQgbmV4dE1zZzogVE1zZyB8IHVuZGVmaW5lZCA9IG1zZztcbiAgICAgICAgICAgIGxldCBtb2RpZmllZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICB3aGlsZSAobmV4dE1zZykge1xuICAgICAgICAgICAgICAgIExvZ2dlclNlcnZpY2U/LmluZm8oXCJFbG1cIiwgXCJtZXNzYWdlIGZyb21cIiwgdGhpcy5jb21wb25lbnROYW1lLCBuZXh0TXNnLm5hbWUpO1xuICAgICAgICAgICAgICAgIExvZ2dlclNlcnZpY2U/LmRlYnVnKFwiRWxtXCIsIFwibWVzc2FnZSBmcm9tXCIsIHRoaXMuY29tcG9uZW50TmFtZSwgbmV4dE1zZyk7XG5cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBbbW9kZWwsIGNtZF0gPSB0aGlzLnVwZGF0ZSh0aGlzLmN1cnJlbnRNb2RlbCwgbmV4dE1zZywgdGhpcy5wcm9wcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKG1vZGVsSGFzQ2hhbmdlZChtb2RlbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudE1vZGVsID0geyAuLi50aGlzLmN1cnJlbnRNb2RlbCwgLi4ubW9kZWwgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChjbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhlY0NtZChjbWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXg6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgICAgICAgTG9nZ2VyU2VydmljZT8uZXJyb3IoZXgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG5leHRNc2cgPSB0aGlzLmJ1ZmZlci5zaGlmdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5yZWVudGVyZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgaWYgKHRoaXMubW91bnRlZCAmJiBtb2RpZmllZCkge1xuICAgICAgICAgICAgICAgIExvZ2dlclNlcnZpY2U/LmRlYnVnKFwiRWxtXCIsIFwidXBkYXRlIG1vZGVsIGZvclwiLCB0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuY3VycmVudE1vZGVsKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcmNlVXBkYXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gbW9kaWZ5IHRoZSBtb2RlbCBiYXNlZCBvbiBhIG1lc3NhZ2UuXG4gICAgICogQHBhcmFtIHtUTW9kZWx9IG1vZGVsIFRoZSBjdXJyZW50IG1vZGVsLlxuICAgICAqIEBwYXJhbSB7VE1zZ30gbXNnIFRoZSBtZXNzYWdlIHRvIHByb2Nlc3MuXG4gICAgICogQHBhcmFtIHtUUHJvcHN9IHByb3BzIFRoZSBwcm9wcyBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEByZXR1cm5zIFRoZSBuZXcgbW9kZWwgKGNhbiBhbHNvIGJlIGFuIGVtcHR5IG9iamVjdCB7fSkgYW5kIGFuIG9wdGlvbmFsIG5ldyBtZXNzYWdlIHRvIGRpc3BhdGNoLlxuICAgICAqIEBhYnN0cmFjdFxuICAgICAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgdXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1zZz47XG59Il19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { UpdateReturnType } from "./Types";
|
|
2
|
+
/**
|
|
3
|
+
* Error message object.
|
|
4
|
+
* Add this to your Message type.
|
|
5
|
+
*/
|
|
6
|
+
interface ErrorMessage {
|
|
7
|
+
name: "error";
|
|
8
|
+
error: Error;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* This object contains the function to create an error message.
|
|
12
|
+
* Spread this into your Msg object.
|
|
13
|
+
*/
|
|
14
|
+
declare const errorMsg: {
|
|
15
|
+
error: (error: Error) => ErrorMessage;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Creates an object to handle error messages in an update map.
|
|
19
|
+
* Spread this into your `UpdateMap`.
|
|
20
|
+
* @returns An object containing an error handler function.
|
|
21
|
+
*/
|
|
22
|
+
declare function errorHandler<TModel, TMessage>(): {
|
|
23
|
+
error: (msg: ErrorMessage) => UpdateReturnType<TModel, TMessage>;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Handles an error.
|
|
27
|
+
* Logs the error if a Logger was specified.
|
|
28
|
+
* Calls the error handling middleware if specified.
|
|
29
|
+
* @param {Error} error The error.
|
|
30
|
+
*/
|
|
31
|
+
declare function handleError<TModel, TMsg>(error: Error): UpdateReturnType<TModel, TMsg>;
|
|
32
|
+
export type { ErrorMessage };
|
|
33
|
+
export { errorMsg, errorHandler, handleError, };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.errorHandler = errorHandler;
|
|
7
|
+
exports.errorMsg = void 0;
|
|
8
|
+
exports.handleError = handleError;
|
|
9
|
+
|
|
10
|
+
var _Init = require("./Init");
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* This object contains the function to create an error message.
|
|
14
|
+
* Spread this into your Msg object.
|
|
15
|
+
*/
|
|
16
|
+
var errorMsg = {
|
|
17
|
+
error: function error(_error) {
|
|
18
|
+
return {
|
|
19
|
+
name: "error",
|
|
20
|
+
error: _error
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Creates an object to handle error messages in an update map.
|
|
26
|
+
* Spread this into your `UpdateMap`.
|
|
27
|
+
* @returns An object containing an error handler function.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
exports.errorMsg = errorMsg;
|
|
31
|
+
|
|
32
|
+
function errorHandler() {
|
|
33
|
+
return {
|
|
34
|
+
error: function error(_ref) {
|
|
35
|
+
var error = _ref.error;
|
|
36
|
+
return handleError(error);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Handles an error.
|
|
42
|
+
* Logs the error if a Logger was specified.
|
|
43
|
+
* Calls the error handling middleware if specified.
|
|
44
|
+
* @param {Error} error The error.
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
function handleError(error) {
|
|
49
|
+
if (_Init.errorMiddleware) {
|
|
50
|
+
(0, _Init.errorMiddleware)(error);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
_Init.LoggerService === null || _Init.LoggerService === void 0 ? void 0 : _Init.LoggerService.error(error);
|
|
54
|
+
return [{}];
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9FcnJvckhhbmRsaW5nLnRzIl0sIm5hbWVzIjpbImVycm9yTXNnIiwiZXJyb3IiLCJuYW1lIiwiZXJyb3JIYW5kbGVyIiwiaGFuZGxlRXJyb3IiLCJlcnJvck1pZGRsZXdhcmUiLCJMb2dnZXJTZXJ2aWNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQU1BLFFBQVEsR0FBRztBQUNiQyxFQUFBQSxLQUFLLEVBQUUsZUFBQ0EsTUFBRDtBQUFBLFdBQWlDO0FBQUVDLE1BQUFBLElBQUksRUFBRSxPQUFSO0FBQWlCRCxNQUFBQSxLQUFLLEVBQUxBO0FBQWpCLEtBQWpDO0FBQUE7QUFETSxDQUFqQjtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFDQSxTQUFTRSxZQUFULEdBQWlIO0FBQzdHLFNBQU87QUFDSEYsSUFBQUEsS0FERyx1QkFDZTtBQUFBLFVBQVRBLEtBQVMsUUFBVEEsS0FBUztBQUNkLGFBQU9HLFdBQVcsQ0FBQ0gsS0FBRCxDQUFsQjtBQUNIO0FBSEUsR0FBUDtBQUtIO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxTQUFTRyxXQUFULENBQW9DSCxLQUFwQyxFQUFrRjtBQUM5RSxNQUFJSSxxQkFBSixFQUFxQjtBQUNqQiwrQkFBZ0JKLEtBQWhCO0FBQ0g7O0FBQ0RLLGdHQUFlTCxLQUFmLENBQXFCQSxLQUFyQjtBQUVBLFNBQU8sQ0FBQyxFQUFELENBQVA7QUFDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVycm9yTWlkZGxld2FyZSwgTG9nZ2VyU2VydmljZSB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB7IFVwZGF0ZVJldHVyblR5cGUgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIEVycm9yIG1lc3NhZ2Ugb2JqZWN0LlxuICogQWRkIHRoaXMgdG8geW91ciBNZXNzYWdlIHR5cGUuXG4gKi9cbmludGVyZmFjZSBFcnJvck1lc3NhZ2Uge1xuICAgIG5hbWU6IFwiZXJyb3JcIixcbiAgICBlcnJvcjogRXJyb3IsXG59XG5cbi8qKlxuICogVGhpcyBvYmplY3QgY29udGFpbnMgdGhlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhbiBlcnJvciBtZXNzYWdlLlxuICogU3ByZWFkIHRoaXMgaW50byB5b3VyIE1zZyBvYmplY3QuXG4gKi9cbmNvbnN0IGVycm9yTXNnID0ge1xuICAgIGVycm9yOiAoZXJyb3I6IEVycm9yKTogRXJyb3JNZXNzYWdlID0+ICh7IG5hbWU6IFwiZXJyb3JcIiwgZXJyb3IgfSksXG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gb2JqZWN0IHRvIGhhbmRsZSBlcnJvciBtZXNzYWdlcyBpbiBhbiB1cGRhdGUgbWFwLlxuICogU3ByZWFkIHRoaXMgaW50byB5b3VyIGBVcGRhdGVNYXBgLlxuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgYW4gZXJyb3IgaGFuZGxlciBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gZXJyb3JIYW5kbGVyPFRNb2RlbCwgVE1lc3NhZ2U+ICgpOiB7IGVycm9yOiAobXNnOiBFcnJvck1lc3NhZ2UpID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4gfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZXJyb3IgKHsgZXJyb3IgfSkge1xuICAgICAgICAgICAgcmV0dXJuIGhhbmRsZUVycm9yKGVycm9yKTtcbiAgICAgICAgfSxcbiAgICB9O1xufVxuXG4vKipcbiAqIEhhbmRsZXMgYW4gZXJyb3IuXG4gKiBMb2dzIHRoZSBlcnJvciBpZiBhIExvZ2dlciB3YXMgc3BlY2lmaWVkLlxuICogQ2FsbHMgdGhlIGVycm9yIGhhbmRsaW5nIG1pZGRsZXdhcmUgaWYgc3BlY2lmaWVkLlxuICogQHBhcmFtIHtFcnJvcn0gZXJyb3IgVGhlIGVycm9yLlxuICovXG5mdW5jdGlvbiBoYW5kbGVFcnJvcjxUTW9kZWwsIFRNc2c+IChlcnJvcjogRXJyb3IpOiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1zZz4ge1xuICAgIGlmIChlcnJvck1pZGRsZXdhcmUpIHtcbiAgICAgICAgZXJyb3JNaWRkbGV3YXJlKGVycm9yKTtcbiAgICB9XG4gICAgTG9nZ2VyU2VydmljZT8uZXJyb3IoZXJyb3IpO1xuXG4gICAgcmV0dXJuIFt7fV07XG59XG5cbmV4cG9ydCB0eXBlIHsgRXJyb3JNZXNzYWdlIH07XG5cbmV4cG9ydCB7XG4gICAgZXJyb3JNc2csXG4gICAgZXJyb3JIYW5kbGVyLFxuICAgIGhhbmRsZUVycm9yLFxufTsiXX0=
|
package/dist/Testing/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { MessageBase, Nullable, UpdateMap } from "../
|
|
1
|
+
import { MessageBase, Nullable, UpdateMap, UpdateReturnType } from "../Types";
|
|
2
2
|
import { Cmd } from "../Cmd";
|
|
3
|
-
import { UpdateReturnType } from "../ElmComponent";
|
|
4
3
|
/**
|
|
5
4
|
* Executes a single command created by one of the ofPromise functions.
|
|
6
5
|
* @param cmd The command to process.
|
package/dist/Testing/index.js
CHANGED
|
@@ -145,4 +145,4 @@ function getUpdateFn(updateMap) {
|
|
|
145
145
|
return (0, _useElmish.callUpdateMap)(updateMap, msg, model, props);
|
|
146
146
|
};
|
|
147
147
|
}
|
|
148
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
148
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9UZXN0aW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbInJ1blNpbmdsZU9mUHJvbWlzZUNtZCIsImNtZCIsIlByb21pc2UiLCJyZXNvbHZlIiwiZGlzcGF0Y2giLCJnZXRPZk1zZ1BhcmFtcyIsIm1zZ05hbWVzIiwibXNnIiwicHVzaCIsIm1hcCIsImN1cnJlbnRDbWQiLCJleGVjQ21kIiwiY2FsbGVycyIsInJlamVjdCIsImVycm9yIiwiYWxsIiwicmVzdWx0cyIsImdldFVwZGF0ZUZuIiwidXBkYXRlTWFwIiwibW9kZWwiLCJwcm9wcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUNBOzs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO1NBQ3NCQSxxQjs7O0FBUXRCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7bUZBWk8saUJBQTRDQyxHQUE1QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsNkNBQ0ksSUFBSUMsT0FBSixDQUFrQixVQUFBQyxPQUFPLEVBQUk7QUFDaEMsa0JBQU1DLFFBQVEsR0FBRyxTQUFYQSxRQUFXO0FBQUEsdUJBQVlELE9BQU8sRUFBbkI7QUFBQSxlQUFqQjs7QUFFQUYsY0FBQUEsR0FBRyxDQUFDLENBQUQsQ0FBSCxDQUFPRyxRQUFQO0FBQ0gsYUFKTSxDQURKOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEc7Ozs7QUFhQSxTQUFTQyxjQUFULENBQStCSixHQUEvQixFQUF5RDtBQUM1RCxNQUFNSyxRQUFpQixHQUFHLEVBQTFCOztBQUVBLE1BQU1GLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQUNHLEdBQUQsRUFBcUI7QUFDbENELElBQUFBLFFBQVEsQ0FBQ0UsSUFBVCxDQUFjRCxHQUFkO0FBQ0gsR0FGRDs7QUFJQU4sRUFBQUEsR0FBRyxTQUFILElBQUFBLEdBQUcsV0FBSCxZQUFBQSxHQUFHLENBQUVRLEdBQUwsQ0FBUyxVQUFBQyxVQUFVO0FBQUEsV0FBSUEsVUFBVSxDQUFDTixRQUFELENBQWQ7QUFBQSxHQUFuQjtBQUVBLFNBQU9FLFFBQVA7QUFDSDtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztTQUNzQkssTzs7Ozs7cUVBQWYsa0JBQThCVixHQUE5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxnQkFDRUEsR0FERjtBQUFBO0FBQUE7QUFBQTs7QUFBQSw4Q0FFUSxFQUZSOztBQUFBO0FBS0dXLFlBQUFBLE9BTEgsR0FLYVgsR0FBRyxDQUFDUSxHQUFKO0FBQUEsaUZBQVEsa0JBQU1DLFVBQU47QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBEQUFvQixJQUFJUixPQUFKLENBQTRCLFVBQUNDLE9BQUQsRUFBVVUsTUFBVixFQUFxQjtBQUN6Riw4QkFBTVQsUUFBUSxHQUFHLFNBQVhBLFFBQVcsQ0FBQ0csR0FBRDtBQUFBLG1DQUFxQkosT0FBTyxDQUFDSSxHQUFELENBQTVCO0FBQUEsMkJBQWpCOztBQUVBRywwQkFBQUEsVUFBVSxDQUFDTixRQUFELEVBQVcsVUFBQVUsS0FBSyxFQUFJO0FBQzFCLGdDQUFJQSxLQUFKLEVBQVc7QUFDUEQsOEJBQUFBLE1BQU0sQ0FBQ0MsS0FBRCxDQUFOO0FBQ0gsNkJBRkQsTUFFTztBQUNIWCw4QkFBQUEsT0FBTyxDQUFDLElBQUQsQ0FBUDtBQUNIO0FBQ0osMkJBTlMsQ0FBVjtBQU9ILHlCQVYyQyxDQUFwQjs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxlQUFSOztBQUFBO0FBQUE7QUFBQTtBQUFBLGdCQUxiO0FBQUE7QUFBQSxtQkFpQm1CRCxPQUFPLENBQUNhLEdBQVIsQ0FBWUgsT0FBWixDQWpCbkI7O0FBQUE7QUFpQkdJLFlBQUFBLE9BakJIO0FBQUEsOENBbUJJQSxPQW5CSjs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHOzs7O0FBc0JBLFNBQVNDLFdBQVQsQ0FBb0VDLFNBQXBFLEVBQXlNO0FBQzVNLFNBQU8sVUFBVVgsR0FBVixFQUF5QlksS0FBekIsRUFBd0NDLEtBQXhDLEVBQTJGO0FBQzlGLFdBQU8sOEJBQWNGLFNBQWQsRUFBeUJYLEdBQXpCLEVBQThCWSxLQUE5QixFQUFxQ0MsS0FBckMsQ0FBUDtBQUNILEdBRkQ7QUFHSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VCYXNlLCBOdWxsYWJsZSwgVXBkYXRlTWFwLCBVcGRhdGVSZXR1cm5UeXBlIH0gZnJvbSBcIi4uL1R5cGVzXCI7XG5pbXBvcnQgeyBjYWxsVXBkYXRlTWFwIH0gZnJvbSBcIi4uL3VzZUVsbWlzaFwiO1xuaW1wb3J0IHsgQ21kIH0gZnJvbSBcIi4uL0NtZFwiO1xuXG4vKipcbiAqIEV4ZWN1dGVzIGEgc2luZ2xlIGNvbW1hbmQgY3JlYXRlZCBieSBvbmUgb2YgdGhlIG9mUHJvbWlzZSBmdW5jdGlvbnMuXG4gKiBAcGFyYW0gY21kIFRoZSBjb21tYW5kIHRvIHByb2Nlc3MuXG4gKiBAZGVwcmVjYXRlZCBVc2UgZXhlY0NtZCBpbnN0ZWFkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuU2luZ2xlT2ZQcm9taXNlQ21kPFRNc2c+IChjbWQ6IENtZDxUTXNnPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHtcbiAgICAgICAgY29uc3QgZGlzcGF0Y2ggPSAoKTogdm9pZCA9PiByZXNvbHZlKCk7XG5cbiAgICAgICAgY21kWzBdKGRpc3BhdGNoKTtcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBFeHRyYWN0cyB0aGUgbWVzc2FnZXMgb3V0IG9mIGEgY29tbWFuZC5cbiAqIEBwYXJhbSBjbWQgVGhlIGNvbW1hbmQgdG8gcHJvY2Vzcy5cbiAqIEByZXR1cm5zIFRoZSBhcnJheSBvZiBtZXNzYWdlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9mTXNnUGFyYW1zPFRNc2c+IChjbWQ/OiBDbWQ8VE1zZz4pOiBUTXNnIFtdIHtcbiAgICBjb25zdCBtc2dOYW1lczogVE1zZyBbXSA9IFtdO1xuXG4gICAgY29uc3QgZGlzcGF0Y2ggPSAobXNnOiBUTXNnKTogdm9pZCA9PiB7XG4gICAgICAgIG1zZ05hbWVzLnB1c2gobXNnKTtcbiAgICB9O1xuXG4gICAgY21kPy5tYXAoY3VycmVudENtZCA9PiBjdXJyZW50Q21kKGRpc3BhdGNoKSk7XG5cbiAgICByZXR1cm4gbXNnTmFtZXM7XG59XG5cbi8qKlxuICogRXhlY3V0ZXMgYWxsIGNvbW1hbmRzIGFuZCByZXNvbHZlcyB0aGUgbWVzc2FnZXMuXG4gKiBAcGFyYW0gY21kIFRoZSBjb21tYW5kIHRvIHByb2Nlc3MuXG4gKiBAcmV0dXJucyBUaGUgYXJyYXkgb2YgcHJvY2Vzc2VkIG1lc3NhZ2VzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhlY0NtZDxUTXNnPiAoY21kPzogQ21kPFRNc2c+KTogUHJvbWlzZTxOdWxsYWJsZTxUTXNnPiBbXT4ge1xuICAgIGlmICghY21kKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBjYWxsZXJzID0gY21kLm1hcChhc3luYyBjdXJyZW50Q21kID0+IG5ldyBQcm9taXNlPE51bGxhYmxlPFRNc2c+PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGRpc3BhdGNoID0gKG1zZzogVE1zZyk6IHZvaWQgPT4gcmVzb2x2ZShtc2cpO1xuXG4gICAgICAgIGN1cnJlbnRDbWQoZGlzcGF0Y2gsIGVycm9yID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pKTtcblxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChjYWxsZXJzKTtcblxuICAgIHJldHVybiByZXN1bHRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VXBkYXRlRm48VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZUJhc2U+ICh1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KTogKG1zZzogVE1lc3NhZ2UsIG1vZGVsOiBUTW9kZWwsIHByb3BzOiBUUHJvcHMpID0+IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiAobXNnOiBUTWVzc2FnZSwgbW9kZWw6IFRNb2RlbCwgcHJvcHM6IFRQcm9wcyk6IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuICAgICAgICByZXR1cm4gY2FsbFVwZGF0ZU1hcCh1cGRhdGVNYXAsIG1zZywgbW9kZWwsIHByb3BzKTtcbiAgICB9O1xufSJdfQ==
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
/**
|
|
3
|
-
* Handles an error.
|
|
4
|
-
* Logs the error if a Logger was specified.
|
|
5
|
-
* Calls the error handling middleware if specified.
|
|
6
|
-
* @param {Error} error The error.
|
|
7
|
-
*/
|
|
8
|
-
export declare const handleError: <TModel, TMsg>(error: Error) => UpdateReturnType<TModel, TMsg>;
|
|
1
|
+
import { Cmd } from "./Cmd";
|
|
9
2
|
export declare type Nullable<T> = T | null;
|
|
10
3
|
export interface MessageBase {
|
|
11
4
|
name: string | symbol;
|
|
@@ -16,6 +9,13 @@ export interface MessageBase {
|
|
|
16
9
|
export interface MsgSource<T extends string> {
|
|
17
10
|
source: T;
|
|
18
11
|
}
|
|
12
|
+
export declare type InitResult<TModel, TMessage> = [TModel, Cmd<TMessage>?];
|
|
13
|
+
export declare type InitFunction<TProps, TModel, TMessage> = (props: TProps) => InitResult<TModel, TMessage>;
|
|
14
|
+
/**
|
|
15
|
+
* Type for the return value of the update function.
|
|
16
|
+
*/
|
|
17
|
+
export declare type UpdateReturnType<TModel, TMsg> = [Partial<TModel>, Cmd<TMsg>?];
|
|
18
|
+
export declare type UpdateFunction<TProps, TModel, TMsg> = (model: TModel, msg: TMsg, props: TProps) => UpdateReturnType<TModel, TMsg>;
|
|
19
19
|
/**
|
|
20
20
|
* Type for mapping messages to functions.
|
|
21
21
|
* Use this type to create your update logic for the useElmishMap hook.
|
|
@@ -23,10 +23,3 @@ export interface MsgSource<T extends string> {
|
|
|
23
23
|
export declare type UpdateMap<TProps, TModel, TMsg extends MessageBase> = {
|
|
24
24
|
[M in TMsg as M["name"]]: (msg: M, model: TModel, props: TProps) => UpdateReturnType<TModel, TMsg>;
|
|
25
25
|
};
|
|
26
|
-
export interface ErrorMessage {
|
|
27
|
-
name: "error";
|
|
28
|
-
error: Error;
|
|
29
|
-
}
|
|
30
|
-
export declare const errorMsg: {
|
|
31
|
-
error: (error: Error) => ErrorMessage;
|
|
32
|
-
};
|
package/dist/Types.js
ADDED
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Cmd, createCmd, Dispatch } from "./Cmd";
|
|
2
|
-
import {
|
|
3
|
-
import { ErrorMessage, handleError, MsgSource, UpdateMap } from "./ElmUtilities";
|
|
2
|
+
import { errorHandler, ErrorMessage, errorMsg, handleError } from "./ErrorHandling";
|
|
4
3
|
import { init, Logger, Message } from "./Init";
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
import { InitResult, MsgSource, UpdateMap, UpdateReturnType } from "./Types";
|
|
5
|
+
import { SubscriptionResult, useElmish } from "./useElmish";
|
|
6
|
+
import { ElmComponent } from "./ElmComponent";
|
|
7
|
+
export type { Logger, Message, Cmd, Dispatch, InitResult, UpdateReturnType, SubscriptionResult, MsgSource, UpdateMap, ErrorMessage, };
|
|
8
|
+
export { init, createCmd, ElmComponent, errorMsg, errorHandler, handleError, useElmish, };
|
package/dist/index.js
CHANGED
|
@@ -15,10 +15,22 @@ Object.defineProperty(exports, "createCmd", {
|
|
|
15
15
|
return _Cmd.createCmd;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
+
Object.defineProperty(exports, "errorHandler", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _ErrorHandling.errorHandler;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "errorMsg", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _ErrorHandling.errorMsg;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
18
30
|
Object.defineProperty(exports, "handleError", {
|
|
19
31
|
enumerable: true,
|
|
20
32
|
get: function get() {
|
|
21
|
-
return
|
|
33
|
+
return _ErrorHandling.handleError;
|
|
22
34
|
}
|
|
23
35
|
});
|
|
24
36
|
Object.defineProperty(exports, "init", {
|
|
@@ -36,11 +48,11 @@ Object.defineProperty(exports, "useElmish", {
|
|
|
36
48
|
|
|
37
49
|
var _Cmd = require("./Cmd");
|
|
38
50
|
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
var _ElmUtilities = require("./ElmUtilities");
|
|
51
|
+
var _ErrorHandling = require("./ErrorHandling");
|
|
42
52
|
|
|
43
53
|
var _Init = require("./Init");
|
|
44
54
|
|
|
45
55
|
var _useElmish = require("./useElmish");
|
|
46
|
-
|
|
56
|
+
|
|
57
|
+
var _ElmComponent = require("./ElmComponent");
|
|
58
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENtZCwgY3JlYXRlQ21kLCBEaXNwYXRjaCB9IGZyb20gXCIuL0NtZFwiO1xuaW1wb3J0IHsgZXJyb3JIYW5kbGVyLCBFcnJvck1lc3NhZ2UsIGVycm9yTXNnLCBoYW5kbGVFcnJvciB9IGZyb20gXCIuL0Vycm9ySGFuZGxpbmdcIjtcbmltcG9ydCB7IGluaXQsIExvZ2dlciwgTWVzc2FnZSB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB7IEluaXRSZXN1bHQsIE1zZ1NvdXJjZSwgVXBkYXRlTWFwLCBVcGRhdGVSZXR1cm5UeXBlIH0gZnJvbSBcIi4vVHlwZXNcIjtcbmltcG9ydCB7IFN1YnNjcmlwdGlvblJlc3VsdCwgdXNlRWxtaXNoIH0gZnJvbSBcIi4vdXNlRWxtaXNoXCI7XG5pbXBvcnQgeyBFbG1Db21wb25lbnQgfSBmcm9tIFwiLi9FbG1Db21wb25lbnRcIjtcblxuZXhwb3J0IHR5cGUge1xuICAgIExvZ2dlcixcbiAgICBNZXNzYWdlLFxuICAgIENtZCxcbiAgICBEaXNwYXRjaCxcbiAgICBJbml0UmVzdWx0LFxuICAgIFVwZGF0ZVJldHVyblR5cGUsXG4gICAgU3Vic2NyaXB0aW9uUmVzdWx0LFxuICAgIE1zZ1NvdXJjZSxcbiAgICBVcGRhdGVNYXAsXG4gICAgRXJyb3JNZXNzYWdlLFxufTtcblxuZXhwb3J0IHtcbiAgICBpbml0LFxuICAgIGNyZWF0ZUNtZCxcbiAgICBFbG1Db21wb25lbnQsXG4gICAgZXJyb3JNc2csXG4gICAgZXJyb3JIYW5kbGVyLFxuICAgIGhhbmRsZUVycm9yLFxuICAgIHVzZUVsbWlzaCxcbn07Il19
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { MessageBase } from "../
|
|
3
|
-
import { UpdateFunction } from "../ElmComponent";
|
|
1
|
+
import { Dispatch } from "../Cmd";
|
|
2
|
+
import { InitFunction, MessageBase, UpdateFunction } from "../Types";
|
|
4
3
|
/**
|
|
5
4
|
* Hook to use the Elm architecture pattern in a function component.
|
|
6
5
|
* @param props The props of the component.
|
|
@@ -12,4 +11,4 @@ import { UpdateFunction } from "../ElmComponent";
|
|
|
12
11
|
* const [model, dispatch] = useElmish(props, init, update, "MyComponent");
|
|
13
12
|
* @deprecated Use `useElmish` with an options object instead.
|
|
14
13
|
*/
|
|
15
|
-
export declare function useElmish<TProps, TModel, TMsg extends MessageBase>(props: TProps, init:
|
|
14
|
+
export declare function useElmish<TProps, TModel, TMsg extends MessageBase>(props: TProps, init: InitFunction<TProps, TModel, TMsg>, update: UpdateFunction<TProps, TModel, TMsg>, name: string): [TModel, Dispatch<TMsg>];
|