@rjsf/utils 6.0.0-beta.10 → 6.0.0-beta.12
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.js +27 -3
- package/dist/index.js.map +2 -2
- package/dist/utils.esm.js +27 -3
- package/dist/utils.esm.js.map +2 -2
- package/dist/utils.umd.js +27 -3
- package/lib/createSchemaUtils.js +7 -0
- package/lib/createSchemaUtils.js.map +1 -1
- package/lib/mergeDefaultsWithFormData.js +13 -1
- package/lib/mergeDefaultsWithFormData.js.map +1 -1
- package/lib/schema/getDefaultFormState.js +8 -2
- package/lib/schema/getDefaultFormState.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types.d.ts +14 -0
- package/package.json +1 -1
- package/src/createSchemaUtils.ts +8 -0
- package/src/mergeDefaultsWithFormData.ts +15 -1
- package/src/schema/getDefaultFormState.ts +9 -2
- package/src/types.ts +19 -0
package/dist/index.js
CHANGED
|
@@ -1379,8 +1379,19 @@ function mergeDefaultsWithFormData(defaults, formData, mergeExtraArrayDefaults =
|
|
|
1379
1379
|
const keyValue = (0, import_get10.default)(formData, key);
|
|
1380
1380
|
const keyExistsInDefaults = isObject(defaults) && key in defaults;
|
|
1381
1381
|
const keyExistsInFormData = key in formData;
|
|
1382
|
+
const keyDefault = (0, import_get10.default)(defaults, key) ?? {};
|
|
1383
|
+
const defaultValueIsNestedObject = keyExistsInDefaults && Object.entries(keyDefault).some(([, v]) => isObject(v));
|
|
1384
|
+
const keyDefaultIsObject = keyExistsInDefaults && isObject((0, import_get10.default)(defaults, key));
|
|
1385
|
+
const keyHasFormDataObject = keyExistsInFormData && isObject(keyValue);
|
|
1386
|
+
if (keyDefaultIsObject && keyHasFormDataObject && !defaultValueIsNestedObject) {
|
|
1387
|
+
acc2[key] = {
|
|
1388
|
+
...(0, import_get10.default)(defaults, key),
|
|
1389
|
+
...keyValue
|
|
1390
|
+
};
|
|
1391
|
+
return acc2;
|
|
1392
|
+
}
|
|
1382
1393
|
acc2[key] = mergeDefaultsWithFormData(
|
|
1383
|
-
|
|
1394
|
+
(0, import_get10.default)(defaults, key) ?? {},
|
|
1384
1395
|
keyValue,
|
|
1385
1396
|
mergeExtraArrayDefaults,
|
|
1386
1397
|
defaultSupercedesUndefined,
|
|
@@ -1581,7 +1592,7 @@ function computeDefaults(validator, rawSchema, computeDefaultsProps = {}) {
|
|
|
1581
1592
|
let schemaToCompute = null;
|
|
1582
1593
|
let experimental_dfsb_to_compute = experimental_defaultFormStateBehavior;
|
|
1583
1594
|
let updatedRecurseList = _recurseList;
|
|
1584
|
-
if (schema[CONST_KEY] && experimental_defaultFormStateBehavior?.constAsDefaults !== "never" && !constIsAjvDataReference(schema)) {
|
|
1595
|
+
if (schema[CONST_KEY] !== void 0 && experimental_defaultFormStateBehavior?.constAsDefaults !== "never" && !constIsAjvDataReference(schema)) {
|
|
1585
1596
|
defaults = schema[CONST_KEY];
|
|
1586
1597
|
} else if (isObject(defaults) && isObject(schema.default)) {
|
|
1587
1598
|
defaults = mergeObjects(defaults, schema.default);
|
|
@@ -1676,7 +1687,7 @@ function computeDefaults(validator, rawSchema, computeDefaultsProps = {}) {
|
|
|
1676
1687
|
experimental_defaultFormStateBehavior: experimental_dfsb_to_compute,
|
|
1677
1688
|
experimental_customMergeAllOf,
|
|
1678
1689
|
parentDefaults: defaults,
|
|
1679
|
-
rawFormData: formData,
|
|
1690
|
+
rawFormData: rawFormData ?? formData,
|
|
1680
1691
|
required,
|
|
1681
1692
|
shouldMergeDefaultsIntoFormData
|
|
1682
1693
|
});
|
|
@@ -1909,6 +1920,12 @@ function getDefaultFormState(validator, theSchema, formData, rootSchema, include
|
|
|
1909
1920
|
rawFormData: formData,
|
|
1910
1921
|
shouldMergeDefaultsIntoFormData: true
|
|
1911
1922
|
});
|
|
1923
|
+
if (schema.type !== "object" && isObject(schema.default)) {
|
|
1924
|
+
return {
|
|
1925
|
+
...defaults,
|
|
1926
|
+
...formData
|
|
1927
|
+
};
|
|
1928
|
+
}
|
|
1912
1929
|
if (isObject(formData) || Array.isArray(formData)) {
|
|
1913
1930
|
const { mergeDefaultsIntoFormData } = experimental_defaultFormStateBehavior || {};
|
|
1914
1931
|
const defaultSupercedesUndefined = mergeDefaultsIntoFormData === "useDefaultIfFormDataUndefined";
|
|
@@ -2308,6 +2325,13 @@ var SchemaUtils = class {
|
|
|
2308
2325
|
this.experimental_defaultFormStateBehavior = experimental_defaultFormStateBehavior;
|
|
2309
2326
|
this.experimental_customMergeAllOf = experimental_customMergeAllOf;
|
|
2310
2327
|
}
|
|
2328
|
+
/** Returns the `rootSchema` in the `SchemaUtilsType`
|
|
2329
|
+
*
|
|
2330
|
+
* @returns - The `rootSchema`
|
|
2331
|
+
*/
|
|
2332
|
+
getRootSchema() {
|
|
2333
|
+
return this.rootSchema;
|
|
2334
|
+
}
|
|
2311
2335
|
/** Returns the `ValidatorType` in the `SchemaUtilsType`
|
|
2312
2336
|
*
|
|
2313
2337
|
* @returns - The `ValidatorType`
|