@1money/component-ui 0.0.69 → 0.0.71
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/es/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +3 -2
- package/es/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +2 -2
- package/es/business/Select/Network/NetworkSelect.js +2 -2
- package/es/components/Accordion/Accordion.js +3 -2
- package/es/components/Calendar/Calendar.js +3 -2
- package/es/components/Carousel/Carousel.js +3 -2
- package/es/components/Checkbox/BaseCheckbox.js +3 -2
- package/es/components/Checkbox/Checkbox.js +2 -2
- package/es/components/Checkbox/CheckboxGroup.js +3 -2
- package/es/components/CoachMark/CoachMark.js +3 -2
- package/es/components/Copy/Copy.js +2 -2
- package/es/components/Dialog/Dialog.js +2 -2
- package/es/components/Drawer/Drawer.js +2 -2
- package/es/components/Icons/Wrapper.js +6 -4
- package/es/components/Icons/constants.d.ts +11 -0
- package/es/components/Icons/constants.js +32 -0
- package/es/components/Icons/index.d.ts +2 -0
- package/es/components/Icons/index.js +2 -1
- package/es/components/Icons/interface.d.ts +8 -1
- package/es/components/Input/Amount/Amount.js +2 -2
- package/es/components/Input/Input/Input.js +3 -2
- package/es/components/Input/Mask/Mask.js +3 -2
- package/es/components/Input/OTP/OTP.js +3 -2
- package/es/components/Input/Password/Password.js +3 -2
- package/es/components/Input/Search/Search.js +3 -2
- package/es/components/Input/TextArea/TextArea.js +3 -2
- package/es/components/Input/Trade/Trade.js +2 -2
- package/es/components/Input/useAmountInput.js +4 -2
- package/es/components/Input/useSyncRef.js +2 -2
- package/es/components/Navigation/Nav.js +2 -2
- package/es/components/Navigation/Navigation.js +5 -2
- package/es/components/Pagination/Pagination.js +2 -2
- package/es/components/Pagination/usePagination.js +3 -2
- package/es/components/Popconfirm/Popconfirm.js +2 -2
- package/es/components/Portal/Portal.js +2 -2
- package/es/components/ProForm/ProForm.js +6 -3
- package/es/components/ProForm/ProFormGroup.js +2 -2
- package/es/components/ProForm/ProFormList.js +3 -2
- package/es/components/ProForm/Submitter.js +2 -2
- package/es/components/ProForm/core/constants.d.ts +6 -0
- package/es/components/ProForm/core/constants.js +7 -1
- package/es/components/ProForm/core/hooks/useForm.js +25 -195
- package/es/components/ProForm/core/hooks/useFormCore.js +14 -142
- package/es/components/ProForm/core/pathUtils.d.ts +6 -0
- package/es/components/ProForm/core/pathUtils.js +59 -0
- package/es/components/ProForm/core/runRules.d.ts +13 -0
- package/es/components/ProForm/core/runRules.js +186 -0
- package/es/components/ProForm/core/useFormItem.js +10 -28
- package/es/components/ProForm/fields/createProFormField.js +43 -57
- package/es/components/ProForm/hooks/useFieldRequest.js +7 -5
- package/es/components/ProForm/layouts/QueryFilter.js +3 -2
- package/es/components/ProForm/layouts/useOverlayForm.js +23 -21
- package/es/components/ProForm/utils.d.ts +2 -2
- package/es/components/ProForm/utils.js +5 -51
- package/es/components/ProTable/ProTable.js +3 -2
- package/es/components/ProTable/core/useAwaitableReload.js +3 -2
- package/es/components/ProTable/useFetchData.js +4 -2
- package/es/components/Radio/Radio.js +3 -2
- package/es/components/Radio/RadioGroup.js +3 -2
- package/es/components/ResizeObserver/useResizeObserver.js +2 -2
- package/es/components/Segment/Segment.js +4 -2
- package/es/components/Select/Select.js +3 -2
- package/es/components/Select/SelectCustom.js +2 -2
- package/es/components/Select/useSelectShell.js +3 -2
- package/es/components/Slider/Slider.js +3 -2
- package/es/components/Switch/Switch.js +3 -2
- package/es/components/Table/Table.js +14 -28
- package/es/components/Table/VirtualTable.js +18 -28
- package/es/components/Table/core/columnUtil.d.ts +9 -0
- package/es/components/Table/core/columnUtil.js +34 -0
- package/es/components/Table/core/useTableColumns.d.ts +4 -13
- package/es/components/Table/core/useTableColumns.js +55 -24
- package/es/components/Table/core/useTableDataPipeline.d.ts +11 -16
- package/es/components/Table/core/useTableDataPipeline.js +66 -73
- package/es/components/Table/core/useTableExpand.js +3 -2
- package/es/components/Table/core/useTableSelection.js +7 -4
- package/es/components/Table/core/useTableSetup.js +4 -2
- package/es/components/Table/features/ExpandTrigger.d.ts +9 -3
- package/es/components/Table/features/ExpandTrigger.js +14 -8
- package/es/components/Table/features/FilterTrigger.js +21 -17
- package/es/components/Table/features/SelectionColumn.d.ts +11 -6
- package/es/components/Table/features/SelectionColumn.js +12 -5
- package/es/components/Table/features/SortTrigger.d.ts +4 -2
- package/es/components/Table/features/SortTrigger.js +8 -3
- package/es/components/Table/internal/kernel/Body/MeasureCell.js +2 -2
- package/es/components/Table/internal/kernel/Cell/index.js +2 -2
- package/es/components/Table/internal/kernel/Table.js +3 -3
- package/es/components/Table/internal/kernel/VirtualTable/index.js +2 -2
- package/es/components/Table/internal/kernel/hooks/useRowInfo.js +2 -2
- package/es/components/Table/internal/kernel/selector-context/context.js +3 -3
- package/es/components/Table/renderers/HeaderCell.js +3 -2
- package/es/components/Table/renderers/TableShell.d.ts +13 -0
- package/es/components/Table/renderers/TableShell.js +25 -0
- package/es/components/Table/style/Table.css +3 -0
- package/es/components/Tabs/Tabs.js +4 -2
- package/es/components/Tooltip/Tooltip.js +3 -2
- package/es/components/Tour/Tour.js +3 -2
- package/es/components/Trigger/Trigger.js +3 -2
- package/es/components/Typography/Typography.js +2 -2
- package/es/components/Typography/useTypographyEnhancements.js +3 -2
- package/es/components/Upload/Upload.js +2 -2
- package/es/components/Upload/UploadFileBar.js +2 -2
- package/es/components/VirtualList/VirtualList.js +3 -2
- package/es/components/VirtualList/hooks/useMobileTouchMove.js +2 -2
- package/es/components/VirtualList/hooks/useScrollTo.js +2 -2
- package/es/index.css +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/lib/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +9 -8
- package/lib/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +3 -3
- package/lib/business/Select/Network/NetworkSelect.js +3 -3
- package/lib/components/Accordion/Accordion.js +5 -4
- package/lib/components/Calendar/Calendar.js +6 -5
- package/lib/components/Carousel/Carousel.js +5 -4
- package/lib/components/Checkbox/BaseCheckbox.js +5 -4
- package/lib/components/Checkbox/Checkbox.js +3 -3
- package/lib/components/Checkbox/CheckboxGroup.js +7 -6
- package/lib/components/CoachMark/CoachMark.js +7 -6
- package/lib/components/Copy/Copy.js +3 -3
- package/lib/components/Dialog/Dialog.js +6 -6
- package/lib/components/Drawer/Drawer.js +10 -10
- package/lib/components/Icons/Wrapper.js +6 -4
- package/lib/components/Icons/constants.d.ts +11 -0
- package/lib/components/Icons/constants.js +38 -0
- package/lib/components/Icons/index.d.ts +2 -0
- package/lib/components/Icons/index.js +10 -2
- package/lib/components/Icons/interface.d.ts +8 -1
- package/lib/components/Input/Amount/Amount.js +6 -5
- package/lib/components/Input/Input/Input.js +7 -6
- package/lib/components/Input/Mask/Mask.js +9 -8
- package/lib/components/Input/OTP/OTP.js +9 -8
- package/lib/components/Input/Password/Password.js +6 -5
- package/lib/components/Input/Search/Search.js +8 -7
- package/lib/components/Input/TextArea/TextArea.js +5 -4
- package/lib/components/Input/Trade/Trade.js +5 -4
- package/lib/components/Input/useAmountInput.js +13 -11
- package/lib/components/Input/useSyncRef.js +4 -3
- package/lib/components/Navigation/Nav.js +3 -3
- package/lib/components/Navigation/Navigation.js +10 -7
- package/lib/components/Pagination/Pagination.js +4 -3
- package/lib/components/Pagination/usePagination.js +7 -6
- package/lib/components/Popconfirm/Popconfirm.js +3 -3
- package/lib/components/Portal/Portal.js +4 -4
- package/lib/components/ProForm/ProForm.js +14 -11
- package/lib/components/ProForm/ProFormGroup.js +3 -3
- package/lib/components/ProForm/ProFormList.js +10 -9
- package/lib/components/ProForm/Submitter.js +4 -4
- package/lib/components/ProForm/core/constants.d.ts +6 -0
- package/lib/components/ProForm/core/constants.js +8 -2
- package/lib/components/ProForm/core/hooks/useForm.js +36 -206
- package/lib/components/ProForm/core/hooks/useFormCore.js +32 -160
- package/lib/components/ProForm/core/pathUtils.d.ts +6 -0
- package/lib/components/ProForm/core/pathUtils.js +68 -0
- package/lib/components/ProForm/core/runRules.d.ts +13 -0
- package/lib/components/ProForm/core/runRules.js +194 -0
- package/lib/components/ProForm/core/useFormItem.js +15 -33
- package/lib/components/ProForm/fields/createProFormField.js +42 -56
- package/lib/components/ProForm/hooks/useFieldRequest.js +9 -7
- package/lib/components/ProForm/layouts/QueryFilter.js +8 -7
- package/lib/components/ProForm/layouts/useOverlayForm.js +27 -27
- package/lib/components/ProForm/utils.d.ts +2 -2
- package/lib/components/ProForm/utils.js +20 -55
- package/lib/components/ProTable/ProTable.js +10 -9
- package/lib/components/ProTable/core/useAwaitableReload.js +6 -5
- package/lib/components/ProTable/useFetchData.js +15 -13
- package/lib/components/Radio/Radio.js +6 -5
- package/lib/components/Radio/RadioGroup.js +5 -4
- package/lib/components/ResizeObserver/useResizeObserver.js +4 -3
- package/lib/components/Segment/Segment.js +7 -5
- package/lib/components/Select/Select.js +23 -22
- package/lib/components/Select/SelectCustom.js +8 -8
- package/lib/components/Select/useSelectShell.js +5 -4
- package/lib/components/Slider/Slider.js +6 -5
- package/lib/components/Switch/Switch.js +5 -4
- package/lib/components/Table/Table.js +13 -27
- package/lib/components/Table/VirtualTable.js +17 -27
- package/lib/components/Table/core/columnUtil.d.ts +9 -0
- package/lib/components/Table/core/columnUtil.js +42 -0
- package/lib/components/Table/core/useTableColumns.d.ts +4 -13
- package/lib/components/Table/core/useTableColumns.js +57 -26
- package/lib/components/Table/core/useTableDataPipeline.d.ts +11 -16
- package/lib/components/Table/core/useTableDataPipeline.js +73 -80
- package/lib/components/Table/core/useTableExpand.js +6 -5
- package/lib/components/Table/core/useTableSelection.js +13 -10
- package/lib/components/Table/core/useTableSetup.js +8 -5
- package/lib/components/Table/features/ExpandTrigger.d.ts +9 -3
- package/lib/components/Table/features/ExpandTrigger.js +14 -8
- package/lib/components/Table/features/FilterTrigger.js +21 -17
- package/lib/components/Table/features/SelectionColumn.d.ts +11 -6
- package/lib/components/Table/features/SelectionColumn.js +12 -5
- package/lib/components/Table/features/SortTrigger.d.ts +4 -2
- package/lib/components/Table/features/SortTrigger.js +8 -3
- package/lib/components/Table/internal/kernel/Body/MeasureCell.js +3 -3
- package/lib/components/Table/internal/kernel/Cell/index.js +4 -4
- package/lib/components/Table/internal/kernel/Table.js +7 -6
- package/lib/components/Table/internal/kernel/VirtualTable/index.js +4 -4
- package/lib/components/Table/internal/kernel/hooks/useRowInfo.js +3 -3
- package/lib/components/Table/internal/kernel/selector-context/context.js +6 -5
- package/lib/components/Table/renderers/HeaderCell.js +3 -2
- package/lib/components/Table/renderers/TableShell.d.ts +13 -0
- package/lib/components/Table/renderers/TableShell.js +31 -0
- package/lib/components/Table/style/Table.css +3 -0
- package/lib/components/Tabs/Tabs.js +7 -5
- package/lib/components/Tooltip/Tooltip.js +5 -4
- package/lib/components/Tour/Tour.js +7 -6
- package/lib/components/Trigger/Trigger.js +5 -4
- package/lib/components/Typography/Typography.js +5 -4
- package/lib/components/Typography/useTypographyEnhancements.js +8 -7
- package/lib/components/Upload/Upload.js +5 -4
- package/lib/components/Upload/UploadFileBar.js +4 -3
- package/lib/components/VirtualList/VirtualList.js +8 -7
- package/lib/components/VirtualList/hooks/useMobileTouchMove.js +4 -3
- package/lib/components/VirtualList/hooks/useScrollTo.js +3 -3
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/package.json +2 -2
- package/scripts/mcp-server/examples.generated.json +12 -6
- package/scripts/mcp-server/index.generated.json +45 -3
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.runRulesAsync = runRulesAsync;
|
|
8
|
+
exports.runRulesSync = runRulesSync;
|
|
9
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
11
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
12
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
13
|
+
var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) {
|
|
15
|
+
return value instanceof P ? value : new P(function (resolve) {
|
|
16
|
+
resolve(value);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) {
|
|
21
|
+
try {
|
|
22
|
+
step(generator.next(value));
|
|
23
|
+
} catch (e) {
|
|
24
|
+
reject(e);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function rejected(value) {
|
|
28
|
+
try {
|
|
29
|
+
step(generator["throw"](value));
|
|
30
|
+
} catch (e) {
|
|
31
|
+
reject(e);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function step(result) {
|
|
35
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
36
|
+
}
|
|
37
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
// Shared validation engine.
|
|
42
|
+
//
|
|
43
|
+
// The same required/min/max/pattern/enum/type rule checks were previously
|
|
44
|
+
// implemented three times (useFormCore.validateField, useFormCore.handleSubmit,
|
|
45
|
+
// useForm.validateFieldAsync). They are consolidated here as pure functions that
|
|
46
|
+
// return the first error message (or null) — callers own the setFieldError side
|
|
47
|
+
// effect. The only difference between the sync and async wrappers is how custom
|
|
48
|
+
// `validator` functions are handled (awaited vs. not).
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
50
|
+
/**
|
|
51
|
+
* Evaluate every built-in (non-`validator`) rule kind for a single rule.
|
|
52
|
+
* Returns the error message for the first failing check, or null.
|
|
53
|
+
*/
|
|
54
|
+
function checkBuiltinRules(rule, value, name) {
|
|
55
|
+
if (rule.required && (value === undefined || value === null || value === '')) {
|
|
56
|
+
return rule.message || "".concat(name, " is required");
|
|
57
|
+
}
|
|
58
|
+
if (rule.min && typeof value === 'string' && value.length < rule.min) {
|
|
59
|
+
return rule.message || "".concat(name, " must be at least ").concat(rule.min, " characters");
|
|
60
|
+
}
|
|
61
|
+
if (rule.max && typeof value === 'string' && value.length > rule.max) {
|
|
62
|
+
return rule.message || "".concat(name, " must be no more than ").concat(rule.max, " characters");
|
|
63
|
+
}
|
|
64
|
+
if (rule.pattern && typeof value === 'string' && !rule.pattern.test(value)) {
|
|
65
|
+
return rule.message || "".concat(name, " format is invalid");
|
|
66
|
+
}
|
|
67
|
+
if (rule["enum"] && Array.isArray(rule["enum"]) && value) {
|
|
68
|
+
if (!rule["enum"].includes(value)) {
|
|
69
|
+
return rule.message || "".concat(name, " must be one of ").concat(rule["enum"].join(', '));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (rule.type === 'number' && value !== undefined && value !== null && value !== '') {
|
|
73
|
+
if (typeof value !== 'number' || isNaN(value)) {
|
|
74
|
+
return rule.message || "".concat(name, " must be a number");
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (rule.type === 'email' && value) {
|
|
78
|
+
var emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
79
|
+
if (!emailPattern.test(String(value))) {
|
|
80
|
+
return rule.message || "".concat(name, " must be a valid email");
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (rule.type === 'url' && value) {
|
|
84
|
+
try {
|
|
85
|
+
new URL(String(value));
|
|
86
|
+
} catch (_a) {
|
|
87
|
+
return rule.message || "".concat(name, " must be a valid URL");
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Synchronous rule run. Custom validators are invoked but NOT awaited — a
|
|
94
|
+
* promise-returning validator is treated as failing (matches the legacy sync
|
|
95
|
+
* `validateField` behaviour). Returns the first error message, or null.
|
|
96
|
+
*/
|
|
97
|
+
function runRulesSync(name, value, values, rules) {
|
|
98
|
+
var _iterator = _createForOfIteratorHelper(rules),
|
|
99
|
+
_step;
|
|
100
|
+
try {
|
|
101
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
102
|
+
var rule = _step.value;
|
|
103
|
+
var builtinError = checkBuiltinRules(rule, value, name);
|
|
104
|
+
if (builtinError !== null) return builtinError;
|
|
105
|
+
if (typeof rule.validator === 'function') {
|
|
106
|
+
try {
|
|
107
|
+
var result = rule.validator(value, values);
|
|
108
|
+
if (result !== true) {
|
|
109
|
+
return typeof result === 'string' ? result : 'Validation failed';
|
|
110
|
+
}
|
|
111
|
+
} catch (err) {
|
|
112
|
+
return err instanceof Error ? err.message : 'Validation error';
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
} catch (err) {
|
|
117
|
+
_iterator.e(err);
|
|
118
|
+
} finally {
|
|
119
|
+
_iterator.f();
|
|
120
|
+
}
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Asynchronous rule run. Custom validators are awaited (sync or async). A
|
|
125
|
+
* validator returning `undefined` is treated as passing. Returns the first
|
|
126
|
+
* error message, or null.
|
|
127
|
+
*/
|
|
128
|
+
function runRulesAsync(name, value, values, rules) {
|
|
129
|
+
return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
130
|
+
var _iterator2, _step2, rule, builtinError, result, _t, _t2;
|
|
131
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
132
|
+
while (1) switch (_context.prev = _context.next) {
|
|
133
|
+
case 0:
|
|
134
|
+
_iterator2 = _createForOfIteratorHelper(rules);
|
|
135
|
+
_context.prev = 1;
|
|
136
|
+
_iterator2.s();
|
|
137
|
+
case 2:
|
|
138
|
+
if ((_step2 = _iterator2.n()).done) {
|
|
139
|
+
_context.next = 9;
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
rule = _step2.value;
|
|
143
|
+
builtinError = checkBuiltinRules(rule, value, name);
|
|
144
|
+
if (!(builtinError !== null)) {
|
|
145
|
+
_context.next = 3;
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
return _context.abrupt("return", builtinError);
|
|
149
|
+
case 3:
|
|
150
|
+
if (!(typeof rule.validator === 'function')) {
|
|
151
|
+
_context.next = 8;
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
_context.prev = 4;
|
|
155
|
+
_context.next = 5;
|
|
156
|
+
return Promise.resolve(rule.validator(value, values));
|
|
157
|
+
case 5:
|
|
158
|
+
result = _context.sent;
|
|
159
|
+
if (!(result !== true && result !== undefined)) {
|
|
160
|
+
_context.next = 6;
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
return _context.abrupt("return", typeof result === 'string' ? result : 'Validation failed');
|
|
164
|
+
case 6:
|
|
165
|
+
_context.next = 8;
|
|
166
|
+
break;
|
|
167
|
+
case 7:
|
|
168
|
+
_context.prev = 7;
|
|
169
|
+
_t = _context["catch"](4);
|
|
170
|
+
return _context.abrupt("return", _t instanceof Error ? _t.message : 'Validation error');
|
|
171
|
+
case 8:
|
|
172
|
+
_context.next = 2;
|
|
173
|
+
break;
|
|
174
|
+
case 9:
|
|
175
|
+
_context.next = 11;
|
|
176
|
+
break;
|
|
177
|
+
case 10:
|
|
178
|
+
_context.prev = 10;
|
|
179
|
+
_t2 = _context["catch"](1);
|
|
180
|
+
_iterator2.e(_t2);
|
|
181
|
+
case 11:
|
|
182
|
+
_context.prev = 11;
|
|
183
|
+
_iterator2.f();
|
|
184
|
+
return _context.finish(11);
|
|
185
|
+
case 12:
|
|
186
|
+
return _context.abrupt("return", null);
|
|
187
|
+
case 13:
|
|
188
|
+
case "end":
|
|
189
|
+
return _context.stop();
|
|
190
|
+
}
|
|
191
|
+
}, _callee, null, [[1, 10, 11, 12], [4, 7]]);
|
|
192
|
+
}));
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9jb3JlL3J1blJ1bGVzLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vY29yZS9ydW5SdWxlcy50cyJdLCJuYW1lcyI6WyJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJjaGVja0J1aWx0aW5SdWxlcyIsInJ1bGUiLCJuYW1lIiwicmVxdWlyZWQiLCJ1bmRlZmluZWQiLCJtZXNzYWdlIiwiY29uY2F0IiwibWluIiwibGVuZ3RoIiwibWF4IiwicGF0dGVybiIsInRlc3QiLCJBcnJheSIsImlzQXJyYXkiLCJpbmNsdWRlcyIsImpvaW4iLCJ0eXBlIiwiaXNOYU4iLCJlbWFpbFBhdHRlcm4iLCJTdHJpbmciLCJVUkwiLCJfYSIsInJ1blJ1bGVzU3luYyIsInZhbHVlcyIsInJ1bGVzIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiYnVpbHRpbkVycm9yIiwidmFsaWRhdG9yIiwiZXJyIiwiRXJyb3IiLCJmIiwicnVuUnVsZXNBc3luYyIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsIl90IiwiX3QyIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsImFicnVwdCIsInNlbnQiLCJmaW5pc2giLCJzdG9wIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxJQUFJQSxTQUFTLEdBQUksVUFBUSxTQUFLQSxTQUFTLElBQUssVUFBVUMsT0FBTyxFQUFFQyxVQUFVLEVBQUVDLENBQUMsRUFBRUMsU0FBUyxFQUFFO0VBQ3JGLFNBQVND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N0QzQixNQUFNLEdBQUFnRCxRQUFBLENBQUFHLElBQUE7VUFBQSxNQUNSbkQsTUFBTSxLQUFLLElBQUksSUFBSUEsTUFBTSxLQUFLUSxTQUFTO1lBQUF3QyxRQUFBLENBQUFuRCxJQUFBO1lBQUE7VUFBQTtVQUFBLE9BQUFtRCxRQUFBLENBQUFFLE1BQUEsV0FDbEMsT0FBT2xELE1BQU0sS0FBSyxRQUFRLEdBQUdBLE1BQU0sR0FBRyxtQkFBbUI7UUFBQTtVQUFBZ0QsUUFBQSxDQUFBbkQsSUFBQTtVQUFBO1FBQUE7VUFBQW1ELFFBQUEsQ0FBQUMsSUFBQTtVQUFBSixFQUFBLEdBQUFHLFFBQUE7VUFBQSxPQUFBQSxRQUFBLENBQUFFLE1BQUEsV0FHM0RMLEVBQUEsWUFBZVIsS0FBSyxHQUFHUSxFQUFBLENBQUlwQyxPQUFPLEdBQUcsa0JBQWtCO1FBQUE7VUFBQXVDLFFBQUEsQ0FBQW5ELElBQUE7VUFBQTtRQUFBO1VBQUFtRCxRQUFBLENBQUFuRCxJQUFBO1VBQUE7UUFBQTtVQUFBbUQsUUFBQSxDQUFBQyxJQUFBO1VBQUFILEdBQUEsR0FBQUUsUUFBQTtVQUFBTCxVQUFBLENBQUE3QyxDQUFBLENBQUFnRCxHQUFBO1FBQUE7VUFBQUUsUUFBQSxDQUFBQyxJQUFBO1VBQUFOLFVBQUEsQ0FBQUwsQ0FBQTtVQUFBLE9BQUFVLFFBQUEsQ0FBQUksTUFBQTtRQUFBO1VBQUEsT0FBQUosUUFBQSxDQUFBRSxNQUFBLFdBSTdELElBQUk7UUFBQTtRQUFBO1VBQUEsT0FBQUYsUUFBQSxDQUFBSyxJQUFBO01BQUE7SUFBQSxHQUFBWCxPQUFBO0VBQUEsQ0FDWixFQUFBO0FEREQiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvcnVuUnVsZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2hhcmVkIHZhbGlkYXRpb24gZW5naW5lLlxuLy9cbi8vIFRoZSBzYW1lIHJlcXVpcmVkL21pbi9tYXgvcGF0dGVybi9lbnVtL3R5cGUgcnVsZSBjaGVja3Mgd2VyZSBwcmV2aW91c2x5XG4vLyBpbXBsZW1lbnRlZCB0aHJlZSB0aW1lcyAodXNlRm9ybUNvcmUudmFsaWRhdGVGaWVsZCwgdXNlRm9ybUNvcmUuaGFuZGxlU3VibWl0LFxuLy8gdXNlRm9ybS52YWxpZGF0ZUZpZWxkQXN5bmMpLiBUaGV5IGFyZSBjb25zb2xpZGF0ZWQgaGVyZSBhcyBwdXJlIGZ1bmN0aW9ucyB0aGF0XG4vLyByZXR1cm4gdGhlIGZpcnN0IGVycm9yIG1lc3NhZ2UgKG9yIG51bGwpIOKAlCBjYWxsZXJzIG93biB0aGUgc2V0RmllbGRFcnJvciBzaWRlXG4vLyBlZmZlY3QuIFRoZSBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgc3luYyBhbmQgYXN5bmMgd3JhcHBlcnMgaXMgaG93IGN1c3RvbVxuLy8gYHZhbGlkYXRvcmAgZnVuY3Rpb25zIGFyZSBoYW5kbGVkIChhd2FpdGVkIHZzLiBub3QpLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKipcbiAqIEV2YWx1YXRlIGV2ZXJ5IGJ1aWx0LWluIChub24tYHZhbGlkYXRvcmApIHJ1bGUga2luZCBmb3IgYSBzaW5nbGUgcnVsZS5cbiAqIFJldHVybnMgdGhlIGVycm9yIG1lc3NhZ2UgZm9yIHRoZSBmaXJzdCBmYWlsaW5nIGNoZWNrLCBvciBudWxsLlxuICovXG5mdW5jdGlvbiBjaGVja0J1aWx0aW5SdWxlcyhydWxlLCB2YWx1ZSwgbmFtZSkge1xuICAgIGlmIChydWxlLnJlcXVpcmVkICYmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykpIHtcbiAgICAgICAgcmV0dXJuIHJ1bGUubWVzc2FnZSB8fCBgJHtuYW1lfSBpcyByZXF1aXJlZGA7XG4gICAgfVxuICAgIGlmIChydWxlLm1pbiAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCA8IHJ1bGUubWluKSB7XG4gICAgICAgIHJldHVybiBydWxlLm1lc3NhZ2UgfHwgYCR7bmFtZX0gbXVzdCBiZSBhdCBsZWFzdCAke3J1bGUubWlufSBjaGFyYWN0ZXJzYDtcbiAgICB9XG4gICAgaWYgKHJ1bGUubWF4ICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoID4gcnVsZS5tYXgpIHtcbiAgICAgICAgcmV0dXJuIHJ1bGUubWVzc2FnZSB8fCBgJHtuYW1lfSBtdXN0IGJlIG5vIG1vcmUgdGhhbiAke3J1bGUubWF4fSBjaGFyYWN0ZXJzYDtcbiAgICB9XG4gICAgaWYgKHJ1bGUucGF0dGVybiAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICFydWxlLnBhdHRlcm4udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHJ1bGUubWVzc2FnZSB8fCBgJHtuYW1lfSBmb3JtYXQgaXMgaW52YWxpZGA7XG4gICAgfVxuICAgIGlmIChydWxlLmVudW0gJiYgQXJyYXkuaXNBcnJheShydWxlLmVudW0pICYmIHZhbHVlKSB7XG4gICAgICAgIGlmICghcnVsZS5lbnVtLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHJ1bGUubWVzc2FnZSB8fCBgJHtuYW1lfSBtdXN0IGJlIG9uZSBvZiAke3J1bGUuZW51bS5qb2luKCcsICcpfWA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHJ1bGUudHlwZSA9PT0gJ251bWJlcicgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gJycpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicgfHwgaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gcnVsZS5tZXNzYWdlIHx8IGAke25hbWV9IG11c3QgYmUgYSBudW1iZXJgO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChydWxlLnR5cGUgPT09ICdlbWFpbCcgJiYgdmFsdWUpIHtcbiAgICAgICAgY29uc3QgZW1haWxQYXR0ZXJuID0gL15bXlxcc0BdK0BbXlxcc0BdK1xcLlteXFxzQF0rJC87XG4gICAgICAgIGlmICghZW1haWxQYXR0ZXJuLnRlc3QoU3RyaW5nKHZhbHVlKSkpIHtcbiAgICAgICAgICAgIHJldHVybiBydWxlLm1lc3NhZ2UgfHwgYCR7bmFtZX0gbXVzdCBiZSBhIHZhbGlkIGVtYWlsYDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAocnVsZS50eXBlID09PSAndXJsJyAmJiB2YWx1ZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgbmV3IFVSTChTdHJpbmcodmFsdWUpKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoX2EpIHtcbiAgICAgICAgICAgIHJldHVybiBydWxlLm1lc3NhZ2UgfHwgYCR7bmFtZX0gbXVzdCBiZSBhIHZhbGlkIFVSTGA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG4vKipcbiAqIFN5bmNocm9ub3VzIHJ1bGUgcnVuLiBDdXN0b20gdmFsaWRhdG9ycyBhcmUgaW52b2tlZCBidXQgTk9UIGF3YWl0ZWQg4oCUIGFcbiAqIHByb21pc2UtcmV0dXJuaW5nIHZhbGlkYXRvciBpcyB0cmVhdGVkIGFzIGZhaWxpbmcgKG1hdGNoZXMgdGhlIGxlZ2FjeSBzeW5jXG4gKiBgdmFsaWRhdGVGaWVsZGAgYmVoYXZpb3VyKS4gUmV0dXJucyB0aGUgZmlyc3QgZXJyb3IgbWVzc2FnZSwgb3IgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJ1blJ1bGVzU3luYyhuYW1lLCB2YWx1ZSwgdmFsdWVzLCBydWxlcykge1xuICAgIGZvciAoY29uc3QgcnVsZSBvZiBydWxlcykge1xuICAgICAgICBjb25zdCBidWlsdGluRXJyb3IgPSBjaGVja0J1aWx0aW5SdWxlcyhydWxlLCB2YWx1ZSwgbmFtZSk7XG4gICAgICAgIGlmIChidWlsdGluRXJyb3IgIT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gYnVpbHRpbkVycm9yO1xuICAgICAgICBpZiAodHlwZW9mIHJ1bGUudmFsaWRhdG9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHJ1bGUudmFsaWRhdG9yKHZhbHVlLCB2YWx1ZXMpO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgIT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnID8gcmVzdWx0IDogJ1ZhbGlkYXRpb24gZmFpbGVkJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnVmFsaWRhdGlvbiBlcnJvcic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG4vKipcbiAqIEFzeW5jaHJvbm91cyBydWxlIHJ1bi4gQ3VzdG9tIHZhbGlkYXRvcnMgYXJlIGF3YWl0ZWQgKHN5bmMgb3IgYXN5bmMpLiBBXG4gKiB2YWxpZGF0b3IgcmV0dXJuaW5nIGB1bmRlZmluZWRgIGlzIHRyZWF0ZWQgYXMgcGFzc2luZy4gUmV0dXJucyB0aGUgZmlyc3RcbiAqIGVycm9yIG1lc3NhZ2UsIG9yIG51bGwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBydW5SdWxlc0FzeW5jKG5hbWUsIHZhbHVlLCB2YWx1ZXMsIHJ1bGVzKSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgZm9yIChjb25zdCBydWxlIG9mIHJ1bGVzKSB7XG4gICAgICAgICAgICBjb25zdCBidWlsdGluRXJyb3IgPSBjaGVja0J1aWx0aW5SdWxlcyhydWxlLCB2YWx1ZSwgbmFtZSk7XG4gICAgICAgICAgICBpZiAoYnVpbHRpbkVycm9yICE9PSBudWxsKVxuICAgICAgICAgICAgICAgIHJldHVybiBidWlsdGluRXJyb3I7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJ1bGUudmFsaWRhdG9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0geWllbGQgUHJvbWlzZS5yZXNvbHZlKHJ1bGUudmFsaWRhdG9yKHZhbHVlLCB2YWx1ZXMpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSAmJiByZXN1bHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnID8gcmVzdWx0IDogJ1ZhbGlkYXRpb24gZmFpbGVkJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogJ1ZhbGlkYXRpb24gZXJyb3InO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcbn0iLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -9,14 +9,12 @@ exports.useFormItem = useFormItem;
|
|
|
9
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
10
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
-
var
|
|
12
|
+
var _useEventCallback = _interopRequireDefault(require("@1money/hooks/useEventCallback"));
|
|
13
13
|
var _context2 = require("../context");
|
|
14
|
+
var _pathUtils = require("./pathUtils");
|
|
14
15
|
var _constants = require("./constants");
|
|
15
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
17
|
-
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
18
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
19
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
20
18
|
var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
|
|
21
19
|
function adopt(value) {
|
|
22
20
|
return value instanceof P ? value : new P(function (resolve) {
|
|
@@ -44,23 +42,9 @@ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P
|
|
|
44
42
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
45
43
|
});
|
|
46
44
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
var _iterator = _createForOfIteratorHelper(keys),
|
|
51
|
-
_step;
|
|
52
|
-
try {
|
|
53
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
54
|
-
var key = _step.value;
|
|
55
|
-
if (current === null || current === undefined || (0, _typeof2["default"])(current) !== 'object') return undefined;
|
|
56
|
-
current = current[key];
|
|
57
|
-
}
|
|
58
|
-
} catch (err) {
|
|
59
|
-
_iterator.e(err);
|
|
60
|
-
} finally {
|
|
61
|
-
_iterator.f();
|
|
62
|
-
}
|
|
63
|
-
return current;
|
|
45
|
+
/** Normalise a change-handler argument: unwrap `e.target.value`, else pass the value through. */
|
|
46
|
+
function extractEventValue(e) {
|
|
47
|
+
return e && (0, _typeof2["default"])(e) === 'object' && 'target' in e ? e.target.value : e;
|
|
64
48
|
}
|
|
65
49
|
function useFormItem(options) {
|
|
66
50
|
var _this = this;
|
|
@@ -85,15 +69,15 @@ function useFormItem(options) {
|
|
|
85
69
|
var isRequired = Boolean(required || rules.some(function (rule) {
|
|
86
70
|
return rule.required;
|
|
87
71
|
}));
|
|
88
|
-
var fieldValue = name ? name.includes('.') ? getNestedValue(values, name) : values[name] : undefined;
|
|
89
|
-
var fieldError = name ? name.includes('.') ? getNestedValue(errors, name) : errors[name] : undefined;
|
|
72
|
+
var fieldValue = name ? name.includes('.') ? (0, _pathUtils.getNestedValue)(values, name) : values[name] : undefined;
|
|
73
|
+
var fieldError = name ? name.includes('.') ? (0, _pathUtils.getNestedValue)(errors, name) : errors[name] : undefined;
|
|
90
74
|
var fieldValidating = name ? validating[name] || false : false;
|
|
91
75
|
var finalStatus = validateStatus || (fieldError ? 'error' : undefined);
|
|
92
|
-
var runValidate = (0,
|
|
76
|
+
var runValidate = (0, _useEventCallback["default"])(function (value) {
|
|
93
77
|
if (name && rules.length > 0) return validateField(name, rules, value);
|
|
94
78
|
return true;
|
|
95
79
|
});
|
|
96
|
-
var runValidateAsync = (0,
|
|
80
|
+
var runValidateAsync = (0, _useEventCallback["default"])(function (value) {
|
|
97
81
|
return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
98
82
|
return _regenerator["default"].wrap(function (_context) {
|
|
99
83
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -111,13 +95,13 @@ function useFormItem(options) {
|
|
|
111
95
|
}, _callee);
|
|
112
96
|
}));
|
|
113
97
|
});
|
|
114
|
-
var handleChange = (0,
|
|
98
|
+
var handleChange = (0, _useEventCallback["default"])(function (value) {
|
|
115
99
|
if (name) {
|
|
116
100
|
setFieldValue(name, value);
|
|
117
101
|
if (validateTrigger === 'onChange') runValidate(value);
|
|
118
102
|
}
|
|
119
103
|
});
|
|
120
|
-
var handleBlur = (0,
|
|
104
|
+
var handleBlur = (0, _useEventCallback["default"])(function () {
|
|
121
105
|
if (validateTrigger === 'onBlur') runValidateAsync(fieldValue);
|
|
122
106
|
});
|
|
123
107
|
(0, _react.useEffect)(function () {
|
|
@@ -133,22 +117,20 @@ function useFormItem(options) {
|
|
|
133
117
|
var displayName = (_a = child.type) === null || _a === void 0 ? void 0 : _a.displayName;
|
|
134
118
|
var isFormComponent = _constants.FORM_COMPONENT_NAMES.includes(displayName) || childProps.placeholder !== undefined || childProps.value !== undefined;
|
|
135
119
|
if (!isFormComponent) return child;
|
|
136
|
-
var TEXT_LIKE_NAMES = ['Input', 'InputPassword', 'InputTextArea', 'InputSearch', 'InputOTP', 'InputTrade', 'InputAmount', 'InputMask', 'TextArea', 'InputNumber'];
|
|
137
120
|
var safeValue = fieldValue;
|
|
138
121
|
if (safeValue === null || safeValue === undefined) {
|
|
139
|
-
if (
|
|
122
|
+
if (_constants.TEXT_LIKE_COMPONENT_NAMES.includes(displayName || '') || childProps.placeholder !== undefined) {
|
|
140
123
|
safeValue = '';
|
|
141
124
|
} else if (['Checkbox', 'Switch'].includes(displayName || '')) {
|
|
142
125
|
safeValue = false;
|
|
143
126
|
}
|
|
144
|
-
} else if (
|
|
127
|
+
} else if (_constants.TEXT_LIKE_COMPONENT_NAMES.includes(displayName || '') && typeof safeValue !== 'string' && typeof safeValue !== 'number') {
|
|
145
128
|
safeValue = '';
|
|
146
129
|
}
|
|
147
130
|
var injectedProps = Object.assign({
|
|
148
131
|
value: safeValue,
|
|
149
132
|
onChange: function onChange(e) {
|
|
150
|
-
|
|
151
|
-
handleChange(actualValue);
|
|
133
|
+
handleChange(extractEventValue(e));
|
|
152
134
|
if (typeof childProps.onChange === 'function') {
|
|
153
135
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
154
136
|
args[_key - 1] = arguments[_key];
|
|
@@ -180,4 +162,4 @@ function useFormItem(options) {
|
|
|
180
162
|
injectField: injectField
|
|
181
163
|
};
|
|
182
164
|
}
|
|
183
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0udHMiLCJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyJdLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaG9va3MiLCJfY29udGV4dDIiLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJfbiIsIkYiLCJzIiwiZG9uZSIsInZhbHVlIiwiZiIsIlR5cGVFcnJvciIsIm8iLCJuZXh0IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInJlc29sdmUiLCJQcm9taXNlIiwicmVqZWN0IiwiZnVsZmlsbGVkIiwic3RlcCIsInJlamVjdGVkIiwicmVzdWx0IiwidGhlbiIsImFwcGx5IiwiZ2V0TmVzdGVkVmFsdWUiLCJvYmoiLCJwYXRoIiwia2V5cyIsInNwbGl0IiwiY3VycmVudCIsIl9pdGVyYXRvciIsIl9zdGVwIiwia2V5IiwidW5kZWZpbmVkIiwiX3R5cGVvZjIiLCJlcnIiLCJ1c2VGb3JtSXRlbSIsIm9wdGlvbnMiLCJfdGhpcyIsIl9vcHRpb25zJHJ1bGVzIiwicnVsZXMiLCJyZXF1aXJlZCIsInZhbGlkYXRlU3RhdHVzIiwiY3R4IiwidXNlUHJvRm9ybUNvbnRleHQiLCJ2YWx1ZXMiLCJlcnJvcnMiLCJ2YWxpZGF0aW5nIiwic2V0RmllbGRWYWx1ZSIsInZhbGlkYXRlRmllbGQiLCJ2YWxpZGF0ZUZpZWxkQXN5bmMiLCJyZWdpc3RlckZpZWxkIiwidW5yZWdpc3RlckZpZWxkIiwic2l6ZSIsImxhYmVsQWxpZ24iLCJyZXF1aXJlZE1hcmsiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJpc1JlcXVpcmVkIiwiQm9vbGVhbiIsInNvbWUiLCJydWxlIiwiZmllbGRWYWx1ZSIsImluY2x1ZGVzIiwiZmllbGRFcnJvciIsImZpZWxkVmFsaWRhdGluZyIsImZpbmFsU3RhdHVzIiwicnVuVmFsaWRhdGUiLCJ1c2VFdmVudENhbGxiYWNrIiwicnVuVmFsaWRhdGVBc3luYyIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsInN0b3AiLCJoYW5kbGVDaGFuZ2UiLCJoYW5kbGVCbHVyIiwidXNlRWZmZWN0IiwiaW5qZWN0RmllbGQiLCJjaGlsZCIsIl9hIiwiUmVhY3QiLCJpc1ZhbGlkRWxlbWVudCIsImNoaWxkUHJvcHMiLCJwcm9wcyIsImRpc3BsYXlOYW1lIiwidHlwZSIsImlzRm9ybUNvbXBvbmVudCIsIkZPUk1fQ09NUE9ORU5UX05BTUVTIiwicGxhY2Vob2xkZXIiLCJURVhUX0xJS0VfTkFNRVMiLCJzYWZlVmFsdWUiLCJpbmplY3RlZFByb3BzIiwiYXNzaWduIiwib25DaGFuZ2UiLCJhY3R1YWxWYWx1ZSIsInRhcmdldCIsIl9sZW4iLCJhcmd1bWVudHMiLCJhcmdzIiwiX2tleSIsImNvbmNhdCIsIm9uQmx1ciIsInN0YXR1cyIsImNsb25lRWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FB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QyxJQUFBLFFBQUFGLFNBQUEsQ0FBQUUsSUFBQTtVQUFBO1VBT3BDakIsVUFBVSxDQUFDVyxRQUFzQyxDQUFBeEUsS0FBQSxDQUFqRDZELFVBQVUsR0FBd0NySCxDQUFDLEVBQUF1SSxNQUFBLENBQUtGLElBQUksRUFBQztRQUNoRTtNQUNGLENBQUM7TUFDREcsTUFBTSxFQUFFLFNBQVJBLE1BQU1BLENBQUEsRUFBeUI7UUFDN0IxQixVQUFVLENBQUEsQ0FBRTtRQUNaLElBQUksT0FBT08sVUFBVSxDQUFDbUIsTUFBTSxLQUFLLFVBQVUsRUFBRTtVQUMxQ25CLFVBQVUsQ0FBQ21CLE1BQW9DLENBQUFoRixLQUFBLENBQS9DNkQsVUFBVSxFQUFBZSxTQUE2QyxDQUFDO1FBQzNEO01BQ0YsQ0FBQztNQUNEOUMsSUFBSSxFQUFFK0IsVUFBVSxDQUFDL0IsSUFBSSxJQUFJQTtJQUFJLENBQUEsRUFDekJZLFdBQVcsS0FBSyxPQUFPLElBQUk7TUFBRXVDLE1BQU0sRUFBRTtJQUFPLENBQUcsQ0FDcEQ7SUFFRCxvQkFBT3RCLGlCQUFLLENBQUN1QixZQUFZLENBQUN6QixLQUFLLEVBQUVhLGFBQWEsQ0FBQztFQUNqRCxDQUFDO0VBRUQsT0FBTztJQUNMaEMsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZFLFVBQVUsRUFBVkEsVUFBVTtJQUNWQyxlQUFlLEVBQWZBLGVBQWU7SUFDZnRCLGNBQWMsRUFBRXVCLFdBQVc7SUFDM0JSLFVBQVUsRUFBVkEsVUFBVTtJQUNWSixJQUFJLEVBQUpBLElBQUk7SUFDSkMsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZDLFlBQVksRUFBWkEsWUFBWTtJQUNad0IsV0FBVyxFQUFYQTtFQzNDQSxDRDRDRDtBQUNIIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9jb3JlL3VzZUZvcm1JdGVtLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VFdmVudENhbGxiYWNrIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHsgRk9STV9DT01QT05FTlRfTkFNRVMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5mdW5jdGlvbiBnZXROZXN0ZWRWYWx1ZShvYmosIHBhdGgpIHtcbiAgICBjb25zdCBrZXlzID0gcGF0aC5zcGxpdCgnLicpO1xuICAgIGxldCBjdXJyZW50ID0gb2JqO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudCA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiBjdXJyZW50ICE9PSAnb2JqZWN0JylcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGN1cnJlbnQgPSBjdXJyZW50W2tleV07XG4gICAgfVxuICAgIHJldHVybiBjdXJyZW50O1xufVxuZXhwb3J0IGZ1bmN0aW9uIHVzZUZvcm1JdGVtKG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IG5hbWUsIHJ1bGVzID0gW10sIHJlcXVpcmVkLCB2YWxpZGF0ZVN0YXR1cyB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBjdHggPSB1c2VQcm9Gb3JtQ29udGV4dCgpO1xuICAgIGNvbnN0IHsgdmFsdWVzLCBlcnJvcnMsIHZhbGlkYXRpbmcsIHNldEZpZWxkVmFsdWUsIHZhbGlkYXRlRmllbGQsIHZhbGlkYXRlRmllbGRBc3luYywgcmVnaXN0ZXJGaWVsZCwgdW5yZWdpc3RlckZpZWxkLCBzaXplLCBsYWJlbEFsaWduLCByZXF1aXJlZE1hcmssIHZhbGlkYXRlVHJpZ2dlciwgfSA9IGN0eDtcbiAgICBjb25zdCBpc1JlcXVpcmVkID0gQm9vbGVhbihyZXF1aXJlZCB8fCBydWxlcy5zb21lKChydWxlKSA9PiBydWxlLnJlcXVpcmVkKSk7XG4gICAgY29uc3QgZmllbGRWYWx1ZSA9IG5hbWVcbiAgICAgICAgPyAobmFtZS5pbmNsdWRlcygnLicpID8gZ2V0TmVzdGVkVmFsdWUodmFsdWVzLCBuYW1lKSA6IHZhbHVlc1tuYW1lXSlcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZmllbGRFcnJvciA9IG5hbWVcbiAgICAgICAgPyAobmFtZS5pbmNsdWRlcygnLicpXG4gICAgICAgICAgICA/IGdldE5lc3RlZFZhbHVlKGVycm9ycywgbmFtZSlcbiAgICAgICAgICAgIDogZXJyb3JzW25hbWVdKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBmaWVsZFZhbGlkYXRpbmcgPSBuYW1lID8gKHZhbGlkYXRpbmdbbmFtZV0gfHwgZmFsc2UpIDogZmFsc2U7XG4gICAgY29uc3QgZmluYWxTdGF0dXMgPSB2YWxpZGF0ZVN0YXR1cyB8fCAoZmllbGRFcnJvciA/ICdlcnJvcicgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IHJ1blZhbGlkYXRlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKG5hbWUgJiYgcnVsZXMubGVuZ3RoID4gMClcbiAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZUZpZWxkKG5hbWUsIHJ1bGVzLCB2YWx1ZSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICAgIGNvbnN0IHJ1blZhbGlkYXRlQXN5bmMgPSB1c2VFdmVudENhbGxiYWNrKCh2YWx1ZSkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBpZiAobmFtZSAmJiBydWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB5aWVsZCB2YWxpZGF0ZUZpZWxkQXN5bmMobmFtZSwgdmFsdWUsIHJ1bGVzKTtcbiAgICAgICAgfVxuICAgIH0pKTtcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgICAgc2V0RmllbGRWYWx1ZShuYW1lLCB2YWx1ZSk7XG4gICAgICAgICAgICBpZiAodmFsaWRhdGVUcmlnZ2VyID09PSAnb25DaGFuZ2UnKVxuICAgICAgICAgICAgICAgIHJ1blZhbGlkYXRlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUJsdXIgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgaWYgKHZhbGlkYXRlVHJpZ2dlciA9PT0gJ29uQmx1cicpXG4gICAgICAgICAgICBydW5WYWxpZGF0ZUFzeW5jKGZpZWxkVmFsdWUpO1xuICAgIH0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChuYW1lICYmIHJlZ2lzdGVyRmllbGQpXG4gICAgICAgICAgICByZWdpc3RlckZpZWxkKG5hbWUsIHJ1bGVzKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGlmIChuYW1lICYmIHVucmVnaXN0ZXJGaWVsZClcbiAgICAgICAgICAgICAgICB1bnJlZ2lzdGVyRmllbGQobmFtZSk7XG4gICAgICAgIH07XG4gICAgfSwgW25hbWVdKTtcbiAgICBjb25zdCBpbmplY3RGaWVsZCA9IChjaGlsZCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghbmFtZSB8fCAhUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICBjb25zdCBjaGlsZFByb3BzID0gY2hpbGQucHJvcHM7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlOYW1lID0gKF9hID0gY2hpbGQudHlwZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc3BsYXlOYW1lO1xuICAgICAgICBjb25zdCBpc0Zvcm1Db21wb25lbnQgPSBGT1JNX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSkgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHMucGxhY2Vob2xkZXIgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgY2hpbGRQcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoIWlzRm9ybUNvbXBvbmVudClcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgY29uc3QgVEVYVF9MSUtFX05BTUVTID0gW1xuICAgICAgICAgICAgJ0lucHV0JywgJ0lucHV0UGFzc3dvcmQnLCAnSW5wdXRUZXh0QXJlYScsICdJbnB1dFNlYXJjaCcsXG4gICAgICAgICAgICAnSW5wdXRPVFAnLCAnSW5wdXRUcmFkZScsICdJbnB1dEFtb3VudCcsICdJbnB1dE1hc2snLFxuICAgICAgICAgICAgJ1RleHRBcmVhJywgJ0lucHV0TnVtYmVyJyxcbiAgICAgICAgXTtcbiAgICAgICAgbGV0IHNhZmVWYWx1ZSA9IGZpZWxkVmFsdWU7XG4gICAgICAgIGlmIChzYWZlVmFsdWUgPT09IG51bGwgfHwgc2FmZVZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmIChURVhUX0xJS0VfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpIHx8XG4gICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChbJ0NoZWNrYm94JywgJ1N3aXRjaCddLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSkge1xuICAgICAgICAgICAgICAgIHNhZmVWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKFRFWFRfTElLRV9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgJiZcbiAgICAgICAgICAgIHR5cGVvZiBzYWZlVmFsdWUgIT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICB0eXBlb2Ygc2FmZVZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5qZWN0ZWRQcm9wcyA9IE9iamVjdC5hc3NpZ24oeyB2YWx1ZTogc2FmZVZhbHVlLCBvbkNoYW5nZTogKGUsIC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3R1YWxWYWx1ZSA9IGUgJiYgdHlwZW9mIGUgPT09ICdvYmplY3QnICYmICd0YXJnZXQnIGluIGVcbiAgICAgICAgICAgICAgICAgICAgPyBlLnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6IGU7XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKGFjdHVhbFZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNoaWxkUHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5vbkNoYW5nZShlLCAuLi5hcmdzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBvbkJsdXI6ICguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlQmx1cigpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGRQcm9wcy5vbkJsdXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5vbkJsdXIoLi4uYXJncyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgc2l6ZTogY2hpbGRQcm9wcy5zaXplIHx8IHNpemUgfSwgKGZpbmFsU3RhdHVzID09PSAnZXJyb3InICYmIHsgc3RhdHVzOiAnZXJyb3InIH0pKTtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwgaW5qZWN0ZWRQcm9wcyk7XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICBmaWVsZEVycm9yLFxuICAgICAgICBmaWVsZFZhbGlkYXRpbmcsXG4gICAgICAgIHZhbGlkYXRlU3RhdHVzOiBmaW5hbFN0YXR1cyxcbiAgICAgICAgaXNSZXF1aXJlZCxcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgbGFiZWxBbGlnbixcbiAgICAgICAgcmVxdWlyZWRNYXJrLFxuICAgICAgICBpbmplY3RGaWVsZCxcbiAgICB9O1xufSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
165
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0udHMiLCJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyJdLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlRXZlbnRDYWxsYmFjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29udGV4dDIiLCJfcGF0aFV0aWxzIiwiX2NvbnN0YW50cyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZjMiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsInJlamVjdGVkIiwicmVzdWx0IiwiZG9uZSIsInRoZW4iLCJhcHBseSIsImV4dHJhY3RFdmVudFZhbHVlIiwiX3R5cGVvZjIiLCJ0YXJnZXQiLCJ1c2VGb3JtSXRlbSIsIm9wdGlvbnMiLCJfdGhpcyIsIm5hbWUiLCJfb3B0aW9ucyRydWxlcyIsInJ1bGVzIiwicmVxdWlyZWQiLCJ2YWxpZGF0ZVN0YXR1cyIsImN0eCIsInVzZVByb0Zvcm1Db250ZXh0IiwidmFsdWVzIiwiZXJyb3JzIiwidmFsaWRhdGluZyIsInNldEZpZWxkVmFsdWUiLCJ2YWxpZGF0ZUZpZWxkIiwidmFsaWRhdGVGaWVsZEFzeW5jIiwicmVnaXN0ZXJGaWVsZCIsInVucmVnaXN0ZXJGaWVsZCIsInNpemUiLCJsYWJlbEFsaWduIiwicmVxdWlyZWRNYXJrIiwidmFsaWRhdGVUcmlnZ2VyIiwiaXNSZXF1aXJlZCIsIkJvb2xlYW4iLCJzb21lIiwicnVsZSIsImZpZWxkVmFsdWUiLCJpbmNsdWRlcyIsImdldE5lc3RlZFZhbHVlIiwidW5kZWZpbmVkIiwiZmllbGRFcnJvciIsImZpZWxkVmFsaWRhdGluZyIsImZpbmFsU3RhdHVzIiwicnVuVmFsaWRhdGUiLCJ1c2VFdmVudENhbGxiYWNrIiwibGVuZ3RoIiwicnVuVmFsaWRhdGVBc3luYyIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsInN0b3AiLCJoYW5kbGVDaGFuZ2UiLCJoYW5kbGVCbHVyIiwidXNlRWZmZWN0IiwiaW5qZWN0RmllbGQiLCJjaGlsZCIsIl9hIiwiUmVhY3QiLCJpc1ZhbGlkRWxlbWVudCIsImNoaWxkUHJvcHMiLCJwcm9wcyIsImRpc3BsYXlOYW1lIiwidHlwZSIsImlzRm9ybUNvbXBvbmVudCIsIkZPUk1fQ09NUE9ORU5UX05BTUVTIiwicGxhY2Vob2xkZXIiLCJzYWZlVmFsdWUiLCJURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTIiwiaW5qZWN0ZWRQcm9wcyIsImFzc2lnbiIsIm9uQ2hhbmdlIiwiX2xlbiIsImFyZ3VtZW50cyIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJvbkJsdXIiLCJzdGF0dXMiLCJjbG9uZUVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksVUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBQThFLFNBQUFNLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFE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YSxDQUFDO0VBQ2pELENBQUM7RUFFRCxPQUFPO0lBQ0xuQyxVQUFVLEVBQVZBLFVBQVU7SUFDVkksVUFBVSxFQUFWQSxVQUFVO0lBQ1ZDLGVBQWUsRUFBZkEsZUFBZTtJQUNmeEIsY0FBYyxFQUFFeUIsV0FBVztJQUMzQlYsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZKLElBQUksRUFBSkEsSUFBSTtJQUNKQyxVQUFVLEVBQVZBLFVBQVU7SUFDVkMsWUFBWSxFQUFaQSxZQUFZO0lBQ1oyQixXQUFXLEVBQVhBO0VDMUNBLENEMkNEO0FBQ0giLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0uanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsInZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHsgZ2V0TmVzdGVkVmFsdWUgfSBmcm9tICcuL3BhdGhVdGlscyc7XG5pbXBvcnQgeyBGT1JNX0NPTVBPTkVOVF9OQU1FUywgVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUyB9IGZyb20gJy4vY29uc3RhbnRzJztcbi8qKiBOb3JtYWxpc2UgYSBjaGFuZ2UtaGFuZGxlciBhcmd1bWVudDogdW53cmFwIGBlLnRhcmdldC52YWx1ZWAsIGVsc2UgcGFzcyB0aGUgdmFsdWUgdGhyb3VnaC4gKi9cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudFZhbHVlKGUpIHtcbiAgICByZXR1cm4gZSAmJiB0eXBlb2YgZSA9PT0gJ29iamVjdCcgJiYgJ3RhcmdldCcgaW4gZVxuICAgICAgICA/IGUudGFyZ2V0LnZhbHVlXG4gICAgICAgIDogZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGb3JtSXRlbShvcHRpb25zKSB7XG4gICAgY29uc3QgeyBuYW1lLCBydWxlcyA9IFtdLCByZXF1aXJlZCwgdmFsaWRhdGVTdGF0dXMgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgY3R4ID0gdXNlUHJvRm9ybUNvbnRleHQoKTtcbiAgICBjb25zdCB7IHZhbHVlcywgZXJyb3JzLCB2YWxpZGF0aW5nLCBzZXRGaWVsZFZhbHVlLCB2YWxpZGF0ZUZpZWxkLCB2YWxpZGF0ZUZpZWxkQXN5bmMsIHJlZ2lzdGVyRmllbGQsIHVucmVnaXN0ZXJGaWVsZCwgc2l6ZSwgbGFiZWxBbGlnbiwgcmVxdWlyZWRNYXJrLCB2YWxpZGF0ZVRyaWdnZXIsIH0gPSBjdHg7XG4gICAgY29uc3QgaXNSZXF1aXJlZCA9IEJvb2xlYW4ocmVxdWlyZWQgfHwgcnVsZXMuc29tZSgocnVsZSkgPT4gcnVsZS5yZXF1aXJlZCkpO1xuICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBuYW1lXG4gICAgICAgID8gKG5hbWUuaW5jbHVkZXMoJy4nKSA/IGdldE5lc3RlZFZhbHVlKHZhbHVlcywgbmFtZSkgOiB2YWx1ZXNbbmFtZV0pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGZpZWxkRXJyb3IgPSBuYW1lXG4gICAgICAgID8gKG5hbWUuaW5jbHVkZXMoJy4nKVxuICAgICAgICAgICAgPyBnZXROZXN0ZWRWYWx1ZShlcnJvcnMsIG5hbWUpXG4gICAgICAgICAgICA6IGVycm9yc1tuYW1lXSlcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZmllbGRWYWxpZGF0aW5nID0gbmFtZSA/ICh2YWxpZGF0aW5nW25hbWVdIHx8IGZhbHNlKSA6IGZhbHNlO1xuICAgIGNvbnN0IGZpbmFsU3RhdHVzID0gdmFsaWRhdGVTdGF0dXMgfHwgKGZpZWxkRXJyb3IgPyAnZXJyb3InIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCBydW5WYWxpZGF0ZSA9IHVzZUV2ZW50Q2FsbGJhY2soKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChuYW1lICYmIHJ1bGVzLmxlbmd0aCA+IDApXG4gICAgICAgICAgICByZXR1cm4gdmFsaWRhdGVGaWVsZChuYW1lLCBydWxlcywgdmFsdWUpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcbiAgICBjb25zdCBydW5WYWxpZGF0ZUFzeW5jID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgaWYgKG5hbWUgJiYgcnVsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgeWllbGQgdmFsaWRhdGVGaWVsZEFzeW5jKG5hbWUsIHZhbHVlLCBydWxlcyk7XG4gICAgICAgIH1cbiAgICB9KSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgdmFsdWUpO1xuICAgICAgICAgICAgaWYgKHZhbGlkYXRlVHJpZ2dlciA9PT0gJ29uQ2hhbmdlJylcbiAgICAgICAgICAgICAgICBydW5WYWxpZGF0ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGlmICh2YWxpZGF0ZVRyaWdnZXIgPT09ICdvbkJsdXInKVxuICAgICAgICAgICAgcnVuVmFsaWRhdGVBc3luYyhmaWVsZFZhbHVlKTtcbiAgICB9KTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAobmFtZSAmJiByZWdpc3RlckZpZWxkKVxuICAgICAgICAgICAgcmVnaXN0ZXJGaWVsZChuYW1lLCBydWxlcyk7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAobmFtZSAmJiB1bnJlZ2lzdGVyRmllbGQpXG4gICAgICAgICAgICAgICAgdW5yZWdpc3RlckZpZWxkKG5hbWUpO1xuICAgICAgICB9O1xuICAgIH0sIFtuYW1lXSk7XG4gICAgY29uc3QgaW5qZWN0RmllbGQgPSAoY2hpbGQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIW5hbWUgfHwgIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSlcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgY29uc3QgY2hpbGRQcm9wcyA9IGNoaWxkLnByb3BzO1xuICAgICAgICBjb25zdCBkaXNwbGF5TmFtZSA9IChfYSA9IGNoaWxkLnR5cGUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNwbGF5TmFtZTtcbiAgICAgICAgY29uc3QgaXNGb3JtQ29tcG9uZW50ID0gRk9STV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUpIHx8XG4gICAgICAgICAgICBjaGlsZFByb3BzLnBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKCFpc0Zvcm1Db21wb25lbnQpXG4gICAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIGxldCBzYWZlVmFsdWUgPSBmaWVsZFZhbHVlO1xuICAgICAgICBpZiAoc2FmZVZhbHVlID09PSBudWxsIHx8IHNhZmVWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAoVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgfHxcbiAgICAgICAgICAgICAgICBjaGlsZFByb3BzLnBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBzYWZlVmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKFsnQ2hlY2tib3gnLCAnU3dpdGNoJ10uaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpKSB7XG4gICAgICAgICAgICAgICAgc2FmZVZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgJiZcbiAgICAgICAgICAgIHR5cGVvZiBzYWZlVmFsdWUgIT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICB0eXBlb2Ygc2FmZVZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5qZWN0ZWRQcm9wcyA9IE9iamVjdC5hc3NpZ24oeyB2YWx1ZTogc2FmZVZhbHVlLCBvbkNoYW5nZTogKGUsIC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2UoZXh0cmFjdEV2ZW50VmFsdWUoZSkpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGRQcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZFByb3BzLm9uQ2hhbmdlKGUsIC4uLmFyZ3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIG9uQmx1cjogKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVCbHVyKCk7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjaGlsZFByb3BzLm9uQmx1ciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZFByb3BzLm9uQmx1ciguLi5hcmdzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBzaXplOiBjaGlsZFByb3BzLnNpemUgfHwgc2l6ZSB9LCAoZmluYWxTdGF0dXMgPT09ICdlcnJvcicgJiYgeyBzdGF0dXM6ICdlcnJvcicgfSkpO1xuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCBpbmplY3RlZFByb3BzKTtcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIGZpZWxkVmFsdWUsXG4gICAgICAgIGZpZWxkRXJyb3IsXG4gICAgICAgIGZpZWxkVmFsaWRhdGluZyxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXM6IGZpbmFsU3RhdHVzLFxuICAgICAgICBpc1JlcXVpcmVkLFxuICAgICAgICBzaXplLFxuICAgICAgICBsYWJlbEFsaWduLFxuICAgICAgICByZXF1aXJlZE1hcmssXG4gICAgICAgIGluamVjdEZpZWxkLFxuICAgIH07XG59Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|