react-elmish 5.0.1 → 5.1.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +80 -105
- package/dist/Cmd.js +3 -20
- package/dist/Common.js +1 -6
- package/dist/ElmComponent.js +14 -68
- package/dist/ErrorHandling.js +3 -9
- package/dist/Init.js +2 -3
- package/dist/Testing/createUpdateArgsFactory.js +1 -5
- package/dist/Testing/execCmd.js +2 -16
- package/dist/Testing/fakeOptions.js +2 -4
- package/dist/Testing/getOfMsgParams.js +1 -4
- package/dist/Testing/getUpdateFn.js +1 -3
- package/dist/Testing/index.js +1 -6
- package/dist/Testing/renderWithModel.js +1 -4
- package/dist/index.js +1 -6
- package/dist/useElmish.js +19 -55
- package/installScript.js +4 -0
- package/package.json +13 -12
package/dist/index.js
CHANGED
|
@@ -45,14 +45,9 @@ Object.defineProperty(exports, "useElmish", {
|
|
|
45
45
|
return _useElmish.useElmish;
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
-
|
|
49
48
|
var _Cmd = require("./Cmd");
|
|
50
|
-
|
|
51
49
|
var _ElmComponent = require("./ElmComponent");
|
|
52
|
-
|
|
53
50
|
var _ErrorHandling = require("./ErrorHandling");
|
|
54
|
-
|
|
55
51
|
var _Init = require("./Init");
|
|
56
|
-
|
|
57
52
|
var _useElmish = require("./useElmish");
|
|
58
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENtZCwgY3JlYXRlQ21kLCBEaXNwYXRjaCB9IGZyb20gXCIuL0NtZFwiO1xuaW1wb3J0IHsgRWxtQ29tcG9uZW50IH0gZnJvbSBcIi4vRWxtQ29tcG9uZW50XCI7XG5pbXBvcnQgeyBlcnJvckhhbmRsZXIsIEVycm9yTWVzc2FnZSwgZXJyb3JNc2csIGhhbmRsZUVycm9yIH0gZnJvbSBcIi4vRXJyb3JIYW5kbGluZ1wiO1xuaW1wb3J0IHsgaW5pdCwgTG9nZ2VyLCBNZXNzYWdlIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHsgSW5pdFJlc3VsdCwgTXNnU291cmNlLCBVcGRhdGVNYXAsIFVwZGF0ZVJldHVyblR5cGUgfSBmcm9tIFwiLi9UeXBlc1wiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uUmVzdWx0LCB1c2VFbG1pc2ggfSBmcm9tIFwiLi91c2VFbG1pc2hcIjtcblxuZXhwb3J0IHR5cGUge1xuICAgIExvZ2dlcixcbiAgICBNZXNzYWdlLFxuICAgIENtZCxcbiAgICBEaXNwYXRjaCxcbiAgICBJbml0UmVzdWx0LFxuICAgIFVwZGF0ZVJldHVyblR5cGUsXG4gICAgU3Vic2NyaXB0aW9uUmVzdWx0LFxuICAgIE1zZ1NvdXJjZSxcbiAgICBVcGRhdGVNYXAsXG4gICAgRXJyb3JNZXNzYWdlLFxufTtcblxuZXhwb3J0IHtcbiAgICBpbml0LFxuICAgIGNyZWF0ZUNtZCxcbiAgICBFbG1Db21wb25lbnQsXG4gICAgZXJyb3JNc2csXG4gICAgZXJyb3JIYW5kbGVyLFxuICAgIGhhbmRsZUVycm9yLFxuICAgIHVzZUVsbWlzaCxcbn07Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUEifQ==
|
package/dist/useElmish.js
CHANGED
|
@@ -6,33 +6,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.callUpdate = callUpdate;
|
|
7
7
|
exports.callUpdateMap = callUpdateMap;
|
|
8
8
|
exports.useElmish = useElmish;
|
|
9
|
-
|
|
10
9
|
var _react = require("react");
|
|
11
|
-
|
|
12
10
|
var _Common = require("./Common");
|
|
13
|
-
|
|
14
11
|
var _Init = require("./Init");
|
|
15
|
-
|
|
16
12
|
var _fakeOptions = require("./Testing/fakeOptions");
|
|
17
|
-
|
|
18
13
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
-
|
|
20
14
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
|
-
|
|
22
15
|
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; }
|
|
23
|
-
|
|
24
16
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
25
|
-
|
|
26
17
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
27
|
-
|
|
28
18
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
-
|
|
30
19
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
31
|
-
|
|
32
20
|
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
33
|
-
|
|
34
21
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
35
|
-
|
|
36
22
|
/**
|
|
37
23
|
* Hook to use the Elm architecture pattern in a function component.
|
|
38
24
|
* @param {UseElmishOptions} options The options passed the the hook.
|
|
@@ -42,21 +28,18 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
42
28
|
*/
|
|
43
29
|
function useElmish(_ref) {
|
|
44
30
|
var _fakeOptions$dispatch;
|
|
45
|
-
|
|
46
31
|
var name = _ref.name,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
32
|
+
props = _ref.props,
|
|
33
|
+
init = _ref.init,
|
|
34
|
+
update = _ref.update,
|
|
35
|
+
subscription = _ref.subscription;
|
|
51
36
|
var reentered = false;
|
|
52
37
|
var buffer = [];
|
|
53
38
|
var currentModel = {};
|
|
54
|
-
|
|
55
39
|
var _useState = (0, _react.useState)(null),
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
40
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
41
|
+
model = _useState2[0],
|
|
42
|
+
setModel = _useState2[1];
|
|
60
43
|
var propsRef = (0, _react.useRef)(props);
|
|
61
44
|
var isMountedRef = (0, _react.useRef)(true);
|
|
62
45
|
(0, _react.useEffect)(function () {
|
|
@@ -66,82 +49,66 @@ function useElmish(_ref) {
|
|
|
66
49
|
};
|
|
67
50
|
}, []);
|
|
68
51
|
var initializedModel = model;
|
|
69
|
-
|
|
70
52
|
if (propsRef.current !== props) {
|
|
71
53
|
propsRef.current = props;
|
|
72
54
|
}
|
|
73
|
-
|
|
74
55
|
var fakeOptions = (0, _fakeOptions.getFakeOptionsOnce)();
|
|
75
56
|
var dispatch = (0, _react.useCallback)((_fakeOptions$dispatch = fakeOptions === null || fakeOptions === void 0 ? void 0 : fakeOptions.dispatch) !== null && _fakeOptions$dispatch !== void 0 ? _fakeOptions$dispatch : function (msg) {
|
|
76
57
|
if (!initializedModel) {
|
|
77
58
|
return;
|
|
78
59
|
}
|
|
79
|
-
|
|
80
60
|
if (reentered) {
|
|
81
61
|
buffer.push(msg);
|
|
82
62
|
} else {
|
|
83
63
|
reentered = true;
|
|
84
64
|
var nextMsg = msg;
|
|
85
65
|
var modified = false;
|
|
86
|
-
|
|
87
66
|
while (nextMsg) {
|
|
88
67
|
(0, _Common.logMessage)(name, nextMsg);
|
|
89
|
-
|
|
90
68
|
var _callUpdate = callUpdate(update, nextMsg, _objectSpread(_objectSpread({}, initializedModel), currentModel), propsRef.current),
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
69
|
+
_callUpdate2 = _slicedToArray(_callUpdate, 2),
|
|
70
|
+
newModel = _callUpdate2[0],
|
|
71
|
+
cmd = _callUpdate2[1];
|
|
95
72
|
if ((0, _Common.modelHasChanged)(currentModel, newModel)) {
|
|
96
73
|
currentModel = _objectSpread(_objectSpread({}, currentModel), newModel);
|
|
97
74
|
modified = true;
|
|
98
75
|
}
|
|
99
|
-
|
|
100
76
|
if (cmd) {
|
|
101
77
|
(0, _Common.execCmd)(cmd, dispatch);
|
|
102
78
|
}
|
|
103
|
-
|
|
104
79
|
nextMsg = buffer.shift();
|
|
105
80
|
}
|
|
106
|
-
|
|
107
81
|
reentered = false;
|
|
108
|
-
|
|
109
82
|
if (isMountedRef.current && modified) {
|
|
110
83
|
setModel(function (prevModel) {
|
|
111
84
|
var _Services$logger;
|
|
112
|
-
|
|
113
85
|
var updatedModel = _objectSpread(_objectSpread({}, prevModel), currentModel);
|
|
114
|
-
|
|
115
86
|
(_Services$logger = _Init.Services.logger) === null || _Services$logger === void 0 ? void 0 : _Services$logger.debug("Elm", "update model for", name, updatedModel);
|
|
116
87
|
return updatedModel;
|
|
117
88
|
});
|
|
118
89
|
}
|
|
119
90
|
}
|
|
120
91
|
}, []);
|
|
121
|
-
|
|
122
92
|
if (!initializedModel) {
|
|
93
|
+
var _Services$logger2;
|
|
123
94
|
var _ref2 = fakeOptions !== null && fakeOptions !== void 0 && fakeOptions.model ? [fakeOptions.model] : init(props),
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
95
|
+
_ref3 = _slicedToArray(_ref2, 2),
|
|
96
|
+
initModel = _ref3[0],
|
|
97
|
+
initCmd = _ref3[1];
|
|
128
98
|
initializedModel = initModel;
|
|
129
99
|
setModel(initializedModel);
|
|
130
|
-
|
|
100
|
+
(_Services$logger2 = _Init.Services.logger) === null || _Services$logger2 === void 0 ? void 0 : _Services$logger2.debug("Elm", "initial model for", name, initializedModel);
|
|
131
101
|
if (initCmd) {
|
|
132
102
|
(0, _Common.execCmd)(initCmd, dispatch);
|
|
133
103
|
}
|
|
134
104
|
}
|
|
135
|
-
|
|
136
105
|
(0, _react.useEffect)(function () {
|
|
137
106
|
if (subscription) {
|
|
138
107
|
var _subscription = subscription(initializedModel, props),
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
108
|
+
_subscription2 = _slicedToArray(_subscription, 2),
|
|
109
|
+
subCmd = _subscription2[0],
|
|
110
|
+
destructor = _subscription2[1];
|
|
143
111
|
(0, _Common.execCmd)(subCmd, dispatch);
|
|
144
|
-
|
|
145
112
|
if (destructor) {
|
|
146
113
|
return destructor;
|
|
147
114
|
}
|
|
@@ -149,19 +116,16 @@ function useElmish(_ref) {
|
|
|
149
116
|
}, []);
|
|
150
117
|
return [initializedModel, dispatch];
|
|
151
118
|
}
|
|
152
|
-
|
|
153
119
|
function callUpdate(update, msg, model, props) {
|
|
154
120
|
if (typeof update === "function") {
|
|
155
121
|
return update(model, msg, props);
|
|
156
122
|
}
|
|
157
|
-
|
|
158
123
|
return callUpdateMap(update, msg, model, props);
|
|
159
124
|
}
|
|
160
|
-
|
|
161
125
|
function callUpdateMap(updateMap, msg, model, props) {
|
|
162
126
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
163
127
|
// @ts-expect-error -- We know that msg fits
|
|
164
128
|
var updateFn = updateMap[msg.name];
|
|
165
129
|
return updateFn(msg, model, props);
|
|
166
130
|
}
|
|
167
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFbG1pc2giLCJuYW1lIiwicHJvcHMiLCJpbml0IiwidXBkYXRlIiwic3Vic2NyaXB0aW9uIiwicmVlbnRlcmVkIiwiYnVmZmVyIiwiY3VycmVudE1vZGVsIiwidXNlU3RhdGUiLCJtb2RlbCIsInNldE1vZGVsIiwicHJvcHNSZWYiLCJ1c2VSZWYiLCJpc01vdW50ZWRSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwiaW5pdGlhbGl6ZWRNb2RlbCIsImZha2VPcHRpb25zIiwiZ2V0RmFrZU9wdGlvbnNPbmNlIiwiZGlzcGF0Y2giLCJ1c2VDYWxsYmFjayIsIm1zZyIsInB1c2giLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJsb2dNZXNzYWdlIiwiY2FsbFVwZGF0ZSIsIm5ld01vZGVsIiwiY21kIiwibW9kZWxIYXNDaGFuZ2VkIiwiZXhlY0NtZCIsInNoaWZ0IiwicHJldk1vZGVsIiwidXBkYXRlZE1vZGVsIiwiU2VydmljZXMiLCJsb2dnZXIiLCJkZWJ1ZyIsImluaXRNb2RlbCIsImluaXRDbWQiLCJzdWJDbWQiLCJkZXN0cnVjdG9yIiwiY2FsbFVwZGF0ZU1hcCIsInVwZGF0ZU1hcCIsInVwZGF0ZUZuIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZUVsbWlzaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHMgKi9cbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENtZCwgRGlzcGF0Y2ggfSBmcm9tIFwiLi9DbWRcIjtcbmltcG9ydCB7IGV4ZWNDbWQsIGxvZ01lc3NhZ2UsIG1vZGVsSGFzQ2hhbmdlZCB9IGZyb20gXCIuL0NvbW1vblwiO1xuaW1wb3J0IHsgU2VydmljZXMgfSBmcm9tIFwiLi9Jbml0XCI7XG5pbXBvcnQgeyBnZXRGYWtlT3B0aW9uc09uY2UgfSBmcm9tIFwiLi9UZXN0aW5nL2Zha2VPcHRpb25zXCI7XG5pbXBvcnQgeyBJbml0RnVuY3Rpb24sIE1lc3NhZ2VCYXNlLCBOdWxsYWJsZSwgVXBkYXRlRnVuY3Rpb24sIFVwZGF0ZU1hcCwgVXBkYXRlUmV0dXJuVHlwZSB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbi8qKlxuICogVGhlIHJldHVybiB0eXBlIG9mIHRoZSBgc3Vic2NyaXB0aW9uYCBmdW5jdGlvbi5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqL1xudHlwZSBTdWJzY3JpcHRpb25SZXN1bHQ8VE1lc3NhZ2U+ID0gW0NtZDxUTWVzc2FnZT4sICgoKSA9PiB2b2lkKT9dO1xudHlwZSBTdWJzY3JpcHRpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiA9IChtb2RlbDogVE1vZGVsLCBwcm9wczogVFByb3BzKSA9PiBTdWJzY3JpcHRpb25SZXN1bHQ8VE1lc3NhZ2U+O1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBgdXNlRWxtaXNoYCBob29rLlxuICogQGludGVyZmFjZSBVc2VFbG1pc2hPcHRpb25zXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqIEB0ZW1wbGF0ZSBUTW9kZWwgVGhlIHR5cGUgb2YgdGhlIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNZXNzYWdlIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlcyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5pbnRlcmZhY2UgVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlQmFzZT4ge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBjb21wb25lbnQuIFRoaXMgaXMgdXNlZCBmb3IgbG9nZ2luZyBvbmx5LlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBwcm9wcyBwYXNzZWQgdG8gdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAdHlwZSB7VFByb3BzfVxuICAgICAqL1xuICAgIHByb3BzOiBUUHJvcHMsXG4gICAgLyoqXG4gICAgICogVGhlIGZ1bmN0aW9uIHRvIGluaXRpYWxpemUgdGhlIGNvbXBvbmVudHMgbW9kZWwuIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb25jZS5cbiAgICAgKiBAdHlwZSB7SW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT59XG4gICAgICovXG4gICAgaW5pdDogSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4gICAgLyoqXG4gICAgICogVGhlIGB1cGRhdGVgIGZ1bmN0aW9uIG9yIHVwZGF0ZSBtYXAgb2JqZWN0LlxuICAgICAqIEB0eXBlIHsoVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KX1cbiAgICAgKi9cbiAgICB1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbiAgICAvKipcbiAgICAgKiBUaGUgb3B0aW9uYWwgYHN1YnNjcmlwdGlvbmAgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb25jZS5cbiAgICAgKiBAdHlwZSB7KFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPil9XG4gICAgICovXG4gICAgc3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG59XG5cbi8qKlxuICogSG9vayB0byB1c2UgdGhlIEVsbSBhcmNoaXRlY3R1cmUgcGF0dGVybiBpbiBhIGZ1bmN0aW9uIGNvbXBvbmVudC5cbiAqIEBwYXJhbSB7VXNlRWxtaXNoT3B0aW9uc30gb3B0aW9ucyBUaGUgb3B0aW9ucyBwYXNzZWQgdGhlIHRoZSBob29rLlxuICogQHJldHVybnMgQSB0dXBsZSBjb250YWluaW5nIHRoZSBjdXJyZW50IG1vZGVsIGFuZCB0aGUgZGlzcGF0Y2hlci5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBbbW9kZWwsIGRpc3BhdGNoXSA9IHVzZUVsbWlzaCh7IHByb3BzLCBpbml0LCB1cGRhdGUsIG5hbWU6IFwiTXlDb21wb25lbnRcIiB9KTtcbiAqL1xuZnVuY3Rpb24gdXNlRWxtaXNoPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2VCYXNlPiAoeyBuYW1lLCBwcm9wcywgaW5pdCwgdXBkYXRlLCBzdWJzY3JpcHRpb24gfTogVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KTogW1RNb2RlbCwgRGlzcGF0Y2g8VE1lc3NhZ2U+XSB7XG4gICAgbGV0IHJlZW50ZXJlZCA9IGZhbHNlO1xuICAgIGNvbnN0IGJ1ZmZlcjogVE1lc3NhZ2UgW10gPSBbXTtcbiAgICBsZXQgY3VycmVudE1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4gPSB7fTtcblxuICAgIGNvbnN0IFttb2RlbCwgc2V0TW9kZWxdID0gdXNlU3RhdGU8TnVsbGFibGU8VE1vZGVsPj4obnVsbCk7XG4gICAgY29uc3QgcHJvcHNSZWYgPSB1c2VSZWYocHJvcHMpO1xuICAgIGNvbnN0IGlzTW91bnRlZFJlZiA9IHVzZVJlZih0cnVlKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlzTW91bnRlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgaXNNb3VudGVkUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG5cbiAgICBsZXQgaW5pdGlhbGl6ZWRNb2RlbCA9IG1vZGVsO1xuXG4gICAgaWYgKHByb3BzUmVmLmN1cnJlbnQgIT09IHByb3BzKSB7XG4gICAgICAgIHByb3BzUmVmLmN1cnJlbnQgPSBwcm9wcztcbiAgICB9XG5cbiAgICBjb25zdCBmYWtlT3B0aW9ucyA9IGdldEZha2VPcHRpb25zT25jZSgpO1xuICAgIGNvbnN0IGRpc3BhdGNoID0gdXNlQ2FsbGJhY2soZmFrZU9wdGlvbnM/LmRpc3BhdGNoID8/ICgobXNnOiBUTWVzc2FnZSk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoIWluaXRpYWxpemVkTW9kZWwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZWVudGVyZWQpIHtcbiAgICAgICAgICAgIGJ1ZmZlci5wdXNoKG1zZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZWVudGVyZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICBsZXQgbmV4dE1zZzogVE1lc3NhZ2UgfCB1bmRlZmluZWQgPSBtc2c7XG4gICAgICAgICAgICBsZXQgbW9kaWZpZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgd2hpbGUgKG5leHRNc2cpIHtcbiAgICAgICAgICAgICAgICBsb2dNZXNzYWdlKG5hbWUsIG5leHRNc2cpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgW25ld01vZGVsLCBjbWRdID0gY2FsbFVwZGF0ZSh1cGRhdGUsIG5leHRNc2csIHsgLi4uaW5pdGlhbGl6ZWRNb2RlbCwgLi4uY3VycmVudE1vZGVsIH0sIHByb3BzUmVmLmN1cnJlbnQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKG1vZGVsSGFzQ2hhbmdlZChjdXJyZW50TW9kZWwsIG5ld01vZGVsKSkge1xuICAgICAgICAgICAgICAgICAgICBjdXJyZW50TW9kZWwgPSB7IC4uLmN1cnJlbnRNb2RlbCwgLi4ubmV3TW9kZWwgfTtcblxuICAgICAgICAgICAgICAgICAgICBtb2RpZmllZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGNtZCkge1xuICAgICAgICAgICAgICAgICAgICBleGVjQ21kKGNtZCwgZGlzcGF0Y2gpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG5leHRNc2cgPSBidWZmZXIuc2hpZnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlZW50ZXJlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAoaXNNb3VudGVkUmVmLmN1cnJlbnQgJiYgbW9kaWZpZWQpIHtcbiAgICAgICAgICAgICAgICBzZXRNb2RlbChwcmV2TW9kZWwgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkTW9kZWwgPSB7IC4uLnByZXZNb2RlbCBhcyBUTW9kZWwsIC4uLmN1cnJlbnRNb2RlbCB9O1xuXG4gICAgICAgICAgICAgICAgICAgIFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJFbG1cIiwgXCJ1cGRhdGUgbW9kZWwgZm9yXCIsIG5hbWUsIHVwZGF0ZWRNb2RlbCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWRNb2RlbDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pLCBbXSk7XG5cbiAgICBpZiAoIWluaXRpYWxpemVkTW9kZWwpIHtcbiAgICAgICAgY29uc3QgW2luaXRNb2RlbCwgaW5pdENtZF0gPSBmYWtlT3B0aW9ucz8ubW9kZWwgPyBbZmFrZU9wdGlvbnMubW9kZWwgYXMgVE1vZGVsXSA6IGluaXQocHJvcHMpO1xuXG4gICAgICAgIGluaXRpYWxpemVkTW9kZWwgPSBpbml0TW9kZWw7XG4gICAgICAgIHNldE1vZGVsKGluaXRpYWxpemVkTW9kZWwpO1xuXG4gICAgICAgIGlmIChpbml0Q21kKSB7XG4gICAgICAgICAgICBleGVjQ21kKGluaXRDbWQsIGRpc3BhdGNoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IFtzdWJDbWQsIGRlc3RydWN0b3JdID0gc3Vic2NyaXB0aW9uKGluaXRpYWxpemVkTW9kZWwgYXMgVE1vZGVsLCBwcm9wcyk7XG5cbiAgICAgICAgICAgIGV4ZWNDbWQoc3ViQ21kLCBkaXNwYXRjaCk7XG5cbiAgICAgICAgICAgIGlmIChkZXN0cnVjdG9yKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlc3RydWN0b3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gW2luaXRpYWxpemVkTW9kZWwsIGRpc3BhdGNoXTtcbn1cblxuZnVuY3Rpb24gY2FsbFVwZGF0ZTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlQmFzZT4gKHVwZGF0ZTogVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LCBtc2c6IFRNZXNzYWdlLCBtb2RlbDogVE1vZGVsLCBwcm9wczogVFByb3BzKTogVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiB7XG4gICAgaWYgKHR5cGVvZiB1cGRhdGUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4gdXBkYXRlKG1vZGVsLCBtc2csIHByb3BzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2FsbFVwZGF0ZU1hcCh1cGRhdGUsIG1zZywgbW9kZWwsIHByb3BzKTtcbn1cblxuZnVuY3Rpb24gY2FsbFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlQmFzZT4gKHVwZGF0ZU1hcDogVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sIG1zZzogVE1lc3NhZ2UsIG1vZGVsOiBUTW9kZWwsIHByb3BzOiBUUHJvcHMpOiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciAtLSBXZSBrbm93IHRoYXQgbXNnIGZpdHNcbiAgICBjb25zdCB1cGRhdGVGbiA9IHVwZGF0ZU1hcFttc2cubmFtZSBhcyBUTWVzc2FnZVtcIm5hbWVcIl1dIGFzIChtc2c6IFRNZXNzYWdlLCBtb2RlbDogVE1vZGVsLCBwcm9wczogVFByb3BzKSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1zZz47XG5cbiAgICByZXR1cm4gdXBkYXRlRm4obXNnLCBtb2RlbCwgcHJvcHMpO1xufVxuXG5leHBvcnQgdHlwZSB7XG4gICAgU3Vic2NyaXB0aW9uUmVzdWx0LFxufTtcblxuZXhwb3J0IHtcbiAgICB1c2VFbG1pc2gsXG4gICAgY2FsbFVwZGF0ZSxcbiAgICBjYWxsVXBkYXRlTWFwLFxufTsiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBOztBQUVBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTZDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFNBQVQsT0FBeUw7RUFBQTs7RUFBQSxJQUFySEMsSUFBcUgsUUFBckhBLElBQXFIO0VBQUEsSUFBL0dDLEtBQStHLFFBQS9HQSxLQUErRztFQUFBLElBQXhHQyxJQUF3RyxRQUF4R0EsSUFBd0c7RUFBQSxJQUFsR0MsTUFBa0csUUFBbEdBLE1BQWtHO0VBQUEsSUFBMUZDLFlBQTBGLFFBQTFGQSxZQUEwRjtFQUNyTCxJQUFJQyxTQUFTLEdBQUcsS0FBaEI7RUFDQSxJQUFNQyxNQUFtQixHQUFHLEVBQTVCO0VBQ0EsSUFBSUMsWUFBNkIsR0FBRyxFQUFwQzs7RUFFQSxnQkFBMEIsSUFBQUMsZUFBQSxFQUEyQixJQUEzQixDQUExQjtFQUFBO0VBQUEsSUFBT0MsS0FBUDtFQUFBLElBQWNDLFFBQWQ7O0VBQ0EsSUFBTUMsUUFBUSxHQUFHLElBQUFDLGFBQUEsRUFBT1gsS0FBUCxDQUFq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
|
|
131
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFbG1pc2giLCJuYW1lIiwicHJvcHMiLCJpbml0IiwidXBkYXRlIiwic3Vic2NyaXB0aW9uIiwicmVlbnRlcmVkIiwiYnVmZmVyIiwiY3VycmVudE1vZGVsIiwidXNlU3RhdGUiLCJtb2RlbCIsInNldE1vZGVsIiwicHJvcHNSZWYiLCJ1c2VSZWYiLCJpc01vdW50ZWRSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwiaW5pdGlhbGl6ZWRNb2RlbCIsImZha2VPcHRpb25zIiwiZ2V0RmFrZU9wdGlvbnNPbmNlIiwiZGlzcGF0Y2giLCJ1c2VDYWxsYmFjayIsIm1zZyIsInB1c2giLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJsb2dNZXNzYWdlIiwiY2FsbFVwZGF0ZSIsIm5ld01vZGVsIiwiY21kIiwibW9kZWxIYXNDaGFuZ2VkIiwiZXhlY0NtZCIsInNoaWZ0IiwicHJldk1vZGVsIiwidXBkYXRlZE1vZGVsIiwiU2VydmljZXMiLCJsb2dnZXIiLCJkZWJ1ZyIsImluaXRNb2RlbCIsImluaXRDbWQiLCJzdWJDbWQiLCJkZXN0cnVjdG9yIiwiY2FsbFVwZGF0ZU1hcCIsInVwZGF0ZU1hcCIsInVwZGF0ZUZuIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZUVsbWlzaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHMgKi9cbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENtZCwgRGlzcGF0Y2ggfSBmcm9tIFwiLi9DbWRcIjtcbmltcG9ydCB7IGV4ZWNDbWQsIGxvZ01lc3NhZ2UsIG1vZGVsSGFzQ2hhbmdlZCB9IGZyb20gXCIuL0NvbW1vblwiO1xuaW1wb3J0IHsgU2VydmljZXMgfSBmcm9tIFwiLi9Jbml0XCI7XG5pbXBvcnQgeyBnZXRGYWtlT3B0aW9uc09uY2UgfSBmcm9tIFwiLi9UZXN0aW5nL2Zha2VPcHRpb25zXCI7XG5pbXBvcnQgeyBJbml0RnVuY3Rpb24sIE1lc3NhZ2VCYXNlLCBOdWxsYWJsZSwgVXBkYXRlRnVuY3Rpb24sIFVwZGF0ZU1hcCwgVXBkYXRlUmV0dXJuVHlwZSB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbi8qKlxuICogVGhlIHJldHVybiB0eXBlIG9mIHRoZSBgc3Vic2NyaXB0aW9uYCBmdW5jdGlvbi5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqL1xudHlwZSBTdWJzY3JpcHRpb25SZXN1bHQ8VE1lc3NhZ2U+ID0gW0NtZDxUTWVzc2FnZT4sICgoKSA9PiB2b2lkKT9dO1xudHlwZSBTdWJzY3JpcHRpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiA9IChtb2RlbDogVE1vZGVsLCBwcm9wczogVFByb3BzKSA9PiBTdWJzY3JpcHRpb25SZXN1bHQ8VE1lc3NhZ2U+O1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBgdXNlRWxtaXNoYCBob29rLlxuICogQGludGVyZmFjZSBVc2VFbG1pc2hPcHRpb25zXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqIEB0ZW1wbGF0ZSBUTW9kZWwgVGhlIHR5cGUgb2YgdGhlIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNZXNzYWdlIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlcyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5pbnRlcmZhY2UgVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlQmFzZT4ge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBjb21wb25lbnQuIFRoaXMgaXMgdXNlZCBmb3IgbG9nZ2luZyBvbmx5LlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBwcm9wcyBwYXNzZWQgdG8gdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAdHlwZSB7VFByb3BzfVxuICAgICAqL1xuICAgIHByb3BzOiBUUHJvcHMsXG4gICAgLyoqXG4gICAgICogVGhlIGZ1bmN0aW9uIHRvIGluaXRpYWxpemUgdGhlIGNvbXBvbmVudHMgbW9kZWwuIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb25jZS5cbiAgICAgKiBAdHlwZSB7SW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT59XG4gICAgICovXG4gICAgaW5pdDogSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4gICAgLyoqXG4gICAgICogVGhlIGB1cGRhdGVgIGZ1bmN0aW9uIG9yIHVwZGF0ZSBtYXAgb2JqZWN0LlxuICAgICAqIEB0eXBlIHsoVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KX1cbiAgICAgKi9cbiAgICB1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbiAgICAvKipcbiAgICAgKiBUaGUgb3B0aW9uYWwgYHN1YnNjcmlwdGlvbmAgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb25jZS5cbiAgICAgKiBAdHlwZSB7KFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPil9XG4gICAgICovXG4gICAgc3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG59XG5cbi8qKlxuICogSG9vayB0byB1c2UgdGhlIEVsbSBhcmNoaXRlY3R1cmUgcGF0dGVybiBpbiBhIGZ1bmN0aW9uIGNvbXBvbmVudC5cbiAqIEBwYXJhbSB7VXNlRWxtaXNoT3B0aW9uc30gb3B0aW9ucyBUaGUgb3B0aW9ucyBwYXNzZWQgdGhlIHRoZSBob29rLlxuICogQHJldHVybnMgQSB0dXBsZSBjb250YWluaW5nIHRoZSBjdXJyZW50IG1vZGVsIGFuZCB0aGUgZGlzcGF0Y2hlci5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBbbW9kZWwsIGRpc3BhdGNoXSA9IHVzZUVsbWlzaCh7IHByb3BzLCBpbml0LCB1cGRhdGUsIG5hbWU6IFwiTXlDb21wb25lbnRcIiB9KTtcbiAqL1xuZnVuY3Rpb24gdXNlRWxtaXNoPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2VCYXNlPiAoeyBuYW1lLCBwcm9wcywgaW5pdCwgdXBkYXRlLCBzdWJzY3JpcHRpb24gfTogVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KTogW1RNb2RlbCwgRGlzcGF0Y2g8VE1lc3NhZ2U+XSB7XG4gICAgbGV0IHJlZW50ZXJlZCA9IGZhbHNlO1xuICAgIGNvbnN0IGJ1ZmZlcjogVE1lc3NhZ2UgW10gPSBbXTtcbiAgICBsZXQgY3VycmVudE1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4gPSB7fTtcblxuICAgIGNvbnN0IFttb2RlbCwgc2V0TW9kZWxdID0gdXNlU3RhdGU8TnVsbGFibGU8VE1vZGVsPj4obnVsbCk7XG4gICAgY29uc3QgcHJvcHNSZWYgPSB1c2VSZWYocHJvcHMpO1xuICAgIGNvbnN0IGlzTW91bnRlZFJlZiA9IHVzZVJlZih0cnVlKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlzTW91bnRlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgaXNNb3VudGVkUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG5cbiAgICBsZXQgaW5pdGlhbGl6ZWRNb2RlbCA9IG1vZGVsO1xuXG4gICAgaWYgKHByb3BzUmVmLmN1cnJlbnQgIT09IHByb3BzKSB7XG4gICAgICAgIHByb3BzUmVmLmN1cnJlbnQgPSBwcm9wcztcbiAgICB9XG5cbiAgICBjb25zdCBmYWtlT3B0aW9ucyA9IGdldEZha2VPcHRpb25zT25jZSgpO1xuICAgIGNvbnN0IGRpc3BhdGNoID0gdXNlQ2FsbGJhY2soZmFrZU9wdGlvbnM/LmRpc3BhdGNoID8/ICgobXNnOiBUTWVzc2FnZSk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoIWluaXRpYWxpemVkTW9kZWwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZWVudGVyZWQpIHtcbiAgICAgICAgICAgIGJ1ZmZlci5wdXNoKG1zZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZWVudGVyZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICBsZXQgbmV4dE1zZzogVE1lc3NhZ2UgfCB1bmRlZmluZWQgPSBtc2c7XG4gICAgICAgICAgICBsZXQgbW9kaWZpZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgd2hpbGUgKG5leHRNc2cpIHtcbiAgICAgICAgICAgICAgICBsb2dNZXNzYWdlKG5hbWUsIG5leHRNc2cpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgW25ld01vZGVsLCBjbWRdID0gY2FsbFVwZGF0ZSh1cGRhdGUsIG5leHRNc2csIHsgLi4uaW5pdGlhbGl6ZWRNb2RlbCwgLi4uY3VycmVudE1vZGVsIH0sIHByb3BzUmVmLmN1cnJlbnQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKG1vZGVsSGFzQ2hhbmdlZChjdXJyZW50TW9kZWwsIG5ld01vZGVsKSkge1xuICAgICAgICAgICAgICAgICAgICBjdXJyZW50TW9kZWwgPSB7IC4uLmN1cnJlbnRNb2RlbCwgLi4ubmV3TW9kZWwgfTtcblxuICAgICAgICAgICAgICAgICAgICBtb2RpZmllZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGNtZCkge1xuICAgICAgICAgICAgICAgICAgICBleGVjQ21kKGNtZCwgZGlzcGF0Y2gpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG5leHRNc2cgPSBidWZmZXIuc2hpZnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlZW50ZXJlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAoaXNNb3VudGVkUmVmLmN1cnJlbnQgJiYgbW9kaWZpZWQpIHtcbiAgICAgICAgICAgICAgICBzZXRNb2RlbChwcmV2TW9kZWwgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkTW9kZWwgPSB7IC4uLnByZXZNb2RlbCBhcyBUTW9kZWwsIC4uLmN1cnJlbnRNb2RlbCB9O1xuXG4gICAgICAgICAgICAgICAgICAgIFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJFbG1cIiwgXCJ1cGRhdGUgbW9kZWwgZm9yXCIsIG5hbWUsIHVwZGF0ZWRNb2RlbCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWRNb2RlbDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pLCBbXSk7XG5cbiAgICBpZiAoIWluaXRpYWxpemVkTW9kZWwpIHtcbiAgICAgICAgY29uc3QgW2luaXRNb2RlbCwgaW5pdENtZF0gPSBmYWtlT3B0aW9ucz8ubW9kZWwgPyBbZmFrZU9wdGlvbnMubW9kZWwgYXMgVE1vZGVsXSA6IGluaXQocHJvcHMpO1xuXG4gICAgICAgIGluaXRpYWxpemVkTW9kZWwgPSBpbml0TW9kZWw7XG4gICAgICAgIHNldE1vZGVsKGluaXRpYWxpemVkTW9kZWwpO1xuXG4gICAgICAgIFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJFbG1cIiwgXCJpbml0aWFsIG1vZGVsIGZvclwiLCBuYW1lLCBpbml0aWFsaXplZE1vZGVsKTtcblxuICAgICAgICBpZiAoaW5pdENtZCkge1xuICAgICAgICAgICAgZXhlY0NtZChpbml0Q21kLCBkaXNwYXRjaCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBbc3ViQ21kLCBkZXN0cnVjdG9yXSA9IHN1YnNjcmlwdGlvbihpbml0aWFsaXplZE1vZGVsIGFzIFRNb2RlbCwgcHJvcHMpO1xuXG4gICAgICAgICAgICBleGVjQ21kKHN1YkNtZCwgZGlzcGF0Y2gpO1xuXG4gICAgICAgICAgICBpZiAoZGVzdHJ1Y3Rvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBkZXN0cnVjdG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIFtpbml0aWFsaXplZE1vZGVsLCBkaXNwYXRjaF07XG59XG5cbmZ1bmN0aW9uIGNhbGxVcGRhdGU8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZUJhc2U+ICh1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gfCBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiwgbXNnOiBUTWVzc2FnZSwgbW9kZWw6IFRNb2RlbCwgcHJvcHM6IFRQcm9wcyk6IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuICAgIGlmICh0eXBlb2YgdXBkYXRlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZShtb2RlbCwgbXNnLCBwcm9wcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNhbGxVcGRhdGVNYXAodXBkYXRlLCBtc2csIG1vZGVsLCBwcm9wcyk7XG59XG5cbmZ1bmN0aW9uIGNhbGxVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZUJhc2U+ICh1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LCBtc2c6IFRNZXNzYWdlLCBtb2RlbDogVE1vZGVsLCBwcm9wczogVFByb3BzKTogVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLS0gV2Uga25vdyB0aGF0IG1zZyBmaXRzXG4gICAgY29uc3QgdXBkYXRlRm4gPSB1cGRhdGVNYXBbbXNnLm5hbWUgYXMgVE1lc3NhZ2VbXCJuYW1lXCJdXSBhcyAobXNnOiBUTWVzc2FnZSwgbW9kZWw6IFRNb2RlbCwgcHJvcHM6IFRQcm9wcykgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNc2c+O1xuXG4gICAgcmV0dXJuIHVwZGF0ZUZuKG1zZywgbW9kZWwsIHByb3BzKTtcbn1cblxuZXhwb3J0IHR5cGUge1xuICAgIFN1YnNjcmlwdGlvblJlc3VsdCxcbn07XG5cbmV4cG9ydCB7XG4gICAgdXNlRWxtaXNoLFxuICAgIGNhbGxVcGRhdGUsXG4gICAgY2FsbFVwZGF0ZU1hcCxcbn07Il0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQTJEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTZDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxTQUFTLE9BQXVLO0VBQUE7RUFBQSxJQUFySEMsSUFBSSxRQUFKQSxJQUFJO0lBQUVDLEtBQUssUUFBTEEsS0FBSztJQUFFQyxJQUFJLFFBQUpBLElBQUk7SUFBRUMsTUFBTSxRQUFOQSxNQUFNO0lBQUVDLFlBQVksUUFBWkEsWUFBWTtFQUN2RyxJQUFJQyxTQUFTLEdBQUcsS0FBSztFQUNyQixJQUFNQyxNQUFtQixHQUFHLEVBQUU7RUFDOUIsSUFBSUMsWUFBNkIsR0FBRyxDQUFDLENBQUM7RUFFdEMsZ0JBQTBCLElBQUFDLGVBQVEsRUFBbUIsSUFBSSxDQUFDO0lBQUE7SUFB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
|
package/installScript.js
ADDED
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-elmish",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.1.1-beta.1",
|
|
4
4
|
"description": "Elmish for React using Typescript",
|
|
5
5
|
"author": "atheck",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"scripts": {
|
|
8
|
+
"install": "node installScript.js",
|
|
8
9
|
"build": "npm run build:types && npm run build:js",
|
|
9
10
|
"build:types": "tsc --emitDeclarationOnly --project ./src",
|
|
10
11
|
"build:js": "babel src --out-dir dist --extensions \".ts,.tsx\" --ignore \"./**/*.spec.ts\",\"./**/*.spec.tsx\" --source-maps inline",
|
|
@@ -18,22 +19,22 @@
|
|
|
18
19
|
"react": ">=16.8.0"
|
|
19
20
|
},
|
|
20
21
|
"devDependencies": {
|
|
21
|
-
"@babel/cli": "7.
|
|
22
|
-
"@babel/core": "7.19.
|
|
22
|
+
"@babel/cli": "7.19.3",
|
|
23
|
+
"@babel/core": "7.19.3",
|
|
23
24
|
"@babel/plugin-proposal-class-properties": "7.18.6",
|
|
24
|
-
"@babel/preset-env": "7.19.
|
|
25
|
+
"@babel/preset-env": "7.19.4",
|
|
25
26
|
"@babel/preset-react": "7.18.6",
|
|
26
27
|
"@babel/preset-typescript": "7.18.6",
|
|
27
28
|
"@testing-library/react": "13.4.0",
|
|
28
|
-
"@types/jest": "
|
|
29
|
-
"@types/react": "18.0.
|
|
30
|
-
"eslint": "8.
|
|
31
|
-
"eslint-config-heck": "1.
|
|
32
|
-
"jest": "
|
|
33
|
-
"jest-environment-jsdom": "
|
|
29
|
+
"@types/jest": "29.1.2",
|
|
30
|
+
"@types/react": "18.0.21",
|
|
31
|
+
"eslint": "8.25.0",
|
|
32
|
+
"eslint-config-heck": "1.24.0",
|
|
33
|
+
"jest": "29.1.2",
|
|
34
|
+
"jest-environment-jsdom": "29.1.2",
|
|
34
35
|
"semantic-release": "19.0.5",
|
|
35
|
-
"ts-jest": "
|
|
36
|
-
"typescript": "4.8.
|
|
36
|
+
"ts-jest": "29.0.3",
|
|
37
|
+
"typescript": "4.8.4"
|
|
37
38
|
},
|
|
38
39
|
"homepage": "https://github.com/atheck/react-elmish",
|
|
39
40
|
"repository": {
|