@rjsf/utils 5.8.2 → 5.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +35 -6
- package/dist/utils.cjs.development.js +83 -43
- package/dist/utils.cjs.development.js.map +1 -1
- package/dist/utils.cjs.production.min.js +1 -1
- package/dist/utils.cjs.production.min.js.map +1 -1
- package/dist/utils.esm.js +83 -43
- package/dist/utils.esm.js.map +1 -1
- package/dist/utils.umd.development.js +83 -43
- package/dist/utils.umd.development.js.map +1 -1
- package/dist/utils.umd.production.min.js +1 -1
- package/dist/utils.umd.production.min.js.map +1 -1
- package/package.json +9 -9
package/dist/utils.esm.js
CHANGED
|
@@ -523,11 +523,12 @@ function mergeSchemas(obj1, obj2) {
|
|
|
523
523
|
}, acc);
|
|
524
524
|
}
|
|
525
525
|
|
|
526
|
-
var _excluded$
|
|
527
|
-
_excluded2 = ["$ref"],
|
|
526
|
+
var _excluded$2 = ["if", "then", "else"],
|
|
527
|
+
_excluded2$1 = ["$ref"],
|
|
528
528
|
_excluded3 = ["allOf"],
|
|
529
|
-
_excluded4 = ["
|
|
530
|
-
_excluded5 = ["
|
|
529
|
+
_excluded4 = ["oneOf", "anyOf"],
|
|
530
|
+
_excluded5 = ["dependencies"],
|
|
531
|
+
_excluded6 = ["oneOf"];
|
|
531
532
|
/** Retrieves an expanded schema that has had all of its conditions, additional properties, references and dependencies
|
|
532
533
|
* resolved and merged into the `schema` given a `validator`, `rootSchema` and `rawFormData` that is used to do the
|
|
533
534
|
* potentially recursive resolution.
|
|
@@ -560,7 +561,7 @@ function resolveCondition(validator, schema, rootSchema, expandAllBranches, form
|
|
|
560
561
|
var expression = schema["if"],
|
|
561
562
|
then = schema.then,
|
|
562
563
|
otherwise = schema["else"],
|
|
563
|
-
resolvedSchemaLessConditional = _objectWithoutPropertiesLoose(schema, _excluded$
|
|
564
|
+
resolvedSchemaLessConditional = _objectWithoutPropertiesLoose(schema, _excluded$2);
|
|
564
565
|
var conditionValue = validator.isValid(expression, formData || {}, rootSchema);
|
|
565
566
|
var resolvedSchemas = [resolvedSchemaLessConditional];
|
|
566
567
|
var schemas = [];
|
|
@@ -670,7 +671,7 @@ function resolveSchema(validator, schema, rootSchema, expandAllBranches, formDat
|
|
|
670
671
|
function resolveReference(validator, schema, rootSchema, expandAllBranches, formData) {
|
|
671
672
|
// Drop the $ref property of the source schema.
|
|
672
673
|
var $ref = schema.$ref,
|
|
673
|
-
localSchema = _objectWithoutPropertiesLoose(schema, _excluded2);
|
|
674
|
+
localSchema = _objectWithoutPropertiesLoose(schema, _excluded2$1);
|
|
674
675
|
// Retrieve the referenced schema definition.
|
|
675
676
|
var refSchema = findSchemaDefinition($ref, rootSchema);
|
|
676
677
|
// Update referenced schema definition with local schema properties.
|
|
@@ -752,9 +753,9 @@ function retrieveSchemaInternal(validator, schema, rootSchema, rawFormData, expa
|
|
|
752
753
|
if (IF_KEY in resolvedSchema) {
|
|
753
754
|
return resolveCondition(validator, resolvedSchema, rootSchema, expandAllBranches, rawFormData);
|
|
754
755
|
}
|
|
755
|
-
if (ALL_OF_KEY in
|
|
756
|
+
if (ALL_OF_KEY in resolvedSchema) {
|
|
756
757
|
try {
|
|
757
|
-
resolvedSchema = mergeAllOf(
|
|
758
|
+
resolvedSchema = mergeAllOf(resolvedSchema, {
|
|
758
759
|
deep: false
|
|
759
760
|
});
|
|
760
761
|
} catch (e) {
|
|
@@ -789,10 +790,14 @@ function retrieveSchemaInternal(validator, schema, rootSchema, rawFormData, expa
|
|
|
789
790
|
*/
|
|
790
791
|
function resolveAnyOrOneOfSchemas(validator, schema, rootSchema, expandAllBranches, rawFormData) {
|
|
791
792
|
var anyOrOneOf;
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
793
|
+
var _schema = schema,
|
|
794
|
+
oneOf = _schema.oneOf,
|
|
795
|
+
anyOf = _schema.anyOf,
|
|
796
|
+
remaining = _objectWithoutPropertiesLoose(_schema, _excluded4);
|
|
797
|
+
if (Array.isArray(oneOf)) {
|
|
798
|
+
anyOrOneOf = oneOf;
|
|
799
|
+
} else if (Array.isArray(anyOf)) {
|
|
800
|
+
anyOrOneOf = anyOf;
|
|
796
801
|
}
|
|
797
802
|
if (anyOrOneOf) {
|
|
798
803
|
// Ensure that during expand all branches we pass an object rather than undefined so that all options are interrogated
|
|
@@ -808,9 +813,11 @@ function resolveAnyOrOneOfSchemas(validator, schema, rootSchema, expandAllBranch
|
|
|
808
813
|
// Call this to trigger the set of isValid() calls that the schema parser will need
|
|
809
814
|
var option = getFirstMatchingOption(validator, formData, anyOrOneOf, rootSchema, discriminator);
|
|
810
815
|
if (expandAllBranches) {
|
|
811
|
-
return anyOrOneOf
|
|
816
|
+
return anyOrOneOf.map(function (item) {
|
|
817
|
+
return _extends({}, remaining, item);
|
|
818
|
+
});
|
|
812
819
|
}
|
|
813
|
-
schema = anyOrOneOf[option];
|
|
820
|
+
schema = _extends({}, remaining, anyOrOneOf[option]);
|
|
814
821
|
}
|
|
815
822
|
return [schema];
|
|
816
823
|
}
|
|
@@ -828,7 +835,7 @@ function resolveAnyOrOneOfSchemas(validator, schema, rootSchema, expandAllBranch
|
|
|
828
835
|
function resolveDependencies(validator, schema, rootSchema, expandAllBranches, formData) {
|
|
829
836
|
// Drop the dependencies from the source schema.
|
|
830
837
|
var dependencies = schema.dependencies,
|
|
831
|
-
remainingSchema = _objectWithoutPropertiesLoose(schema,
|
|
838
|
+
remainingSchema = _objectWithoutPropertiesLoose(schema, _excluded5);
|
|
832
839
|
var resolvedSchemas = resolveAnyOrOneOfSchemas(validator, remainingSchema, rootSchema, expandAllBranches, formData);
|
|
833
840
|
return resolvedSchemas.flatMap(function (resolvedSchema) {
|
|
834
841
|
return processDependencies(validator, dependencies, resolvedSchema, rootSchema, expandAllBranches, formData);
|
|
@@ -911,7 +918,7 @@ function withDependentSchema(validator, schema, rootSchema, dependencyKey, depen
|
|
|
911
918
|
var dependentSchemas = retrieveSchemaInternal(validator, dependencyValue, rootSchema, formData, expandAllBranches);
|
|
912
919
|
return dependentSchemas.flatMap(function (dependent) {
|
|
913
920
|
var oneOf = dependent.oneOf,
|
|
914
|
-
dependentSchema = _objectWithoutPropertiesLoose(dependent,
|
|
921
|
+
dependentSchema = _objectWithoutPropertiesLoose(dependent, _excluded6);
|
|
915
922
|
schema = mergeSchemas(schema, dependentSchema);
|
|
916
923
|
// Since it does not contain oneOf, we return the original schema.
|
|
917
924
|
if (oneOf === undefined) {
|
|
@@ -1026,8 +1033,10 @@ function calculateIndexScore(validator, rootSchema, schema, formData) {
|
|
|
1026
1033
|
var newSchema = retrieveSchema(validator, value, rootSchema, formValue);
|
|
1027
1034
|
return score + calculateIndexScore(validator, rootSchema, newSchema, formValue || {});
|
|
1028
1035
|
}
|
|
1029
|
-
if (has(value, ONE_OF_KEY) && formValue) {
|
|
1030
|
-
|
|
1036
|
+
if ((has(value, ONE_OF_KEY) || has(value, ANY_OF_KEY)) && formValue) {
|
|
1037
|
+
var _key = has(value, ONE_OF_KEY) ? ONE_OF_KEY : ANY_OF_KEY;
|
|
1038
|
+
var discriminator = getDiscriminatorFieldFromSchema(value);
|
|
1039
|
+
return score + getClosestMatchingOption(validator, rootSchema, formValue, get(value, _key), -1, discriminator);
|
|
1031
1040
|
}
|
|
1032
1041
|
if (value.type === 'object') {
|
|
1033
1042
|
return score + calculateIndexScore(validator, rootSchema, value, formValue || {});
|
|
@@ -1081,8 +1090,15 @@ function getClosestMatchingOption(validator, rootSchema, formData, options, sele
|
|
|
1081
1090
|
if (selectedOption === void 0) {
|
|
1082
1091
|
selectedOption = -1;
|
|
1083
1092
|
}
|
|
1093
|
+
// First resolve any refs in the options
|
|
1094
|
+
var resolvedOptions = options.map(function (option) {
|
|
1095
|
+
if (has(option, REF_KEY)) {
|
|
1096
|
+
return retrieveSchema(validator, option, rootSchema, formData);
|
|
1097
|
+
}
|
|
1098
|
+
return option;
|
|
1099
|
+
});
|
|
1084
1100
|
// Reduce the array of options down to a list of the indexes that are considered matching options
|
|
1085
|
-
var allValidIndexes =
|
|
1101
|
+
var allValidIndexes = resolvedOptions.reduce(function (validList, option, index) {
|
|
1086
1102
|
var testOptions = [JUNK_OPTION, option];
|
|
1087
1103
|
var match = getFirstMatchingOption(validator, formData, testOptions, rootSchema, discriminatorField);
|
|
1088
1104
|
// The match is the real option, so add its index to list of valid indexes
|
|
@@ -1097,7 +1113,7 @@ function getClosestMatchingOption(validator, rootSchema, formData, options, sele
|
|
|
1097
1113
|
}
|
|
1098
1114
|
if (!allValidIndexes.length) {
|
|
1099
1115
|
// No indexes were valid, so we'll score all the options, add all the indexes
|
|
1100
|
-
times(
|
|
1116
|
+
times(resolvedOptions.length, function (i) {
|
|
1101
1117
|
return allValidIndexes.push(i);
|
|
1102
1118
|
});
|
|
1103
1119
|
}
|
|
@@ -1105,10 +1121,7 @@ function getClosestMatchingOption(validator, rootSchema, formData, options, sele
|
|
|
1105
1121
|
// Score all the options in the list of valid indexes and return the index with the best score
|
|
1106
1122
|
var _allValidIndexes$redu = allValidIndexes.reduce(function (scoreData, index) {
|
|
1107
1123
|
var bestScore = scoreData.bestScore;
|
|
1108
|
-
var option =
|
|
1109
|
-
if (has(option, REF_KEY)) {
|
|
1110
|
-
option = retrieveSchema(validator, option, rootSchema, formData);
|
|
1111
|
-
}
|
|
1124
|
+
var option = resolvedOptions[index];
|
|
1112
1125
|
var score = calculateIndexScore(validator, rootSchema, option, formData);
|
|
1113
1126
|
scoreCount.add(score);
|
|
1114
1127
|
if (score > bestScore) {
|
|
@@ -1148,29 +1161,38 @@ function isFixedItems(schema) {
|
|
|
1148
1161
|
* - objects are deeply merged
|
|
1149
1162
|
* - arrays are merged in such a way that:
|
|
1150
1163
|
* - when the array is set in form data, only array entries set in form data
|
|
1151
|
-
* are deeply merged; additional entries from the defaults are ignored
|
|
1164
|
+
* are deeply merged; additional entries from the defaults are ignored unless `mergeExtraArrayDefaults` is true, in
|
|
1165
|
+
* which case the extras are appended onto the end of the form data
|
|
1152
1166
|
* - when the array is not set in form data, the default is copied over
|
|
1153
1167
|
* - scalars are overwritten/set by form data
|
|
1154
1168
|
*
|
|
1155
1169
|
* @param [defaults] - The defaults to merge
|
|
1156
1170
|
* @param [formData] - The form data into which the defaults will be merged
|
|
1171
|
+
* @param [mergeExtraArrayDefaults=false] - If true, any additional default array entries are appended onto the formData
|
|
1157
1172
|
* @returns - The resulting merged form data with defaults
|
|
1158
1173
|
*/
|
|
1159
|
-
function mergeDefaultsWithFormData(defaults, formData) {
|
|
1174
|
+
function mergeDefaultsWithFormData(defaults, formData, mergeExtraArrayDefaults) {
|
|
1175
|
+
if (mergeExtraArrayDefaults === void 0) {
|
|
1176
|
+
mergeExtraArrayDefaults = false;
|
|
1177
|
+
}
|
|
1160
1178
|
if (Array.isArray(formData)) {
|
|
1161
1179
|
var defaultsArray = Array.isArray(defaults) ? defaults : [];
|
|
1162
1180
|
var mapped = formData.map(function (value, idx) {
|
|
1163
1181
|
if (defaultsArray[idx]) {
|
|
1164
|
-
return mergeDefaultsWithFormData(defaultsArray[idx], value);
|
|
1182
|
+
return mergeDefaultsWithFormData(defaultsArray[idx], value, mergeExtraArrayDefaults);
|
|
1165
1183
|
}
|
|
1166
1184
|
return value;
|
|
1167
1185
|
});
|
|
1186
|
+
// Merge any extra defaults when mergeExtraArrayDefaults is true
|
|
1187
|
+
if (mergeExtraArrayDefaults && mapped.length < defaultsArray.length) {
|
|
1188
|
+
mapped.push.apply(mapped, defaultsArray.slice(mapped.length));
|
|
1189
|
+
}
|
|
1168
1190
|
return mapped;
|
|
1169
1191
|
}
|
|
1170
1192
|
if (isObject(formData)) {
|
|
1171
1193
|
var acc = Object.assign({}, defaults); // Prevent mutation of source object.
|
|
1172
1194
|
return Object.keys(formData).reduce(function (acc, key) {
|
|
1173
|
-
acc[key] = mergeDefaultsWithFormData(defaults ? get(defaults, key) : {}, get(formData, key));
|
|
1195
|
+
acc[key] = mergeDefaultsWithFormData(defaults ? get(defaults, key) : {}, get(formData, key), mergeExtraArrayDefaults);
|
|
1174
1196
|
return acc;
|
|
1175
1197
|
}, acc);
|
|
1176
1198
|
}
|
|
@@ -1261,6 +1283,8 @@ function isMultiSelect(validator, schema, rootSchema) {
|
|
|
1261
1283
|
return isSelect(validator, schema.items, rootSchema);
|
|
1262
1284
|
}
|
|
1263
1285
|
|
|
1286
|
+
var _excluded$1 = ["oneOf"],
|
|
1287
|
+
_excluded2 = ["anyOf"];
|
|
1264
1288
|
/** Enum that indicates how `schema.additionalItems` should be handled by the `getInnerSchemaForArrayItem()` function.
|
|
1265
1289
|
*/
|
|
1266
1290
|
var AdditionalItemsHandling;
|
|
@@ -1339,10 +1363,13 @@ function maybeAddDefaultToObject(obj, key, computedDefault, includeUndefinedValu
|
|
|
1339
1363
|
obj[key] = computedDefault;
|
|
1340
1364
|
} else if (emptyObjectFields !== 'skipDefaults') {
|
|
1341
1365
|
if (isObject(computedDefault)) {
|
|
1366
|
+
// If isParentRequired is undefined, then we are at the root level of the schema so defer to the requiredness of
|
|
1367
|
+
// the field key itself in the `requiredField` list
|
|
1368
|
+
var isSelfOrParentRequired = isParentRequired === undefined ? requiredFields.includes(key) : isParentRequired;
|
|
1342
1369
|
// Store computedDefault if it's a non-empty object(e.g. not {}) and satisfies certain conditions
|
|
1343
1370
|
// Condition 1: If computedDefault is not empty or if the key is a required field
|
|
1344
1371
|
// Condition 2: If the parent object is required or emptyObjectFields is not 'populateRequiredDefaults'
|
|
1345
|
-
if ((!isEmpty(computedDefault) || requiredFields.includes(key)) && (
|
|
1372
|
+
if ((!isEmpty(computedDefault) || requiredFields.includes(key)) && (isSelfOrParentRequired || emptyObjectFields !== 'populateRequiredDefaults')) {
|
|
1346
1373
|
obj[key] = computedDefault;
|
|
1347
1374
|
}
|
|
1348
1375
|
} else if (
|
|
@@ -1383,8 +1410,7 @@ function computeDefaults(validator, rawSchema, _temp) {
|
|
|
1383
1410
|
_recurseList = _ref$_recurseList === void 0 ? [] : _ref$_recurseList,
|
|
1384
1411
|
_ref$experimental_def = _ref.experimental_defaultFormStateBehavior,
|
|
1385
1412
|
experimental_defaultFormStateBehavior = _ref$experimental_def === void 0 ? undefined : _ref$experimental_def,
|
|
1386
|
-
|
|
1387
|
-
required = _ref$required === void 0 ? false : _ref$required;
|
|
1413
|
+
required = _ref.required;
|
|
1388
1414
|
var formData = isObject(rawFormData) ? rawFormData : {};
|
|
1389
1415
|
var schema = isObject(rawSchema) ? rawSchema : {};
|
|
1390
1416
|
// Compute the defaults recursively: give highest priority to deepest nodes.
|
|
@@ -1416,21 +1442,28 @@ function computeDefaults(validator, rawSchema, _temp) {
|
|
|
1416
1442
|
_recurseList: _recurseList,
|
|
1417
1443
|
experimental_defaultFormStateBehavior: experimental_defaultFormStateBehavior,
|
|
1418
1444
|
parentDefaults: Array.isArray(parentDefaults) ? parentDefaults[idx] : undefined,
|
|
1419
|
-
rawFormData: formData
|
|
1445
|
+
rawFormData: formData,
|
|
1446
|
+
required: required
|
|
1420
1447
|
});
|
|
1421
1448
|
});
|
|
1422
1449
|
} else if (ONE_OF_KEY in schema) {
|
|
1423
|
-
|
|
1450
|
+
var oneOf = schema.oneOf,
|
|
1451
|
+
remaining = _objectWithoutPropertiesLoose(schema, _excluded$1);
|
|
1452
|
+
if (oneOf.length === 0) {
|
|
1424
1453
|
return undefined;
|
|
1425
1454
|
}
|
|
1426
1455
|
var discriminator = getDiscriminatorFieldFromSchema(schema);
|
|
1427
|
-
schemaToCompute =
|
|
1456
|
+
schemaToCompute = oneOf[getClosestMatchingOption(validator, rootSchema, isEmpty(formData) ? undefined : formData, oneOf, 0, discriminator)];
|
|
1457
|
+
schemaToCompute = _extends({}, remaining, schemaToCompute);
|
|
1428
1458
|
} else if (ANY_OF_KEY in schema) {
|
|
1429
|
-
|
|
1459
|
+
var anyOf = schema.anyOf,
|
|
1460
|
+
_remaining = _objectWithoutPropertiesLoose(schema, _excluded2);
|
|
1461
|
+
if (anyOf.length === 0) {
|
|
1430
1462
|
return undefined;
|
|
1431
1463
|
}
|
|
1432
1464
|
var _discriminator = getDiscriminatorFieldFromSchema(schema);
|
|
1433
|
-
schemaToCompute =
|
|
1465
|
+
schemaToCompute = anyOf[getClosestMatchingOption(validator, rootSchema, isEmpty(formData) ? undefined : formData, anyOf, 0, _discriminator)];
|
|
1466
|
+
schemaToCompute = _extends({}, _remaining, schemaToCompute);
|
|
1434
1467
|
}
|
|
1435
1468
|
if (schemaToCompute) {
|
|
1436
1469
|
return computeDefaults(validator, schemaToCompute, {
|
|
@@ -1439,7 +1472,8 @@ function computeDefaults(validator, rawSchema, _temp) {
|
|
|
1439
1472
|
_recurseList: updatedRecurseList,
|
|
1440
1473
|
experimental_defaultFormStateBehavior: experimental_defaultFormStateBehavior,
|
|
1441
1474
|
parentDefaults: defaults,
|
|
1442
|
-
rawFormData: formData
|
|
1475
|
+
rawFormData: formData,
|
|
1476
|
+
required: required
|
|
1443
1477
|
});
|
|
1444
1478
|
}
|
|
1445
1479
|
// No defaults defined for this node, fallback to generic typed ones.
|
|
@@ -1506,6 +1540,7 @@ function computeDefaults(validator, rawSchema, _temp) {
|
|
|
1506
1540
|
}
|
|
1507
1541
|
case 'array':
|
|
1508
1542
|
{
|
|
1543
|
+
var _experimental_default3;
|
|
1509
1544
|
// Inject defaults into existing array defaults
|
|
1510
1545
|
if (Array.isArray(defaults)) {
|
|
1511
1546
|
defaults = defaults.map(function (item, idx) {
|
|
@@ -1514,7 +1549,8 @@ function computeDefaults(validator, rawSchema, _temp) {
|
|
|
1514
1549
|
rootSchema: rootSchema,
|
|
1515
1550
|
_recurseList: _recurseList,
|
|
1516
1551
|
experimental_defaultFormStateBehavior: experimental_defaultFormStateBehavior,
|
|
1517
|
-
parentDefaults: item
|
|
1552
|
+
parentDefaults: item,
|
|
1553
|
+
required: required
|
|
1518
1554
|
});
|
|
1519
1555
|
});
|
|
1520
1556
|
}
|
|
@@ -1527,11 +1563,12 @@ function computeDefaults(validator, rawSchema, _temp) {
|
|
|
1527
1563
|
_recurseList: _recurseList,
|
|
1528
1564
|
experimental_defaultFormStateBehavior: experimental_defaultFormStateBehavior,
|
|
1529
1565
|
rawFormData: item,
|
|
1530
|
-
parentDefaults: get(defaults, [idx])
|
|
1566
|
+
parentDefaults: get(defaults, [idx]),
|
|
1567
|
+
required: required
|
|
1531
1568
|
});
|
|
1532
1569
|
});
|
|
1533
1570
|
}
|
|
1534
|
-
var ignoreMinItemsFlagSet = (experimental_defaultFormStateBehavior === null || experimental_defaultFormStateBehavior === void 0 ? void 0 : experimental_defaultFormStateBehavior.arrayMinItems) === 'requiredOnly';
|
|
1571
|
+
var ignoreMinItemsFlagSet = (experimental_defaultFormStateBehavior === null || experimental_defaultFormStateBehavior === void 0 ? void 0 : (_experimental_default3 = experimental_defaultFormStateBehavior.arrayMinItems) === null || _experimental_default3 === void 0 ? void 0 : _experimental_default3.populate) === 'requiredOnly';
|
|
1535
1572
|
if (ignoreMinItemsFlagSet && !required) {
|
|
1536
1573
|
// If no form data exists or defaults are set leave the field empty/non-existent, otherwise
|
|
1537
1574
|
// return form data/defaults
|
|
@@ -1549,7 +1586,8 @@ function computeDefaults(validator, rawSchema, _temp) {
|
|
|
1549
1586
|
parentDefaults: fillerDefault,
|
|
1550
1587
|
rootSchema: rootSchema,
|
|
1551
1588
|
_recurseList: _recurseList,
|
|
1552
|
-
experimental_defaultFormStateBehavior: experimental_defaultFormStateBehavior
|
|
1589
|
+
experimental_defaultFormStateBehavior: experimental_defaultFormStateBehavior,
|
|
1590
|
+
required: required
|
|
1553
1591
|
}));
|
|
1554
1592
|
// then fill up the rest with either the item default or empty, up to minItems
|
|
1555
1593
|
return defaultEntries.concat(fillerEntries);
|
|
@@ -1588,11 +1626,13 @@ function getDefaultFormState(validator, theSchema, formData, rootSchema, include
|
|
|
1588
1626
|
// No form data? Use schema defaults.
|
|
1589
1627
|
return defaults;
|
|
1590
1628
|
}
|
|
1629
|
+
var _ref2 = (experimental_defaultFormStateBehavior === null || experimental_defaultFormStateBehavior === void 0 ? void 0 : experimental_defaultFormStateBehavior.arrayMinItems) || {},
|
|
1630
|
+
mergeExtraDefaults = _ref2.mergeExtraDefaults;
|
|
1591
1631
|
if (isObject(formData)) {
|
|
1592
|
-
return mergeDefaultsWithFormData(defaults, formData);
|
|
1632
|
+
return mergeDefaultsWithFormData(defaults, formData, mergeExtraDefaults);
|
|
1593
1633
|
}
|
|
1594
1634
|
if (Array.isArray(formData)) {
|
|
1595
|
-
return mergeDefaultsWithFormData(defaults, formData);
|
|
1635
|
+
return mergeDefaultsWithFormData(defaults, formData, mergeExtraDefaults);
|
|
1596
1636
|
}
|
|
1597
1637
|
return formData;
|
|
1598
1638
|
}
|