@1money/component-ui 0.0.75 → 0.0.76
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/components/ProForm/ProForm.js +46 -33
- package/es/components/ProForm/ProFormDependency.js +6 -16
- package/es/components/ProForm/ProFormItem.js +5 -7
- package/es/components/ProForm/ProFormList.js +112 -40
- package/es/components/ProForm/core/constants.d.ts +2 -0
- package/es/components/ProForm/core/constants.js +7 -1
- package/es/components/ProForm/core/devWarning.d.ts +3 -0
- package/es/components/ProForm/core/devWarning.js +22 -0
- package/es/components/ProForm/core/formStore.d.ts +10 -2
- package/es/components/ProForm/core/formStore.js +21 -2
- package/es/components/ProForm/core/hooks/useForm.js +246 -103
- package/es/components/ProForm/core/hooks/useFormCore.js +134 -28
- package/es/components/ProForm/core/interface.d.ts +124 -49
- package/es/components/ProForm/core/runRules.d.ts +44 -12
- package/es/components/ProForm/core/runRules.js +584 -133
- package/es/components/ProForm/core/useFormItem.d.ts +6 -7
- package/es/components/ProForm/core/useFormItem.js +44 -22
- package/es/components/ProForm/core/validationError.d.ts +13 -0
- package/es/components/ProForm/core/validationError.js +29 -0
- package/es/components/ProForm/fields/ProFormCheckboxGroup.js +19 -5
- package/es/components/ProForm/fields/ProFormFieldSet.js +51 -12
- package/es/components/ProForm/fields/ProFormRadioGroup.js +8 -3
- package/es/components/ProForm/fields/ProFormSelect.js +13 -7
- package/es/components/ProForm/fields/createProFormField.js +18 -25
- package/es/components/ProForm/hooks/useFieldRequest.js +10 -8
- package/es/components/ProForm/index.d.ts +2 -1
- package/es/components/ProForm/index.js +4 -1
- package/es/components/ProForm/interface.d.ts +31 -40
- package/es/components/ProForm/layouts/QueryFilter.js +24 -16
- package/es/components/ProForm/utils.d.ts +8 -0
- package/es/components/ProForm/utils.js +51 -3
- package/es/components/Table/core/useTableSetup.js +2 -2
- package/es/components/Table/interface.d.ts +1 -1
- package/es/index.css +1 -1
- package/lib/components/ProForm/ProForm.js +45 -32
- package/lib/components/ProForm/ProFormDependency.js +5 -15
- package/lib/components/ProForm/ProFormItem.js +5 -7
- package/lib/components/ProForm/ProFormList.js +110 -38
- package/lib/components/ProForm/core/constants.d.ts +2 -0
- package/lib/components/ProForm/core/constants.js +8 -2
- package/lib/components/ProForm/core/devWarning.d.ts +3 -0
- package/lib/components/ProForm/core/devWarning.js +29 -0
- package/lib/components/ProForm/core/formStore.d.ts +10 -2
- package/lib/components/ProForm/core/formStore.js +23 -2
- package/lib/components/ProForm/core/hooks/useForm.js +242 -99
- package/lib/components/ProForm/core/hooks/useFormCore.js +133 -27
- package/lib/components/ProForm/core/interface.d.ts +124 -49
- package/lib/components/ProForm/core/runRules.d.ts +44 -12
- package/lib/components/ProForm/core/runRules.js +587 -133
- package/lib/components/ProForm/core/useFormItem.d.ts +6 -7
- package/lib/components/ProForm/core/useFormItem.js +43 -21
- package/lib/components/ProForm/core/validationError.d.ts +13 -0
- package/lib/components/ProForm/core/validationError.js +36 -0
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +18 -4
- package/lib/components/ProForm/fields/ProFormFieldSet.js +51 -12
- package/lib/components/ProForm/fields/ProFormRadioGroup.js +7 -2
- package/lib/components/ProForm/fields/ProFormSelect.js +13 -7
- package/lib/components/ProForm/fields/createProFormField.js +18 -25
- package/lib/components/ProForm/hooks/useFieldRequest.js +10 -8
- package/lib/components/ProForm/index.d.ts +2 -1
- package/lib/components/ProForm/index.js +10 -1
- package/lib/components/ProForm/interface.d.ts +31 -40
- package/lib/components/ProForm/layouts/QueryFilter.js +24 -16
- package/lib/components/ProForm/utils.d.ts +8 -0
- package/lib/components/ProForm/utils.js +52 -3
- package/lib/components/Table/core/useTableSetup.js +2 -2
- package/lib/components/Table/interface.d.ts +1 -1
- package/lib/index.css +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server/examples.generated.json +42 -36
- package/scripts/mcp-server/index.generated.json +23 -67
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import type { FormSize, LabelAlign,
|
|
2
|
+
import type { FormRule, FormSize, LabelAlign, ValidateStatus, ValidateTriggerProp } from './interface';
|
|
3
3
|
export interface UseFormItemOptions {
|
|
4
4
|
name?: string;
|
|
5
|
-
rules?:
|
|
6
|
-
required?: boolean;
|
|
5
|
+
rules?: FormRule[];
|
|
7
6
|
validateStatus?: ValidateStatus;
|
|
8
7
|
/** Prop name the controlled value is injected under (e.g. `checked` for Switch/Checkbox). */
|
|
9
8
|
valuePropName?: string;
|
|
10
9
|
/** Debounce (ms) applied to onChange-triggered validation. */
|
|
11
10
|
validateDebounce?: number;
|
|
11
|
+
/** Item-level validateTrigger — overrides the form-level setting. */
|
|
12
|
+
validateTrigger?: ValidateTriggerProp;
|
|
12
13
|
}
|
|
13
14
|
export interface UseFormItemReturn {
|
|
14
15
|
fieldValue: unknown;
|
|
15
|
-
fieldError:
|
|
16
|
-
fieldWarning:
|
|
16
|
+
fieldError: ReactNode | undefined;
|
|
17
|
+
fieldWarning: ReactNode | undefined;
|
|
17
18
|
fieldValidating: boolean;
|
|
18
19
|
validateStatus: ValidateStatus | undefined;
|
|
19
|
-
isRequired: boolean;
|
|
20
20
|
size: FormSize;
|
|
21
21
|
labelAlign: LabelAlign;
|
|
22
|
-
requiredMark: boolean;
|
|
23
22
|
/**
|
|
24
23
|
* Clone a form-component child injecting value/onChange/onBlur/status.
|
|
25
24
|
* Form `size` cascades into size-aware controls as a default — an explicit
|
|
@@ -35,7 +35,7 @@ import useDebouncedCallback from '@1money/hooks/useDebouncedCallback';
|
|
|
35
35
|
import { useProFormStable, useProFormStore } from '../context';
|
|
36
36
|
import { useStoreSelector, shallowEqualArrays } from './formStore';
|
|
37
37
|
import { getNestedValue } from './pathUtils';
|
|
38
|
-
import { filterRulesByTrigger } from './runRules';
|
|
38
|
+
import { filterRulesByTrigger, normalizeTriggers, resolveRules } from './runRules';
|
|
39
39
|
import { FORM_COMPONENT_NAMES, SIZE_AWARE_COMPONENT_NAMES, TEXT_LIKE_COMPONENT_NAMES } from './constants';
|
|
40
40
|
/**
|
|
41
41
|
* Normalise a change-handler argument: unwrap `e.target[valuePropName]` /
|
|
@@ -61,26 +61,29 @@ export function useFormItem(options) {
|
|
|
61
61
|
var name = options.name,
|
|
62
62
|
_options$rules = options.rules,
|
|
63
63
|
rules = _options$rules === void 0 ? [] : _options$rules,
|
|
64
|
-
required = options.required,
|
|
65
64
|
validateStatus = options.validateStatus,
|
|
66
65
|
_options$valuePropNam = options.valuePropName,
|
|
67
66
|
valuePropName = _options$valuePropNam === void 0 ? 'value' : _options$valuePropNam,
|
|
68
|
-
validateDebounce = options.validateDebounce
|
|
67
|
+
validateDebounce = options.validateDebounce,
|
|
68
|
+
itemValidateTrigger = options.validateTrigger;
|
|
69
69
|
var _useProFormStable = useProFormStable(),
|
|
70
|
+
formInstance = _useProFormStable.formInstance,
|
|
70
71
|
setFieldValue = _useProFormStable.setFieldValue,
|
|
72
|
+
setFieldError = _useProFormStable.setFieldError,
|
|
73
|
+
setFieldWarning = _useProFormStable.setFieldWarning,
|
|
71
74
|
validateField = _useProFormStable.validateField,
|
|
72
75
|
validateFieldAsync = _useProFormStable.validateFieldAsync,
|
|
73
76
|
registerField = _useProFormStable.registerField,
|
|
74
|
-
|
|
77
|
+
retainField = _useProFormStable.retainField,
|
|
78
|
+
releaseField = _useProFormStable.releaseField,
|
|
75
79
|
size = _useProFormStable.size,
|
|
76
80
|
labelAlign = _useProFormStable.labelAlign,
|
|
77
|
-
|
|
78
|
-
validateTrigger = _useProFormStable.validateTrigger,
|
|
81
|
+
formValidateTrigger = _useProFormStable.validateTrigger,
|
|
79
82
|
formDisabled = _useProFormStable.disabled;
|
|
80
83
|
var store = useProFormStore();
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
+
// The item-level validateTrigger overrides the form-level one;
|
|
85
|
+
// the result is the set of interactive events that validate this field.
|
|
86
|
+
var activeTriggers = normalizeTriggers(itemValidateTrigger, formValidateTrigger);
|
|
84
87
|
// Per-field store subscription: this item re-renders ONLY when its own
|
|
85
88
|
// value/error/warning/validating slice changes — typing in a sibling field
|
|
86
89
|
// produces an equal tuple and the selector short-circuits.
|
|
@@ -95,17 +98,18 @@ export function useFormItem(options) {
|
|
|
95
98
|
fieldWarning = _useStoreSelector2[2],
|
|
96
99
|
fieldValidating = _useStoreSelector2[3];
|
|
97
100
|
var finalStatus = validateStatus || (fieldError ? 'error' : fieldWarning ? 'warning' : undefined);
|
|
98
|
-
//
|
|
99
|
-
//
|
|
101
|
+
// Trigger filtering needs resolved rules — a function-form rule's
|
|
102
|
+
// validateTrigger is only known after resolving it against the live values.
|
|
100
103
|
var runValidate = useEventCallback(function (value, trigger) {
|
|
101
104
|
if (!name || rules.length === 0) return true;
|
|
102
|
-
var
|
|
105
|
+
var resolved = resolveRules(rules, store.getState().values, formInstance);
|
|
106
|
+
var applicable = filterRulesByTrigger(resolved, trigger, activeTriggers, name);
|
|
103
107
|
if (applicable.length === 0) return true;
|
|
104
108
|
return validateField(name, applicable, value);
|
|
105
109
|
});
|
|
106
110
|
var runValidateAsync = useEventCallback(function (value, trigger) {
|
|
107
111
|
return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
108
|
-
var applicable;
|
|
112
|
+
var resolved, applicable;
|
|
109
113
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
110
114
|
while (1) switch (_context.prev = _context.next) {
|
|
111
115
|
case 0:
|
|
@@ -115,7 +119,8 @@ export function useFormItem(options) {
|
|
|
115
119
|
}
|
|
116
120
|
return _context.abrupt("return");
|
|
117
121
|
case 1:
|
|
118
|
-
|
|
122
|
+
resolved = resolveRules(rules, store.getState().values, formInstance);
|
|
123
|
+
applicable = filterRulesByTrigger(resolved, trigger, activeTriggers, name);
|
|
119
124
|
if (!(applicable.length === 0)) {
|
|
120
125
|
_context.next = 2;
|
|
121
126
|
break;
|
|
@@ -183,17 +188,36 @@ export function useFormItem(options) {
|
|
|
183
188
|
}
|
|
184
189
|
(_b = (_a = childCallbacksRef.current).onBlur) === null || _b === void 0 ? void 0 : (_b3 = _b).call.apply(_b3, [_a].concat(args));
|
|
185
190
|
});
|
|
191
|
+
// A FRESH field instance must not inherit error/warning meta stamped on the
|
|
192
|
+
// same name by a previous, since-unmounted instance (errors outlive
|
|
193
|
+
// unregisterField by design — list remapping depends on that). MOUNT only:
|
|
194
|
+
// a NAME change must not clear, or ProFormList's meta remapping (which
|
|
195
|
+
// renames rows positionally) would lose the very meta it just moved.
|
|
196
|
+
useEffect(function () {
|
|
197
|
+
if (name) {
|
|
198
|
+
setFieldError(name, null);
|
|
199
|
+
setFieldWarning(name, null);
|
|
200
|
+
}
|
|
201
|
+
// Mount-only by design (see above).
|
|
202
|
+
}, []);
|
|
203
|
+
// Mount-counted lifetime: releaseField removes the rules only when the LAST
|
|
204
|
+
// same-name instance unmounts — a memo-bailed survivor (which won't
|
|
205
|
+
// re-render to re-register) keeps its registration intact. Declared BEFORE
|
|
206
|
+
// the register effect: retain must run first so the registration below is
|
|
207
|
+
// classified as instance-owned.
|
|
208
|
+
useEffect(function () {
|
|
209
|
+
if (!name) return;
|
|
210
|
+
retainField(name);
|
|
211
|
+
return function () {
|
|
212
|
+
releaseField(name);
|
|
213
|
+
};
|
|
214
|
+
}, [name]);
|
|
186
215
|
// Keep the registry in sync with the LATEST rules every render (registration
|
|
187
216
|
// is a cheap ref mutation): dynamic rules (e.g. required toggled by another
|
|
188
217
|
// field) must be visible to submit-time validation, not just onChange.
|
|
189
218
|
useEffect(function () {
|
|
190
219
|
if (name && registerField) registerField(name, rules);
|
|
191
220
|
});
|
|
192
|
-
useEffect(function () {
|
|
193
|
-
return function () {
|
|
194
|
-
if (name && unregisterField) unregisterField(name);
|
|
195
|
-
};
|
|
196
|
-
}, [name]);
|
|
197
221
|
var injectField = function injectField(child) {
|
|
198
222
|
var _a;
|
|
199
223
|
if (!name || ! /*#__PURE__*/React.isValidElement(child)) return child;
|
|
@@ -230,11 +254,9 @@ export function useFormItem(options) {
|
|
|
230
254
|
fieldWarning: fieldWarning,
|
|
231
255
|
fieldValidating: fieldValidating,
|
|
232
256
|
validateStatus: finalStatus,
|
|
233
|
-
isRequired: isRequired,
|
|
234
257
|
size: size,
|
|
235
258
|
labelAlign: labelAlign,
|
|
236
|
-
requiredMark: requiredMark,
|
|
237
259
|
injectField: injectField
|
|
238
260
|
};
|
|
239
261
|
}
|
|
240
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9jb3JlL3VzZUZvcm1JdGVtLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS50cyJdLCJuYW1lcyI6WyJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUV2ZW50Q2FsbGJhY2siLCJ1c2VEZWJvdW5jZWRDYWxsYmFjayIsInVzZVByb0Zvcm1TdGFibGUiLCJ1c2VQcm9Gb3JtU3RvcmUiLCJ1c2VTdG9yZVNlbGVjdG9yIiwic2hhbGxvd0VxdWFsQXJyYXlzIiwiZ2V0TmVzdGVkVmFsdWUiLCJmaWx0ZXJSdWxlc0J5VHJpZ2dlciIsIkZPUk1fQ09NUE9ORU5UX05BTUVTIiwiU0laRV9BV0FSRV9DT01QT05FTlRfTkFNRVMiLCJURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTIiwiZXh0cmFjdEV2ZW50VmFsdWUiLCJ2YWx1ZVByb3BOYW1lIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiX3R5cGVvZiIsImV2ZW50IiwidGFyZ2V0IiwidXNlRm9ybUl0ZW0iLCJvcHRpb25zIiwiX3RoaXMiLCJuYW1lIiwiX29wdGlvbnMkcnVsZXMiLCJydWxlcyIsInJlcXVpcmVkIiwidmFsaWRhdGVTdGF0dXMiLCJfb3B0aW9ucyR2YWx1ZVByb3BOYW0iLCJ2YWxpZGF0ZURlYm91bmNlIiwiX3VzZVByb0Zvcm1TdGFibGUiLCJzZXRGaWVsZFZhbHVlIiwidmFsaWRhdGVGaWVsZCIsInZhbGlkYXRlRmllbGRBc3luYyIsInJlZ2lzdGVyRmllbGQiLCJ1bnJlZ2lzdGVyRmllbGQiLCJzaXplIiwibGFiZWxBbGlnbiIsInJlcXVpcmVkTWFyayIsInZhbGlkYXRlVHJpZ2dlciIsImZvcm1EaXNhYmxlZCIsImRpc2FibGVkIiwic3RvcmUiLCJpc1JlcXVpcmVkIiwiQm9vbGVhbiIsInNvbWUiLCJydWxlIiwiX3VzZVN0b3JlU2VsZWN0b3IiLCJzdGF0ZSIsImluY2x1ZGVzIiwidmFsdWVzIiwiZXJyb3JzIiwid2FybmluZ3MiLCJ2YWxpZGF0aW5nIiwiX3VzZVN0b3JlU2VsZWN0b3IyIiwiX3NsaWNlZFRvQXJyYXkiLCJmaWVsZFZhbHVlIiwiZmllbGRFcnJvciIsImZpZWxkV2FybmluZyIsImZpZWxkVmFsaWRhdGluZyIsImZpbmFsU3RhdHVzIiwicnVuVmFsaWRhdGUiLCJ0cmlnZ2VyIiwiYXBwbGljYWJsZSIsInJ1blZhbGlkYXRlQXN5bmMiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwiYWJydXB0Iiwic3RvcCIsIl91c2VEZWJvdW5jZWRDYWxsYmFjayIsImRlYm91bmNlZFZhbGlkYXRlIiwicnVuIiwiaGFuZGxlQ2hhbmdlIiwidG91Y2hlZCIsImdldFN0YXRlIiwic2V0U3RhdGUiLCJPYmplY3QiLCJhc3NpZ24iLCJfZGVmaW5lUHJvcGVydHkiLCJoYW5kbGVCbHVyIiwiY3VycmVudFZhbHVlIiwiY2hpbGRDYWxsYmFja3NSZWYiLCJpbmplY3RlZE9uQ2hhbmdlIiwiX2IyIiwiX2EiLCJfYiIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY3VycmVudCIsIm9uQ2hhbmdlIiwiY2FsbCIsImNvbmNhdCIsImluamVjdGVkT25CbHVyIiwiX2IzIiwiX2xlbjIiLCJfa2V5MiIsIm9uQmx1ciIsImluamVjdEZpZWxkIiwiY2hpbGQiLCJpc1ZhbGlkRWxlbWVudCIsImNoaWxkUHJvcHMiLCJwcm9wcyIsImRpc3BsYXlOYW1lIiwidHlwZSIsImlzRm9ybUNvbXBvbmVudCIsInBsYWNl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O0lBQ1ZDLFlBQVksRUFBWkEsWUFBWTtJQUNaQyxlQUFlLEVBQWZBLGVBQWU7SUFDZmhDLGNBQWMsRUFBRWlDLFdBQVc7SUFDM0JqQixVQUFVLEVBQVZBLFVBQVU7SUFDVlAsSUFBSSxFQUFKQSxJQUFJO0lBQ0pDLFVBQVUsRUFBVkEsVUFBVTtJQUNWQyxZQUFZLEVBQVpBLFlBQVk7SUFDWmlFLFdBQVcsRUFBWEE7RUQzRUEsQ0M0RUQ7QUFDSCIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB1c2VEZWJvdW5jZWRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZURlYm91bmNlZENhbGxiYWNrJztcbmltcG9ydCB7IHVzZVByb0Zvcm1TdGFibGUsIHVzZVByb0Zvcm1TdG9yZSB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHsgdXNlU3RvcmVTZWxlY3Rvciwgc2hhbGxvd0VxdWFsQXJyYXlzIH0gZnJvbSAnLi9mb3JtU3RvcmUnO1xuaW1wb3J0IHsgZ2V0TmVzdGVkVmFsdWUgfSBmcm9tICcuL3BhdGhVdGlscyc7XG5pbXBvcnQgeyBmaWx0ZXJSdWxlc0J5VHJpZ2dlciB9IGZyb20gJy4vcnVuUnVsZXMnO1xuaW1wb3J0IHsgRk9STV9DT01QT05FTlRfTkFNRVMsIFNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTLCBURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTLCB9IGZyb20gJy4vY29uc3RhbnRzJztcbi8qKlxuICogTm9ybWFsaXNlIGEgY2hhbmdlLWhhbmRsZXIgYXJndW1lbnQ6IHVud3JhcCBgZS50YXJnZXRbdmFsdWVQcm9wTmFtZV1gIC9cbiAqIGBlW3ZhbHVlUHJvcE5hbWVdYCAoZS5nLiBDaGVja2JveCBlbWl0cyBgeyBjaGVja2VkIH1gKSwgZWxzZSBgZS50YXJnZXQudmFsdWVgLFxuICogZWxzZSBwYXNzIHRoZSB2YWx1ZSB0aHJvdWdoIChlLmcuIFN3aXRjaCBlbWl0cyB0aGUgYm9vbGVhbiBkaXJlY3RseSkuXG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudFZhbHVlKGUsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnKSB7XG4gICAgaWYgKGUgPT09IG51bGwgfHwgdHlwZW9mIGUgIT09ICdvYmplY3QnKVxuICAgICAgICByZXR1cm4gZTtcbiAgICBjb25zdCBldmVudCA9IGU7XG4gICAgaWYgKHZhbHVlUHJvcE5hbWUgIT09ICd2YWx1ZScgJiYgdmFsdWVQcm9wTmFtZSBpbiBldmVudCkge1xuICAgICAgICByZXR1cm4gZXZlbnRbdmFsdWVQcm9wTmFtZV07XG4gICAgfVxuICAgIGlmICgndGFyZ2V0JyBpbiBldmVudCAmJiBldmVudC50YXJnZXQgJiYgdHlwZW9mIGV2ZW50LnRhcmdldCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICBpZiAodmFsdWVQcm9wTmFtZSBpbiB0YXJnZXQpXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0W3ZhbHVlUHJvcE5hbWVdO1xuICAgICAgICBpZiAoJ3ZhbHVlJyBpbiB0YXJnZXQpXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGb3JtSXRlbShvcHRpb25zKSB7XG4gICAgY29uc3QgeyBuYW1lLCBydWxlcyA9IFtdLCByZXF1aXJlZCwgdmFsaWRhdGVTdGF0dXMsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnLCB2YWxpZGF0ZURlYm91bmNlLCB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB7IHNldEZpZWxkVmFsdWUsIHZhbGlkYXRlRmllbGQsIHZhbGlkYXRlRmllbGRBc3luYywgcmVnaXN0ZXJGaWVsZCwgdW5yZWdpc3RlckZpZWxkLCBzaXplLCBsYWJlbEFsaWduLCByZXF1aXJlZE1hcmssIHZhbGlkYXRlVHJpZ2dlciwgZGlzYWJsZWQ6IGZvcm1EaXNhYmxlZCwgfSA9IHVzZVByb0Zvcm1TdGFibGUoKTtcbiAgICBjb25zdCBzdG9yZSA9IHVzZVByb0Zvcm1TdG9yZSgpO1xuICAgIGNvbnN0IGlzUmVxdWlyZWQgPSBCb29sZWFuKHJlcXVpcmVkIHx8IHJ1bGVzLnNvbWUoKHJ1bGUpID0+IHJ1bGUucmVxdWlyZWQpKTtcbiAgICAvLyBQZXItZmllbGQgc3RvcmUgc3Vic2NyaXB0aW9uOiB0aGlzIGl0ZW0gcmUtcmVuZGVycyBPTkxZIHdoZW4gaXRzIG93blxuICAgIC8vIHZhbHVlL2Vycm9yL3dhcm5pbmcvdmFsaWRhdGluZyBzbGljZSBjaGFuZ2VzIOKAlCB0eXBpbmcgaW4gYSBzaWJsaW5nIGZpZWxkXG4gICAgLy8gcHJvZHVjZXMgYW4gZXF1YWwgdHVwbGUgYW5kIHRoZSBzZWxlY3RvciBzaG9ydC1jaXJjdWl0cy5cbiAgICAvLyBFcnJvcnMvd2FybmluZ3MgYXJlIHN0b3JlZCBGTEFULCBrZXllZCBieSB0aGUgZnVsbCAocG9zc2libHkgZG90dGVkKSBmaWVsZFxuICAgIC8vIG5hbWUg4oCUIG5ldmVyIHJlc29sdmUgdGhlbSBhcyBuZXN0ZWQgcGF0aHMgb3IgZG90dGVkIG5hbWVzIHdvdWxkIG1pc3MuXG4gICAgY29uc3QgW2ZpZWxkVmFsdWUsIGZpZWxkRXJyb3IsIGZpZWxkV2FybmluZywgZmllbGRWYWxpZGF0aW5nXSA9IHVzZVN0b3JlU2VsZWN0b3Ioc3RvcmUsIChzdGF0ZSkgPT4gW1xuICAgICAgICBuYW1lXG4gICAgICAgICAgICA/IChuYW1lLmluY2x1ZGVzKCcuJykgPyBnZXROZXN0ZWRWYWx1ZShzdGF0ZS52YWx1ZXMsIG5hbWUpIDogc3RhdGUudmFsdWVzW25hbWVdKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG5hbWUgPyBzdGF0ZS5lcnJvcnNbbmFtZV0gOiB1bmRlZmluZWQsXG4gICAgICAgIG5hbWUgPyBzdGF0ZS53YXJuaW5nc1tuYW1lXSA6IHVuZGVmaW5lZCxcbiAgICAgICAgbmFtZSA/IChzdGF0ZS52YWxpZGF0aW5nW25hbWVdIHx8IGZhbHNlKSA6IGZhbHNlLFxuICAgIF0sIHNoYWxsb3dFcXVhbEFycmF5cyk7XG4gICAgY29uc3QgZmluYWxTdGF0dXMgPSB2YWxpZGF0ZVN0YXR1cyB8fCAoZmllbGRFcnJvciA/ICdlcnJvcicgOiBmaWVsZFdhcm5pbmcgPyAnd2FybmluZycgOiB1bmRlZmluZWQpO1xuICAgIC8vIFJ1biBvbmx5IHRoZSBydWxlcyBhcHBsaWNhYmxlIHRvIHRoZSBnaXZlbiBpbnRlcmFjdGl2ZSB0cmlnZ2VyOyBydWxlc1xuICAgIC8vIHdpdGhvdXQgYW4gZXhwbGljaXQgdmFsaWRhdGVUcmlnZ2VyIGZvbGxvdyB0aGUgZm9ybS1sZXZlbCBzZXR0aW5nLlxuICAgIGNvbnN0IHJ1blZhbGlkYXRlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUsIHRyaWdnZXIpID0+IHtcbiAgICAgICAgaWYgKCFuYW1lIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBjb25zdCBhcHBsaWNhYmxlID0gZmlsdGVyUnVsZXNCeVRyaWdnZXIocnVsZXMsIHRyaWdnZXIsIHZhbGlkYXRlVHJpZ2dlcik7XG4gICAgICAgIGlmIChhcHBsaWNhYmxlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICByZXR1cm4gdmFsaWRhdGVGaWVsZChuYW1lLCBhcHBsaWNhYmxlLCB2YWx1ZSk7XG4gICAgfSk7XG4gICAgY29uc3QgcnVuVmFsaWRhdGVBc3luYyA9IHVzZUV2ZW50Q2FsbGJhY2soKHZhbHVlLCB0cmlnZ2VyKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGlmICghbmFtZSB8fCBydWxlcy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGFwcGxpY2FibGUgPSBmaWx0ZXJSdWxlc0J5VHJpZ2dlcihydWxlcywgdHJpZ2dlciwgdmFsaWRhdGVUcmlnZ2VyKTtcbiAgICAgICAgaWYgKGFwcGxpY2FibGUubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB5aWVsZCB2YWxpZGF0ZUZpZWxkQXN5bmMobmFtZSwgdmFsdWUsIGFwcGxpY2FibGUpO1xuICAgIH0pKTtcbiAgICBjb25zdCB7IHJ1bjogZGVib3VuY2VkVmFsaWRhdGUgfSA9IHVzZURlYm91bmNlZENhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgICAgICBydW5WYWxpZGF0ZSh2YWx1ZSwgJ29uQ2hhbmdlJyk7XG4gICAgfSwgdmFsaWRhdGVEZWJvdW5jZSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgdmFsdWUpO1xuICAgICAgICAgICAgLy8gdG91Y2hlZCBpcyBzZXQgYnkgdGhlIHVzZXIgY2hhbmdlIHRyaWdnZXIg4oCUXG4gICAgICAgICAgICAvLyBwcm9ncmFtbWF0aWMgc2V0RmllbGRzVmFsdWUgZG9lcyBub3QgbWFyayBmaWVsZHMgdG91Y2hlZC5cbiAgICAgICAgICAgIGNvbnN0IHRvdWNoZWQgPSBzdG9yZS5nZXRTdGF0ZSgpLnRvdWNoZWQ7XG4gICAgICAgICAgICBpZiAoIXRvdWNoZWRbbmFtZV0pIHtcbiAgICAgICAgICAgICAgICBzdG9yZS5zZXRTdGF0ZSh7IHRvdWNoZWQ6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdG91Y2hlZCksIHsgW25hbWVdOiB0cnVlIH0pIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHZhbGlkYXRlRGVib3VuY2UgJiYgdmFsaWRhdGVEZWJvdW5jZSA+IDApIHtcbiAgICAgICAgICAgICAgICBkZWJvdW5jZWRWYWxpZGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBydW5WYWxpZGF0ZSh2YWx1ZSwgJ29uQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIC8vIFJlYWQgdGhlIExJVkUgdmFsdWUgZnJvbSB0aGUgc3RvcmUg4oCUIGEgY2hhbmdlIGNvbW1pdHRlZCBpbiB0aGUgc2FtZVxuICAgICAgICAvLyB0aWNrIChjaGFuZ2Ug4oaSIGltbWVkaWF0ZSBibHVyKSBtdXN0IGJlIHZhbGlkYXRlZCwgbm90IHRoZSByZW5kZXItdGltZVxuICAgICAgICAvLyBzbmFwc2hvdC5cbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gbmFtZVxuICAgICAgICAgICAgPyAobmFtZS5pbmNsdWRlcygnLicpXG4gICAgICAgICAgICAgICAgPyBnZXROZXN0ZWRWYWx1ZShzdG9yZS5nZXRTdGF0ZSgpLnZhbHVlcywgbmFtZSlcbiAgICAgICAgICAgICAgICA6IHN0b3JlLmdldFN0YXRlKCkudmFsdWVzW25hbWVdKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIHJ1blZhbGlkYXRlQXN5bmMoY3VycmVudFZhbHVlLCAnb25CbHVyJyk7XG4gICAgfSk7XG4gICAgLy8gTGF0ZXN0IGNoaWxkLXByb3ZpZGVkIGNhbGxiYWNrcywgY2FwdHVyZWQgYXQgaW5qZWN0RmllbGQgdGltZS4gVGhlIFNUQUJMRVxuICAgIC8vIGluamVjdGVkIGhhbmRsZXJzIGJlbG93IGRlbGVnYXRlIHRocm91Z2ggdGhpcyByZWYgaW5zdGVhZCBvZiBiZWluZ1xuICAgIC8vIHJlY3JlYXRlZCBwZXIgcmVuZGVyIOKAlCBzbyBhIG1lbW9pemVkIGZpZWxkIGNvbXBvbmVudCBzZWVzIHNoYWxsb3ctZXF1YWxcbiAgICAvLyBwcm9wcyBhY3Jvc3MgcmVuZGVycyBhbmQgY2FuIGJhaWwgb3V0IHdoaWxlIGFub3RoZXIgZmllbGQgaXMgdHlwaW5nLlxuICAgIGNvbnN0IGNoaWxkQ2FsbGJhY2tzUmVmID0gdXNlUmVmKHt9KTtcbiAgICBjb25zdCBpbmplY3RlZE9uQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZSwgLi4uYXJncykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBoYW5kbGVDaGFuZ2UoZXh0cmFjdEV2ZW50VmFsdWUoZSwgdmFsdWVQcm9wTmFtZSkpO1xuICAgICAgICAoX2IgPSAoX2EgPSBjaGlsZENhbGxiYWNrc1JlZi5jdXJyZW50KS5vbkNoYW5nZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIGUsIC4uLmFyZ3MpO1xuICAgIH0pO1xuICAgIGNvbnN0IGluamVjdGVkT25CbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoLi4uYXJncykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBoYW5kbGVCbHVyKCk7XG4gICAgICAgIChfYiA9IChfYSA9IGNoaWxkQ2FsbGJhY2tzUmVmLmN1cnJlbnQpLm9uQmx1cikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIC4uLmFyZ3MpO1xuICAgIH0pO1xuICAgIC8vIEtlZXAgdGhlIHJlZ2lzdHJ5IGluIHN5bmMgd2l0aCB0aGUgTEFURVNUIHJ1bGVzIGV2ZXJ5IHJlbmRlciAocmVnaXN0cmF0aW9uXG4gICAgLy8gaXMgYSBjaGVhcCByZWYgbXV0YXRpb24pOiBkeW5hbWljIHJ1bGVzIChlLmcuIHJlcXVpcmVkIHRvZ2dsZWQgYnkgYW5vdGhlclxuICAgIC8vIGZpZWxkKSBtdXN0IGJlIHZpc2libGUgdG8gc3VibWl0LXRpbWUgdmFsaWRhdGlvbiwgbm90IGp1c3Qgb25DaGFuZ2UuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5hbWUgJiYgcmVnaXN0ZXJGaWVsZClcbiAgICAgICAgICAgIHJlZ2lzdGVyRmllbGQobmFtZSwgcnVsZXMpO1xuICAgIH0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAobmFtZSAmJiB1bnJlZ2lzdGVyRmllbGQpXG4gICAgICAgICAgICAgICAgdW5yZWdpc3RlckZpZWxkKG5hbWUpO1xuICAgICAgICB9O1xuICAgIH0sIFtuYW1lXSk7XG4gICAgY29uc3QgaW5qZWN0RmllbGQgPSAoY2hpbGQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIW5hbWUgfHwgIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSlcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgY29uc3QgY2hpbGRQcm9wcyA9IGNoaWxkLnByb3BzO1xuICAgICAgICBjb25zdCBkaXNwbGF5TmFtZSA9IChfYSA9IGNoaWxkLnR5cGUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNwbGF5TmFtZTtcbiAgICAgICAgY29uc3QgaXNGb3JtQ29tcG9uZW50ID0gRk9STV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUpIHx8XG4gICAgICAgICAgICBjaGlsZFByb3BzLnBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgY2hpbGRQcm9wc1t2YWx1ZVByb3BOYW1lXSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoIWlzRm9ybUNvbXBvbmVudClcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgbGV0IHNhZmVWYWx1ZSA9IGZpZWxkVmFsdWU7XG4gICAgICAgIGlmIChzYWZlVmFsdWUgPT09IG51bGwgfHwgc2FmZVZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZVByb3BOYW1lID09PSAnY2hlY2tlZCcgfHwgWydDaGVja2JveCcsICdTd2l0Y2gnXS5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykpIHtcbiAgICAgICAgICAgICAgICBzYWZlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKFRFWFRfTElLRV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpIHx8XG4gICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgJiZcbiAgICAgICAgICAgIHR5cGVvZiBzYWZlVmFsdWUgIT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICB0eXBlb2Ygc2FmZVZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY2hpbGRDYWxsYmFja3NSZWYuY3VycmVudCA9IHtcbiAgICAgICAgICAgIG9uQ2hhbmdlOiB0eXBlb2YgY2hpbGRQcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgID8gY2hpbGRQcm9wcy5vbkNoYW5nZVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgb25CbHVyOiB0eXBlb2YgY2hpbGRQcm9wcy5vbkJsdXIgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IGNoaWxkUHJvcHMub25CbHVyXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGluamVjdGVkUHJvcHMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7IFt2YWx1ZVByb3BOYW1lXTogc2FmZVZhbHVlLCBvbkNoYW5nZTogaW5qZWN0ZWRPbkNoYW5nZSwgb25CbHVyOiBpbmplY3RlZE9uQmx1ciB9LCAoZmluYWxTdGF0dXMgPT09ICdlcnJvcicgJiYgeyBzdGF0dXM6ICdlcnJvcicgfSkpLCAoZm9ybURpc2FibGVkICYmIGNoaWxkUHJvcHMuZGlzYWJsZWQgPT09IHVuZGVmaW5lZCAmJiB7IGRpc2FibGVkOiB0cnVlIH0pKSwgKFNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSAmJlxuICAgICAgICAgICAgY2hpbGRQcm9wcy5zaXplID09PSB1bmRlZmluZWQgJiYgeyBzaXplIH0pKTtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwgaW5qZWN0ZWRQcm9wcyk7XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICBmaWVsZEVycm9yLFxuICAgICAgICBmaWVsZFdhcm5pbmcsXG4gICAgICAgIGZpZWxkVmFsaWRhdGluZyxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXM6IGZpbmFsU3RhdHVzLFxuICAgICAgICBpc1JlcXVpcmVkLFxuICAgICAgICBzaXplLFxuICAgICAgICBsYWJlbEFsaWduLFxuICAgICAgICByZXF1aXJlZE1hcmssXG4gICAgICAgIGluamVjdEZpZWxkLFxuICAgIH07XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
262
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9jb3JlL3VzZUZvcm1JdGVtLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS50cyJdLCJuYW1lcyI6WyJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUV2ZW50Q2FsbGJhY2siLCJ1c2VEZWJvdW5jZWRDYWxsYmFjayIsInVzZVByb0Zvcm1TdGFibGUiLCJ1c2VQcm9Gb3JtU3RvcmUiLCJ1c2VTdG9yZVNlbGVjdG9yIiwic2hhbGxvd0VxdWFsQXJyYXlzIiwiZ2V0TmVzdGVkVmFsdWUiLCJmaWx0ZXJSdWxlc0J5VHJpZ2dlciIsIm5vcm1hbGl6ZVRyaWdnZXJzIiwicmVzb2x2ZVJ1bGVzIiwiRk9STV9DT01QT05FTlRfTkFNRVMiLCJTSVpFX0FXQVJFX0NPTVBPTkVOVF9OQU1FUyIsIlRFWFRfTElLRV9DT01QT05FTlRfTkFNRVMiLCJleHRyYWN0RXZlbnRWYWx1ZSIsInZhbHVlUHJvcE5hbWUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJfdHlwZW9mIiwiZXZlbnQiLCJ0YXJnZXQiLCJ1c2VGb3JtSXRlbSIsIm9wdGlvbnMiLCJfdGhpcyIsIm5hbWUiLCJfb3B0aW9ucyRydWxlcyIsInJ1bGVzIiwidmFsaWRhdGVTdGF0dXMiLCJfb3B0aW9ucyR2YWx1ZVByb3BOYW0iLCJ2YWxpZGF0ZURlYm91bmNlIiwiaXRlbVZhbGlkYXRlVHJpZ2dlciIsInZhbGlkYXRlVHJpZ2dlciIsIl91c2VQcm9Gb3JtU3RhYmxlIiwiZm9ybUluc3RhbmNlIiwic2V0RmllbGRWYWx1ZSIsInNldEZpZWxkRXJyb3IiLCJzZXRGaWVsZFdhcm5pbmciLCJ2YWxpZGF0ZUZpZWxkIiwidmFsaWRhdGVGaWVsZEFzeW5jIiwicmVnaXN0ZXJGaWVsZCIsInJldGFpbkZpZWxkIiwicmVsZWFzZUZpZWxkIiwic2l6ZSIsImxhYmVsQWxpZ24iLCJmb3JtVmFsaWRhdGVUcmlnZ2VyIiwiZm9ybURpc2FibGVkIiwiZGlzYWJsZWQiLCJzdG9yZSIsImFjdGl2ZVRyaWdnZXJzIiwiX3VzZVN0b3JlU2VsZWN0b3IiLCJzdGF0ZSIsImluY2x1ZGVzIiwidmFsdWVzIiwiZXJyb3JzIiwid2FybmluZ3MiLCJ2YWxpZGF0aW5nIiwiX3VzZVN0b3JlU2VsZWN0b3IyIiwiX3NsaWNlZFRvQXJyYXkiLCJmaWVsZFZhbHVlIiwiZmllbGRFcnJvciIsImZpZWxkV2FybmluZyIsImZpZWxkVmFsaWRhdGluZyIsImZpbmFsU3RhdHVzIiwicnVuVmFsaWRhdGUiLCJ0cmlnZ2VyIiwicmVzb2x2ZWQiLCJnZXRTdGF0ZSIsImFwcGxpY2FibGUiLCJydW5WYWxpZGF0ZUFzeW5jIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsImFicnVwdCIsInN0b3AiLCJfdXNlRGVib3VuY2VkQ2FsbGJhY2siLCJkZWJvdW5jZWRWYWxpZGF0ZSIsInJ1biIsImhhbmRsZUNoYW5nZSIsInRvdWNoZWQiLCJzZXRTdGF0ZSIsIk9iamVjdCIsImFzc2lnbiIsIl9kZWZpbmVQcm9wZXJ0eSIsImhhbmRsZUJsdXIiLCJjdXJyZW50VmFsdWUiLCJjaGlsZENhbGxiYWNrc1JlZiIsImluamVjdGVkT25DaGFuZ2UiLCJfYjIiLCJfYSIsIl9iIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjdXJyZW50Iiwib25DaGFuZ2UiLCJjYWxsIiwiY29uY2F0IiwiaW5qZWN0ZWRPbkJsdXIiLCJfYjMiLCJfbGVuMiIsIl9rZXkyIiwib25CbHVyIiwiaW5qZWN0RmllbGQiLCJjaGlsZCIsImlzVmFsaWRFbGVtZW50IiwiY2hpbGRQcm9wcyIsInByb3BzIiwiZGlzcGxheU5hbWUiLCJ0eXBlIiwiaXNGb3JtQ29tcG9uZW50IiwicGxhY2Vob2xkZXIiLCJzYWZlVmFsdWUiLCJpbmplY3RlZFByb3BzIiwic3RhdHVzIiwiY2xvbmVFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBSUEsU0FBUyxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBS0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZSCxDQUFDLEdBQUdHLEtBQUssR0FBRyxJQUFJSCxDQUFDLENBQUMsVUFBVUksT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQUU7RUFDM0csT0FBTyxLQUFLSCxDQUFDLEtBQUtBLENBQUMsR0FBR0ssT0FBTyxDQUFDLEVBQUUsVUFBVUQsT0FBTyxFQUFFRSxNQUFNLEVBQUU7SUFDdkQsU0FBU0MsU0FBU0EsQ0FBQ0osS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQ1EsSUFBSSxDQUFDTixLQUFLLENBQUMsQ0FBQztNQUFFLENBQUMsQ0FBQyxPQUFPTyxDQUFDLEVBQUU7UUFBRUosTUFBTSxDQUFDSSxDQUFDLENBQUM7TUFBRTtJQUFFO0lBQzFGLFNBQVNDLFFBQVFBLENBQUNSLEtBQUssRUFBRTtNQUFFLElBQUk7UUFBRUssSUFBSSxDQUFDUCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUNFLEtBQUssQ0FBQyxDQUFDO01BQUUsQ0FBQyxDQUFDLE9BQU9PLENBQUMsRUFBRTtRQUFFSixNQUFNLENBQUNJLENBQUMsQ0FBQztNQUFFO0lBQUU7SUFDN0YsU0FBU0YsSUFBSUEsQ0FBQ0ksTUFBTSxFQUFFO01BQUVBLE1BQU0s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ZndGLE1BQU0sRUFDSixPQUFPSSxVQUFVLENBQUNKLE1BQU0sS0FBSyxVQUFVLEdBQ2xDSSxVQUFVLENBQUNKLE1BQW9DLEdBQ2hEeEY7SUR4RUosQ0N5RUg7SUFFRCxJQUFNbUcsYUFBYSxHQUFBakMsTUFBQSxDQUFBQyxNQUFBLENBQUFELE1BQUEsQ0FBQUMsTUFBQSxDQUFBRCxNQUFBLENBQUFDLE1BQUEsQ0FBQUMsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsS0FDaEJ2RSxhQUFhLEVBQUdxRyxTQUFTLGVBQ2hCMUIsZ0JBQWdCLGFBQ2xCWSxjQUFjLEdBQ2xCdkMsV0FBVyxLQUFLLE9BQU8sSUFBSTtNQUFFdUQsTUFBTSxFQUFFO0lBQU8sQ0FBRyxDQUFBLEVBRy9DeEUsWUFBWSxJQUFJZ0UsVUFBVSxDQUFDL0QsUUFBUSxLQUFLN0IsU0FBUyxJQUFJO01BQUU2QixRQUFRLEVBQUU7SUFBSSxDQUFHLENBQUEsRUFHeEVuQywwQkFBMEIsQ0FBQ3dDLFFBQVEsQ0FBQzRELFdBQVcsSUFBSSxFQUFFLENBQUMsSUFDeERGLFVBQVUsQ0FBQ25FLElBQUksS0FBS3pCLFNBQVMsSUFBSTtNQUFFeUIsSUFBSSxFQUFKQTtJQUFJLENBQUcsQ0FDN0M7SUFFRCxvQkFBTzdDLEtBQUssQ0FBQ3lILFlBQVksQ0FBQ1gsS0FBSyxFQUFFUyxhQUFhLENBQUM7RUFDakQsQ0FBQztFQUVELE9BQU87SUFDTDFELFVBQVUsRUFBVkEsVUFBVTtJQUNWQyxVQUFVLEVBQVZBLFVBQVU7SUFDVkMsWUFBWSxFQUFaQSxZQUFZO0lBQ1pDLGVBQWUsRUFBZkEsZUFBZTtJQUNmbEMsY0FBYyxFQUFFbUMsV0FBVztJQUMzQnBCLElBQUksRUFBSkEsSUFBSTtJQUNKQyxVQUFVLEVBQVZBLFVBQVU7SUFDVitELFdBQVcsRUFBWEE7RUR0RkEsQ0N1RkQ7QUFDSCIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB1c2VEZWJvdW5jZWRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZURlYm91bmNlZENhbGxiYWNrJztcbmltcG9ydCB7IHVzZVByb0Zvcm1TdGFibGUsIHVzZVByb0Zvcm1TdG9yZSB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHsgdXNlU3RvcmVTZWxlY3Rvciwgc2hhbGxvd0VxdWFsQXJyYXlzIH0gZnJvbSAnLi9mb3JtU3RvcmUnO1xuaW1wb3J0IHsgZ2V0TmVzdGVkVmFsdWUgfSBmcm9tICcuL3BhdGhVdGlscyc7XG5pbXBvcnQgeyBmaWx0ZXJSdWxlc0J5VHJpZ2dlciwgbm9ybWFsaXplVHJpZ2dlcnMsIHJlc29sdmVSdWxlcyB9IGZyb20gJy4vcnVuUnVsZXMnO1xuaW1wb3J0IHsgRk9STV9DT01QT05FTlRfTkFNRVMsIFNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTLCBURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTLCB9IGZyb20gJy4vY29uc3RhbnRzJztcbi8qKlxuICogTm9ybWFsaXNlIGEgY2hhbmdlLWhhbmRsZXIgYXJndW1lbnQ6IHVud3JhcCBgZS50YXJnZXRbdmFsdWVQcm9wTmFtZV1gIC9cbiAqIGBlW3ZhbHVlUHJvcE5hbWVdYCAoZS5nLiBDaGVja2JveCBlbWl0cyBgeyBjaGVja2VkIH1gKSwgZWxzZSBgZS50YXJnZXQudmFsdWVgLFxuICogZWxzZSBwYXNzIHRoZSB2YWx1ZSB0aHJvdWdoIChlLmcuIFN3aXRjaCBlbWl0cyB0aGUgYm9vbGVhbiBkaXJlY3RseSkuXG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudFZhbHVlKGUsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnKSB7XG4gICAgaWYgKGUgPT09IG51bGwgfHwgdHlwZW9mIGUgIT09ICdvYmplY3QnKVxuICAgICAgICByZXR1cm4gZTtcbiAgICBjb25zdCBldmVudCA9IGU7XG4gICAgaWYgKHZhbHVlUHJvcE5hbWUgIT09ICd2YWx1ZScgJiYgdmFsdWVQcm9wTmFtZSBpbiBldmVudCkge1xuICAgICAgICByZXR1cm4gZXZlbnRbdmFsdWVQcm9wTmFtZV07XG4gICAgfVxuICAgIGlmICgndGFyZ2V0JyBpbiBldmVudCAmJiBldmVudC50YXJnZXQgJiYgdHlwZW9mIGV2ZW50LnRhcmdldCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICBpZiAodmFsdWVQcm9wTmFtZSBpbiB0YXJnZXQpXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0W3ZhbHVlUHJvcE5hbWVdO1xuICAgICAgICBpZiAoJ3ZhbHVlJyBpbiB0YXJnZXQpXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGb3JtSXRlbShvcHRpb25zKSB7XG4gICAgY29uc3QgeyBuYW1lLCBydWxlcyA9IFtdLCB2YWxpZGF0ZVN0YXR1cywgdmFsdWVQcm9wTmFtZSA9ICd2YWx1ZScsIHZhbGlkYXRlRGVib3VuY2UsIHZhbGlkYXRlVHJpZ2dlcjogaXRlbVZhbGlkYXRlVHJpZ2dlciwgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgeyBmb3JtSW5zdGFuY2UsIHNldEZpZWxkVmFsdWUsIHNldEZpZWxkRXJyb3IsIHNldEZpZWxkV2FybmluZywgdmFsaWRhdGVGaWVsZCwgdmFsaWRhdGVGaWVsZEFzeW5jLCByZWdpc3RlckZpZWxkLCByZXRhaW5GaWVsZCwgcmVsZWFzZUZpZWxkLCBzaXplLCBsYWJlbEFsaWduLCB2YWxpZGF0ZVRyaWdnZXI6IGZvcm1WYWxpZGF0ZVRyaWdnZXIsIGRpc2FibGVkOiBmb3JtRGlzYWJsZWQsIH0gPSB1c2VQcm9Gb3JtU3RhYmxlKCk7XG4gICAgY29uc3Qgc3RvcmUgPSB1c2VQcm9Gb3JtU3RvcmUoKTtcbiAgICAvLyBUaGUgaXRlbS1sZXZlbCB2YWxpZGF0ZVRyaWdnZXIgb3ZlcnJpZGVzIHRoZSBmb3JtLWxldmVsIG9uZTtcbiAgICAvLyB0aGUgcmVzdWx0IGlzIHRoZSBzZXQgb2YgaW50ZXJhY3RpdmUgZXZlbnRzIHRoYXQgdmFsaWRhdGUgdGhpcyBmaWVsZC5cbiAgICBjb25zdCBhY3RpdmVUcmlnZ2VycyA9IG5vcm1hbGl6ZVRyaWdnZXJzKGl0ZW1WYWxpZGF0ZVRyaWdnZXIsIGZvcm1WYWxpZGF0ZVRyaWdnZXIpO1xuICAgIC8vIFBlci1maWVsZCBzdG9yZSBzdWJzY3JpcHRpb246IHRoaXMgaXRlbSByZS1yZW5kZXJzIE9OTFkgd2hlbiBpdHMgb3duXG4gICAgLy8gdmFsdWUvZXJyb3Ivd2FybmluZy92YWxpZGF0aW5nIHNsaWNlIGNoYW5nZXMg4oCUIHR5cGluZyBpbiBhIHNpYmxpbmcgZmllbGRcbiAgICAvLyBwcm9kdWNlcyBhbiBlcXVhbCB0dXBsZSBhbmQgdGhlIHNlbGVjdG9yIHNob3J0LWNpcmN1aXRzLlxuICAgIC8vIEVycm9ycy93YXJuaW5ncyBhcmUgc3RvcmVkIEZMQVQsIGtleWVkIGJ5IHRoZSBmdWxsIChwb3NzaWJseSBkb3R0ZWQpIGZpZWxkXG4gICAgLy8gbmFtZSDigJQgbmV2ZXIgcmVzb2x2ZSB0aGVtIGFzIG5lc3RlZCBwYXRocyBvciBkb3R0ZWQgbmFtZXMgd291bGQgbWlzcy5cbiAgICBjb25zdCBbZmllbGRWYWx1ZSwgZmllbGRFcnJvciwgZmllbGRXYXJuaW5nLCBmaWVsZFZhbGlkYXRpbmddID0gdXNlU3RvcmVTZWxlY3RvcihzdG9yZSwgKHN0YXRlKSA9PiBbXG4gICAgICAgIG5hbWVcbiAgICAgICAgICAgID8gKG5hbWUuaW5jbHVkZXMoJy4nKSA/IGdldE5lc3RlZFZhbHVlKHN0YXRlLnZhbHVlcywgbmFtZSkgOiBzdGF0ZS52YWx1ZXNbbmFtZV0pXG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgbmFtZSA/IHN0YXRlLmVycm9yc1tuYW1lXSA6IHVuZGVmaW5lZCxcbiAgICAgICAgbmFtZSA/IHN0YXRlLndhcm5pbmdzW25hbWVdIDogdW5kZWZpbmVkLFxuICAgICAgICBuYW1lID8gKHN0YXRlLnZhbGlkYXRpbmdbbmFtZV0gfHwgZmFsc2UpIDogZmFsc2UsXG4gICAgXSwgc2hhbGxvd0VxdWFsQXJyYXlzKTtcbiAgICBjb25zdCBmaW5hbFN0YXR1cyA9IHZhbGlkYXRlU3RhdHVzIHx8IChmaWVsZEVycm9yID8gJ2Vycm9yJyA6IGZpZWxkV2FybmluZyA/ICd3YXJuaW5nJyA6IHVuZGVmaW5lZCk7XG4gICAgLy8gVHJpZ2dlciBmaWx0ZXJpbmcgbmVlZHMgcmVzb2x2ZWQgcnVsZXMg4oCUIGEgZnVuY3Rpb24tZm9ybSBydWxlJ3NcbiAgICAvLyB2YWxpZGF0ZVRyaWdnZXIgaXMgb25seSBrbm93biBhZnRlciByZXNvbHZpbmcgaXQgYWdhaW5zdCB0aGUgbGl2ZSB2YWx1ZXMuXG4gICAgY29uc3QgcnVuVmFsaWRhdGUgPSB1c2VFdmVudENhbGxiYWNrKCh2YWx1ZSwgdHJpZ2dlcikgPT4ge1xuICAgICAgICBpZiAoIW5hbWUgfHwgcnVsZXMubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZVJ1bGVzKHJ1bGVzLCBzdG9yZS5nZXRTdGF0ZSgpLnZhbHVlcywgZm9ybUluc3RhbmNlKTtcbiAgICAgICAgY29uc3QgYXBwbGljYWJsZSA9IGZpbHRlclJ1bGVzQnlUcmlnZ2VyKHJlc29sdmVkLCB0cmlnZ2VyLCBhY3RpdmVUcmlnZ2VycywgbmFtZSk7XG4gICAgICAgIGlmIChhcHBsaWNhYmxlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICByZXR1cm4gdmFsaWRhdGVGaWVsZChuYW1lLCBhcHBsaWNhYmxlLCB2YWx1ZSk7XG4gICAgfSk7XG4gICAgY29uc3QgcnVuVmFsaWRhdGVBc3luYyA9IHVzZUV2ZW50Q2FsbGJhY2soKHZhbHVlLCB0cmlnZ2VyKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGlmICghbmFtZSB8fCBydWxlcy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZVJ1bGVzKHJ1bGVzLCBzdG9yZS5nZXRTdGF0ZSgpLnZhbHVlcywgZm9ybUluc3RhbmNlKTtcbiAgICAgICAgY29uc3QgYXBwbGljYWJsZSA9IGZpbHRlclJ1bGVzQnlUcmlnZ2VyKHJlc29sdmVkLCB0cmlnZ2VyLCBhY3RpdmVUcmlnZ2VycywgbmFtZSk7XG4gICAgICAgIGlmIChhcHBsaWNhYmxlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgeWllbGQgdmFsaWRhdGVGaWVsZEFzeW5jKG5hbWUsIHZhbHVlLCBhcHBsaWNhYmxlKTtcbiAgICB9KSk7XG4gICAgY29uc3QgeyBydW46IGRlYm91bmNlZFZhbGlkYXRlIH0gPSB1c2VEZWJvdW5jZWRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgcnVuVmFsaWRhdGUodmFsdWUsICdvbkNoYW5nZScpO1xuICAgIH0sIHZhbGlkYXRlRGVib3VuY2UpO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgICBzZXRGaWVsZFZhbHVlKG5hbWUsIHZhbHVlKTtcbiAgICAgICAgICAgIC8vIHRvdWNoZWQgaXMgc2V0IGJ5IHRoZSB1c2VyIGNoYW5nZSB0cmlnZ2VyIOKAlFxuICAgICAgICAgICAgLy8gcHJvZ3JhbW1hdGljIHNldEZpZWxkc1ZhbHVlIGRvZXMgbm90IG1hcmsgZmllbGRzIHRvdWNoZWQuXG4gICAgICAgICAgICBjb25zdCB0b3VjaGVkID0gc3RvcmUuZ2V0U3RhdGUoKS50b3VjaGVkO1xuICAgICAgICAgICAgaWYgKCF0b3VjaGVkW25hbWVdKSB7XG4gICAgICAgICAgICAgICAgc3RvcmUuc2V0U3RhdGUoeyB0b3VjaGVkOiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHRvdWNoZWQpLCB7IFtuYW1lXTogdHJ1ZSB9KSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh2YWxpZGF0ZURlYm91bmNlICYmIHZhbGlkYXRlRGVib3VuY2UgPiAwKSB7XG4gICAgICAgICAgICAgICAgZGVib3VuY2VkVmFsaWRhdGUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcnVuVmFsaWRhdGUodmFsdWUsICdvbkNoYW5nZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICAvLyBSZWFkIHRoZSBMSVZFIHZhbHVlIGZyb20gdGhlIHN0b3JlIOKAlCBhIGNoYW5nZSBjb21taXR0ZWQgaW4gdGhlIHNhbWVcbiAgICAgICAgLy8gdGljayAoY2hhbmdlIOKGkiBpbW1lZGlhdGUgYmx1cikgbXVzdCBiZSB2YWxpZGF0ZWQsIG5vdCB0aGUgcmVuZGVyLXRpbWVcbiAgICAgICAgLy8gc25hcHNob3QuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IG5hbWVcbiAgICAgICAgICAgID8gKG5hbWUuaW5jbHVkZXMoJy4nKVxuICAgICAgICAgICAgICAgID8gZ2V0TmVzdGVkVmFsdWUoc3RvcmUuZ2V0U3RhdGUoKS52YWx1ZXMsIG5hbWUpXG4gICAgICAgICAgICAgICAgOiBzdG9yZS5nZXRTdGF0ZSgpLnZhbHVlc1tuYW1lXSlcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICBydW5WYWxpZGF0ZUFzeW5jKGN1cnJlbnRWYWx1ZSwgJ29uQmx1cicpO1xuICAgIH0pO1xuICAgIC8vIExhdGVzdCBjaGlsZC1wcm92aWRlZCBjYWxsYmFja3MsIGNhcHR1cmVkIGF0IGluamVjdEZpZWxkIHRpbWUuIFRoZSBTVEFCTEVcbiAgICAvLyBpbmplY3RlZCBoYW5kbGVycyBiZWxvdyBkZWxlZ2F0ZSB0aHJvdWdoIHRoaXMgcmVmIGluc3RlYWQgb2YgYmVpbmdcbiAgICAvLyByZWNyZWF0ZWQgcGVyIHJlbmRlciDigJQgc28gYSBtZW1vaXplZCBmaWVsZCBjb21wb25lbnQgc2VlcyBzaGFsbG93LWVxdWFsXG4gICAgLy8gcHJvcHMgYWNyb3NzIHJlbmRlcnMgYW5kIGNhbiBiYWlsIG91dCB3aGlsZSBhbm90aGVyIGZpZWxkIGlzIHR5cGluZy5cbiAgICBjb25zdCBjaGlsZENhbGxiYWNrc1JlZiA9IHVzZVJlZih7fSk7XG4gICAgY29uc3QgaW5qZWN0ZWRPbkNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKGUsIC4uLmFyZ3MpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaGFuZGxlQ2hhbmdlKGV4dHJhY3RFdmVudFZhbHVlKGUsIHZhbHVlUHJvcE5hbWUpKTtcbiAgICAgICAgKF9iID0gKF9hID0gY2hpbGRDYWxsYmFja3NSZWYuY3VycmVudCkub25DaGFuZ2UpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCBlLCAuLi5hcmdzKTtcbiAgICB9KTtcbiAgICBjb25zdCBpbmplY3RlZE9uQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaGFuZGxlQmx1cigpO1xuICAgICAgICAoX2IgPSAoX2EgPSBjaGlsZENhbGxiYWNrc1JlZi5jdXJyZW50KS5vbkJsdXIpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCAuLi5hcmdzKTtcbiAgICB9KTtcbiAgICAvLyBBIEZSRVNIIGZpZWxkIGluc3RhbmNlIG11c3Qgbm90IGluaGVyaXQgZXJyb3Ivd2FybmluZyBtZXRhIHN0YW1wZWQgb24gdGhlXG4gICAgLy8gc2FtZSBuYW1lIGJ5IGEgcHJldmlvdXMsIHNpbmNlLXVubW91bnRlZCBpbnN0YW5jZSAoZXJyb3JzIG91dGxpdmVcbiAgICAvLyB1bnJlZ2lzdGVyRmllbGQgYnkgZGVzaWduIOKAlCBsaXN0IHJlbWFwcGluZyBkZXBlbmRzIG9uIHRoYXQpLiBNT1VOVCBvbmx5OlxuICAgIC8vIGEgTkFNRSBjaGFuZ2UgbXVzdCBub3QgY2xlYXIsIG9yIFByb0Zvcm1MaXN0J3MgbWV0YSByZW1hcHBpbmcgKHdoaWNoXG4gICAgLy8gcmVuYW1lcyByb3dzIHBvc2l0aW9uYWxseSkgd291bGQgbG9zZSB0aGUgdmVyeSBtZXRhIGl0IGp1c3QgbW92ZWQuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICAgIHNldEZpZWxkRXJyb3IobmFtZSwgbnVsbCk7XG4gICAgICAgICAgICBzZXRGaWVsZFdhcm5pbmcobmFtZSwgbnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gTW91bnQtb25seSBieSBkZXNpZ24gKHNlZSBhYm92ZSkuXG4gICAgfSwgW10pO1xuICAgIC8vIE1vdW50LWNvdW50ZWQgbGlmZXRpbWU6IHJlbGVhc2VGaWVsZCByZW1vdmVzIHRoZSBydWxlcyBvbmx5IHdoZW4gdGhlIExBU1RcbiAgICAvLyBzYW1lLW5hbWUgaW5zdGFuY2UgdW5tb3VudHMg4oCUIGEgbWVtby1iYWlsZWQgc3Vydml2b3IgKHdoaWNoIHdvbid0XG4gICAgLy8gcmUtcmVuZGVyIHRvIHJlLXJlZ2lzdGVyKSBrZWVwcyBpdHMgcmVnaXN0cmF0aW9uIGludGFjdC4gRGVjbGFyZWQgQkVGT1JFXG4gICAgLy8gdGhlIHJlZ2lzdGVyIGVmZmVjdDogcmV0YWluIG11c3QgcnVuIGZpcnN0IHNvIHRoZSByZWdpc3RyYXRpb24gYmVsb3cgaXNcbiAgICAvLyBjbGFzc2lmaWVkIGFzIGluc3RhbmNlLW93bmVkLlxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghbmFtZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgcmV0YWluRmllbGQobmFtZSk7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICByZWxlYXNlRmllbGQobmFtZSk7XG4gICAgICAgIH07XG4gICAgfSwgW25hbWVdKTtcbiAgICAvLyBLZWVwIHRoZSByZWdpc3RyeSBpbiBzeW5jIHdpdGggdGhlIExBVEVTVCBydWxlcyBldmVyeSByZW5kZXIgKHJlZ2lzdHJhdGlvblxuICAgIC8vIGlzIGEgY2hlYXAgcmVmIG11dGF0aW9uKTogZHluYW1pYyBydWxlcyAoZS5nLiByZXF1aXJlZCB0b2dnbGVkIGJ5IGFub3RoZXJcbiAgICAvLyBmaWVsZCkgbXVzdCBiZSB2aXNpYmxlIHRvIHN1Ym1pdC10aW1lIHZhbGlkYXRpb24sIG5vdCBqdXN0IG9uQ2hhbmdlLlxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChuYW1lICYmIHJlZ2lzdGVyRmllbGQpXG4gICAgICAgICAgICByZWdpc3RlckZpZWxkKG5hbWUsIHJ1bGVzKTtcbiAgICB9KTtcbiAgICBjb25zdCBpbmplY3RGaWVsZCA9IChjaGlsZCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghbmFtZSB8fCAhUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICBjb25zdCBjaGlsZFByb3BzID0gY2hpbGQucHJvcHM7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlOYW1lID0gKF9hID0gY2hpbGQudHlwZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc3BsYXlOYW1lO1xuICAgICAgICBjb25zdCBpc0Zvcm1Db21wb25lbnQgPSBGT1JNX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSkgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHMucGxhY2Vob2xkZXIgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgY2hpbGRQcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICBjaGlsZFByb3BzW3ZhbHVlUHJvcE5hbWVdICE9PSB1bmRlZmluZWQ7XG4gICAgICAgIGlmICghaXNGb3JtQ29tcG9uZW50KVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICBsZXQgc2FmZVZhbHVlID0gZmllbGRWYWx1ZTtcbiAgICAgICAgaWYgKHNhZmVWYWx1ZSA9PT0gbnVsbCB8fCBzYWZlVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKHZhbHVlUHJvcE5hbWUgPT09ICdjaGVja2VkJyB8fCBbJ0NoZWNrYm94JywgJ1N3aXRjaCddLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSkge1xuICAgICAgICAgICAgICAgIHNhZmVWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgfHxcbiAgICAgICAgICAgICAgICBjaGlsZFByb3BzLnBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBzYWZlVmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSAmJlxuICAgICAgICAgICAgdHlwZW9mIHNhZmVWYWx1ZSAhPT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgIHR5cGVvZiBzYWZlVmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICBzYWZlVmFsdWUgPSAnJztcbiAgICAgICAgfVxuICAgICAgICBjaGlsZENhbGxiYWNrc1JlZi5jdXJyZW50ID0ge1xuICAgICAgICAgICAgb25DaGFuZ2U6IHR5cGVvZiBjaGlsZFByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgPyBjaGlsZFByb3BzLm9uQ2hhbmdlXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBvbkJsdXI6IHR5cGVvZiBjaGlsZFByb3BzLm9uQmx1ciA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgID8gY2hpbGRQcm9wcy5vbkJsdXJcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgaW5qZWN0ZWRQcm9wcyA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHsgW3ZhbHVlUHJvcE5hbWVdOiBzYWZlVmFsdWUsIG9uQ2hhbmdlOiBpbmplY3RlZE9uQ2hhbmdlLCBvbkJsdXI6IGluamVjdGVkT25CbHVyIH0sIChmaW5hbFN0YXR1cyA9PT0gJ2Vycm9yJyAmJiB7IHN0YXR1czogJ2Vycm9yJyB9KSksIChmb3JtRGlzYWJsZWQgJiYgY2hpbGRQcm9wcy5kaXNhYmxlZCA9PT0gdW5kZWZpbmVkICYmIHsgZGlzYWJsZWQ6IHRydWUgfSkpLCAoU0laRV9BV0FSRV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpICYmXG4gICAgICAgICAgICBjaGlsZFByb3BzLnNpemUgPT09IHVuZGVmaW5lZCAmJiB7IHNpemUgfSkpO1xuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCBpbmplY3RlZFByb3BzKTtcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIGZpZWxkVmFsdWUsXG4gICAgICAgIGZpZWxkRXJyb3IsXG4gICAgICAgIGZpZWxkV2FybmluZyxcbiAgICAgICAgZmllbGRWYWxpZGF0aW5nLFxuICAgICAgICB2YWxpZGF0ZVN0YXR1czogZmluYWxTdGF0dXMsXG4gICAgICAgIHNpemUsXG4gICAgICAgIGxhYmVsQWxpZ24sXG4gICAgICAgIGluamVjdEZpZWxkLFxuICAgIH07XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Rejection type of `validateFields`. Submit handlers use the `instanceof`
|
|
4
|
+
* check to tell a VALIDATION failure (route to `onFinishFailed` with the
|
|
5
|
+
* field errors) apart from a consumer `onFinish` rejection (which must NOT
|
|
6
|
+
* be reported as a validation failure).
|
|
7
|
+
*/
|
|
8
|
+
export declare class FormValidationError extends Error {
|
|
9
|
+
values: Record<string, unknown>;
|
|
10
|
+
errors: Record<string, ReactNode>;
|
|
11
|
+
constructor(values: Record<string, unknown>, errors: Record<string, ReactNode>);
|
|
12
|
+
}
|
|
13
|
+
export default FormValidationError;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
4
|
+
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
5
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
6
|
+
import _wrapNativeSuper from "@babel/runtime/helpers/esm/wrapNativeSuper";
|
|
7
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
8
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
9
|
+
/**
|
|
10
|
+
* Rejection type of `validateFields`. Submit handlers use the `instanceof`
|
|
11
|
+
* check to tell a VALIDATION failure (route to `onFinishFailed` with the
|
|
12
|
+
* field errors) apart from a consumer `onFinish` rejection (which must NOT
|
|
13
|
+
* be reported as a validation failure).
|
|
14
|
+
*/
|
|
15
|
+
export var FormValidationError = /*#__PURE__*/function (_Error) {
|
|
16
|
+
function FormValidationError(values, errors) {
|
|
17
|
+
var _this;
|
|
18
|
+
_classCallCheck(this, FormValidationError);
|
|
19
|
+
_this = _callSuper(this, FormValidationError, ['Validation failed']);
|
|
20
|
+
_this.name = 'FormValidationError';
|
|
21
|
+
_this.values = values;
|
|
22
|
+
_this.errors = errors;
|
|
23
|
+
return _this;
|
|
24
|
+
}
|
|
25
|
+
_inherits(FormValidationError, _Error);
|
|
26
|
+
return _createClass(FormValidationError);
|
|
27
|
+
}(/*#__PURE__*/_wrapNativeSuper(Error));
|
|
28
|
+
export default FormValidationError;
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdmFsaWRhdGlvbkVycm9yLnRzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdmFsaWRhdGlvbkVycm9yLmpzIl0sIm5hbWVzIjpbIkZvcm1WYWxpZGF0aW9uRXJyb3IiLCJfRXJyb3IiLCJ2YWx1ZXMiLCJlcnJvcnMiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9jYWxsU3VwZXIiLCJuYW1lIiwiX2luaGVyaXRzIiwiX2NyZWF0ZUNsYXNzIiwiX3dyYXBOYXRpdmVTdXBlciIsIkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUVBO0FDREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBREdBLFdBQWFBLG1CQUFvQiwwQkFBQUMsTUFBQTtFQUkvQixTQUFBRCxvQkFBWUUsTUFBK0IsRUFBRUMsTUFBaUMsRUFBQTtJQUFBLElBQUFDLEtBQUE7SUFBQUMsZUFBQSxPQUFBTCxtQkFBQTtJQUM1RUksS0FBQSxHQUFBRSxVQUFBLE9BQUFOLG1CQUFBLEdBQU0sbUJBQW1CO0lBQ3pCSSxLQUFBLENBQUtHLElBQUksR0FBRyxxQkFBcUI7SUFDakNILEtBQUEsQ0FBS0YsTUFBTSxHQUFHQSxNQUFNO0lBQ3BCRSxLQUFBLENBQUtELE1BQU0sR0FBR0EsTUFBTTtJQUFDLE9BQUFDLEtBQUE7RUFDdkI7RUFBQ0ksU0FBQSxDQUFBUixtQkFBQSxFQUFBQyxNQUFBO0VBQUEsT0FBQVEsWUFBQSxDQUFBVCxtQkFBQTtBQUFBLGVBQUFVLGdCQUFBLENBVHNDQyxLQUFLO0FBWTlDLGVBQWVYLG1CQUFtQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS92YWxpZGF0aW9uRXJyb3IuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIi8qKlxuICogUmVqZWN0aW9uIHR5cGUgb2YgYHZhbGlkYXRlRmllbGRzYC4gU3VibWl0IGhhbmRsZXJzIHVzZSB0aGUgYGluc3RhbmNlb2ZgXG4gKiBjaGVjayB0byB0ZWxsIGEgVkFMSURBVElPTiBmYWlsdXJlIChyb3V0ZSB0byBgb25GaW5pc2hGYWlsZWRgIHdpdGggdGhlXG4gKiBmaWVsZCBlcnJvcnMpIGFwYXJ0IGZyb20gYSBjb25zdW1lciBgb25GaW5pc2hgIHJlamVjdGlvbiAod2hpY2ggbXVzdCBOT1RcbiAqIGJlIHJlcG9ydGVkIGFzIGEgdmFsaWRhdGlvbiBmYWlsdXJlKS5cbiAqL1xuZXhwb3J0IGNsYXNzIEZvcm1WYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IodmFsdWVzLCBlcnJvcnMpIHtcbiAgICAgICAgc3VwZXIoJ1ZhbGlkYXRpb24gZmFpbGVkJyk7XG4gICAgICAgIHRoaXMubmFtZSA9ICdGb3JtVmFsaWRhdGlvbkVycm9yJztcbiAgICAgICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgICAgIHRoaXMuZXJyb3JzID0gZXJyb3JzO1xuICAgIH1cbn1cbmV4cG9ydCBkZWZhdWx0IEZvcm1WYWxpZGF0aW9uRXJyb3I7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -1,12 +1,26 @@
|
|
|
1
|
+
import { jsxs as _jsxs, Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment } from 'react';
|
|
1
3
|
import { CheckboxGroup } from '../../Checkbox';
|
|
2
4
|
import { createProFormField } from './createProFormField';
|
|
3
|
-
import { renderTextReadonly } from '../utils';
|
|
5
|
+
import { findOptionLabel, renderTextReadonly } from '../utils';
|
|
6
|
+
function renderCheckboxGroupReadonly(value, props) {
|
|
7
|
+
if (!Array.isArray(value)) return renderTextReadonly(value);
|
|
8
|
+
if (value.length === 0) return '-';
|
|
9
|
+
// Labels are ReactNode — join with ', ' as element children rather than
|
|
10
|
+
// string-concatenating (which would collapse element labels to '').
|
|
11
|
+
return _jsx(_Fragment, {
|
|
12
|
+
children: value.map(function (item, index) {
|
|
13
|
+
var _a;
|
|
14
|
+
return _jsxs(Fragment, {
|
|
15
|
+
children: [index > 0 && ', ', (_a = findOptionLabel(props === null || props === void 0 ? void 0 : props.options, item)) !== null && _a !== void 0 ? _a : String(item)]
|
|
16
|
+
}, index);
|
|
17
|
+
})
|
|
18
|
+
});
|
|
19
|
+
}
|
|
4
20
|
export var ProFormCheckboxGroup = createProFormField({
|
|
5
21
|
component: CheckboxGroup,
|
|
6
|
-
renderReadonly:
|
|
7
|
-
return renderTextReadonly(Array.isArray(value) ? value.join(', ') : value);
|
|
8
|
-
}
|
|
22
|
+
renderReadonly: renderCheckboxGroupReadonly
|
|
9
23
|
});
|
|
10
24
|
ProFormCheckboxGroup.displayName = 'ProFormCheckboxGroup';
|
|
11
25
|
export default ProFormCheckboxGroup;
|
|
12
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUNoZWNrYm94R3JvdXAuanMiLCJjb21wb25lbnRzL1Byb0Zvcm0vc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUNoZWNrYm94R3JvdXAudHN4Il0sIm5hbWVzIjpbImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwianN4IiwiX2pzeCIsIkNoZWNrYm94R3JvdXAiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJmaW5kT3B0aW9uTGFiZWwiLCJyZW5kZXJUZXh0UmVhZG9ubHkiLCJyZW5kZXJDaGVja2JveEdyb3VwUmVhZG9ubHkiLCJ2YWx1ZSIsInByb3BzIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiY2hpbGRyZW4iLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJfYSIsIm9wdGlvbnMiLCJTdHJpbmciLCJQcm9Gb3JtQ2hlY2tib3hHcm91cCIsImNvbXBvbmVudCIsInJlbmRlclJlYWRvbmx5IiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLElBQUksSUFBSUMsS0FBSyxFQUFFQyxRQUFRLElBQUlDLFNBQVMsRUFBRUMsR0FBRyxJQUFJQyxJQUFJLFFBQVEsbUJBQW1CO0FDQXJGLFNBQVNILFFBQVEsUUFBUSxPQUFPO0FBRWhDLFNBQVNJLGFBQWEsUUFBUSxnQkFBZ0I7QUFFOUMsU0FBU0Msa0JBQWtCLFFBQVEsc0JBQXNCO0FBQ3pELFNBQVNDLGVBQWUsRUFBRUMsa0JBQWtCLFFBQVEsVUFBVTtBQUU5RCxTQUFTQywyQkFBMkJBLENBQ2xDQyxLQUFjLEVBQ2RDLEtBQW1DLEVBQUE7RUFFbkMsSUFBSSxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0gsS0FBSyxDQUFDLEVBQUUsT0FBT0Ysa0JBQWtCLENBQUNFLEtBQUssQ0FBQztFQUMzRCxJQUFJQSxLQUFLLENBQUNJLE1BQU0sS0FBSyxDQUFDLEVBQUUsT0FBTyxHQUFHO0VBQ2xDO0VBQ0E7RUFDQSxPQUNFVixJQUFBLENBQUFGLFNBQUEsRUFBQTtJQUFBYSxRQUFBLEVBQ0dMLEtBQUssQ0FBQ00sR0FBRyxDQUFDLFVBQUNDLElBQUksRUFBRUMsS0FBSyxFQUFJO01ESnJCLElBQUlDLEVBQUU7TUNJZ0IsT0FDMUJuQixLQUFBLENBQUNDLFFBQVEsRUFBQTtRQUFBYyxRQUFBLEVBQUEsQ0FDTkcsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQ2pCLENBQUFDLEVBQUEsR0FBQVosZUFBZSxDQUFDSSxLQUFLLEtBQUEsSUFBQSxJQUFMQSxLQUFLLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUxBLEtBQUssQ0FBRVMsT0FBTyxFQUFFSCxJQUFJLENBQUMsTUFBQSxJQUFBLElBQUFFLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJRSxNQUFNLENBQUNKLElBQUksQ0FBQztNQUFBLENBQUEsRUFGekNDLEtBQUssQ0FHVDtJRE5YLENDT0Q7RUFBQyxDQUFBLENBQ0Q7QUFFUDtBQUVBLE9BQU8sSUFBTUksb0JBQW9CLEdBQUdoQixrQkFBa0IsQ0FBcUI7RUFDekVpQixTQUFTLEVBQUVsQixhQUFhO0VBQ3hCbUIsY0FBYyxFQUFFZjtBRFRsQixDQ1VDLENBQUM7QUFFRmEsb0JBQW9CLENBQUNHLFdBQVcsR0FBRyxzQkFBc0I7QUFFekQsZUFBZUgsb0JBQW9CIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUNoZWNrYm94R3JvdXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3hzIGFzIF9qc3hzLCBGcmFnbWVudCBhcyBfRnJhZ21lbnQsIGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBGcmFnbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENoZWNrYm94R3JvdXAgfSBmcm9tICcuLi8uLi9DaGVja2JveCc7XG5pbXBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQgfSBmcm9tICcuL2NyZWF0ZVByb0Zvcm1GaWVsZCc7XG5pbXBvcnQgeyBmaW5kT3B0aW9uTGFiZWwsIHJlbmRlclRleHRSZWFkb25seSB9IGZyb20gJy4uL3V0aWxzJztcbmZ1bmN0aW9uIHJlbmRlckNoZWNrYm94R3JvdXBSZWFkb25seSh2YWx1ZSwgcHJvcHMpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKVxuICAgICAgICByZXR1cm4gcmVuZGVyVGV4dFJlYWRvbmx5KHZhbHVlKTtcbiAgICBpZiAodmFsdWUubGVuZ3RoID09PSAwKVxuICAgICAgICByZXR1cm4gJy0nO1xuICAgIC8vIExhYmVscyBhcmUgUmVhY3ROb2RlIOKAlCBqb2luIHdpdGggJywgJyBhcyBlbGVtZW50IGNoaWxkcmVuIHJhdGhlciB0aGFuXG4gICAgLy8gc3RyaW5nLWNvbmNhdGVuYXRpbmcgKHdoaWNoIHdvdWxkIGNvbGxhcHNlIGVsZW1lbnQgbGFiZWxzIHRvICcnKS5cbiAgICByZXR1cm4gKF9qc3goX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiB2YWx1ZS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbaW5kZXggPiAwICYmICcsICcsIChfYSA9IGZpbmRPcHRpb25MYWJlbChwcm9wcyA9PT0gbnVsbCB8fCBwcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJvcHMub3B0aW9ucywgaXRlbSkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFN0cmluZyhpdGVtKV0gfSwgaW5kZXgpKTtcbiAgICAgICAgfSkgfSkpO1xufVxuZXhwb3J0IGNvbnN0IFByb0Zvcm1DaGVja2JveEdyb3VwID0gY3JlYXRlUHJvRm9ybUZpZWxkKHtcbiAgICBjb21wb25lbnQ6IENoZWNrYm94R3JvdXAsXG4gICAgcmVuZGVyUmVhZG9ubHk6IHJlbmRlckNoZWNrYm94R3JvdXBSZWFkb25seSxcbn0pO1xuUHJvRm9ybUNoZWNrYm94R3JvdXAuZGlzcGxheU5hbWUgPSAnUHJvRm9ybUNoZWNrYm94R3JvdXAnO1xuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybUNoZWNrYm94R3JvdXA7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -2,9 +2,12 @@ import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
|
2
2
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
4
|
import React, { memo } from 'react';
|
|
5
|
+
import useEventCallback from '@1money/hooks/useEventCallback';
|
|
5
6
|
import { ProFormItem } from '../ProFormItem';
|
|
6
7
|
import { useProFormStable, useProFormStore } from '../context';
|
|
7
8
|
import { useStoreSelector } from '../core/formStore';
|
|
9
|
+
import { resolveValue } from '../core/pathUtils';
|
|
10
|
+
import { filterRulesByTrigger, normalizeTriggers, resolveRules } from '../core/runRules';
|
|
8
11
|
import { default as classnames } from '../../../utils/classnames';
|
|
9
12
|
import { CSS_PREFIX } from '../constants';
|
|
10
13
|
var classes = classnames("".concat(CSS_PREFIX, "-fieldset"));
|
|
@@ -13,7 +16,6 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
|
|
|
13
16
|
label = props.label,
|
|
14
17
|
description = props.description,
|
|
15
18
|
rules = props.rules,
|
|
16
|
-
required = props.required,
|
|
17
19
|
feedback = props.feedback,
|
|
18
20
|
_props$gap = props.gap,
|
|
19
21
|
gap = _props$gap === void 0 ? 8 : _props$gap,
|
|
@@ -21,31 +23,69 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
|
|
|
21
23
|
children = props.children;
|
|
22
24
|
var _useProFormStable = useProFormStable(),
|
|
23
25
|
setFieldValue = _useProFormStable.setFieldValue,
|
|
24
|
-
formInstance = _useProFormStable.formInstance
|
|
26
|
+
formInstance = _useProFormStable.formInstance,
|
|
27
|
+
validateField = _useProFormStable.validateField,
|
|
28
|
+
validateFieldAsync = _useProFormStable.validateFieldAsync,
|
|
29
|
+
formValidateTrigger = _useProFormStable.validateTrigger;
|
|
25
30
|
var store = useProFormStore();
|
|
26
31
|
// Per-field subscription: re-render only when THIS set's array changes.
|
|
32
|
+
// Dot-paths resolve into the nested values like everywhere else.
|
|
27
33
|
var rawValue = useStoreSelector(store, function (state) {
|
|
28
|
-
return name ? state.values
|
|
34
|
+
return name ? resolveValue(state.values, name) : undefined;
|
|
29
35
|
});
|
|
30
36
|
var value = Array.isArray(rawValue) ? rawValue : [];
|
|
37
|
+
// The set validates like any other field: rules filtered by the form-level
|
|
38
|
+
// trigger config run on slot changes/blurs against the WHOLE array value.
|
|
39
|
+
var runTriggerValidation = useEventCallback(function (nextValue, trigger) {
|
|
40
|
+
if (!name || !rules || rules.length === 0) return;
|
|
41
|
+
var resolved = resolveRules(rules, store.getState().values, formInstance);
|
|
42
|
+
var applicable = filterRulesByTrigger(resolved, trigger, normalizeTriggers(undefined, formValidateTrigger), name);
|
|
43
|
+
if (applicable.length === 0) return;
|
|
44
|
+
if (trigger === 'onChange') {
|
|
45
|
+
validateField(name, applicable, nextValue);
|
|
46
|
+
} else {
|
|
47
|
+
validateFieldAsync(name, nextValue, applicable);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
31
50
|
var itemIndex = -1;
|
|
32
51
|
var list = React.Children.map(children, function (child) {
|
|
33
52
|
var _a;
|
|
34
53
|
if (! /*#__PURE__*/React.isValidElement(child)) return child;
|
|
35
54
|
itemIndex += 1;
|
|
36
55
|
var index = itemIndex;
|
|
56
|
+
var childProps = child.props;
|
|
37
57
|
return /*#__PURE__*/React.cloneElement(child, {
|
|
38
58
|
// '' (not undefined) for empty slots — an input must not switch from
|
|
39
59
|
// uncontrolled to controlled on its first edit.
|
|
40
60
|
value: (_a = value[index]) !== null && _a !== void 0 ? _a : '',
|
|
41
61
|
onChange: function onChange(val) {
|
|
42
|
-
if (
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
62
|
+
if (name) {
|
|
63
|
+
var newValue = _toConsumableArray(value);
|
|
64
|
+
newValue[index] = val && _typeof(val) === 'object' && 'target' in val ? val.target.value : val;
|
|
65
|
+
setFieldValue(name, newValue);
|
|
66
|
+
// A slot edit is a user change trigger — mark touched like any field.
|
|
67
|
+
if (!formInstance.isFieldTouched(name)) {
|
|
68
|
+
formInstance.setFieldTouched(name, true);
|
|
69
|
+
}
|
|
70
|
+
runTriggerValidation(newValue, 'onChange');
|
|
71
|
+
}
|
|
72
|
+
// CHAIN the slot child's own onChange — never overwrite it.
|
|
73
|
+
if (typeof childProps.onChange === 'function') {
|
|
74
|
+
for (var _len = arguments.length, restArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
75
|
+
restArgs[_key - 1] = arguments[_key];
|
|
76
|
+
}
|
|
77
|
+
childProps.onChange.apply(childProps, [val].concat(restArgs));
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
onBlur: function onBlur() {
|
|
81
|
+
if (name) {
|
|
82
|
+
// Read the LIVE value — a change committed in the same tick must be
|
|
83
|
+
// the one validated, not the render-time snapshot.
|
|
84
|
+
var current = resolveValue(store.getState().values, name);
|
|
85
|
+
runTriggerValidation(Array.isArray(current) ? current : [], 'onBlur');
|
|
86
|
+
}
|
|
87
|
+
if (typeof childProps.onBlur === 'function') {
|
|
88
|
+
childProps.onBlur.apply(childProps, arguments);
|
|
49
89
|
}
|
|
50
90
|
}
|
|
51
91
|
});
|
|
@@ -65,7 +105,6 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
|
|
|
65
105
|
description: description,
|
|
66
106
|
name: name,
|
|
67
107
|
rules: rules,
|
|
68
|
-
required: required,
|
|
69
108
|
feedback: feedback,
|
|
70
109
|
children: content
|
|
71
110
|
});
|
|
@@ -75,4 +114,4 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
|
|
|
75
114
|
ProFormFieldSetBase.displayName = 'ProFormFieldSet';
|
|
76
115
|
export var ProFormFieldSet = /*#__PURE__*/memo(ProFormFieldSetBase);
|
|
77
116
|
export default ProFormFieldSet;
|
|
78
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUZpZWxkU2V0LmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1GaWVsZFNldC50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsIlJlYWN0IiwibWVtbyIsIlByb0Zvcm1JdGVtIiwidXNlUHJvRm9ybVN0YWJsZSIsInVzZVByb0Zvcm1TdG9yZSIsInVzZVN0b3JlU2VsZWN0b3IiLCJkZWZhdWx0IiwiY2xhc3NuYW1lcyIsIkNTU19QUkVGSVgiLCJjbGFzc2VzIiwiY29uY2F0IiwiUHJvRm9ybUZpZWxkU2V0QmFzZSIsInByb3BzIiwibmFtZSIsImxhYmVsIiwiZGVzY3JpcHRpb24iLCJydWxlcyIsInJlcXVpcmVkIiwiZmVlZGJhY2siLCJfcHJvcHMkZ2FwIiwiZ2FwIiwic3R5bGUiLCJjaGlsZHJlbiIsIl91c2VQcm9Gb3JtU3RhYmxlIiwic2V0RmllbGRWYWx1ZSIsImZvcm1JbnN0YW5jZSIsInN0b3JlIiwicmF3VmFsdWUiLCJzdGF0ZSIsInZhbHVlcyIsInVuZGVmaW5lZCIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwiaXRlbUluZGV4IiwibGlzdCIsIkNoaWxkcmVuIiwibWFwIiwiY2hpbGQiLCJfYSIsImlzVmFsaWRFbGVtZW50IiwiaW5kZXgiLCJjbG9uZUVsZW1lbnQiLCJvbkNoYW5nZSIsInZhbCIsIm5ld1ZhbHVlIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX3R5cGVvZiIsInRhcmdldCIsImlzRmllbGRUb3VjaGVkIiwic2V0RmllbGRUb3VjaGVkIiwiY29udGVudCIsImNsYXNzTmFtZSIsIk9iamVjdCIsImFzc2lnbiIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwiZGlzcGxheU5hbWUiLCJQcm9Gb3JtRmllbGRTZXQiXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsR0FBRyxJQUFJQyxJQUFJLFFBQVEsbUJBQW1CO0FD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QUNwQyxJQUFJLENBQUMsRUFBRTtVQUN0Q1ksWUFBWSxDQUFDeUIsZUFBZSxDQUFDckMsSUFBSSxFQUFFLElBQUksQ0FBQztRQUMxQztNQUNGO0lEYkUsQ0NjSCxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUYsSUFBTXNDLE9BQU8sR0FDWHBELElBQUEsQ0FBQSxLQUFBLEVBQUE7SUFBS3FELFNBQVMsRUFBRTNDLE9BQU8sQ0FBQSxDQUFFO0lBQUVZLEtBQUssRUFBQWdDLE1BQUEsQ0FBQUMsTUFBQSxDQUFBO01BQUlDLE9BQU8sRUFBRSxNQUFNO01BQUVuQyxHQUFHLEVBQUhBLEdBQUc7TUFBRW9DLFVBQVUsRUFBRTtJQUFZLENBQUEsRUFBS25DLEtBQUssQ0FBQTtJQUFBQyxRQUFBLEVBQ3pGYTtFQUFJLENBQUEsQ0FFUjtFQUVELElBQUl0QixJQUFJLEVBQUU7SUFDUixPQUNFZCxJQUFBLENBQUNHLFdBQVcsRUFBQTtNQUFDWSxLQUFLLEVBQUVBLEtBQUs7TUFBRUMsV0FBVyxFQUFFQSxXQUFXO01BQUVGLElBQUksRUFBRUEsSUFBSTtNQUFFRyxLQUFLLEVBQUVBLEtBQUs7TUFBRUMsUUFBUSxFQUFFQSxRQUFRO01BQUVDLFFBQVEsRUFBRUEsUUFBUTtNQUFBSSxRQUFBLEVBQ2xINkI7SUFBTyxDQUFBLENBQ0k7RUFFbEI7RUFFQSxPQUFPQSxPQUFPO0FBQ2hCLENBQUM7QUFFRHhDLG1CQUFtQixDQUFDOEMsV0FBVyxHQUFHLGlCQUFpQjtBQUVuRCxPQUFPLElBQU1DLGVBQWUsZ0JBQUd6RCxJQUFJLENBQUNVLG1CQUFtQixDQUFDO0FBRXhELGVBQWUrQyxlQUFlIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUZpZWxkU2V0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBSZWFjdCwgeyBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUHJvRm9ybUl0ZW0gfSBmcm9tICcuLi9Qcm9Gb3JtSXRlbSc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtU3RhYmxlLCB1c2VQcm9Gb3JtU3RvcmUgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZVN0b3JlU2VsZWN0b3IgfSBmcm9tICcuLi9jb3JlL2Zvcm1TdG9yZSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IENTU19QUkVGSVggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMoYCR7Q1NTX1BSRUZJWH0tZmllbGRzZXRgKTtcbmNvbnN0IFByb0Zvcm1GaWVsZFNldEJhc2UgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IG5hbWUsIGxhYmVsLCBkZXNjcmlwdGlvbiwgcnVsZXMsIHJlcXVpcmVkLCBmZWVkYmFjaywgZ2FwID0gOCwgc3R5bGUsIGNoaWxkcmVuLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBzZXRGaWVsZFZhbHVlLCBmb3JtSW5zdGFuY2UgfSA9IHVzZVByb0Zvcm1TdGFibGUoKTtcbiAgICBjb25zdCBzdG9yZSA9IHVzZVByb0Zvcm1TdG9yZSgpO1xuICAgIC8vIFBlci1maWVsZCBzdWJzY3JpcHRpb246IHJlLXJlbmRlciBvbmx5IHdoZW4gVEhJUyBzZXQncyBhcnJheSBjaGFuZ2VzLlxuICAgIGNvbnN0IHJhd1ZhbHVlID0gdXNlU3RvcmVTZWxlY3RvcihzdG9yZSwgKHN0YXRlKSA9PiAobmFtZSA/IHN0YXRlLnZhbHVlc1tuYW1lXSA6IHVuZGVmaW5lZCkpO1xuICAgIGNvbnN0IHZhbHVlID0gQXJyYXkuaXNBcnJheShyYXdWYWx1ZSkgPyByYXdWYWx1ZSA6IFtdO1xuICAgIGxldCBpdGVtSW5kZXggPSAtMTtcbiAgICBjb25zdCBsaXN0ID0gUmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSlcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgaXRlbUluZGV4ICs9IDE7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gaXRlbUluZGV4O1xuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCB7XG4gICAgICAgICAgICAvLyAnJyAobm90IHVuZGVmaW5lZCkgZm9yIGVtcHR5IHNsb3RzIOKAlCBhbiBpbnB1dCBtdXN0IG5vdCBzd2l0Y2ggZnJvbVxuICAgICAgICAgICAgLy8gdW5jb250cm9sbGVkIHRvIGNvbnRyb2xsZWQgb24gaXRzIGZpcnN0IGVkaXQuXG4gICAgICAgICAgICB2YWx1ZTogKF9hID0gdmFsdWVbaW5kZXhdKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnJyxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiAodmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFuYW1lKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBbLi4udmFsdWVdO1xuICAgICAgICAgICAgICAgIG5ld1ZhbHVlW2luZGV4XSA9IHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiAndGFyZ2V0JyBpbiB2YWxcbiAgICAgICAgICAgICAgICAgICAgPyB2YWwudGFyZ2V0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIDogdmFsO1xuICAgICAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgbmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgIC8vIEEgc2xvdCBlZGl0IGlzIGEgdXNlciBjaGFuZ2UgdHJpZ2dlciDigJQgbWFyayB0b3VjaGVkIGxpa2UgYW55IGZpZWxkLlxuICAgICAgICAgICAgICAgIGlmICghZm9ybUluc3RhbmNlLmlzRmllbGRUb3VjaGVkKG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1JbnN0YW5jZS5zZXRGaWVsZFRvdWNoZWQobmFtZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgY29udGVudCA9IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCksIHN0eWxlOiBPYmplY3QuYXNzaWduKHsgZGlzcGxheTogJ2ZsZXgnLCBnYXAsIGFsaWduSXRlbXM6ICdmbGV4LXN0YXJ0JyB9LCBzdHlsZSksIGNoaWxkcmVuOiBsaXN0IH0pKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgICByZXR1cm4gKF9qc3goUHJvRm9ybUl0ZW0sIHsgbGFiZWw6IGxhYmVsLCBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sIG5hbWU6IG5hbWUsIHJ1bGVzOiBydWxlcywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBmZWVkYmFjazogZmVlZGJhY2ssIGNoaWxkcmVuOiBjb250ZW50IH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG59O1xuUHJvRm9ybUZpZWxkU2V0QmFzZS5kaXNwbGF5TmFtZSA9ICdQcm9Gb3JtRmllbGRTZXQnO1xuZXhwb3J0IGNvbnN0IFByb0Zvcm1GaWVsZFNldCA9IG1lbW8oUHJvRm9ybUZpZWxkU2V0QmFzZSk7XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtRmllbGRTZXQ7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
117
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUZpZWxkU2V0LmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1GaWVsZFNldC50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsIlJlYWN0IiwibWVtbyIsInVzZUV2ZW50Q2FsbGJhY2siLCJQcm9Gb3JtSXRlbSIsInVzZVByb0Zvcm1TdGFibGUiLCJ1c2VQcm9Gb3JtU3RvcmUiLCJ1c2VTdG9yZVNlbGVjdG9yIiwicmVzb2x2ZVZhbHVlIiwiZmlsdGVyUnVsZXNCeVRyaWdnZXIiLCJub3JtYWxpemVUcmlnZ2VycyIsInJlc29sdmVSdWxlcyIsImRlZmF1bHQiLCJjbGFzc25hbWVzIiwiQ1NTX1BSRUZJWCIsImNsYXNzZXMiLCJjb25jYXQiLCJQcm9Gb3JtRmllbGRTZXRCYXNlIiwicHJvcHMiLCJuYW1lIiwibGFiZWwiLCJkZXNjcmlwdGlvbiIsInJ1bGVzIiwiZmVlZGJhY2siLCJfcHJvcHMkZ2FwIiwiZ2FwIiwic3R5bGUiLCJjaGlsZHJlbiIsIl91c2VQcm9Gb3JtU3RhYmxlIiwic2V0RmllbGRWYWx1ZSIsImZvcm1JbnN0YW5jZSIsInZhbGlkYXRlRmllbGQiLCJ2YWxpZGF0ZUZpZWxkQXN5bmMiLCJmb3JtVmFsaWRhdGVUcmlnZ2VyIiwidmFsaWRhdGVUcmlnZ2VyIiwic3RvcmUiLCJyYXdWYWx1ZSIsInN0YXRlIiwidmFsdWVzIiwidW5kZWZpbmVkIiwidmFsdWUiLCJBcnJheSIsImlzQXJyYXkiLCJydW5UcmlnZ2VyVmFsaWRhdGlvbiIsIm5leHRWYWx1ZSIsInRyaWdnZXIiLCJsZW5ndGgiLCJyZXNvbHZlZCIsImdldFN0YXRlIiwiYXBwbGljYWJsZSIsIml0ZW1JbmRleCIsImxpc3QiLCJDaGlsZHJlbiIsIm1hcCIsImNoaWxkIiwiX2EiLCJpc1ZhbGlkRWxlbWVudCIsImluZGV4IiwiY2hpbGRQcm9wcyIsImNsb25lRWxlbWVudCIsIm9uQ2hhbmdlIiwidmFsIiwibmV3VmFsdWUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfdHlwZW9mIiwidGFyZ2V0IiwiaXNGaWVsZFRvdWNoZWQiLCJzZXRGaWVsZFRvdWNoZWQiLCJfbGVuIiwiYXJndW1lbnRzIiwicmVzdEFyZ3MiLCJfa2V5IiwiYXBwbHkiLCJvbkJsdXIiLCJjdXJyZW50IiwiY29udGVudCIsImNsYXNzTmFtZSIsIk9iamVjdCIsImFzc2lnbiIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwiZGlzcGxheU5hbWUiLCJQcm9Gb3JtRmllbGRTZXQiXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsR0FBRyxJQUFJQyxJQUFJLFFBQVEsbUJBQW1CO0FDQS9DLE9BQU9DLEtBQUssSUFBSUMsSUFBSSxRQUFRLE9BQU87QUFFbkMsT0FBT0MsZ0JBQWdCLE1BQU0sZ0NBQWdDO0FBQzdELFNBQVNDLFdBQVcsUUFBUSxnQkFBZ0I7QUFDNUMsU0FBU0MsZ0JBQWdCLEVBQUVDLGVBQWUsUUFBUSxZQUFZO0FBQzlELFNBQVNDLGdCQUFnQixRQUFRLG1CQUFtQjtBQUNwRCxTQUFTQyxZQUFZLFFBQVEsbUJBQW1CO0FBQ2hELFNBQVNDLG9CQUFvQixFQUFFQyxpQkFBaUIsRUFBRUMsWUFBWSxRQUFRLGtCQUFrQjtBQUN4RixTQUFTQyxPQUFPLElBQUlDLFVBQVUsUUFBUSwyQkFBMkI7QUFDakUsU0FBU0MsVUFBVSxRQUFRLGNBQWM7QUFJekMsSUFBTUMsT0FBTyxHQUFHRixVQUFVLElBQUFHLE1BQUEsQ0FBSUYsVUFBVSxjQUFXLENBQUM7QUFFcEQsSUFBTUcsbUJBQW1CLEdBQTZCLFNBQWhEQSxtQkFBbUJBLENBQThCQyxLQUFLLEVBQUk7RUFDOUQsSUFDRUMsSUFBSSxHQVFGRCxLQUFLLENBUlBDLElBQUk7SUFDSkMsS0FBSyxHQU9IRixLQUFLLENBUFBFLEtBQUs7SUFDTEMsV0FBVyxHQU1USCxLQUFLLENBTlBHLFdBQVc7SUFDWEMsS0FBSyxHQUtISixLQUFLLENBTFBJLEtBQUs7SUFD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QUFDRixLQUFLLENBQUNDLE9BQU8sQ0FBQ2dDLE9BQU8sQ0FBQyxHQUFJQSxPQUFxQixHQUFHLEVBQUUsRUFBRSxRQUFRLENBQUM7UUFDdEY7UUFDQSxJQUFJLE9BQU9oQixVQUFVLENBQUNlLE1BQU0sS0FBSyxVQUFVLEVBQUU7VUFDMUNmLFVBQVUsQ0FBQ2UsTUFBb0MsQ0FBQUQsS0FBQSxDQUEvQ2QsVUFBVSxFQUFBVyxTQUFpRCxDQUFDO1FBQy9EO01BQ0Y7SUQzQkUsQ0M0QkgsQ0FBQztFQUNKLENBQUMsQ0FBQztFQUVGLElBQU1NLE9BQU8sR0FDWDNFLElBQUEsQ0FBQSxLQUFBLEVBQUE7SUFBSzRFLFNBQVMsRUFBRTdELE9BQU8sQ0FBQSxDQUFFO0lBQUVXLEtBQUssRUFBQW1ELE1BQUEsQ0FBQUMsTUFBQSxDQUFBO01BQUlDLE9BQU8sRUFBRSxNQUFNO01BQUV0RCxHQUFHLEVBQUhBLEdBQUc7TUFBRXVELFVBQVUsRUFBRTtJQUFZLENBQUEsRUFBS3RELEtBQUssQ0FBQTtJQUFBQyxRQUFBLEVBQ3pGd0I7RUFBSSxDQUFBLENBRVI7RUFFRCxJQUFJaEMsSUFBSSxFQUFFO0lBQ1IsT0FDRW5CLElBQUEsQ0FBQ0ksV0FBVyxFQUFBO01BQUNnQixLQUFLLEVBQUVBLEtBQUs7TUFBRUMsV0FBVyxFQUFFQSxXQUFXO01BQUVGLElBQUksRUFBRUEsSUFBSTtNQUFFRyxLQUFLLEVBQUVBLEtBQUs7TUFBRUMsUUFBUSxFQUFFQSxRQUFRO01BQUFJLFFBQUEsRUFDOUZnRDtJQUFPLENBQUEsQ0FDSTtFQUVsQjtFQUVBLE9BQU9BLE9BQU87QUFDaEIsQ0FBQztBQUVEMUQsbUJBQW1CLENBQUNnRSxXQUFXLEdBQUcsaUJBQWlCO0FBRW5ELE9BQU8sSUFBTUMsZUFBZSxnQkFBR2hGLElBQUksQ0FBQ2UsbUJBQW1CLENBQUM7QUFFeEQsZUFBZWlFLGVBQWUiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRmllbGRTZXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFJlYWN0LCB7IG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHsgUHJvRm9ybUl0ZW0gfSBmcm9tICcuLi9Qcm9Gb3JtSXRlbSc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtU3RhYmxlLCB1c2VQcm9Gb3JtU3RvcmUgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZVN0b3JlU2VsZWN0b3IgfSBmcm9tICcuLi9jb3JlL2Zvcm1TdG9yZSc7XG5pbXBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICcuLi9jb3JlL3BhdGhVdGlscyc7XG5pbXBvcnQgeyBmaWx0ZXJSdWxlc0J5VHJpZ2dlciwgbm9ybWFsaXplVHJpZ2dlcnMsIHJlc29sdmVSdWxlcyB9IGZyb20gJy4uL2NvcmUvcnVuUnVsZXMnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBDU1NfUFJFRklYIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKGAke0NTU19QUkVGSVh9LWZpZWxkc2V0YCk7XG5jb25zdCBQcm9Gb3JtRmllbGRTZXRCYXNlID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBuYW1lLCBsYWJlbCwgZGVzY3JpcHRpb24sIHJ1bGVzLCBmZWVkYmFjaywgZ2FwID0gOCwgc3R5bGUsIGNoaWxkcmVuLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBzZXRGaWVsZFZhbHVlLCBmb3JtSW5zdGFuY2UsIHZhbGlkYXRlRmllbGQsIHZhbGlkYXRlRmllbGRBc3luYywgdmFsaWRhdGVUcmlnZ2VyOiBmb3JtVmFsaWRhdGVUcmlnZ2VyLCB9ID0gdXNlUHJvRm9ybVN0YWJsZSgpO1xuICAgIGNvbnN0IHN0b3JlID0gdXNlUHJvRm9ybVN0b3JlKCk7XG4gICAgLy8gUGVyLWZpZWxkIHN1YnNjcmlwdGlvbjogcmUtcmVuZGVyIG9ubHkgd2hlbiBUSElTIHNldCdzIGFycmF5IGNoYW5nZXMuXG4gICAgLy8gRG90LXBhdGhzIHJlc29sdmUgaW50byB0aGUgbmVzdGVkIHZhbHVlcyBsaWtlIGV2ZXJ5d2hlcmUgZWxzZS5cbiAgICBjb25zdCByYXdWYWx1ZSA9IHVzZVN0b3JlU2VsZWN0b3Ioc3RvcmUsIChzdGF0ZSkgPT4gbmFtZSA/IHJlc29sdmVWYWx1ZShzdGF0ZS52YWx1ZXMsIG5hbWUpIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCB2YWx1ZSA9IEFycmF5LmlzQXJyYXkocmF3VmFsdWUpID8gcmF3VmFsdWUgOiBbXTtcbiAgICAvLyBUaGUgc2V0IHZhbGlkYXRlcyBsaWtlIGFueSBvdGhlciBmaWVsZDogcnVsZXMgZmlsdGVyZWQgYnkgdGhlIGZvcm0tbGV2ZWxcbiAgICAvLyB0cmlnZ2VyIGNvbmZpZyBydW4gb24gc2xvdCBjaGFuZ2VzL2JsdXJzIGFnYWluc3QgdGhlIFdIT0xFIGFycmF5IHZhbHVlLlxuICAgIGNvbnN0IHJ1blRyaWdnZXJWYWxpZGF0aW9uID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCB0cmlnZ2VyKSA9PiB7XG4gICAgICAgIGlmICghbmFtZSB8fCAhcnVsZXMgfHwgcnVsZXMubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVSdWxlcyhydWxlcywgc3RvcmUuZ2V0U3RhdGUoKS52YWx1ZXMsIGZvcm1JbnN0YW5jZSk7XG4gICAgICAgIGNvbnN0IGFwcGxpY2FibGUgPSBmaWx0ZXJSdWxlc0J5VHJpZ2dlcihyZXNvbHZlZCwgdHJpZ2dlciwgbm9ybWFsaXplVHJpZ2dlcnModW5kZWZpbmVkLCBmb3JtVmFsaWRhdGVUcmlnZ2VyKSwgbmFtZSk7XG4gICAgICAgIGlmIChhcHBsaWNhYmxlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKHRyaWdnZXIgPT09ICdvbkNoYW5nZScpIHtcbiAgICAgICAgICAgIHZhbGlkYXRlRmllbGQobmFtZSwgYXBwbGljYWJsZSwgbmV4dFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZhbGlkYXRlRmllbGRBc3luYyhuYW1lLCBuZXh0VmFsdWUsIGFwcGxpY2FibGUpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgbGV0IGl0ZW1JbmRleCA9IC0xO1xuICAgIGNvbnN0IGxpc3QgPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIChjaGlsZCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICBpdGVtSW5kZXggKz0gMTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBpdGVtSW5kZXg7XG4gICAgICAgIGNvbnN0IGNoaWxkUHJvcHMgPSBjaGlsZC5wcm9wcztcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgLy8gJycgKG5vdCB1bmRlZmluZWQpIGZvciBlbXB0eSBzbG90cyDigJQgYW4gaW5wdXQgbXVzdCBub3Qgc3dpdGNoIGZyb21cbiAgICAgICAgICAgIC8vIHVuY29udHJvbGxlZCB0byBjb250cm9sbGVkIG9uIGl0cyBmaXJzdCBlZGl0LlxuICAgICAgICAgICAgdmFsdWU6IChfYSA9IHZhbHVlW2luZGV4XSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJycsXG4gICAgICAgICAgICBvbkNoYW5nZTogKHZhbCwgLi4ucmVzdEFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IFsuLi52YWx1ZV07XG4gICAgICAgICAgICAgICAgICAgIG5ld1ZhbHVlW2luZGV4XSA9IHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiAndGFyZ2V0JyBpbiB2YWxcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdmFsLnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB2YWw7XG4gICAgICAgICAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgbmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAvLyBBIHNsb3QgZWRpdCBpcyBhIHVzZXIgY2hhbmdlIHRyaWdnZXIg4oCUIG1hcmsgdG91Y2hlZCBsaWtlIGFueSBmaWVsZC5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFmb3JtSW5zdGFuY2UuaXNGaWVsZFRvdWNoZWQobmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1JbnN0YW5jZS5zZXRGaWVsZFRvdWNoZWQobmFtZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcnVuVHJpZ2dlclZhbGlkYXRpb24obmV3VmFsdWUsICdvbkNoYW5nZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBDSEFJTiB0aGUgc2xvdCBjaGlsZCdzIG93biBvbkNoYW5nZSDigJQgbmV2ZXIgb3ZlcndyaXRlIGl0LlxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGRQcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZFByb3BzLm9uQ2hhbmdlKHZhbCwgLi4ucmVzdEFyZ3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkJsdXI6ICguLi5yZXN0QXJncykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFJlYWQgdGhlIExJVkUgdmFsdWUg4oCUIGEgY2hhbmdlIGNvbW1pdHRlZCBpbiB0aGUgc2FtZSB0aWNrIG11c3QgYmVcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIG9uZSB2YWxpZGF0ZWQsIG5vdCB0aGUgcmVuZGVyLXRpbWUgc25hcHNob3QuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSByZXNvbHZlVmFsdWUoc3RvcmUuZ2V0U3RhdGUoKS52YWx1ZXMsIG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBydW5UcmlnZ2VyVmFsaWRhdGlvbihBcnJheS5pc0FycmF5KGN1cnJlbnQpID8gY3VycmVudCA6IFtdLCAnb25CbHVyJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGRQcm9wcy5vbkJsdXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5vbkJsdXIoLi4ucmVzdEFyZ3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGNvbnRlbnQgPSAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygpLCBzdHlsZTogT2JqZWN0LmFzc2lnbih7IGRpc3BsYXk6ICdmbGV4JywgZ2FwLCBhbGlnbkl0ZW1zOiAnZmxleC1zdGFydCcgfSwgc3R5bGUpLCBjaGlsZHJlbjogbGlzdCB9KSk7XG4gICAgaWYgKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIChfanN4KFByb0Zvcm1JdGVtLCB7IGxhYmVsOiBsYWJlbCwgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLCBuYW1lOiBuYW1lLCBydWxlczogcnVsZXMsIGZlZWRiYWNrOiBmZWVkYmFjaywgY2hpbGRyZW46IGNvbnRlbnQgfSkpO1xuICAgIH1cbiAgICByZXR1cm4gY29udGVudDtcbn07XG5Qcm9Gb3JtRmllbGRTZXRCYXNlLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1GaWVsZFNldCc7XG5leHBvcnQgY29uc3QgUHJvRm9ybUZpZWxkU2V0ID0gbWVtbyhQcm9Gb3JtRmllbGRTZXRCYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm1GaWVsZFNldDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { RadioGroup } from '../../Radio';
|
|
2
2
|
import { createProFormField } from './createProFormField';
|
|
3
|
-
import { renderTextReadonly } from '../utils';
|
|
3
|
+
import { findOptionLabel, renderTextReadonly } from '../utils';
|
|
4
|
+
function renderRadioReadonly(value, props) {
|
|
5
|
+
var _a;
|
|
6
|
+
if (value === null || value === undefined || value === '') return '-';
|
|
7
|
+
return (_a = findOptionLabel(props === null || props === void 0 ? void 0 : props.options, value)) !== null && _a !== void 0 ? _a : renderTextReadonly(value);
|
|
8
|
+
}
|
|
4
9
|
export var ProFormRadioGroup = createProFormField({
|
|
5
10
|
component: RadioGroup,
|
|
6
|
-
renderReadonly:
|
|
11
|
+
renderReadonly: renderRadioReadonly
|
|
7
12
|
});
|
|
8
13
|
ProFormRadioGroup.displayName = 'ProFormRadioGroup';
|
|
9
14
|
export default ProFormRadioGroup;
|
|
10
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtUmFkaW9Hcm91cC50c3giLCJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1SYWRpb0dyb3VwLmpzIl0sIm5hbWVzIjpbIlJhZGlvR3JvdXAiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJmaW5kT3B0aW9uTGFiZWwiLCJyZW5kZXJUZXh0UmVhZG9ubHkiLCJyZW5kZXJSYWRpb1JlYWRvbmx5IiwidmFsdWUiLCJwcm9wcyIsIl9hIiwidW5kZWZpbmVkIiwib3B0aW9ucyIsIlByb0Zvcm1SYWRpb0dyb3VwIiwiY29tcG9uZW50IiwicmVuZGVyUmVhZG9ubHkiLCJkaXNwbGF5TmFtZSJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsVUFBVSxRQUFRLGFBQWE7QUFFeEMsU0FBU0Msa0JBQWtCLFFBQVEsc0JBQXNCO0FBQ3pELFNBQVNDLGVBQWUsRUFBRUMsa0JBQWtCLFFBQVEsVUFBVTtBQUU5RCxTQUFTQyxtQkFBbUJBLENBQUNDLEtBQWMsRUFBRUMsS0FBZ0MsRUFBQTtFQ0Z6RSxJQUFJQyxFQUFFO0VER1IsSUFBSUYsS0FBSyxLQUFLLElBQUksSUFBSUEsS0FBSyxLQUFLRyxTQUFTLElBQUlILEtBQUssS0FBSyxFQUFFLEVBQUUsT0FBTyxHQUFHO0VBQ3JFLE9BQU8sQ0FBQUUsRUFBQSxHQUFBTCxlQUFlLENBQUNJLEtBQUssS0FBQSxJQUFBLElBQUxBLEtBQUssS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTEEsS0FBSyxDQUFFRyxPQUFPLEVBQUVKLEtBQUssQ0FBQyxNQUFBLElBQUEsSUFBQUUsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUlKLGtCQUFrQixDQUFDRSxLQUFLLENBQUM7QUFDNUU7QUFFQSxPQUFPLElBQU1LLGlCQUFpQixHQUFHVCxrQkFBa0IsQ0FBa0I7RUFDbkVVLFNBQVMsRUFBRVgsVUFBVTtFQUNyQlksY0FBYyxFQUFFUjtBQ0RsQixDREVDLENBQUM7QUFFRk0saUJBQWlCLENBQUNHLFdBQVcsR0FBRyxtQkFBbUI7QUFFbkQsZUFBZUgsaUJBQWlCIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybVJhZGlvR3JvdXAuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IFJhZGlvR3JvdXAgfSBmcm9tICcuLi8uLi9SYWRpbyc7XG5pbXBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQgfSBmcm9tICcuL2NyZWF0ZVByb0Zvcm1GaWVsZCc7XG5pbXBvcnQgeyBmaW5kT3B0aW9uTGFiZWwsIHJlbmRlclRleHRSZWFkb25seSB9IGZyb20gJy4uL3V0aWxzJztcbmZ1bmN0aW9uIHJlbmRlclJhZGlvUmVhZG9ubHkodmFsdWUsIHByb3BzKSB7XG4gICAgdmFyIF9hO1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJylcbiAgICAgICAgcmV0dXJuICctJztcbiAgICByZXR1cm4gKF9hID0gZmluZE9wdGlvbkxhYmVsKHByb3BzID09PSBudWxsIHx8IHByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwcm9wcy5vcHRpb25zLCB2YWx1ZSkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHJlbmRlclRleHRSZWFkb25seSh2YWx1ZSk7XG59XG5leHBvcnQgY29uc3QgUHJvRm9ybVJhZGlvR3JvdXAgPSBjcmVhdGVQcm9Gb3JtRmllbGQoe1xuICAgIGNvbXBvbmVudDogUmFkaW9Hcm91cCxcbiAgICByZW5kZXJSZWFkb25seTogcmVuZGVyUmFkaW9SZWFkb25seSxcbn0pO1xuUHJvRm9ybVJhZGlvR3JvdXAuZGlzcGxheU5hbWUgPSAnUHJvRm9ybVJhZGlvR3JvdXAnO1xuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybVJhZGlvR3JvdXA7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|