@1money/component-ui 0.0.75 → 0.0.77
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.d.ts +1 -1
- package/es/components/ProForm/ProForm.js +46 -34
- package/es/components/ProForm/ProFormDependency.d.ts +2 -1
- package/es/components/ProForm/ProFormDependency.js +6 -16
- package/es/components/ProForm/ProFormItem.d.ts +7 -2
- package/es/components/ProForm/ProFormItem.js +5 -7
- package/es/components/ProForm/ProFormList.d.ts +6 -1
- package/es/components/ProForm/ProFormList.js +122 -42
- package/es/components/ProForm/SchemaForm.d.ts +1 -1
- package/es/components/ProForm/SchemaForm.js +8 -5
- package/es/components/ProForm/context.d.ts +8 -7
- package/es/components/ProForm/context.js +1 -1
- package/es/components/ProForm/core/constants.d.ts +3 -1
- package/es/components/ProForm/core/constants.js +8 -2
- 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 +14 -6
- package/es/components/ProForm/core/formStore.js +21 -2
- package/es/components/ProForm/core/hooks/useForm.d.ts +1 -1
- package/es/components/ProForm/core/hooks/useForm.js +275 -107
- package/es/components/ProForm/core/hooks/useFormCore.d.ts +2 -2
- package/es/components/ProForm/core/hooks/useFormCore.js +121 -121
- package/es/components/ProForm/core/interface.d.ts +157 -103
- package/es/components/ProForm/core/namePathType.d.ts +25 -0
- package/es/components/ProForm/core/namePathType.js +2 -0
- package/es/components/ProForm/core/pathUtils.d.ts +5 -3
- package/es/components/ProForm/core/pathUtils.js +19 -1
- package/es/components/ProForm/core/runRules.d.ts +40 -17
- package/es/components/ProForm/core/runRules.js +480 -136
- package/es/components/ProForm/core/useFormItem.d.ts +7 -8
- package/es/components/ProForm/core/useFormItem.js +52 -82
- package/es/components/ProForm/core/validationError.d.ts +13 -0
- package/es/components/ProForm/core/validationError.js +29 -0
- package/es/components/ProForm/fields/ProFormCheckbox.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormCheckboxGroup.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormCheckboxGroup.js +19 -5
- package/es/components/ProForm/fields/ProFormDatePicker.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormDatePicker.js +1 -1
- package/es/components/ProForm/fields/ProFormFieldSet.d.ts +7 -2
- package/es/components/ProForm/fields/ProFormFieldSet.js +49 -12
- package/es/components/ProForm/fields/ProFormPassword.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormRadioGroup.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormRadioGroup.js +8 -3
- package/es/components/ProForm/fields/ProFormSelect.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormSelect.js +13 -7
- package/es/components/ProForm/fields/ProFormSlider.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormSwitch.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormText.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormTextArea.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormUpload.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormUpload.js +1 -1
- package/es/components/ProForm/fields/createProFormField.d.ts +8 -2
- package/es/components/ProForm/fields/createProFormField.js +20 -27
- package/es/components/ProForm/hooks/useFieldRequest.d.ts +1 -1
- package/es/components/ProForm/hooks/useFieldRequest.js +10 -8
- package/es/components/ProForm/hooks/useUrlSync.d.ts +8 -7
- package/es/components/ProForm/hooks/useUrlSync.js +1 -1
- package/es/components/ProForm/index.d.ts +37 -27
- package/es/components/ProForm/index.js +4 -1
- package/es/components/ProForm/interface.d.ts +115 -119
- package/es/components/ProForm/layouts/DialogForm.d.ts +1 -1
- package/es/components/ProForm/layouts/DialogForm.js +1 -1
- package/es/components/ProForm/layouts/DrawerForm.d.ts +1 -1
- package/es/components/ProForm/layouts/DrawerForm.js +1 -1
- package/es/components/ProForm/layouts/QueryFilter.d.ts +1 -1
- package/es/components/ProForm/layouts/QueryFilter.js +24 -16
- package/es/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
- package/es/components/ProForm/layouts/useOverlayForm.js +1 -1
- package/es/components/ProForm/utils.d.ts +15 -7
- 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/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/lib/components/ProForm/ProForm.d.ts +1 -1
- package/lib/components/ProForm/ProForm.js +45 -33
- package/lib/components/ProForm/ProFormDependency.d.ts +2 -1
- package/lib/components/ProForm/ProFormDependency.js +5 -15
- package/lib/components/ProForm/ProFormItem.d.ts +7 -2
- package/lib/components/ProForm/ProFormItem.js +5 -7
- package/lib/components/ProForm/ProFormList.d.ts +6 -1
- package/lib/components/ProForm/ProFormList.js +120 -40
- package/lib/components/ProForm/SchemaForm.d.ts +1 -1
- package/lib/components/ProForm/SchemaForm.js +8 -5
- package/lib/components/ProForm/context.d.ts +8 -7
- package/lib/components/ProForm/context.js +1 -1
- package/lib/components/ProForm/core/constants.d.ts +3 -1
- package/lib/components/ProForm/core/constants.js +9 -3
- 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 +14 -6
- package/lib/components/ProForm/core/formStore.js +23 -2
- package/lib/components/ProForm/core/hooks/useForm.d.ts +1 -1
- package/lib/components/ProForm/core/hooks/useForm.js +271 -103
- package/lib/components/ProForm/core/hooks/useFormCore.d.ts +2 -2
- package/lib/components/ProForm/core/hooks/useFormCore.js +119 -119
- package/lib/components/ProForm/core/interface.d.ts +157 -103
- package/lib/components/ProForm/core/namePathType.d.ts +25 -0
- package/lib/components/ProForm/core/namePathType.js +6 -0
- package/lib/components/ProForm/core/pathUtils.d.ts +5 -3
- package/lib/components/ProForm/core/pathUtils.js +20 -1
- package/lib/components/ProForm/core/runRules.d.ts +40 -17
- package/lib/components/ProForm/core/runRules.js +483 -137
- package/lib/components/ProForm/core/useFormItem.d.ts +7 -8
- package/lib/components/ProForm/core/useFormItem.js +54 -84
- package/lib/components/ProForm/core/validationError.d.ts +13 -0
- package/lib/components/ProForm/core/validationError.js +36 -0
- package/lib/components/ProForm/fields/ProFormCheckbox.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +18 -4
- package/lib/components/ProForm/fields/ProFormDatePicker.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormDatePicker.js +1 -1
- package/lib/components/ProForm/fields/ProFormFieldSet.d.ts +7 -2
- package/lib/components/ProForm/fields/ProFormFieldSet.js +49 -12
- package/lib/components/ProForm/fields/ProFormPassword.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormRadioGroup.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormRadioGroup.js +7 -2
- package/lib/components/ProForm/fields/ProFormSelect.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormSelect.js +13 -7
- package/lib/components/ProForm/fields/ProFormSlider.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormSwitch.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormText.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormTextArea.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormUpload.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormUpload.js +1 -1
- package/lib/components/ProForm/fields/createProFormField.d.ts +8 -2
- package/lib/components/ProForm/fields/createProFormField.js +20 -27
- package/lib/components/ProForm/hooks/useFieldRequest.d.ts +1 -1
- package/lib/components/ProForm/hooks/useFieldRequest.js +10 -8
- package/lib/components/ProForm/hooks/useUrlSync.d.ts +8 -7
- package/lib/components/ProForm/hooks/useUrlSync.js +1 -1
- package/lib/components/ProForm/index.d.ts +37 -27
- package/lib/components/ProForm/index.js +10 -1
- package/lib/components/ProForm/interface.d.ts +115 -119
- package/lib/components/ProForm/layouts/DialogForm.d.ts +1 -1
- package/lib/components/ProForm/layouts/DialogForm.js +1 -1
- package/lib/components/ProForm/layouts/DrawerForm.d.ts +1 -1
- package/lib/components/ProForm/layouts/DrawerForm.js +1 -1
- package/lib/components/ProForm/layouts/QueryFilter.d.ts +1 -1
- package/lib/components/ProForm/layouts/QueryFilter.js +24 -16
- package/lib/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
- package/lib/components/ProForm/layouts/useOverlayForm.js +1 -1
- package/lib/components/ProForm/utils.d.ts +15 -7
- 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/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server/examples.generated.json +95 -53
- package/scripts/mcp-server/index.generated.json +1715 -185
|
@@ -10,9 +10,12 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
10
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _useEventCallback = _interopRequireDefault(require("@1money/hooks/useEventCallback"));
|
|
13
14
|
var _ProFormItem = require("../ProFormItem");
|
|
14
15
|
var _context = require("../context");
|
|
15
16
|
var _formStore = require("../core/formStore");
|
|
17
|
+
var _pathUtils = require("../core/pathUtils");
|
|
18
|
+
var _runRules = require("../core/runRules");
|
|
16
19
|
var _classnames = _interopRequireDefault(require("../../../utils/classnames"));
|
|
17
20
|
var _constants = require("../constants");
|
|
18
21
|
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); }
|
|
@@ -23,7 +26,6 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
|
|
|
23
26
|
label = props.label,
|
|
24
27
|
description = props.description,
|
|
25
28
|
rules = props.rules,
|
|
26
|
-
required = props.required,
|
|
27
29
|
feedback = props.feedback,
|
|
28
30
|
_props$gap = props.gap,
|
|
29
31
|
gap = _props$gap === void 0 ? 8 : _props$gap,
|
|
@@ -31,31 +33,67 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
|
|
|
31
33
|
children = props.children;
|
|
32
34
|
var _useProFormStable = (0, _context.useProFormStable)(),
|
|
33
35
|
setFieldValue = _useProFormStable.setFieldValue,
|
|
34
|
-
formInstance = _useProFormStable.formInstance
|
|
36
|
+
formInstance = _useProFormStable.formInstance,
|
|
37
|
+
validateFieldAsync = _useProFormStable.validateFieldAsync,
|
|
38
|
+
formValidateTrigger = _useProFormStable.validateTrigger;
|
|
35
39
|
var store = (0, _context.useProFormStore)();
|
|
36
40
|
// Per-field subscription: re-render only when THIS set's array changes.
|
|
41
|
+
// Dot-paths resolve into the nested values like everywhere else.
|
|
37
42
|
var rawValue = (0, _formStore.useStoreSelector)(store, function (state) {
|
|
38
|
-
return name ? state.values
|
|
43
|
+
return name ? (0, _pathUtils.resolveValue)(state.values, name) : undefined;
|
|
39
44
|
});
|
|
40
45
|
var value = Array.isArray(rawValue) ? rawValue : [];
|
|
46
|
+
// The set validates like any other field: rules filtered by the form-level
|
|
47
|
+
// trigger config run on slot changes/blurs against the WHOLE array value.
|
|
48
|
+
var runTriggerValidation = (0, _useEventCallback["default"])(function (nextValue, trigger) {
|
|
49
|
+
if (!name || !rules || rules.length === 0) return;
|
|
50
|
+
var resolved = (0, _runRules.resolveRules)(rules, store.getState().values, formInstance);
|
|
51
|
+
var applicable = (0, _runRules.filterRulesByTrigger)(resolved, trigger, (0, _runRules.normalizeTriggers)(undefined, formValidateTrigger), name);
|
|
52
|
+
if (applicable.length === 0) return;
|
|
53
|
+
// Both triggers validate through the async path so a Promise-returning
|
|
54
|
+
// validator behaves identically on change and blur (and is never
|
|
55
|
+
// silently skipped, as the old sync onChange path did).
|
|
56
|
+
validateFieldAsync(name, nextValue, applicable);
|
|
57
|
+
});
|
|
41
58
|
var itemIndex = -1;
|
|
42
59
|
var list = _react["default"].Children.map(children, function (child) {
|
|
43
60
|
var _a;
|
|
44
61
|
if (! /*#__PURE__*/_react["default"].isValidElement(child)) return child;
|
|
45
62
|
itemIndex += 1;
|
|
46
63
|
var index = itemIndex;
|
|
64
|
+
var childProps = child.props;
|
|
47
65
|
return /*#__PURE__*/_react["default"].cloneElement(child, {
|
|
48
66
|
// '' (not undefined) for empty slots — an input must not switch from
|
|
49
67
|
// uncontrolled to controlled on its first edit.
|
|
50
68
|
value: (_a = value[index]) !== null && _a !== void 0 ? _a : '',
|
|
51
69
|
onChange: function onChange(val) {
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
70
|
+
if (name) {
|
|
71
|
+
var newValue = (0, _toConsumableArray2["default"])(value);
|
|
72
|
+
newValue[index] = val && (0, _typeof2["default"])(val) === 'object' && 'target' in val ? val.target.value : val;
|
|
73
|
+
setFieldValue(name, newValue);
|
|
74
|
+
// A slot edit is a user change trigger — mark touched like any field.
|
|
75
|
+
if (!formInstance.isFieldTouched(name)) {
|
|
76
|
+
formInstance.setFieldTouched(name, true);
|
|
77
|
+
}
|
|
78
|
+
runTriggerValidation(newValue, 'onChange');
|
|
79
|
+
}
|
|
80
|
+
// CHAIN the slot child's own onChange — never overwrite it.
|
|
81
|
+
if (typeof childProps.onChange === 'function') {
|
|
82
|
+
for (var _len = arguments.length, restArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
83
|
+
restArgs[_key - 1] = arguments[_key];
|
|
84
|
+
}
|
|
85
|
+
childProps.onChange.apply(childProps, [val].concat(restArgs));
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
onBlur: function onBlur() {
|
|
89
|
+
if (name) {
|
|
90
|
+
// Read the LIVE value — a change committed in the same tick must be
|
|
91
|
+
// the one validated, not the render-time snapshot.
|
|
92
|
+
var current = (0, _pathUtils.resolveValue)(store.getState().values, name);
|
|
93
|
+
runTriggerValidation(Array.isArray(current) ? current : [], 'onBlur');
|
|
94
|
+
}
|
|
95
|
+
if (typeof childProps.onBlur === 'function') {
|
|
96
|
+
childProps.onBlur.apply(childProps, arguments);
|
|
59
97
|
}
|
|
60
98
|
}
|
|
61
99
|
});
|
|
@@ -75,7 +113,6 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
|
|
|
75
113
|
description: description,
|
|
76
114
|
name: name,
|
|
77
115
|
rules: rules,
|
|
78
|
-
required: required,
|
|
79
116
|
feedback: feedback,
|
|
80
117
|
children: content
|
|
81
118
|
});
|
|
@@ -85,4 +122,4 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
|
|
|
85
122
|
ProFormFieldSetBase.displayName = 'ProFormFieldSet';
|
|
86
123
|
var ProFormFieldSet = exports.ProFormFieldSet = /*#__PURE__*/(0, _react.memo)(ProFormFieldSetBase);
|
|
87
124
|
var _default = exports["default"] = ProFormFieldSet;
|
|
88
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUZpZWxkU2V0LmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1GaWVsZFNldC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfUHJvRm9ybUl0ZW0iLCJfY29udGV4dCIsIl9mb3JtU3RvcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsImNsYXNzZXMiLCJjbGFzc25hbWVzIiwiY29uY2F0IiwiQ1NTX1BSRUZJWCIsIlByb0Zvcm1GaWVsZFNldEJhc2UiLCJwcm9wcyIsIm5hbWUiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwicnVsZXMiLCJyZXF1aXJlZCIsImZlZWRiYWNrIiwiX3Byb3BzJGdhcCIsImdhcCIsInN0eWxlIiwiY2hpbGRyZW4iLCJfdXNlUHJvRm9ybVN0YWJsZSIsInVzZVByb0Zvcm1TdGFibGUiLCJzZXRGaWVsZFZhbHVlIiwiZm9ybUluc3RhbmNlIiwic3RvcmUiLCJ1c2VQcm9Gb3JtU3RvcmUiLCJyYXdWYWx1ZSIsInVzZVN0b3JlU2VsZWN0b3IiLCJzdGF0ZSIsInZhbHVlcyIsInVuZGVmaW5lZCIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwiaXRlbUluZGV4IiwibGlzdCIsIlJlYWN0IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsIl9hIiwiaXNWYWxpZEVsZW1lbnQiLCJpbmRleCIsImNsb25lRWxlbWVudCIsIm9uQ2hhbmdlIiwidmFsIiwibmV3VmFsdWUiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiX3R5cGVvZjIiLCJ0YXJnZXQiLCJpc0ZpZWxkVG91Y2hlZCIsInNldEZpZWxkVG91Y2hlZCIsImNvbnRlbnQiLCJfanN4IiwiY2xhc3NOYW1lIiwiYXNzaWduIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJQcm9Gb3JtSXRlbSIsImRpc3BsYXlOYW1lIiwiUHJvRm9ybUZpZWxkU2V0IiwiZXhwb3J0cyIsIm1lbW8iLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLFlBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQVAsT0FBQTtBQUNBLElBQUFRLFVBQUEsR0FBQVIsT0FBQTtBQUEwQyxTQUFBUyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVIsd0JBQUFRLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssUUFBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixD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QSxDQUNJO0VBRWxCO0VBRUEsT0FBT0EsT0FBTztBQUNoQixDQUFDO0FBRUQ1QyxtQkFBbUIsQ0FBQ21ELFdBQVcsR0FBRyxpQkFBaUI7QUFFNUMsSUFBTUMsZUFBZSxHQUFBQyxPQUFBLENBQUFELGVBQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDdEQsbUJBQW1CLENBQUM7QUFBQyxJQUFBdUQsUUFBQSxHQUFBRixPQUFBLGNBRTFDRCxlQUFlIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUZpZWxkU2V0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBSZWFjdCwgeyBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUHJvRm9ybUl0ZW0gfSBmcm9tICcuLi9Qcm9Gb3JtSXRlbSc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtU3RhYmxlLCB1c2VQcm9Gb3JtU3RvcmUgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZVN0b3JlU2VsZWN0b3IgfSBmcm9tICcuLi9jb3JlL2Zvcm1TdG9yZSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IENTU19QUkVGSVggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMoYCR7Q1NTX1BSRUZJWH0tZmllbGRzZXRgKTtcbmNvbnN0IFByb0Zvcm1GaWVsZFNldEJhc2UgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IG5hbWUsIGxhYmVsLCBkZXNjcmlwdGlvbiwgcnVsZXMsIHJlcXVpcmVkLCBmZWVkYmFjaywgZ2FwID0gOCwgc3R5bGUsIGNoaWxkcmVuLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBzZXRGaWVsZFZhbHVlLCBmb3JtSW5zdGFuY2UgfSA9IHVzZVByb0Zvcm1TdGFibGUoKTtcbiAgICBjb25zdCBzdG9yZSA9IHVzZVByb0Zvcm1TdG9yZSgpO1xuICAgIC8vIFBlci1maWVsZCBzdWJzY3JpcHRpb246IHJlLXJlbmRlciBvbmx5IHdoZW4gVEhJUyBzZXQncyBhcnJheSBjaGFuZ2VzLlxuICAgIGNvbnN0IHJhd1ZhbHVlID0gdXNlU3RvcmVTZWxlY3RvcihzdG9yZSwgKHN0YXRlKSA9PiAobmFtZSA/IHN0YXRlLnZhbHVlc1tuYW1lXSA6IHVuZGVmaW5lZCkpO1xuICAgIGNvbnN0IHZhbHVlID0gQXJyYXkuaXNBcnJheShyYXdWYWx1ZSkgPyByYXdWYWx1ZSA6IFtdO1xuICAgIGxldCBpdGVtSW5kZXggPSAtMTtcbiAgICBjb25zdCBsaXN0ID0gUmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSlcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgaXRlbUluZGV4ICs9IDE7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gaXRlbUluZGV4O1xuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCB7XG4gICAgICAgICAgICAvLyAnJyAobm90IHVuZGVmaW5lZCkgZm9yIGVtcHR5IHNsb3RzIOKAlCBhbiBpbnB1dCBtdXN0IG5vdCBzd2l0Y2ggZnJvbVxuICAgICAgICAgICAgLy8gdW5jb250cm9sbGVkIHRvIGNvbnRyb2xsZWQgb24gaXRzIGZpcnN0IGVkaXQuXG4gICAgICAgICAgICB2YWx1ZTogKF9hID0gdmFsdWVbaW5kZXhdKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnJyxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiAodmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFuYW1lKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBbLi4udmFsdWVdO1xuICAgICAgICAgICAgICAgIG5ld1ZhbHVlW2luZGV4XSA9IHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiAndGFyZ2V0JyBpbiB2YWxcbiAgICAgICAgICAgICAgICAgICAgPyB2YWwudGFyZ2V0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIDogdmFsO1xuICAgICAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgbmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgIC8vIEEgc2xvdCBlZGl0IGlzIGEgdXNlciBjaGFuZ2UgdHJpZ2dlciDigJQgbWFyayB0b3VjaGVkIGxpa2UgYW55IGZpZWxkLlxuICAgICAgICAgICAgICAgIGlmICghZm9ybUluc3RhbmNlLmlzRmllbGRUb3VjaGVkKG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1JbnN0YW5jZS5zZXRGaWVsZFRvdWNoZWQobmFtZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgY29udGVudCA9IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCksIHN0eWxlOiBPYmplY3QuYXNzaWduKHsgZGlzcGxheTogJ2ZsZXgnLCBnYXAsIGFsaWduSXRlbXM6ICdmbGV4LXN0YXJ0JyB9LCBzdHlsZSksIGNoaWxkcmVuOiBsaXN0IH0pKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgICByZXR1cm4gKF9qc3goUHJvRm9ybUl0ZW0sIHsgbGFiZWw6IGxhYmVsLCBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sIG5hbWU6IG5hbWUsIHJ1bGVzOiBydWxlcywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBmZWVkYmFjazogZmVlZGJhY2ssIGNoaWxkcmVuOiBjb250ZW50IH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG59O1xuUHJvRm9ybUZpZWxkU2V0QmFzZS5kaXNwbGF5TmFtZSA9ICdQcm9Gb3JtRmllbGRTZXQnO1xuZXhwb3J0IGNvbnN0IFByb0Zvcm1GaWVsZFNldCA9IG1lbW8oUHJvRm9ybUZpZWxkU2V0QmFzZSk7XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtRmllbGRTZXQ7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
125
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUZpZWxkU2V0LmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1GaWVsZFNldC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXNlRXZlbnRDYWxsYmFjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUHJvRm9ybUl0ZW0iLCJfY29udGV4dCIsIl9mb3JtU3RvcmUiLCJfcGF0aFV0aWxzIiwiX3J1blJ1bGVzIiwiX2NsYXNzbmFtZXMiLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsImNsYXNzZXMiLCJjbGFzc25hbWVzIiwiY29uY2F0IiwiQ1NTX1BSRUZJWCIsIlByb0Zvcm1GaWVsZFNldEJhc2UiLCJwcm9wcyIsIm5hbWUiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwicnVsZXMiLCJmZWVkYmFjayIsIl9wcm9wcyRnYXAiLCJnYXAiLCJzdHlsZSIsImNoaWxkcmVuIiwiX3VzZVByb0Zvcm1TdGFibGUiLCJ1c2VQcm9Gb3JtU3RhYmxlIiwic2V0RmllbGRWYWx1ZSIsImZvcm1JbnN0YW5jZSIsInZhbGlkYXRlRmllbGRBc3luYyIsImZvcm1WYWxpZGF0ZVRyaWdnZXIiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJzdG9yZSIsInVzZVByb0Zvcm1TdG9yZSIsInJhd1ZhbHVlIiwidXNlU3RvcmVTZWxlY3RvciIsInN0YXRlIiwicmVzb2x2ZVZhbHVlIiwidmFsdWVzIiwidW5kZWZpbmVkIiwidmFsdWUiLCJBcnJheSIsImlzQXJyYXkiLCJydW5UcmlnZ2VyVmFsaWRhdGlvbiIsInVzZUV2ZW50Q2FsbGJhY2siLCJuZXh0VmFsdWUiLCJ0cmlnZ2VyIiwibGVuZ3RoIiwicmVzb2x2ZWQiLCJyZXNvbHZlUnVsZXMiLCJnZXRTdGF0ZSIsImFwcGxpY2FibGUiLCJmaWx0ZXJSdWxlc0J5VHJpZ2dlciIsIm5vcm1hbGl6ZVRyaWdnZXJzIiwiaXRlbUluZGV4IiwibGlzdCIsIlJlYWN0IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsIl9hIiwiaXNWYWxpZEVsZW1lbnQiLCJpbmRleCIsImNoaWxkUHJvcHMiLCJjbG9uZUVsZW1lbnQiLCJvbkNoYW5nZSIsInZhbCIsIm5ld1ZhbHVlIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsIl90eXBlb2YyIiwidGFyZ2V0IiwiaXNGaWVsZFRvdWNoZWQiLCJzZXRGaWVsZFRvdWNoZWQiLCJfbGVuIiwiYXJndW1lbnRzIiwicmVzdEFyZ3MiLCJfa2V5IiwiYXBwbHkiLCJvbkJsdXIiLCJjdXJyZW50IiwiY29udGVudCIsIl9qc3giLCJjbGFzc05hbWUiLCJhc3NpZ24iLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsIlByb0Zvcm1JdGVtIiwiZGlzcGxheU5hbWUiLCJQcm9Gb3JtRmllbGRTZXQiLCJleHBvcnRzIiwibWVtbyIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLFlBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFVBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFVBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFNBQUEsR0FBQVQs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OUZ3RDtJQUFPLENBQUEsQ0FDSTtFQUVsQjtFQUVBLE9BQU9BLE9BQU87QUFDaEIsQ0FBQztBQUVEbEUsbUJBQW1CLENBQUN5RSxXQUFXLEdBQUcsaUJBQWlCO0FBWTVDLElBQU1DLGVBQWUsR0FBQUMsT0FBQSxDQUFBRCxlQUFBLGdCQUFHLElBQUFFLFdBQUksRUFDakM1RSxtQkFBbUIsQ0FDZTtBQUFDLElBQUE2RSxRQUFBLEdBQUFGLE9BQUEsY0FFdEJELGVBQWUiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRmllbGRTZXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFJlYWN0LCB7IG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHsgUHJvRm9ybUl0ZW0gfSBmcm9tICcuLi9Qcm9Gb3JtSXRlbSc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtU3RhYmxlLCB1c2VQcm9Gb3JtU3RvcmUgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZVN0b3JlU2VsZWN0b3IgfSBmcm9tICcuLi9jb3JlL2Zvcm1TdG9yZSc7XG5pbXBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICcuLi9jb3JlL3BhdGhVdGlscyc7XG5pbXBvcnQgeyBmaWx0ZXJSdWxlc0J5VHJpZ2dlciwgbm9ybWFsaXplVHJpZ2dlcnMsIHJlc29sdmVSdWxlcyB9IGZyb20gJy4uL2NvcmUvcnVuUnVsZXMnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBDU1NfUFJFRklYIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKGAke0NTU19QUkVGSVh9LWZpZWxkc2V0YCk7XG5jb25zdCBQcm9Gb3JtRmllbGRTZXRCYXNlID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBuYW1lLCBsYWJlbCwgZGVzY3JpcHRpb24sIHJ1bGVzLCBmZWVkYmFjaywgZ2FwID0gOCwgc3R5bGUsIGNoaWxkcmVuLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBzZXRGaWVsZFZhbHVlLCBmb3JtSW5zdGFuY2UsIHZhbGlkYXRlRmllbGRBc3luYywgdmFsaWRhdGVUcmlnZ2VyOiBmb3JtVmFsaWRhdGVUcmlnZ2VyLCB9ID0gdXNlUHJvRm9ybVN0YWJsZSgpO1xuICAgIGNvbnN0IHN0b3JlID0gdXNlUHJvRm9ybVN0b3JlKCk7XG4gICAgLy8gUGVyLWZpZWxkIHN1YnNjcmlwdGlvbjogcmUtcmVuZGVyIG9ubHkgd2hlbiBUSElTIHNldCdzIGFycmF5IGNoYW5nZXMuXG4gICAgLy8gRG90LXBhdGhzIHJlc29sdmUgaW50byB0aGUgbmVzdGVkIHZhbHVlcyBsaWtlIGV2ZXJ5d2hlcmUgZWxzZS5cbiAgICBjb25zdCByYXdWYWx1ZSA9IHVzZVN0b3JlU2VsZWN0b3Ioc3RvcmUsIChzdGF0ZSkgPT4gbmFtZSA/IHJlc29sdmVWYWx1ZShzdGF0ZS52YWx1ZXMsIG5hbWUpIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCB2YWx1ZSA9IEFycmF5LmlzQXJyYXkocmF3VmFsdWUpID8gcmF3VmFsdWUgOiBbXTtcbiAgICAvLyBUaGUgc2V0IHZhbGlkYXRlcyBsaWtlIGFueSBvdGhlciBmaWVsZDogcnVsZXMgZmlsdGVyZWQgYnkgdGhlIGZvcm0tbGV2ZWxcbiAgICAvLyB0cmlnZ2VyIGNvbmZpZyBydW4gb24gc2xvdCBjaGFuZ2VzL2JsdXJzIGFnYWluc3QgdGhlIFdIT0xFIGFycmF5IHZhbHVlLlxuICAgIGNvbnN0IHJ1blRyaWdnZXJWYWxpZGF0aW9uID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCB0cmlnZ2VyKSA9PiB7XG4gICAgICAgIGlmICghbmFtZSB8fCAhcnVsZXMgfHwgcnVsZXMubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVSdWxlcyhydWxlcywgc3RvcmUuZ2V0U3RhdGUoKS52YWx1ZXMsIGZvcm1JbnN0YW5jZSk7XG4gICAgICAgIGNvbnN0IGFwcGxpY2FibGUgPSBmaWx0ZXJSdWxlc0J5VHJpZ2dlcihyZXNvbHZlZCwgdHJpZ2dlciwgbm9ybWFsaXplVHJpZ2dlcnModW5kZWZpbmVkLCBmb3JtVmFsaWRhdGVUcmlnZ2VyKSwgbmFtZSk7XG4gICAgICAgIGlmIChhcHBsaWNhYmxlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgLy8gQm90aCB0cmlnZ2VycyB2YWxpZGF0ZSB0aHJvdWdoIHRoZSBhc3luYyBwYXRoIHNvIGEgUHJvbWlzZS1yZXR1cm5pbmdcbiAgICAgICAgLy8gdmFsaWRhdG9yIGJlaGF2ZXMgaWRlbnRpY2FsbHkgb24gY2hhbmdlIGFuZCBibHVyIChhbmQgaXMgbmV2ZXJcbiAgICAgICAgLy8gc2lsZW50bHkgc2tpcHBlZCwgYXMgdGhlIG9sZCBzeW5jIG9uQ2hhbmdlIHBhdGggZGlkKS5cbiAgICAgICAgdmFsaWRhdGVGaWVsZEFzeW5jKG5hbWUsIG5leHRWYWx1ZSwgYXBwbGljYWJsZSk7XG4gICAgfSk7XG4gICAgbGV0IGl0ZW1JbmRleCA9IC0xO1xuICAgIGNvbnN0IGxpc3QgPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIChjaGlsZCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICBpdGVtSW5kZXggKz0gMTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBpdGVtSW5kZXg7XG4gICAgICAgIGNvbnN0IGNoaWxkUHJvcHMgPSBjaGlsZC5wcm9wcztcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgLy8gJycgKG5vdCB1bmRlZmluZWQpIGZvciBlbXB0eSBzbG90cyDigJQgYW4gaW5wdXQgbXVzdCBub3Qgc3dpdGNoIGZyb21cbiAgICAgICAgICAgIC8vIHVuY29udHJvbGxlZCB0byBjb250cm9sbGVkIG9uIGl0cyBmaXJzdCBlZGl0LlxuICAgICAgICAgICAgdmFsdWU6IChfYSA9IHZhbHVlW2luZGV4XSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJycsXG4gICAgICAgICAgICBvbkNoYW5nZTogKHZhbCwgLi4ucmVzdEFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IFsuLi52YWx1ZV07XG4gICAgICAgICAgICAgICAgICAgIG5ld1ZhbHVlW2luZGV4XSA9IHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiAndGFyZ2V0JyBpbiB2YWxcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdmFsLnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB2YWw7XG4gICAgICAgICAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgbmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAvLyBBIHNsb3QgZWRpdCBpcyBhIHVzZXIgY2hhbmdlIHRyaWdnZXIg4oCUIG1hcmsgdG91Y2hlZCBsaWtlIGFueSBmaWVsZC5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFmb3JtSW5zdGFuY2UuaXNGaWVsZFRvdWNoZWQobmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1JbnN0YW5jZS5zZXRGaWVsZFRvdWNoZWQobmFtZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcnVuVHJpZ2dlclZhbGlkYXRpb24obmV3VmFsdWUsICdvbkNoYW5nZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBDSEFJTiB0aGUgc2xvdCBjaGlsZCdzIG93biBvbkNoYW5nZSDigJQgbmV2ZXIgb3ZlcndyaXRlIGl0LlxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGRQcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZFByb3BzLm9uQ2hhbmdlKHZhbCwgLi4ucmVzdEFyZ3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkJsdXI6ICguLi5yZXN0QXJncykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFJlYWQgdGhlIExJVkUgdmFsdWUg4oCUIGEgY2hhbmdlIGNvbW1pdHRlZCBpbiB0aGUgc2FtZSB0aWNrIG11c3QgYmVcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIG9uZSB2YWxpZGF0ZWQsIG5vdCB0aGUgcmVuZGVyLXRpbWUgc25hcHNob3QuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSByZXNvbHZlVmFsdWUoc3RvcmUuZ2V0U3RhdGUoKS52YWx1ZXMsIG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBydW5UcmlnZ2VyVmFsaWRhdGlvbihBcnJheS5pc0FycmF5KGN1cnJlbnQpID8gY3VycmVudCA6IFtdLCAnb25CbHVyJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGRQcm9wcy5vbkJsdXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5vbkJsdXIoLi4ucmVzdEFyZ3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGNvbnRlbnQgPSAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygpLCBzdHlsZTogT2JqZWN0LmFzc2lnbih7IGRpc3BsYXk6ICdmbGV4JywgZ2FwLCBhbGlnbkl0ZW1zOiAnZmxleC1zdGFydCcgfSwgc3R5bGUpLCBjaGlsZHJlbjogbGlzdCB9KSk7XG4gICAgaWYgKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIChfanN4KFByb0Zvcm1JdGVtLCB7IGxhYmVsOiBsYWJlbCwgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLCBuYW1lOiBuYW1lLCBydWxlczogcnVsZXMsIGZlZWRiYWNrOiBmZWVkYmFjaywgY2hpbGRyZW46IGNvbnRlbnQgfSkpO1xuICAgIH1cbiAgICByZXR1cm4gY29udGVudDtcbn07XG5Qcm9Gb3JtRmllbGRTZXRCYXNlLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1GaWVsZFNldCc7XG5leHBvcnQgY29uc3QgUHJvRm9ybUZpZWxkU2V0ID0gbWVtbyhQcm9Gb3JtRmllbGRTZXRCYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm1GaWVsZFNldDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { InputPasswordProps } from "../../Input";
|
|
2
|
-
export declare const ProFormPassword: import("
|
|
2
|
+
export declare const ProFormPassword: import("./createProFormField").ProFormFieldComponent<InputPasswordProps>;
|
|
3
3
|
export default ProFormPassword;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { RadioGroupProps } from "../../Radio";
|
|
2
|
-
export declare const ProFormRadioGroup: import("
|
|
2
|
+
export declare const ProFormRadioGroup: import("./createProFormField").ProFormFieldComponent<RadioGroupProps>;
|
|
3
3
|
export default ProFormRadioGroup;
|
|
@@ -7,10 +7,15 @@ exports["default"] = exports.ProFormRadioGroup = void 0;
|
|
|
7
7
|
var _Radio = require("../../Radio");
|
|
8
8
|
var _createProFormField = require("./createProFormField");
|
|
9
9
|
var _utils = require("../utils");
|
|
10
|
+
function renderRadioReadonly(value, props) {
|
|
11
|
+
var _a;
|
|
12
|
+
if (value === null || value === undefined || value === '') return '-';
|
|
13
|
+
return (_a = (0, _utils.findOptionLabel)(props === null || props === void 0 ? void 0 : props.options, value)) !== null && _a !== void 0 ? _a : (0, _utils.renderTextReadonly)(value);
|
|
14
|
+
}
|
|
10
15
|
var ProFormRadioGroup = exports.ProFormRadioGroup = (0, _createProFormField.createProFormField)({
|
|
11
16
|
component: _Radio.RadioGroup,
|
|
12
|
-
renderReadonly:
|
|
17
|
+
renderReadonly: renderRadioReadonly
|
|
13
18
|
});
|
|
14
19
|
ProFormRadioGroup.displayName = 'ProFormRadioGroup';
|
|
15
20
|
var _default = exports["default"] = ProFormRadioGroup;
|
|
16
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtUmFkaW9Hcm91cC50c3giLCJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1SYWRpb0dyb3VwLmpzIl0sIm5hbWVzIjpbIl9SYWRpbyIsInJlcXVpcmUiLCJfY3JlYXRlUHJvRm9ybUZpZWxkIiwiX3V0aWxzIiwicmVuZGVyUmFkaW9SZWFkb25seSIsInZhbHVlIiwicHJvcHMiLCJfYSIsInVuZGVmaW5lZCIsImZpbmRPcHRpb25MYWJlbCIsIm9wdGlvbnMiLCJyZW5kZXJUZXh0UmVhZG9ubHkiLCJQcm9Gb3JtUmFkaW9Hcm91cCIsImV4cG9ydHMiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJjb21wb25lbnQiLCJSYWRpb0dyb3VwIiwicmVuZGVyUmVhZG9ubHkiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxtQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBRUEsU0FBU0csbUJBQW1CQSxDQUFDQyxLQUFVLEVBQUVDLEtBQWdDLEVBQUE7RUNGckUsSUFBSUMsRUFBRTtFREdSLElBQUlGLEtBQUssS0FBSyxJQUFJLElBQUlBLEtBQUssS0FBS0csU0FBUyxJQUFJSCxLQUFLLEtBQUssRUFBRSxFQUFFLE9BQU8sR0FBRztFQUNyRSxPQUFPLENBQUFFLEVBQUEsR0FBQSxJQUFBRSxzQkFBZSxFQUFDSCxLQUFLLEtBQUEsSUFBQSxJQUFMQSxLQUFLLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUxBLEtBQUssQ0FBRUksT0FBTyxFQUFFTCxLQUFLLENBQUMsTUFBQSxJQUFBLElBQUFFLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJLElBQUFJLHlCQUFrQixFQUFDTixLQUFLLENBQUM7QUFDNUU7QUFFTyxJQUFNTyxpQkFBaUIsR0FBQUMsT0FBQSxDQUFBRCxpQkFBQSxHQUFHLElBQUFFLHNDQUFrQixFQUFrQjtFQUNuRUMsU0FBUyxFQUFFQyxpQkFBVTtFQUNyQkMsY0FBYyxFQUFFYjtBQ0RsQixDREVDLENBQUM7QUFFRlEsaUJBQWlCLENBQUNNLFdBQVcsR0FBRyxtQkFBbUI7QUFBQyxJQUFBQyxRQUFBLEdBQUFOLE9BQUEsY0FFckNELGlCQUFpQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1SYWRpb0dyb3VwLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyBSYWRpb0dyb3VwIH0gZnJvbSAnLi4vLi4vUmFkaW8nO1xuaW1wb3J0IHsgY3JlYXRlUHJvRm9ybUZpZWxkIH0gZnJvbSAnLi9jcmVhdGVQcm9Gb3JtRmllbGQnO1xuaW1wb3J0IHsgZmluZE9wdGlvbkxhYmVsLCByZW5kZXJUZXh0UmVhZG9ubHkgfSBmcm9tICcuLi91dGlscyc7XG5mdW5jdGlvbiByZW5kZXJSYWRpb1JlYWRvbmx5KHZhbHVlLCBwcm9wcykge1xuICAgIHZhciBfYTtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpXG4gICAgICAgIHJldHVybiAnLSc7XG4gICAgcmV0dXJuIChfYSA9IGZpbmRPcHRpb25MYWJlbChwcm9wcyA9PT0gbnVsbCB8fCBwcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJvcHMub3B0aW9ucywgdmFsdWUpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiByZW5kZXJUZXh0UmVhZG9ubHkodmFsdWUpO1xufVxuZXhwb3J0IGNvbnN0IFByb0Zvcm1SYWRpb0dyb3VwID0gY3JlYXRlUHJvRm9ybUZpZWxkKHtcbiAgICBjb21wb25lbnQ6IFJhZGlvR3JvdXAsXG4gICAgcmVuZGVyUmVhZG9ubHk6IHJlbmRlclJhZGlvUmVhZG9ubHksXG59KTtcblByb0Zvcm1SYWRpb0dyb3VwLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1SYWRpb0dyb3VwJztcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm1SYWRpb0dyb3VwOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { SelectProps } from "../../Select";
|
|
2
|
-
export declare const ProFormSelect: import("
|
|
2
|
+
export declare const ProFormSelect: import("./createProFormField").ProFormFieldComponent<SelectProps>;
|
|
3
3
|
export default ProFormSelect;
|
|
@@ -16,15 +16,23 @@ function toReadonlyText(value) {
|
|
|
16
16
|
}
|
|
17
17
|
return '';
|
|
18
18
|
}
|
|
19
|
+
// Strict match first, then by String() — valueEnum-derived option values are
|
|
20
|
+
// always strings while the form value may be a number.
|
|
21
|
+
function matchOption(options, value) {
|
|
22
|
+
var _a;
|
|
23
|
+
return (_a = options.find(function (option) {
|
|
24
|
+
return option.value === value;
|
|
25
|
+
})) !== null && _a !== void 0 ? _a : options.find(function (option) {
|
|
26
|
+
return String(option.value) === String(value);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
19
29
|
function renderReadonlyValue(value, props) {
|
|
20
30
|
var _a, _b, _c;
|
|
21
31
|
var options = (0, _utils.flattenOptionGroups)((0, _utils.normalizeOptionGroups)((_a = props === null || props === void 0 ? void 0 : props.options) !== null && _a !== void 0 ? _a : []));
|
|
22
32
|
if (Array.isArray(value)) {
|
|
23
33
|
var labels = value.map(function (item) {
|
|
24
34
|
var _a, _b;
|
|
25
|
-
return (_b = (_a = options
|
|
26
|
-
return option.value === item;
|
|
27
|
-
})) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : item;
|
|
35
|
+
return (_b = (_a = matchOption(options, item)) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : item;
|
|
28
36
|
}).map(toReadonlyText).filter(function (item) {
|
|
29
37
|
return item !== null && item !== undefined && item !== '';
|
|
30
38
|
});
|
|
@@ -33,9 +41,7 @@ function renderReadonlyValue(value, props) {
|
|
|
33
41
|
if (value === null || value === undefined || value === '') {
|
|
34
42
|
return '-';
|
|
35
43
|
}
|
|
36
|
-
return toReadonlyText((_c = (_b = options.
|
|
37
|
-
return option.value === value;
|
|
38
|
-
})) === null || _b === void 0 ? void 0 : _b.label) !== null && _c !== void 0 ? _c : value) || '-';
|
|
44
|
+
return toReadonlyText((_c = (_b = matchOption(options, value)) === null || _b === void 0 ? void 0 : _b.label) !== null && _c !== void 0 ? _c : value) || '-';
|
|
39
45
|
}
|
|
40
46
|
var ProFormSelect = exports.ProFormSelect = (0, _createProFormField.createProFormField)({
|
|
41
47
|
component: _Select.Select,
|
|
@@ -43,4 +49,4 @@ var ProFormSelect = exports.ProFormSelect = (0, _createProFormField.createProFor
|
|
|
43
49
|
});
|
|
44
50
|
ProFormSelect.displayName = 'ProFormSelect';
|
|
45
51
|
var _default = exports["default"] = ProFormSelect;
|
|
46
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtU2VsZWN0LnRzeCIsImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybVNlbGVjdC5qcyJdLCJuYW1lcyI6WyJfU2VsZWN0IiwicmVxdWlyZSIsIl91dGlscyIsIl9jcmVhdGVQcm9Gb3JtRmllbGQiLCJ0b1JlYWRvbmx5VGV4dCIsInZhbHVlIiwiU3RyaW5nIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJtYXRjaE9wdGlvbiIsIm9wdGlvbnMiLCJfYSIsImZpbmQiLCJvcHRpb24iLCJyZW5kZXJSZWFkb25seVZhbHVlIiwicHJvcHMiLCJfYiIsIl9jIiwiZmxhdHRlbk9wdGlvbkdyb3VwcyIsIm5vcm1hbGl6ZU9wdGlvbkdyb3VwcyIsImxhYmVscyIsIml0ZW0iLCJsYWJlbCIsInVuZGVmaW5lZCIsImxlbmd0aCIsIlByb0Zvcm1TZWxlY3QiLCJleHBvcnRzIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwiY29tcG9uZW50IiwiU2VsZWN0IiwicmVuZGVyUmVhZG9ubHkiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxtQkFBQSxHQUFBRixPQUFBO0FBRUEsU0FBU0csY0FBY0EsQ0FBQ0MsS0FBVSxFQUFBO0VBQ2hDLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPQSxLQUFLLEtBQUssUUFBUSxFQUFFO0lBQzFELE9BQU9DLE1BQU0sQ0FBQ0QsS0FBSyxDQUFDO0VBQ3RCO0VBRUEsSUFBSUUsS0FBSyxDQUFDQyxPQUFPLENBQUNILEtBQUssQ0FBQyxFQUFFO0lBQ3hCLE9BQU9BLEtBQUssQ0FBQ0ksR0FBRyxDQUFDTCxjQUFjLENBQUMsQ0FB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R0FBRyxlQUFlO0FBQUMsSUFBQUMsUUFBQSxHQUFBTixPQUFBLGNBRTdCRCxhQUFhIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybVNlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vU2VsZWN0JztcbmltcG9ydCB7IGZsYXR0ZW5PcHRpb25Hcm91cHMsIG5vcm1hbGl6ZU9wdGlvbkdyb3VwcyB9IGZyb20gJy4uLy4uL1NlbGVjdC91dGlscyc7XG5pbXBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQgfSBmcm9tICcuL2NyZWF0ZVByb0Zvcm1GaWVsZCc7XG5mdW5jdGlvbiB0b1JlYWRvbmx5VGV4dCh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWUubWFwKHRvUmVhZG9ubHlUZXh0KS5maWx0ZXIoQm9vbGVhbikuam9pbignLCAnKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xufVxuLy8gU3RyaWN0IG1hdGNoIGZpcnN0LCB0aGVuIGJ5IFN0cmluZygpIOKAlCB2YWx1ZUVudW0tZGVyaXZlZCBvcHRpb24gdmFsdWVzIGFyZVxuLy8gYWx3YXlzIHN0cmluZ3Mgd2hpbGUgdGhlIGZvcm0gdmFsdWUgbWF5IGJlIGEgbnVtYmVyLlxuZnVuY3Rpb24gbWF0Y2hPcHRpb24ob3B0aW9ucywgdmFsdWUpIHtcbiAgICB2YXIgX2E7XG4gICAgcmV0dXJuICgoX2EgPSBvcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB2YWx1ZSkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBTdHJpbmcob3B0aW9uLnZhbHVlKSA9PT0gU3RyaW5nKHZhbHVlKSkpO1xufVxuZnVuY3Rpb24gcmVuZGVyUmVhZG9ubHlWYWx1ZSh2YWx1ZSwgcHJvcHMpIHtcbiAgICB2YXIgX2EsIF9iLCBfYztcbiAgICBjb25zdCBvcHRpb25zID0gZmxhdHRlbk9wdGlvbkdyb3Vwcyhub3JtYWxpemVPcHRpb25Hcm91cHMoKF9hID0gcHJvcHMgPT09IG51bGwgfHwgcHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHByb3BzLm9wdGlvbnMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFtdKSk7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IGxhYmVscyA9IHZhbHVlXG4gICAgICAgICAgICAubWFwKChpdGVtKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBtYXRjaE9wdGlvbihvcHRpb25zLCBpdGVtKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmxhYmVsKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBpdGVtOyB9KVxuICAgICAgICAgICAgLm1hcCh0b1JlYWRvbmx5VGV4dClcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IG51bGwgJiYgaXRlbSAhPT0gdW5kZWZpbmVkICYmIGl0ZW0gIT09ICcnKTtcbiAgICAgICAgcmV0dXJuIGxhYmVscy5sZW5ndGggPiAwID8gbGFiZWxzLmpvaW4oJywgJykgOiAnLSc7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykge1xuICAgICAgICByZXR1cm4gJy0nO1xuICAgIH1cbiAgICByZXR1cm4gdG9SZWFkb25seVRleHQoKF9jID0gKF9iID0gbWF0Y2hPcHRpb24ob3B0aW9ucywgdmFsdWUpKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubGFiZWwpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IHZhbHVlKSB8fCAnLSc7XG59XG5leHBvcnQgY29uc3QgUHJvRm9ybVNlbGVjdCA9IGNyZWF0ZVByb0Zvcm1GaWVsZCh7XG4gICAgY29tcG9uZW50OiBTZWxlY3QsXG4gICAgcmVuZGVyUmVhZG9ubHk6IHJlbmRlclJlYWRvbmx5VmFsdWUsXG59KTtcblByb0Zvcm1TZWxlY3QuZGlzcGxheU5hbWUgPSAnUHJvRm9ybVNlbGVjdCc7XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtU2VsZWN0OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { SliderProps } from "../../Slider";
|
|
2
|
-
export declare const ProFormSlider: import("
|
|
2
|
+
export declare const ProFormSlider: import("./createProFormField").ProFormFieldComponent<SliderProps>;
|
|
3
3
|
export default ProFormSlider;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { SwitchProps } from "../../Switch";
|
|
2
|
-
export declare const ProFormSwitch: import("
|
|
2
|
+
export declare const ProFormSwitch: import("./createProFormField").ProFormFieldComponent<SwitchProps>;
|
|
3
3
|
export default ProFormSwitch;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { InputProps } from "../../Input";
|
|
2
|
-
export declare const ProFormText: import("
|
|
2
|
+
export declare const ProFormText: import("./createProFormField").ProFormFieldComponent<InputProps>;
|
|
3
3
|
export default ProFormText;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { InputTextAreaProps } from "../../Input";
|
|
2
|
-
export declare const ProFormTextArea: import("
|
|
2
|
+
export declare const ProFormTextArea: import("./createProFormField").ProFormFieldComponent<InputTextAreaProps>;
|
|
3
3
|
export default ProFormTextArea;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { UploadProps } from "../../Upload";
|
|
2
|
-
export declare const ProFormUpload: import("
|
|
2
|
+
export declare const ProFormUpload: import("./createProFormField").ProFormFieldComponent<UploadProps>;
|
|
3
3
|
export default ProFormUpload;
|
|
@@ -29,4 +29,4 @@ var ProFormUpload = exports.ProFormUpload = (0, _createProFormField.createProFor
|
|
|
29
29
|
});
|
|
30
30
|
ProFormUpload.displayName = 'ProFormUpload';
|
|
31
31
|
var _default = exports["default"] = ProFormUpload;
|
|
32
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtVXBsb2FkLnRzeCIsImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybVVwbG9hZC5qcyJdLCJuYW1lcyI6WyJfVXBsb2FkIiwicmVxdWlyZSIsIl9jcmVhdGVQcm9Gb3JtRmllbGQiLCJfdXRpbHMiLCJyZW5kZXJVcGxvYWRSZWFkb25seSIsInZhbHVlIiwidW5kZWZpbmVkIiwiX3R5cGVvZjIiLCJmaWxlcyIsImxlbmd0aCIsIkFycmF5IiwiZnJvbSIsIm1hcCIsImYiLCJuYW1lIiwiam9pbiIsInJlbmRlclRleHRSZWFkb25seSIsIlByb0Zvcm1VcGxvYWQiLCJleHBvcnRzIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwiY29tcG9uZW50IiwiVXBsb2FkIiwicmVuZGVyUmVhZG9ubHkiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLG1CQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFFQSxTQUFTRyxvQkFBb0JBLENBQUNDLEtBQVUsRUFBQTtFQUN0QyxJQUFJQSxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUtDLFNBQVMsRUFBRSxPQUFPLEdBQUc7RUFFckQ7RUFDQSxJQUFJLElBQUFDLFFBQUEsYUFBT0YsS0FBSyxNQUFLLFFBQVEsSUFBSSxRQUFRLElBQUtBLEtBQWdCLEVBQUU7SUFDOUQsSUFBTUcsS0FBSyxHQUFHSCxLQUFpQjtJQUMvQixJQUFJRyxLQUFLLENBQUNDLE1BQU0sS0FBSyxDQUFDLEVBQUUsT0FBTyxHQUFHO0lBQ2xDLE9BQU9DLEtBQUssQ0FBQ0MsSUFBSSxDQUFDSCxLQUFLLENBQUMsQ0FBQ0ksR0FBRyxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFLQSxDQUFDLENBQUNDLElBQUk7SUFBQSxFQUFDLENBQUNDLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDeEQ7RUFFQTtFQUNBLElBQUksT0FBT1YsS0FBSyxLQUFLLFFBQVEsRUFBRSxPQUFPQSxLQUFLLElBQUksR0FBRztFQUVsRCxPQUFPLElBQUFXLHlCQUFrQixFQUFDWCxLQUFLLENBQVc7QUFDNUM7QUFFTyxJQUFNWSxhQUFhLEdBQUFDLE9BQUEsQ0FBQUQsYUFBQSxHQUFHLElBQUFFLHNDQUFrQixFQUFjO0VBQzNEQyxTQUFTLEVBQUVDLGNBQU07RUFDakJDLGNBQWMsRUFBRWxCO0FDRmxCLENER0MsQ0FBQztBQUVGYSxhQUFhLENBQUNNLFdBQVcsR0FBRyxlQUFlO0FBQUMsSUFBQUMsUUFBQSxHQUFBTixPQUFBLGNBRTdCRCxhQUFhIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybVVwbG9hZC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgVXBsb2FkIH0gZnJvbSAnLi4vLi4vVXBsb2FkJztcbmltcG9ydCB7IGNyZWF0ZVByb0Zvcm1GaWVsZCB9IGZyb20gJy4vY3JlYXRlUHJvRm9ybUZpZWxkJztcbmltcG9ydCB7IHJlbmRlclRleHRSZWFkb25seSB9IGZyb20gJy4uL3V0aWxzJztcbmZ1bmN0aW9uIHJlbmRlclVwbG9hZFJlYWRvbmx5KHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpXG4gICAgICAgIHJldHVybiAnLSc7XG4gICAgLy8gRmlsZUxpc3RcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAnbGVuZ3RoJyBpbiB2YWx1ZSkge1xuICAgICAgICBjb25zdCBmaWxlcyA9IHZhbHVlO1xuICAgICAgICBpZiAoZmlsZXMubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuICctJztcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oZmlsZXMpLm1hcCgoZikgPT4gZi5uYW1lKS5qb2luKCcsICcpO1xuICAgIH1cbiAgICAvLyBTdHJpbmcgKGUuZy4gcHJlLWZpbGxlZCBmaWxlIG5hbWUpXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpXG4gICAgICAgIHJldHVybiB2YWx1ZSB8fCAnLSc7XG4gICAgcmV0dXJuIHJlbmRlclRleHRSZWFkb25seSh2YWx1ZSk7XG59XG5leHBvcnQgY29uc3QgUHJvRm9ybVVwbG9hZCA9IGNyZWF0ZVByb0Zvcm1GaWVsZCh7XG4gICAgY29tcG9uZW50OiBVcGxvYWQsXG4gICAgcmVuZGVyUmVhZG9ubHk6IHJlbmRlclVwbG9hZFJlYWRvbmx5LFxufSk7XG5Qcm9Gb3JtVXBsb2FkLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1VcGxvYWQnO1xuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybVVwbG9hZDsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { ProFormFieldName } from '../core/namePathType';
|
|
2
3
|
import type { CreateProFormFieldConfig, ProFormFieldProps } from '../interface';
|
|
3
|
-
export declare function createProFormField<FieldProps extends object>(config: CreateProFormFieldConfig<FieldProps>):
|
|
4
|
+
export declare function createProFormField<FieldProps extends object>(config: CreateProFormFieldConfig<FieldProps>): ProFormFieldComponent<FieldProps>;
|
|
4
5
|
export default createProFormField;
|
|
6
|
+
export interface ProFormFieldComponent<FieldProps extends object> {
|
|
7
|
+
(props: ProFormFieldProps<FieldProps, Record<string, any>, string>): ReactElement | null;
|
|
8
|
+
<Values, Name extends ProFormFieldName<Values> = ProFormFieldName<Values>, FieldParams = Record<string, any>>(props: ProFormFieldProps<FieldProps, Values, Name, FieldParams>): ReactElement | null;
|
|
9
|
+
displayName?: string;
|
|
10
|
+
}
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.createProFormField = createProFormField;
|
|
8
8
|
exports["default"] = void 0;
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
11
|
var _react = require("react");
|
|
@@ -32,8 +31,7 @@ function createProFormField(config) {
|
|
|
32
31
|
valuePropName = config.valuePropName,
|
|
33
32
|
defaultValueType = config.valueType,
|
|
34
33
|
mapProps = config.mapProps,
|
|
35
|
-
renderReadonly = config.renderReadonly
|
|
36
|
-
popupContainerProp = config.popupContainerProp;
|
|
34
|
+
renderReadonly = config.renderReadonly;
|
|
37
35
|
// Memo boundary around the wrapped control: combined with the stable
|
|
38
36
|
// injected handlers from useFormItem, fields whose value didn't change can
|
|
39
37
|
// bail out while another field in the form is typing. displayName must be
|
|
@@ -48,12 +46,9 @@ function createProFormField(config) {
|
|
|
48
46
|
label = _c.label,
|
|
49
47
|
description = _c.description,
|
|
50
48
|
rules = _c.rules,
|
|
51
|
-
required = _c.required,
|
|
52
49
|
feedback = _c.feedback,
|
|
53
50
|
validateStatus = _c.validateStatus,
|
|
54
|
-
|
|
55
|
-
readonly = _c.readonly,
|
|
56
|
-
modeProp = _c.mode,
|
|
51
|
+
mode = _c.mode,
|
|
57
52
|
hidden = _c.hidden,
|
|
58
53
|
colProps = _c.colProps,
|
|
59
54
|
fieldProps = _c.fieldProps,
|
|
@@ -68,23 +63,17 @@ function createProFormField(config) {
|
|
|
68
63
|
valueEnum = _c.valueEnum,
|
|
69
64
|
debounceTime = _c.debounceTime,
|
|
70
65
|
validateDebounce = _c.validateDebounce,
|
|
66
|
+
validateTrigger = _c.validateTrigger,
|
|
71
67
|
valueType = _c.valueType,
|
|
72
68
|
dependenciesValues = _c.dependenciesValues,
|
|
73
|
-
rest = __rest(_c, ["name", "label", "description", "rules", "
|
|
69
|
+
rest = __rest(_c, ["name", "label", "description", "rules", "feedback", "validateStatus", "mode", "hidden", "colProps", "fieldProps", "placeholder", "disabled", "width", "transform", "convertValue", "dependencies", "request", "params", "valueEnum", "debounceTime", "validateDebounce", "validateTrigger", "valueType", "dependenciesValues"]);
|
|
74
70
|
|
|
75
|
-
// Mode resolution: explicit mode > legacy readonly > ctx.mode (ProFormItem)
|
|
76
|
-
var resolvedMode = modeProp !== null && modeProp !== void 0 ? modeProp : readonly !== undefined ? readonly ? 'read' : 'edit' : undefined;
|
|
77
71
|
// Form-level fieldProps (lowest priority after mapProps defaults).
|
|
78
72
|
// Stable slice only — the field shell must NOT re-render per keystroke;
|
|
79
73
|
// value/error reactivity lives inside ProFormItem.
|
|
80
74
|
var _useProFormStable = (0, _context.useProFormStable)(),
|
|
81
75
|
contextFieldProps = _useProFormStable.fieldProps,
|
|
82
|
-
formDisabled = _useProFormStable.disabled
|
|
83
|
-
formComponentType = _useProFormStable.formComponentType;
|
|
84
|
-
// Overlay fields inside a Dialog/Drawer form mount their popup next to
|
|
85
|
-
// the trigger ('self') instead of document.body, so it scrolls and
|
|
86
|
-
// stacks with the overlay container.
|
|
87
|
-
var overlayContained = popupContainerProp !== undefined && (formComponentType === 'DialogForm' || formComponentType === 'DrawerForm');
|
|
76
|
+
formDisabled = _useProFormStable.disabled;
|
|
88
77
|
// ── Field-level request ──
|
|
89
78
|
var mergedRequestParams = dependenciesValues ? Object.assign(Object.assign({}, params), dependenciesValues) : params;
|
|
90
79
|
var _useFieldRequest = (0, _useFieldRequest3.useFieldRequest)(request, mergedRequestParams),
|
|
@@ -108,17 +97,20 @@ function createProFormField(config) {
|
|
|
108
97
|
} : undefined;
|
|
109
98
|
var fieldStyle = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.style;
|
|
110
99
|
var mergedStyle = widthStyle ? Object.assign(Object.assign({}, fieldStyle || {}), widthStyle) : fieldStyle;
|
|
111
|
-
// Merge valueEnum + request options into fieldProps.options
|
|
100
|
+
// Merge valueEnum + request options into fieldProps.options. A configured
|
|
101
|
+
// request is AUTHORITATIVE: an empty result means "no options" — falling
|
|
102
|
+
// back to valueEnum/fieldProps.options would show options the server just
|
|
103
|
+
// said don't exist.
|
|
112
104
|
var mergedOptions = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.options;
|
|
113
105
|
if (valueEnum) {
|
|
114
106
|
mergedOptions = (0, _utils.valueEnumToOptions)(valueEnum);
|
|
115
107
|
}
|
|
116
|
-
if (
|
|
108
|
+
if (request) {
|
|
117
109
|
mergedOptions = requestOptions;
|
|
118
110
|
}
|
|
119
|
-
var componentProps = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(
|
|
111
|
+
var componentProps = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, mapped), formDisabled ? {
|
|
120
112
|
disabled: true
|
|
121
|
-
} : {}),
|
|
113
|
+
} : {}), contextFieldProps || {}), fieldProps || {}), mergedOptions !== undefined ? {
|
|
122
114
|
options: mergedOptions
|
|
123
115
|
} : {}), requestLoading ? {
|
|
124
116
|
loading: true
|
|
@@ -139,26 +131,27 @@ function createProFormField(config) {
|
|
|
139
131
|
label: label,
|
|
140
132
|
description: description,
|
|
141
133
|
rules: rules,
|
|
142
|
-
required: required,
|
|
143
134
|
feedback: feedback,
|
|
144
135
|
validateStatus: validateStatus,
|
|
145
|
-
colon: colon,
|
|
146
136
|
hidden: hidden,
|
|
147
|
-
mode:
|
|
137
|
+
mode: mode,
|
|
148
138
|
colProps: colProps,
|
|
149
139
|
transform: transform,
|
|
150
140
|
convertValue: convertValue,
|
|
151
141
|
valuePropName: valuePropName,
|
|
152
142
|
validateDebounce: validateDebounce,
|
|
143
|
+
validateTrigger: validateTrigger,
|
|
153
144
|
valueType: valueType !== null && valueType !== void 0 ? valueType : defaultValueType,
|
|
145
|
+
// The renderer gets the RESOLVED component props (valueEnum/request
|
|
146
|
+
// already merged into `options`) so it can map values to labels.
|
|
154
147
|
readonlyRender: renderReadonly ? function (value) {
|
|
155
|
-
return renderReadonly(value);
|
|
148
|
+
return renderReadonly(value, componentProps);
|
|
156
149
|
} : undefined,
|
|
157
150
|
children: (0, _jsxRuntime.jsx)(MemoizedComponent, Object.assign({}, componentProps))
|
|
158
151
|
});
|
|
159
152
|
};
|
|
160
153
|
// Outer component — handles auto-wrapping with ProFormDependency
|
|
161
|
-
var
|
|
154
|
+
var ProFormFieldComponentBase = function ProFormFieldComponentBase(props) {
|
|
162
155
|
var dependencies = props.dependencies;
|
|
163
156
|
if (dependencies && dependencies.length > 0) {
|
|
164
157
|
return (0, _jsxRuntime.jsx)(_ProFormDependency.ProFormDependency, {
|
|
@@ -172,8 +165,8 @@ function createProFormField(config) {
|
|
|
172
165
|
}
|
|
173
166
|
return (0, _jsxRuntime.jsx)(InnerField, Object.assign({}, props));
|
|
174
167
|
};
|
|
175
|
-
var MemoizedField = /*#__PURE__*/(0, _react.memo)(
|
|
168
|
+
var MemoizedField = /*#__PURE__*/(0, _react.memo)(ProFormFieldComponentBase);
|
|
176
169
|
return MemoizedField;
|
|
177
170
|
}
|
|
178
171
|
var _default = exports["default"] = createProFormField;
|
|
179
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3VzZURlYm91bmNlZENhbGxiYWNrMiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUHJvRm9ybUl0ZW0iLCJfUHJvRm9ybURlcGVuZGVuY3kiLCJfY29udGV4dCIsIl91c2VGaWVsZFJlcXVlc3QzIiwiX3V0aWxzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJjb25maWciLCJDb21wb25lbnQiLCJjb21wb25lbnQiLCJ2YWx1ZVByb3BOYW1lIiwiZGVmYXVsdFZhbHVlVHlwZSIsInZhbHVlVHlwZSIsIm1hcFByb3BzIiwicmVuZGVyUmVhZG9ubHkiLCJwb3B1cENvbnRhaW5lclByb3AiLCJNZW1vaXplZENvbXBvbmVudCIsIm1lbW8iLCJkaXNwbGF5TmFtZSIsIm5hbWUiLCJJbm5lckZpZWxkIiwicHJvcHMiLCJfYSIsIl9iIiwiX2MiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwicnVsZXMiLCJyZXF1aXJlZCIsImZlZWRiYWNrIiwidmFsaWRhdGVTdGF0dXMiLCJjb2xvbiIsInJlYWRvbmx5IiwibW9kZVByb3AiLCJtb2RlIiwiaGlkZGVuIiwiY29sUHJvcHMiLCJmaWVsZFByb3BzIiwicGxhY2Vob2xkZXIiLCJkaXNhYmxlZCIsIndpZHRoIiwidHJhbnNmb3JtIiwiY29udmVydFZhbHVlIiwiX2RlcHMiLCJkZXBlbmRlbmNpZXMiLCJyZXF1ZXN0IiwicGFyYW1zIiwidmFsdWVFbnVtIiwiZGVib3VuY2VUaW1lIiwidmFsaWRhdGVEZWJvdW5jZSIsImRlcGVuZGVuY2llc1ZhbHVlcyIsInJlc3QiLCJyZXNvbHZlZE1vZGUiLCJ1bmRlZmluZWQiLCJfdXNlUHJvRm9ybVN0YWJsZSIsInVzZVByb0Zvcm1TdGFibGUiLCJjb250ZXh0RmllbGRQcm9wcyIsImZvcm1EaXNhYmxlZCIsImZvcm1Db21wb25lbnRUeXBlIiwib3ZlcmxheUNvbnRhaW5lZCIsIm1lcmdlZFJlcXVlc3RQYXJhbXMiLCJhc3NpZ24iLCJfdXNlRmllbGRSZXF1ZXN0IiwidXNlRmllbGRSZXF1ZXN0IiwiX3VzZUZpZWxkUmVxdWVzdDIiLCJfc2xpY2VkVG9BcnJheTIiLCJyZXF1ZXN0TG9hZGluZyIsInJlcXVlc3RPcHRpb25zIiwibWFwcGVkIiwidXNlck9uQ2hhbmdlIiwib25DaGFuZ2UiLCJfdXNlRGVib3VuY2VkQ2FsbGJhY2siLCJ1c2VEZWJvdW5jZWRDYWxsYmFjayIsImFwcGx5IiwiYXJndW1lbnRzIiwiZGVib3VuY2VkT25DaGFuZ2UiLCJydW4iLCJ3aWR0aFN0eWxlIiwicmVzb2x2ZVdpZHRoIiwiZmllbGRTdHlsZSIsInN0eWxlIiwibWVyZ2VkU3R5bGUiLCJtZXJnZWRPcHRpb25zIiwib3B0aW9ucyIsInZhbHVlRW51bVRvT3B0aW9ucyIsImNvbXBvbmVudFByb3BzIiwiX2RlZmluZVByb3BlcnR5MiIsImxvYWRpbmciLCJfanN4IiwiUHJvRm9ybUl0ZW0iLCJyZWFkb25seVJlbmRlciIsInZhbHVlIiwiY2hpbGRyZW4iLCJQcm9Gb3JtRmllbGRDb21wb25lbnQiLCJQcm9Gb3JtRGVwZW5kZW5jeSIsImRlcFZhbHVlcyIsIk1lbW9pemVkRmllbGQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFF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b3JtRmllbGQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VEZWJvdW5jZWRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZURlYm91bmNlZENhbGxiYWNrJztcbmltcG9ydCB7IFByb0Zvcm1JdGVtIH0gZnJvbSAnLi4vUHJvRm9ybUl0ZW0nO1xuaW1wb3J0IHsgUHJvRm9ybURlcGVuZGVuY3kgfSBmcm9tICcuLi9Qcm9Gb3JtRGVwZW5kZW5jeSc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtU3RhYmxlIH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgeyB1c2VGaWVsZFJlcXVlc3QgfSBmcm9tICcuLi9ob29rcy91c2VGaWVsZFJlcXVlc3QnO1xuaW1wb3J0IHsgcmVzb2x2ZVdpZHRoLCB2YWx1ZUVudW1Ub09wdGlvbnMgfSBmcm9tICcuLi91dGlscyc7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGNyZWF0ZVByb0Zvcm1GaWVsZCDigJQgZmFjdG9yeSB0aGF0IHByb2R1Y2VzIGEgUHJvRm9ybS1hd2FyZSBmaWVsZCBjb21wb25lbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb0Zvcm1GaWVsZChjb25maWcpIHtcbiAgICBjb25zdCB7IGNvbXBvbmVudDogQ29tcG9uZW50LCB2YWx1ZVByb3BOYW1lLCB2YWx1ZVR5cGU6IGRlZmF1bHRWYWx1ZVR5cGUsIG1hcFByb3BzLCByZW5kZXJSZWFkb25seSwgcG9wdXBDb250YWluZXJQcm9wLCB9ID0gY29uZmlnO1xuICAgIC8vIE1lbW8gYm91bmRhcnkgYXJvdW5kIHRoZSB3cmFwcGVkIGNvbnRyb2w6IGNvbWJpbmVkIHdpdGggdGhlIHN0YWJsZVxuICAgIC8vIGluamVjdGVkIGhhbmRsZXJzIGZyb20gdXNlRm9ybUl0ZW0sIGZpZWxkcyB3aG9zZSB2YWx1ZSBkaWRuJ3QgY2hhbmdlIGNhblxuICAgIC8vIGJhaWwgb3V0IHdoaWxlIGFub3RoZXIgZmllbGQgaW4gdGhlIGZvcm0gaXMgdHlwaW5nLiBkaXNwbGF5TmFtZSBtdXN0IGJlXG4gICAgLy8gY2FycmllZCBvdmVyIOKAlCBpbmplY3RGaWVsZCB1c2VzIGl0IHRvIHJlY29nbml6ZSBmb3JtIGNvbnRyb2xzLlxuICAgIGNvbnN0IE1lbW9pemVkQ29tcG9uZW50ID0gbWVtbyhDb21wb25lbnQpO1xuICAgIE1lbW9pemVkQ29tcG9uZW50LmRpc3BsYXlOYW1lID1cbiAgICAgICAgQ29tcG9uZW50LmRpc3BsYXlOYW1lIHx8IENvbXBvbmVudC5uYW1lO1xuICAgIC8vIElubmVyIGNvbXBvbmVudCDigJQgaGFuZGxlcyBtb2RlLCByZXF1ZXN0LCB2YWx1ZUVudW0sIGRlYm91bmNlLCByZW5kZXJcbiAgICBjb25zdCBJbm5lckZpZWxkID0gKHByb3BzKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGNvbnN0IF9jID0gcHJvcHMsIHsgbmFtZSwgbGFiZWwsIGRlc2NyaXB0aW9uLCBydWxlcywgcmVxdWlyZWQsIGZlZWRiYWNrLCB2YWxpZGF0ZVN0YXR1cywgY29sb24sIHJlYWRvbmx5LCBtb2RlOiBtb2RlUHJvcCwgaGlkZGVuLCBjb2xQcm9wcywgZmllbGRQcm9wcywgcGxhY2Vob2xkZXIsIGRpc2FibGVkLCB3aWR0aCwgdHJhbnNmb3JtLCBjb252ZXJ0VmFsdWUsIFxuICAgICAgICAvLyBGaWVsZC1sZXZlbCBmZWF0dXJlc1xuICAgICAgICBkZXBlbmRlbmNpZXM6IF9kZXBzLCByZXF1ZXN0LCBwYXJhbXMsIHZhbHVlRW51bSwgZGVib3VuY2VUaW1lLCB2YWxpZGF0ZURlYm91bmNlLCB2YWx1ZVR5cGUsIGRlcGVuZGVuY2llc1ZhbHVlcyB9ID0gX2MsIHJlc3QgPSBfX3Jlc3QoX2MsIFtcIm5hbWVcIiwgXCJsYWJlbFwiLCBcImRlc2NyaXB0aW9uXCIsIFwicnVsZXNcIiwgXCJyZXF1aXJlZFwiLCBcImZlZWRiYWNrXCIsIFwidmFsaWRhdGVTdGF0dXNcIiwgXCJjb2xvblwiLCBcInJlYWRvbmx5XCIsIFwibW9kZVwiLCBcImhpZGRlblwiLCBcImNvbFByb3BzXCIsIFwiZmllbGRQcm9wc1wiLCBcInBsYWNlaG9sZGVyXCIsIFwiZGlzYWJsZWRcIiwgXCJ3aWR0aFwiLCBcInRyYW5zZm9ybVwiLCBcImNvbnZlcnRWYWx1ZVwiLCBcImRlcGVuZGVuY2llc1wiLCBcInJlcXVlc3RcIiwgXCJwYXJhbXNcIiwgXCJ2YWx1ZUVudW1cIiwgXCJkZWJvdW5jZVRpbWVcIiwgXCJ2YWxpZGF0ZURlYm91bmNlXCIsIFwidmFsdWVUeXBlXCIsIFwiZGVwZW5kZW5jaWVzVmFsdWVzXCJdKTtcbiAgICAgICAgLy8gTW9kZSByZXNvbHV0aW9uOiBleHBsaWNpdCBtb2RlID4gbGVnYWN5IHJlYWRvbmx5ID4gY3R4Lm1vZGUgKFByb0Zvcm1JdGVtKVxuICAgICAgICBjb25zdCByZXNvbHZlZE1vZGUgPSBtb2RlUHJvcCAhPT0gbnVsbCAmJiBtb2RlUHJvcCAhPT0gdm9pZCAwID8gbW9kZVByb3AgOiAocmVhZG9ubHkgIT09IHVuZGVmaW5lZCA/IChyZWFkb25seSA/ICdyZWFkJyA6ICdlZGl0JykgOiB1bmRlZmluZWQpO1xuICAgICAgICAvLyBGb3JtLWxldmVsIGZpZWxkUHJvcHMgKGxvd2VzdCBwcmlvcml0eSBhZnRlciBtYXBQcm9wcyBkZWZhdWx0cykuXG4gICAgICAgIC8vIFN0YWJsZSBzbGljZSBvbmx5IOKAlCB0aGUgZmllbGQgc2hlbGwgbXVzdCBOT1QgcmUtcmVuZGVyIHBlciBrZXlzdHJva2U7XG4gICAgICAgIC8vIHZhbHVlL2Vycm9yIHJlYWN0aXZpdHkgbGl2ZXMgaW5zaWRlIFByb0Zvcm1JdGVtLlxuICAgICAgICBjb25zdCB7IGZpZWxkUHJvcHM6IGNvbnRleHRGaWVsZFByb3BzLCBkaXNhYmxlZDogZm9ybURpc2FibGVkLCBmb3JtQ29tcG9uZW50VHlwZSwgfSA9IHVzZVByb0Zvcm1TdGFibGUoKTtcbiAgICAgICAgLy8gT3ZlcmxheSBmaWVsZHMgaW5zaWRlIGEgRGlhbG9nL0RyYXdlciBmb3JtIG1vdW50IHRoZWlyIHBvcHVwIG5leHQgdG9cbiAgICAgICAgLy8gdGhlIHRyaWdnZXIgKCdzZWxmJykgaW5zdGVhZCBvZiBkb2N1bWVudC5ib2R5LCBzbyBpdCBzY3JvbGxzIGFuZFxuICAgICAgICAvLyBzdGFja3Mgd2l0aCB0aGUgb3ZlcmxheSBjb250YWluZXIuXG4gICAgICAgIGNvbnN0IG92ZXJsYXlDb250YWluZWQgPSBwb3B1cENvbnRhaW5lclByb3AgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgKGZvcm1Db21wb25lbnRUeXBlID09PSAnRGlhbG9nRm9ybScgfHwgZm9ybUNvbXBvbmVudFR5cGUgPT09ICdEcmF3ZXJGb3JtJyk7XG4gICAgICAgIC8vIOKUgOKUgCBGaWVsZC1sZXZlbCByZXF1ZXN0IOKUgOKUgFxuICAgICAgICBjb25zdCBtZXJnZWRSZXF1ZXN0UGFyYW1zID0gZGVwZW5kZW5jaWVzVmFsdWVzXG4gICAgICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcGFyYW1zKSwgZGVwZW5kZW5jaWVzVmFsdWVzKSA6IHBhcmFtcztcbiAgICAgICAgY29uc3QgW3JlcXVlc3RMb2FkaW5nLCByZXF1ZXN0T3B0aW9uc10gPSB1c2VGaWVsZFJlcXVlc3QocmVxdWVzdCwgbWVyZ2VkUmVxdWVzdFBhcmFtcyk7XG4gICAgICAgIC8vIEJ1aWxkIHRoZSBmaWVsZCBjaGlsZFxuICAgICAgICBjb25zdCBtYXBwZWQgPSBtYXBQcm9wcyA/IG1hcFByb3BzKHJlc3QpIDoge307XG4gICAgICAgIC8vIOKUgOKUgCBEZWJvdW5jZSBvbkNoYW5nZSDilIDilIBcbiAgICAgICAgLy8gVGhlIGVmZmVjdGl2ZSBvbkNoYW5nZSBpcyB3aGF0ZXZlciBlbmRzIHVwIG9uIHRoZSBmaWVsZCAoZmllbGRQcm9wcyB3aW5zXG4gICAgICAgIC8vIG92ZXIgbWFwcGVkLCBtYXRjaGluZyB0aGUgc3ByZWFkIG9yZGVyIGJlbG93KS4gdXNlRGVib3VuY2VkQ2FsbGJhY2sgcmVhZHNcbiAgICAgICAgLy8gdGhlIGxhdGVzdCBjYWxsYmFjayBpbnRlcm5hbGx5LCBzbyB0aGUgd3JhcHBlciBuZXZlciBnb2VzIHN0YWxlIGFuZCB0aGVcbiAgICAgICAgLy8gcGVuZGluZyBjYWxsIGlzIGF1dG8tY2FuY2VsbGVkIG9uIHVubW91bnQuXG4gICAgICAgIGNvbnN0IHVzZXJPbkNoYW5nZSA9ICgoX2IgPSAoX2EgPSBmaWVsZFByb3BzID09PSBudWxsIHx8IGZpZWxkUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkUHJvcHMub25DaGFuZ2UpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGNvbnRleHRGaWVsZFByb3BzID09PSBudWxsIHx8IGNvbnRleHRGaWVsZFByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjb250ZXh0RmllbGRQcm9wcy5vbkNoYW5nZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogbWFwcGVkID09PSBudWxsIHx8IG1hcHBlZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogbWFwcGVkLm9uQ2hhbmdlKTtcbiAgICAgICAgY29uc3QgeyBydW46IGRlYm91bmNlZE9uQ2hhbmdlIH0gPSB1c2VEZWJvdW5jZWRDYWxsYmFjaygoLi4uYXJncykgPT4gdXNlck9uQ2hhbmdlID09PSBudWxsIHx8IHVzZXJPbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogdXNlck9uQ2hhbmdlKC4uLmFyZ3MpLCBkZWJvdW5jZVRpbWUpO1xuICAgICAgICBjb25zdCB3aWR0aFN0eWxlID0gd2lkdGggIT09IHVuZGVmaW5lZCA/IHsgd2lkdGg6IHJlc29sdmVXaWR0aCh3aWR0aCkgfSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZmllbGRTdHlsZSA9IGZpZWxkUHJvcHMgPT09IG51bGwgfHwgZmllbGRQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGRQcm9wcy5zdHlsZTtcbiAgICAgICAgY29uc3QgbWVyZ2VkU3R5bGUgPSB3aWR0aFN0eWxlXG4gICAgICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgKGZpZWxkU3R5bGUgfHwge30pKSwgd2lkdGhTdHlsZSkgOiBmaWVsZFN0eWxlO1xuICAgICAgICAvLyBNZXJnZSB2YWx1ZUVudW0gKyByZXF1ZXN0IG9wdGlvbnMgaW50byBmaWVsZFByb3BzLm9wdGlvbnNcbiAgICAgICAgbGV0IG1lcmdlZE9wdGlvbnMgPSBmaWVsZFByb3BzID09PSBudWxsIHx8IGZpZWxkUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkUHJvcHMub3B0aW9ucztcbiAgICAgICAgaWYgKHZhbHVlRW51bSkge1xuICAgICAgICAgICAgbWVyZ2VkT3B0aW9ucyA9IHZhbHVlRW51bVRvT3B0aW9ucyh2YWx1ZUVudW0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXF1ZXN0T3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBtZXJnZWRPcHRpb25zID0gcmVxdWVzdE9wdGlvbnM7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBtYXBwZWQpLCAoZm9ybURpc2FibGVkID8geyBkaXNhYmxlZDogdHJ1ZSB9IDoge30pKSwgKG92ZXJsYXlDb250YWluZWQgPyB7IFtwb3B1cENvbnRhaW5lclByb3BdOiAnc2VsZicgfSA6IHt9KSksIChjb250ZXh0RmllbGRQcm9wcyB8fCB7fSkpLCAoZmllbGRQcm9wcyB8fCB7fSkpLCAobWVyZ2VkT3B0aW9ucyAhPT0gdW5kZWZpbmVkID8geyBvcHRpb25zOiBtZXJnZWRPcHRpb25zIH0gOiB7fSkpLCAocmVxdWVzdExvYWRpbmcgPyB7IGxvYWRpbmc6IHRydWUgfSA6IHt9KSksIChwbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkID8geyBwbGFjZWhvbGRlciB9IDoge30pKSwgKGRpc2FibGVkICE9PSB1bmRlZmluZWQgPyB7IGRpc2FibGVkIH0gOiB7fSkpLCAobWVyZ2VkU3R5bGUgPyB7IHN0eWxlOiBtZXJnZWRTdHlsZSB9IDoge30pKTtcbiAgICAgICAgLy8gV2lyZSBkZWJvdW5jZS4gVGhlIHdyYXBwZXIgZm9yd2FyZHMgdG8gdGhlIGxhdGVzdCB1c2VyIG9uQ2hhbmdlIHZpYVxuICAgICAgICAvLyBgb25DaGFuZ2VMYXRlc3RgLCBzbyBubyBuZWVkIHRvIHN0YXNoIGl0IG9uIGEgcmVmIGhlcmUuXG4gICAgICAgIGlmIChkZWJvdW5jZVRpbWUgJiYgZGVib3VuY2VUaW1lID4gMCkge1xuICAgICAgICAgICAgY29tcG9uZW50UHJvcHMub25DaGFuZ2UgPSBkZWJvdW5jZWRPbkNoYW5nZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKF9qc3goUHJvRm9ybUl0ZW0sIHsgbmFtZTogbmFtZSwgbGFiZWw6IGxhYmVsLCBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sIHJ1bGVzOiBydWxlcywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBmZWVkYmFjazogZmVlZGJhY2ssIHZhbGlkYXRlU3RhdHVzOiB2YWxpZGF0ZVN0YXR1cywgY29sb246IGNvbG9uLCBoaWRkZW46IGhpZGRlbiwgbW9kZTogcmVzb2x2ZWRNb2RlLCBjb2xQcm9wczogY29sUHJvcHMsIHRyYW5zZm9ybTogdHJhbnNmb3JtLCBjb252ZXJ0VmFsdWU6IGNvbnZlcnRWYWx1ZSwgdmFsdWVQcm9wTmFtZTogdmFsdWVQcm9wTmFtZSwgdmFsaWRhdGVEZWJvdW5jZTogdmFsaWRhdGVEZWJvdW5jZSwgdmFsdWVUeXBlOiB2YWx1ZVR5cGUgIT09IG51bGwgJiYgdmFsdWVUeXBlICE9PSB2b2lkIDAgPyB2YWx1ZVR5cGUgOiBkZWZhdWx0VmFsdWVUeXBlLCByZWFkb25seVJlbmRlcjogcmVuZGVyUmVhZG9ubHkgPyAodmFsdWUpID0+IHJlbmRlclJlYWRvbmx5KHZhbHVlKSA6IHVuZGVmaW5lZCwgY2hpbGRyZW46IF9qc3goTWVtb2l6ZWRDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIGNvbXBvbmVudFByb3BzKSkgfSkpO1xuICAgIH07XG4gICAgLy8gT3V0ZXIgY29tcG9uZW50IOKAlCBoYW5kbGVzIGF1dG8td3JhcHBpbmcgd2l0aCBQcm9Gb3JtRGVwZW5kZW5jeVxuICAgIGNvbnN0IFByb0Zvcm1GaWVsZENvbXBvbmVudCA9IChwcm9wcykgPT4ge1xuICAgICAgICBjb25zdCB7IGRlcGVuZGVuY2llcyB9ID0gcHJvcHM7XG4gICAgICAgIGlmIChkZXBlbmRlbmNpZXMgJiYgZGVwZW5kZW5jaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeChQcm9Gb3JtRGVwZW5kZW5jeSwgeyBuYW1lOiBkZXBlbmRlbmNpZXMsIGNoaWxkcmVuOiAoZGVwVmFsdWVzKSA9PiAoX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcywgeyBkZXBlbmRlbmNpZXNWYWx1ZXM6IGRlcFZhbHVlcyB9KSkpIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcykpO1xuICAgIH07XG4gICAgY29uc3QgTWVtb2l6ZWRGaWVsZCA9IG1lbW8oUHJvRm9ybUZpZWxkQ29tcG9uZW50KTtcbiAgICByZXR1cm4gTWVtb2l6ZWRGaWVsZDtcbn1cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZVByb0Zvcm1GaWVsZDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
172
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3VzZURlYm91bmNlZENhbGxiYWNrMiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUHJvRm9ybUl0ZW0iLCJfUHJvRm9ybURlcGVuZGVuY3kiLCJfY29udGV4dCIsIl91c2VGaWVsZFJlcXVlc3QzIiwiX3V0aWxzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJjb25maWciLCJDb21wb25lbnQiLCJjb21wb25lbnQiLCJ2YWx1ZVByb3BOYW1lIiwiZGVmYXVsdFZhbHVlVHlwZSIsInZhbHVlVHlwZSIsIm1hcFByb3BzIiwicmVuZGVyUmVhZG9ubHkiLCJNZW1vaXplZENvbXBvbmVudCIsIm1lbW8iLCJkaXNwbGF5TmFtZSIsIm5hbWUiLCJJbm5lckZpZWxkIiwicHJvcHMiLCJfYSIsIl9iIiwiX2MiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwicnVsZXMiLCJmZWVkYmFjayIsInZhbGlkYXRlU3RhdHVzIiwibW9kZSIsImhpZGRlbiIsImNvbFByb3BzIiwiZmllbGRQcm9wcyIsInBsYWNlaG9sZGVyIiwiZGlzYWJsZWQiLCJ3aWR0aCIsInRyYW5zZm9ybSIsImNvbnZlcnRWYWx1ZSIsIl9kZXBzIiwiZGVwZW5kZW5jaWVzIiwicmVxdWVzdCIsInBhcmFtcyIsInZhbHVlRW51bSIsImRlYm91bmNlVGltZSIsInZhbGlkYXRlRGVib3VuY2UiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJkZXBlbmRlbmNpZXNWYWx1ZXMiLCJyZXN0IiwiX3VzZVByb0Zvcm1TdGFibGUiLCJ1c2VQcm9Gb3JtU3RhYmxlIiwiY29udGV4dEZpZWxkUHJvcHMiLCJmb3JtRGlzYWJsZWQiLCJtZXJnZWRSZXF1ZXN0UGFyYW1zIiwiYXNzaWduIiwiX3VzZUZpZWxkUmVxdWVzdCIsInVzZUZpZWxkUmVxdWVzdCIsIl91c2VGaWVsZFJlcXVlc3QyIiwiX3NsaWNlZFRvQXJyYXkyIiwicmVxdWVzdExvYWRpbmciLCJyZXF1ZXN0T3B0aW9ucyIsIm1hcHBlZCIsInVzZXJPbkNoYW5nZSIsIm9uQ2hhbmdlIiwiX3VzZURlYm91bmNlZENhbGxiYWNrIiwidXNlRGVib3VuY2VkQ2FsbGJhY2siLCJhcHBseSIsImFyZ3VtZW50cyIsImRlYm91bmNlZE9uQ2hhbmdlIiwicnVuIiwid2lkdGhTdHlsZSIsInVuZGVmaW5lZCIsInJlc29sdmVXaWR0aCIsImZpZWxkU3R5bGUiLCJzdHlsZSIsIm1lcmdlZFN0eWxlIiwibWVyZ2VkT3B0aW9ucyIsIm9wdGlvbnMiLCJ2YWx1ZUVudW1Ub09wdGlvbnMiLCJjb21wb25lbnRQcm9wcyIsImxvYWRpbmciLCJfanN4IiwiUHJvRm9ybUl0ZW0iLCJyZWFkb25seVJlbmRlciIsInZhbHVlIiwiY2hpbGRyZW4iLCJQcm9Gb3JtRmllbGRDb21wb25lbnRCYXNlIiwiUHJvRm9ybURlcGVuZGVuY3kiLCJkZXBWYWx1ZXMiLCJNZW1vaXplZEZpZWxkIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxzQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksWUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssa0JBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4s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VUFBVSxFQUFBdEIsTUFBQSxDQUFBd0QsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFLakMsS0FBSyxDQUFBLENBQUk7RUFDbEMsQ0FBQztFQUVELElBQU1vRSxhQUFhLGdCQUFHLElBQUF4RSxXQUFJLEVBQUNxRSx5QkFBeUIsQ0FBQztFQUNyRCxPQUFPRyxhQUF5RDtBQUNsRTtBQUFDLElBQUFDLFFBQUEsR0FBQUMsT0FBQSxjQUVjcEYsa0JBQWtCIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlRGVib3VuY2VkQ2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VEZWJvdW5jZWRDYWxsYmFjayc7XG5pbXBvcnQgeyBQcm9Gb3JtSXRlbSB9IGZyb20gJy4uL1Byb0Zvcm1JdGVtJztcbmltcG9ydCB7IFByb0Zvcm1EZXBlbmRlbmN5IH0gZnJvbSAnLi4vUHJvRm9ybURlcGVuZGVuY3knO1xuaW1wb3J0IHsgdXNlUHJvRm9ybVN0YWJsZSB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHsgdXNlRmllbGRSZXF1ZXN0IH0gZnJvbSAnLi4vaG9va3MvdXNlRmllbGRSZXF1ZXN0JztcbmltcG9ydCB7IHJlc29sdmVXaWR0aCwgdmFsdWVFbnVtVG9PcHRpb25zIH0gZnJvbSAnLi4vdXRpbHMnO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBjcmVhdGVQcm9Gb3JtRmllbGQg4oCUIGZhY3RvcnkgdGhhdCBwcm9kdWNlcyBhIFByb0Zvcm0tYXdhcmUgZmllbGQgY29tcG9uZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9Gb3JtRmllbGQoY29uZmlnKSB7XG4gICAgY29uc3QgeyBjb21wb25lbnQ6IENvbXBvbmVudCwgdmFsdWVQcm9wTmFtZSwgdmFsdWVUeXBlOiBkZWZhdWx0VmFsdWVUeXBlLCBtYXBQcm9wcywgcmVuZGVyUmVhZG9ubHksIH0gPSBjb25maWc7XG4gICAgLy8gTWVtbyBib3VuZGFyeSBhcm91bmQgdGhlIHdyYXBwZWQgY29udHJvbDogY29tYmluZWQgd2l0aCB0aGUgc3RhYmxlXG4gICAgLy8gaW5qZWN0ZWQgaGFuZGxlcnMgZnJvbSB1c2VGb3JtSXRlbSwgZmllbGRzIHdob3NlIHZhbHVlIGRpZG4ndCBjaGFuZ2UgY2FuXG4gICAgLy8gYmFpbCBvdXQgd2hpbGUgYW5vdGhlciBmaWVsZCBpbiB0aGUgZm9ybSBpcyB0eXBpbmcuIGRpc3BsYXlOYW1lIG11c3QgYmVcbiAgICAvLyBjYXJyaWVkIG92ZXIg4oCUIGluamVjdEZpZWxkIHVzZXMgaXQgdG8gcmVjb2duaXplIGZvcm0gY29udHJvbHMuXG4gICAgY29uc3QgTWVtb2l6ZWRDb21wb25lbnQgPSBtZW1vKENvbXBvbmVudCk7XG4gICAgTWVtb2l6ZWRDb21wb25lbnQuZGlzcGxheU5hbWUgPVxuICAgICAgICBDb21wb25lbnQuZGlzcGxheU5hbWUgfHwgQ29tcG9uZW50Lm5hbWU7XG4gICAgLy8gSW5uZXIgY29tcG9uZW50IOKAlCBoYW5kbGVzIG1vZGUsIHJlcXVlc3QsIHZhbHVlRW51bSwgZGVib3VuY2UsIHJlbmRlclxuICAgIGNvbnN0IElubmVyRmllbGQgPSAocHJvcHMpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgX2MgPSBwcm9wcywgeyBuYW1lLCBsYWJlbCwgZGVzY3JpcHRpb24sIHJ1bGVzLCBmZWVkYmFjaywgdmFsaWRhdGVTdGF0dXMsIG1vZGUsIGhpZGRlbiwgY29sUHJvcHMsIGZpZWxkUHJvcHMsIHBsYWNlaG9sZGVyLCBkaXNhYmxlZCwgd2lkdGgsIHRyYW5zZm9ybSwgY29udmVydFZhbHVlLCBcbiAgICAgICAgLy8gRmllbGQtbGV2ZWwgZmVhdHVyZXNcbiAgICAgICAgZGVwZW5kZW5jaWVzOiBfZGVwcywgcmVxdWVzdCwgcGFyYW1zLCB2YWx1ZUVudW0sIGRlYm91bmNlVGltZSwgdmFsaWRhdGVEZWJvdW5jZSwgdmFsaWRhdGVUcmlnZ2VyLCB2YWx1ZVR5cGUsIGRlcGVuZGVuY2llc1ZhbHVlcyB9ID0gX2MsIHJlc3QgPSBfX3Jlc3QoX2MsIFtcIm5hbWVcIiwgXCJsYWJlbFwiLCBcImRlc2NyaXB0aW9uXCIsIFwicnVsZXNcIiwgXCJmZWVkYmFja1wiLCBcInZhbGlkYXRlU3RhdHVzXCIsIFwibW9kZVwiLCBcImhpZGRlblwiLCBcImNvbFByb3BzXCIsIFwiZmllbGRQcm9wc1wiLCBcInBsYWNlaG9sZGVyXCIsIFwiZGlzYWJsZWRcIiwgXCJ3aWR0aFwiLCBcInRyYW5zZm9ybVwiLCBcImNvbnZlcnRWYWx1ZVwiLCBcImRlcGVuZGVuY2llc1wiLCBcInJlcXVlc3RcIiwgXCJwYXJhbXNcIiwgXCJ2YWx1ZUVudW1cIiwgXCJkZWJvdW5jZVRpbWVcIiwgXCJ2YWxpZGF0ZURlYm91bmNlXCIsIFwidmFsaWRhdGVUcmlnZ2VyXCIsIFwidmFsdWVUeXBlXCIsIFwiZGVwZW5kZW5jaWVzVmFsdWVzXCJdKTtcbiAgICAgICAgLy8gRm9ybS1sZXZlbCBmaWVsZFByb3BzIChsb3dlc3QgcHJpb3JpdHkgYWZ0ZXIgbWFwUHJvcHMgZGVmYXVsdHMpLlxuICAgICAgICAvLyBTdGFibGUgc2xpY2Ugb25seSDigJQgdGhlIGZpZWxkIHNoZWxsIG11c3QgTk9UIHJlLXJlbmRlciBwZXIga2V5c3Ryb2tlO1xuICAgICAgICAvLyB2YWx1ZS9lcnJvciByZWFjdGl2aXR5IGxpdmVzIGluc2lkZSBQcm9Gb3JtSXRlbS5cbiAgICAgICAgY29uc3QgeyBmaWVsZFByb3BzOiBjb250ZXh0RmllbGRQcm9wcywgZGlzYWJsZWQ6IGZvcm1EaXNhYmxlZCwgfSA9IHVzZVByb0Zvcm1TdGFibGUoKTtcbiAgICAgICAgLy8g4pSA4pSAIEZpZWxkLWxldmVsIHJlcXVlc3Qg4pSA4pSAXG4gICAgICAgIGNvbnN0IG1lcmdlZFJlcXVlc3RQYXJhbXMgPSBkZXBlbmRlbmNpZXNWYWx1ZXNcbiAgICAgICAgICAgID8gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBwYXJhbXMpLCBkZXBlbmRlbmNpZXNWYWx1ZXMpIDogcGFyYW1zO1xuICAgICAgICBjb25zdCBbcmVxdWVzdExvYWRpbmcsIHJlcXVlc3RPcHRpb25zXSA9IHVzZUZpZWxkUmVxdWVzdChyZXF1ZXN0LCBtZXJnZWRSZXF1ZXN0UGFyYW1zKTtcbiAgICAgICAgLy8gQnVpbGQgdGhlIGZpZWxkIGNoaWxkXG4gICAgICAgIGNvbnN0IG1hcHBlZCA9IG1hcFByb3BzID8gbWFwUHJvcHMocmVzdCkgOiB7fTtcbiAgICAgICAgLy8g4pSA4pSAIERlYm91bmNlIG9uQ2hhbmdlIOKUgOKUgFxuICAgICAgICAvLyBUaGUgZWZmZWN0aXZlIG9uQ2hhbmdlIGlzIHdoYXRldmVyIGVuZHMgdXAgb24gdGhlIGZpZWxkIChmaWVsZFByb3BzIHdpbnNcbiAgICAgICAgLy8gb3ZlciBtYXBwZWQsIG1hdGNoaW5nIHRoZSBzcHJlYWQgb3JkZXIgYmVsb3cpLiB1c2VEZWJvdW5jZWRDYWxsYmFjayByZWFkc1xuICAgICAgICAvLyB0aGUgbGF0ZXN0IGNhbGxiYWNrIGludGVybmFsbHksIHNvIHRoZSB3cmFwcGVyIG5ldmVyIGdvZXMgc3RhbGUgYW5kIHRoZVxuICAgICAgICAvLyBwZW5kaW5nIGNhbGwgaXMgYXV0by1jYW5jZWxsZWQgb24gdW5tb3VudC5cbiAgICAgICAgY29uc3QgdXNlck9uQ2hhbmdlID0gKChfYiA9IChfYSA9IGZpZWxkUHJvcHMgPT09IG51bGwgfHwgZmllbGRQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGRQcm9wcy5vbkNoYW5nZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogY29udGV4dEZpZWxkUHJvcHMgPT09IG51bGwgfHwgY29udGV4dEZpZWxkUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbnRleHRGaWVsZFByb3BzLm9uQ2hhbmdlKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBtYXBwZWQgPT09IG51bGwgfHwgbWFwcGVkID09PSB2b2lkIDAgPyB2b2lkIDAgOiBtYXBwZWQub25DaGFuZ2UpO1xuICAgICAgICBjb25zdCB7IHJ1bjogZGVib3VuY2VkT25DaGFuZ2UgfSA9IHVzZURlYm91bmNlZENhbGxiYWNrKCguLi5hcmdzKSA9PiB1c2VyT25DaGFuZ2UgPT09IG51bGwgfHwgdXNlck9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiB1c2VyT25DaGFuZ2UoLi4uYXJncyksIGRlYm91bmNlVGltZSk7XG4gICAgICAgIGNvbnN0IHdpZHRoU3R5bGUgPSB3aWR0aCAhPT0gdW5kZWZpbmVkID8geyB3aWR0aDogcmVzb2x2ZVdpZHRoKHdpZHRoKSB9IDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBmaWVsZFN0eWxlID0gZmllbGRQcm9wcyA9PT0gbnVsbCB8fCBmaWVsZFByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWVsZFByb3BzLnN0eWxlO1xuICAgICAgICBjb25zdCBtZXJnZWRTdHlsZSA9IHdpZHRoU3R5bGVcbiAgICAgICAgICAgID8gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCAoZmllbGRTdHlsZSB8fCB7fSkpLCB3aWR0aFN0eWxlKSA6IGZpZWxkU3R5bGU7XG4gICAgICAgIC8vIE1lcmdlIHZhbHVlRW51bSArIHJlcXVlc3Qgb3B0aW9ucyBpbnRvIGZpZWxkUHJvcHMub3B0aW9ucy4gQSBjb25maWd1cmVkXG4gICAgICAgIC8vIHJlcXVlc3QgaXMgQVVUSE9SSVRBVElWRTogYW4gZW1wdHkgcmVzdWx0IG1lYW5zIFwibm8gb3B0aW9uc1wiIOKAlCBmYWxsaW5nXG4gICAgICAgIC8vIGJhY2sgdG8gdmFsdWVFbnVtL2ZpZWxkUHJvcHMub3B0aW9ucyB3b3VsZCBzaG93IG9wdGlvbnMgdGhlIHNlcnZlciBqdXN0XG4gICAgICAgIC8vIHNhaWQgZG9uJ3QgZXhpc3QuXG4gICAgICAgIGxldCBtZXJnZWRPcHRpb25zID0gZmllbGRQcm9wcyA9PT0gbnVsbCB8fCBmaWVsZFByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWVsZFByb3BzLm9wdGlvbnM7XG4gICAgICAgIGlmICh2YWx1ZUVudW0pIHtcbiAgICAgICAgICAgIG1lcmdlZE9wdGlvbnMgPSB2YWx1ZUVudW1Ub09wdGlvbnModmFsdWVFbnVtKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVxdWVzdCkge1xuICAgICAgICAgICAgbWVyZ2VkT3B0aW9ucyA9IHJlcXVlc3RPcHRpb25zO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFByb3BzID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIG1hcHBlZCksIChmb3JtRGlzYWJsZWQgPyB7IGRpc2FibGVkOiB0cnVlIH0gOiB7fSkpLCAoY29udGV4dEZpZWxkUHJvcHMgfHwge30pKSwgKGZpZWxkUHJvcHMgfHwge30pKSwgKG1lcmdlZE9wdGlvbnMgIT09IHVuZGVmaW5lZCA/IHsgb3B0aW9uczogbWVyZ2VkT3B0aW9ucyB9IDoge30pKSwgKHJlcXVlc3RMb2FkaW5nID8geyBsb2FkaW5nOiB0cnVlIH0gOiB7fSkpLCAocGxhY2Vob2xkZXIgIT09IHVuZGVmaW5lZCA/IHsgcGxhY2Vob2xkZXIgfSA6IHt9KSksIChkaXNhYmxlZCAhPT0gdW5kZWZpbmVkID8geyBkaXNhYmxlZCB9IDoge30pKSwgKG1lcmdlZFN0eWxlID8geyBzdHlsZTogbWVyZ2VkU3R5bGUgfSA6IHt9KSk7XG4gICAgICAgIC8vIFdpcmUgZGVib3VuY2UuIFRoZSB3cmFwcGVyIGZvcndhcmRzIHRvIHRoZSBsYXRlc3QgdXNlciBvbkNoYW5nZSB2aWFcbiAgICAgICAgLy8gYG9uQ2hhbmdlTGF0ZXN0YCwgc28gbm8gbmVlZCB0byBzdGFzaCBpdCBvbiBhIHJlZiBoZXJlLlxuICAgICAgICBpZiAoZGVib3VuY2VUaW1lICYmIGRlYm91bmNlVGltZSA+IDApIHtcbiAgICAgICAgICAgIGNvbXBvbmVudFByb3BzLm9uQ2hhbmdlID0gZGVib3VuY2VkT25DaGFuZ2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChfanN4KFByb0Zvcm1JdGVtLCB7IG5hbWU6IG5hbWUsIGxhYmVsOiBsYWJlbCwgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLCBydWxlczogcnVsZXMsIGZlZWRiYWNrOiBmZWVkYmFjaywgdmFsaWRhdGVTdGF0dXM6IHZhbGlkYXRlU3RhdHVzLCBoaWRkZW46IGhpZGRlbiwgbW9kZTogbW9kZSwgY29sUHJvcHM6IGNvbFByb3BzLCB0cmFuc2Zvcm06IHRyYW5zZm9ybSwgY29udmVydFZhbHVlOiBjb252ZXJ0VmFsdWUsIHZhbHVlUHJvcE5hbWU6IHZhbHVlUHJvcE5hbWUsIHZhbGlkYXRlRGVib3VuY2U6IHZhbGlkYXRlRGVib3VuY2UsIHZhbGlkYXRlVHJpZ2dlcjogdmFsaWRhdGVUcmlnZ2VyLCB2YWx1ZVR5cGU6IHZhbHVlVHlwZSAhPT0gbnVsbCAmJiB2YWx1ZVR5cGUgIT09IHZvaWQgMCA/IHZhbHVlVHlwZSA6IGRlZmF1bHRWYWx1ZVR5cGUsIFxuICAgICAgICAgICAgLy8gVGhlIHJlbmRlcmVyIGdldHMgdGhlIFJFU09MVkVEIGNvbXBvbmVudCBwcm9wcyAodmFsdWVFbnVtL3JlcXVlc3RcbiAgICAgICAgICAgIC8vIGFscmVhZHkgbWVyZ2VkIGludG8gYG9wdGlvbnNgKSBzbyBpdCBjYW4gbWFwIHZhbHVlcyB0byBsYWJlbHMuXG4gICAgICAgICAgICByZWFkb25seVJlbmRlcjogcmVuZGVyUmVhZG9ubHlcbiAgICAgICAgICAgICAgICA/ICh2YWx1ZSkgPT4gcmVuZGVyUmVhZG9ubHkodmFsdWUsIGNvbXBvbmVudFByb3BzKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLCBjaGlsZHJlbjogX2pzeChNZW1vaXplZENvbXBvbmVudCwgT2JqZWN0LmFzc2lnbih7fSwgY29tcG9uZW50UHJvcHMpKSB9KSk7XG4gICAgfTtcbiAgICAvLyBPdXRlciBjb21wb25lbnQg4oCUIGhhbmRsZXMgYXV0by13cmFwcGluZyB3aXRoIFByb0Zvcm1EZXBlbmRlbmN5XG4gICAgY29uc3QgUHJvRm9ybUZpZWxkQ29tcG9uZW50QmFzZSA9IChwcm9wcykgPT4ge1xuICAgICAgICBjb25zdCB7IGRlcGVuZGVuY2llcyB9ID0gcHJvcHM7XG4gICAgICAgIGlmIChkZXBlbmRlbmNpZXMgJiYgZGVwZW5kZW5jaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeChQcm9Gb3JtRGVwZW5kZW5jeSwgeyBuYW1lOiBkZXBlbmRlbmNpZXMsIGNoaWxkcmVuOiAoZGVwVmFsdWVzKSA9PiAoX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcywgeyBkZXBlbmRlbmNpZXNWYWx1ZXM6IGRlcFZhbHVlcyB9KSkpIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcykpO1xuICAgIH07XG4gICAgY29uc3QgTWVtb2l6ZWRGaWVsZCA9IG1lbW8oUHJvRm9ybUZpZWxkQ29tcG9uZW50QmFzZSk7XG4gICAgcmV0dXJuIE1lbW9pemVkRmllbGQ7XG59XG5leHBvcnQgZGVmYXVsdCBjcmVhdGVQcm9Gb3JtRmllbGQ7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -8,5 +8,5 @@ import type { ProFormRequestOption } from '../interface';
|
|
|
8
8
|
* after a newer request never overwrites the newest options, and only the
|
|
9
9
|
* newest request controls `loading`.
|
|
10
10
|
*/
|
|
11
|
-
export declare function useFieldRequest(request: ((params?:
|
|
11
|
+
export declare function useFieldRequest<OptionValue = any, Params = Record<string, any>>(request: ((params?: Params, signal?: AbortSignal) => Promise<ProFormRequestOption<OptionValue>[]>) | undefined, params: Params | undefined): [boolean, ProFormRequestOption<OptionValue>[]];
|
|
12
12
|
export default useFieldRequest;
|