@rjsf/utils 5.14.3 → 5.15.1
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 +38 -27
- package/dist/index.js.map +3 -3
- package/dist/utils.esm.js +38 -27
- package/dist/utils.esm.js.map +2 -2
- package/dist/utils.umd.js +39 -31
- package/lib/schema/getDefaultFormState.js +17 -10
- package/lib/schema/getDefaultFormState.js.map +1 -1
- package/lib/schema/retrieveSchema.js +8 -1
- package/lib/schema/retrieveSchema.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types.d.ts +4 -0
- package/package.json +2 -2
- package/src/schema/getDefaultFormState.ts +49 -29
- package/src/schema/retrieveSchema.ts +8 -1
- package/src/types.ts +4 -0
package/dist/index.js
CHANGED
|
@@ -402,6 +402,9 @@ var import_isEqual = __toESM(require("lodash/isEqual"));
|
|
|
402
402
|
var import_set = __toESM(require("lodash/set"));
|
|
403
403
|
var import_times = __toESM(require("lodash/times"));
|
|
404
404
|
var import_transform = __toESM(require("lodash/transform"));
|
|
405
|
+
var import_merge = __toESM(require("lodash/merge"));
|
|
406
|
+
var import_flattenDeep = __toESM(require("lodash/flattenDeep"));
|
|
407
|
+
var import_uniq = __toESM(require("lodash/uniq"));
|
|
405
408
|
var import_json_schema_merge_allof = __toESM(require("json-schema-merge-allof"));
|
|
406
409
|
|
|
407
410
|
// src/getDiscriminatorFieldFromSchema.ts
|
|
@@ -608,13 +611,17 @@ function resolveAllReferences(schema, rootSchema, recurseList) {
|
|
|
608
611
|
resolvedSchema = { ...refSchema, ...localSchema };
|
|
609
612
|
}
|
|
610
613
|
if (PROPERTIES_KEY in resolvedSchema) {
|
|
614
|
+
const childrenLists = [];
|
|
611
615
|
const updatedProps = (0, import_transform.default)(
|
|
612
616
|
resolvedSchema[PROPERTIES_KEY],
|
|
613
617
|
(result, value, key) => {
|
|
614
|
-
|
|
618
|
+
const childList = [...recurseList];
|
|
619
|
+
result[key] = resolveAllReferences(value, rootSchema, childList);
|
|
620
|
+
childrenLists.push(childList);
|
|
615
621
|
},
|
|
616
622
|
{}
|
|
617
623
|
);
|
|
624
|
+
(0, import_merge.default)(recurseList, (0, import_uniq.default)((0, import_flattenDeep.default)(childrenLists)));
|
|
618
625
|
resolvedSchema = { ...resolvedSchema, [PROPERTIES_KEY]: updatedProps };
|
|
619
626
|
}
|
|
620
627
|
if (ITEMS_KEY in resolvedSchema && !Array.isArray(resolvedSchema.items) && typeof resolvedSchema.items !== "boolean") {
|
|
@@ -1181,35 +1188,39 @@ function computeDefaults(validator, rawSchema, {
|
|
|
1181
1188
|
}
|
|
1182
1189
|
switch (getSchemaType(schema)) {
|
|
1183
1190
|
case "object": {
|
|
1184
|
-
const
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1191
|
+
const retrievedSchema = experimental_defaultFormStateBehavior?.allOf === "populateDefaults" && ALL_OF_KEY in schema ? retrieveSchema(validator, schema, rootSchema, formData) : schema;
|
|
1192
|
+
const objectDefaults = Object.keys(retrievedSchema.properties || {}).reduce(
|
|
1193
|
+
(acc, key) => {
|
|
1194
|
+
const computedDefault = computeDefaults(validator, (0, import_get7.default)(retrievedSchema, [PROPERTIES_KEY, key]), {
|
|
1195
|
+
rootSchema,
|
|
1196
|
+
_recurseList,
|
|
1197
|
+
experimental_defaultFormStateBehavior,
|
|
1198
|
+
includeUndefinedValues: includeUndefinedValues === true,
|
|
1199
|
+
parentDefaults: (0, import_get7.default)(defaults, [key]),
|
|
1200
|
+
rawFormData: (0, import_get7.default)(formData, [key]),
|
|
1201
|
+
required: retrievedSchema.required?.includes(key)
|
|
1202
|
+
});
|
|
1203
|
+
maybeAddDefaultToObject(
|
|
1204
|
+
acc,
|
|
1205
|
+
key,
|
|
1206
|
+
computedDefault,
|
|
1207
|
+
includeUndefinedValues,
|
|
1208
|
+
required,
|
|
1209
|
+
retrievedSchema.required,
|
|
1210
|
+
experimental_defaultFormStateBehavior
|
|
1211
|
+
);
|
|
1212
|
+
return acc;
|
|
1213
|
+
},
|
|
1214
|
+
{}
|
|
1215
|
+
);
|
|
1216
|
+
if (retrievedSchema.additionalProperties) {
|
|
1217
|
+
const additionalPropertiesSchema = isObject(retrievedSchema.additionalProperties) ? retrievedSchema.additionalProperties : {};
|
|
1207
1218
|
const keys = /* @__PURE__ */ new Set();
|
|
1208
1219
|
if (isObject(defaults)) {
|
|
1209
|
-
Object.keys(defaults).filter((key) => !
|
|
1220
|
+
Object.keys(defaults).filter((key) => !retrievedSchema.properties || !retrievedSchema.properties[key]).forEach((key) => keys.add(key));
|
|
1210
1221
|
}
|
|
1211
1222
|
const formDataRequired = [];
|
|
1212
|
-
Object.keys(formData).filter((key) => !
|
|
1223
|
+
Object.keys(formData).filter((key) => !retrievedSchema.properties || !retrievedSchema.properties[key]).forEach((key) => {
|
|
1213
1224
|
keys.add(key);
|
|
1214
1225
|
formDataRequired.push(key);
|
|
1215
1226
|
});
|
|
@@ -1221,7 +1232,7 @@ function computeDefaults(validator, rawSchema, {
|
|
|
1221
1232
|
includeUndefinedValues: includeUndefinedValues === true,
|
|
1222
1233
|
parentDefaults: (0, import_get7.default)(defaults, [key]),
|
|
1223
1234
|
rawFormData: (0, import_get7.default)(formData, [key]),
|
|
1224
|
-
required:
|
|
1235
|
+
required: retrievedSchema.required?.includes(key)
|
|
1225
1236
|
});
|
|
1226
1237
|
maybeAddDefaultToObject(
|
|
1227
1238
|
objectDefaults,
|