@rjsf/utils 6.6.1 → 6.7.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/LICENSE.md +201 -0
- package/dist/index.cjs +534 -376
- package/dist/index.cjs.map +4 -4
- package/dist/utils.esm.js +534 -376
- package/dist/utils.esm.js.map +4 -4
- package/dist/utils.umd.js +561 -400
- package/lib/ErrorSchemaBuilder.d.ts +1 -1
- package/lib/SelectedOptionDescription.d.ts +4 -0
- package/lib/SelectedOptionDescription.js +24 -0
- package/lib/SelectedOptionDescription.js.map +1 -0
- package/lib/allowAdditionalItems.d.ts +1 -1
- package/lib/allowAdditionalItems.js +1 -0
- package/lib/allowAdditionalItems.js.map +1 -1
- package/lib/asNumber.js +2 -0
- package/lib/asNumber.js.map +1 -1
- package/lib/canExpand.d.ts +1 -1
- package/lib/constIsAjvDataReference.d.ts +1 -1
- package/lib/constants.d.ts +8 -5
- package/lib/constants.js +10 -7
- package/lib/constants.js.map +1 -1
- package/lib/createErrorHandler.d.ts +1 -1
- package/lib/createErrorHandler.js +2 -6
- package/lib/createErrorHandler.js.map +1 -1
- package/lib/createSchemaUtils.d.ts +1 -1
- package/lib/createSchemaUtils.js +3 -1
- package/lib/createSchemaUtils.js.map +1 -1
- package/lib/dataURItoBlob.js +3 -3
- package/lib/dataURItoBlob.js.map +1 -1
- package/lib/dateRangeOptions.d.ts +1 -1
- package/lib/dateRangeOptions.js +8 -7
- package/lib/dateRangeOptions.js.map +1 -1
- package/lib/englishStringTranslator.d.ts +1 -1
- package/lib/enumOptionSelectedValue.d.ts +1 -1
- package/lib/enumOptionValueDecoder.d.ts +1 -1
- package/lib/enumOptionValueDecoder.js +1 -1
- package/lib/enumOptionValueDecoder.js.map +1 -1
- package/lib/enumOptionValueEncoder.d.ts +1 -1
- package/lib/enumOptionsDeselectValue.d.ts +1 -1
- package/lib/enumOptionsIndexForValue.d.ts +1 -1
- package/lib/enumOptionsIndexForValue.js.map +1 -1
- package/lib/enumOptionsIsSelected.d.ts +1 -1
- package/lib/enumOptionsSelectValue.d.ts +1 -1
- package/lib/enumOptionsValueForIndex.d.ts +2 -2
- package/lib/enumOptionsValueForIndex.js.map +1 -1
- package/lib/enums.d.ts +4 -0
- package/lib/enums.js +4 -0
- package/lib/enums.js.map +1 -1
- package/lib/findSchemaDefinition.d.ts +1 -1
- package/lib/findSchemaDefinition.js +15 -15
- package/lib/findSchemaDefinition.js.map +1 -1
- package/lib/getChangedFields.js +4 -6
- package/lib/getChangedFields.js.map +1 -1
- package/lib/getDateElementProps.d.ts +3 -3
- package/lib/getDiscriminatorFieldFromSchema.d.ts +1 -1
- package/lib/getDiscriminatorFieldFromSchema.js +1 -0
- package/lib/getDiscriminatorFieldFromSchema.js.map +1 -1
- package/lib/getInputProps.d.ts +1 -1
- package/lib/getOptionMatchingSimpleDiscriminator.d.ts +1 -1
- package/lib/getOptionMatchingSimpleDiscriminator.js +10 -11
- package/lib/getOptionMatchingSimpleDiscriminator.js.map +1 -1
- package/lib/getOptionValueFormat.d.ts +1 -1
- package/lib/getSchemaType.d.ts +1 -1
- package/lib/getSchemaType.js +2 -1
- package/lib/getSchemaType.js.map +1 -1
- package/lib/getSubmitButtonOptions.d.ts +1 -1
- package/lib/getSubmitButtonOptions.js +1 -1
- package/lib/getSubmitButtonOptions.js.map +1 -1
- package/lib/getTemplate.d.ts +1 -1
- package/lib/getTestIds.d.ts +1 -1
- package/lib/getUiOptions.d.ts +1 -1
- package/lib/getUiOptions.js +2 -1
- package/lib/getUiOptions.js.map +1 -1
- package/lib/getWidget.d.ts +1 -1
- package/lib/getWidget.js +4 -4
- package/lib/getWidget.js.map +1 -1
- package/lib/guessType.js +1 -1
- package/lib/guessType.js.map +1 -1
- package/lib/hasWidget.d.ts +1 -1
- package/lib/hashForSchema.d.ts +3 -1
- package/lib/hashForSchema.js +11 -4
- package/lib/hashForSchema.js.map +1 -1
- package/lib/idGenerators.d.ts +1 -1
- package/lib/index.d.ts +14 -7
- package/lib/index.js +5 -2
- package/lib/index.js.map +1 -1
- package/lib/isConstant.d.ts +1 -1
- package/lib/isCustomWidget.d.ts +1 -1
- package/lib/isCustomWidget.js +1 -1
- package/lib/isCustomWidget.js.map +1 -1
- package/lib/isFixedItems.d.ts +3 -3
- package/lib/isFixedItems.js +3 -3
- package/lib/isFixedItems.js.map +1 -1
- package/lib/isRootSchema.d.ts +1 -1
- package/lib/isRootSchema.js +2 -3
- package/lib/isRootSchema.js.map +1 -1
- package/lib/labelValue.d.ts +1 -1
- package/lib/logUnsupportedDefaultForEnum.d.ts +9 -0
- package/lib/logUnsupportedDefaultForEnum.js +18 -0
- package/lib/logUnsupportedDefaultForEnum.js.map +1 -0
- package/lib/lookupFromFormContext.d.ts +1 -1
- package/lib/mergeDefaultsWithFormData.js +6 -5
- package/lib/mergeDefaultsWithFormData.js.map +1 -1
- package/lib/mergeObjects.d.ts +4 -2
- package/lib/mergeObjects.js +1 -1
- package/lib/mergeObjects.js.map +1 -1
- package/lib/mergeSchemas.d.ts +4 -2
- package/lib/mergeSchemas.js +13 -6
- package/lib/mergeSchemas.js.map +1 -1
- package/lib/nameGenerators.d.ts +1 -1
- package/lib/optionsList.d.ts +1 -1
- package/lib/optionsList.js +22 -21
- package/lib/optionsList.js.map +1 -1
- package/lib/orderProperties.js +3 -3
- package/lib/orderProperties.js.map +1 -1
- package/lib/pad.js +1 -1
- package/lib/pad.js.map +1 -1
- package/lib/parseDateString.d.ts +1 -1
- package/lib/parseDateString.js +1 -1
- package/lib/parseDateString.js.map +1 -1
- package/lib/parser/ParserValidator.d.ts +2 -4
- package/lib/parser/ParserValidator.js +2 -0
- package/lib/parser/ParserValidator.js.map +1 -1
- package/lib/parser/index.d.ts +1 -1
- package/lib/parser/schemaParser.d.ts +2 -2
- package/lib/parser/schemaParser.js +7 -7
- package/lib/parser/schemaParser.js.map +1 -1
- package/lib/rangeSpec.d.ts +1 -2
- package/lib/rangeSpec.js.map +1 -1
- package/lib/removeOptionalEmptyObjects.d.ts +1 -1
- package/lib/removeOptionalEmptyObjects.js +6 -8
- package/lib/removeOptionalEmptyObjects.js.map +1 -1
- package/lib/resolveUiSchema.d.ts +1 -1
- package/lib/resolveUiSchema.js +16 -16
- package/lib/resolveUiSchema.js.map +1 -1
- package/lib/schema/findFieldInSchema.d.ts +1 -1
- package/lib/schema/findSelectedOptionInXxxOf.d.ts +1 -1
- package/lib/schema/findSelectedOptionInXxxOf.js +1 -3
- package/lib/schema/findSelectedOptionInXxxOf.js.map +1 -1
- package/lib/schema/getClosestMatchingOption.d.ts +1 -1
- package/lib/schema/getClosestMatchingOption.js +6 -9
- package/lib/schema/getClosestMatchingOption.js.map +1 -1
- package/lib/schema/getDefaultFormState.d.ts +4 -4
- package/lib/schema/getDefaultFormState.js +81 -43
- package/lib/schema/getDefaultFormState.js.map +1 -1
- package/lib/schema/getDisplayLabel.d.ts +1 -1
- package/lib/schema/getDisplayLabel.js +2 -3
- package/lib/schema/getDisplayLabel.js.map +1 -1
- package/lib/schema/getFirstMatchingOption.d.ts +1 -1
- package/lib/schema/getFirstMatchingOption.js +2 -2
- package/lib/schema/getFirstMatchingOption.js.map +1 -1
- package/lib/schema/getFromSchema.d.ts +1 -1
- package/lib/schema/index.js +9 -3
- package/lib/schema/index.js.map +1 -1
- package/lib/schema/isFilesArray.d.ts +1 -1
- package/lib/schema/isMultiSelect.d.ts +1 -1
- package/lib/schema/isMultiSelect.js.map +1 -1
- package/lib/schema/isSelect.d.ts +1 -1
- package/lib/schema/isSelect.js +1 -1
- package/lib/schema/isSelect.js.map +1 -1
- package/lib/schema/omitExtraData.d.ts +1 -1
- package/lib/schema/omitExtraData.js +66 -52
- package/lib/schema/omitExtraData.js.map +1 -1
- package/lib/schema/retrieveSchema.d.ts +7 -3
- package/lib/schema/retrieveSchema.js +83 -56
- package/lib/schema/retrieveSchema.js.map +1 -1
- package/lib/schema/sanitizeDataForNewSchema.d.ts +1 -1
- package/lib/schema/sanitizeDataForNewSchema.js +48 -7
- package/lib/schema/sanitizeDataForNewSchema.js.map +1 -1
- package/lib/schema/toPathSchema.d.ts +1 -1
- package/lib/schema/toPathSchema.js +9 -5
- package/lib/schema/toPathSchema.js.map +1 -1
- package/lib/schemaRequiresTrueValue.d.ts +1 -1
- package/lib/schemaRequiresTrueValue.js +4 -3
- package/lib/schemaRequiresTrueValue.js.map +1 -1
- package/lib/shallowEquals.js +2 -2
- package/lib/shallowEquals.js.map +1 -1
- package/lib/shouldRenderOptionalField.d.ts +1 -1
- package/lib/toConstant.d.ts +1 -1
- package/lib/toDateString.d.ts +1 -1
- package/lib/toErrorList.d.ts +1 -1
- package/lib/toErrorList.js +3 -3
- package/lib/toErrorList.js.map +1 -1
- package/lib/toErrorSchema.d.ts +1 -1
- package/lib/toFieldPathId.d.ts +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types.d.ts +63 -57
- package/lib/unwrapErrorHandler.d.ts +1 -1
- package/lib/unwrapErrorHandler.js +7 -9
- package/lib/unwrapErrorHandler.js.map +1 -1
- package/lib/useAltDateWidgetProps.d.ts +6 -6
- package/lib/useAltDateWidgetProps.js +3 -3
- package/lib/useAltDateWidgetProps.js.map +1 -1
- package/lib/useFileWidgetProps.d.ts +2 -2
- package/lib/useFileWidgetProps.js +3 -3
- package/lib/useFileWidgetProps.js.map +1 -1
- package/lib/validationDataMerge.d.ts +1 -1
- package/lib/withIdRefPrefix.d.ts +1 -1
- package/lib/withIdRefPrefix.js +12 -12
- package/lib/withIdRefPrefix.js.map +1 -1
- package/package.json +19 -19
- package/src/ErrorSchemaBuilder.ts +1 -1
- package/src/SelectedOptionDescription.tsx +48 -0
- package/src/allowAdditionalItems.ts +2 -1
- package/src/asNumber.ts +2 -0
- package/src/canExpand.ts +1 -1
- package/src/constIsAjvDataReference.ts +2 -2
- package/src/constants.ts +10 -7
- package/src/createErrorHandler.ts +6 -7
- package/src/createSchemaUtils.ts +4 -2
- package/src/dataURItoBlob.ts +3 -3
- package/src/dateRangeOptions.ts +9 -7
- package/src/englishStringTranslator.ts +1 -1
- package/src/enumOptionSelectedValue.ts +1 -1
- package/src/enumOptionValueDecoder.ts +2 -2
- package/src/enumOptionValueEncoder.ts +1 -1
- package/src/enumOptionsDeselectValue.ts +1 -1
- package/src/enumOptionsIndexForValue.ts +2 -2
- package/src/enumOptionsIsSelected.ts +1 -1
- package/src/enumOptionsSelectValue.ts +1 -1
- package/src/enumOptionsValueForIndex.ts +2 -2
- package/src/enums.ts +4 -0
- package/src/findSchemaDefinition.ts +18 -17
- package/src/getChangedFields.ts +5 -5
- package/src/getDateElementProps.ts +3 -3
- package/src/getDiscriminatorFieldFromSchema.ts +2 -1
- package/src/getInputProps.ts +1 -1
- package/src/getOptionMatchingSimpleDiscriminator.ts +11 -15
- package/src/getOptionValueFormat.ts +1 -1
- package/src/getSchemaType.ts +3 -2
- package/src/getSubmitButtonOptions.ts +3 -3
- package/src/getTemplate.ts +1 -1
- package/src/getTestIds.ts +1 -1
- package/src/getUiOptions.ts +10 -2
- package/src/getWidget.tsx +5 -6
- package/src/guessType.ts +1 -1
- package/src/hasWidget.ts +1 -1
- package/src/hashForSchema.ts +12 -5
- package/src/idGenerators.ts +1 -1
- package/src/index.ts +16 -5
- package/src/isConstant.ts +1 -1
- package/src/isCustomWidget.ts +2 -2
- package/src/isFixedItems.ts +4 -4
- package/src/isRootSchema.ts +3 -5
- package/src/labelValue.ts +1 -1
- package/src/logUnsupportedDefaultForEnum.ts +28 -0
- package/src/lookupFromFormContext.ts +1 -1
- package/src/mergeDefaultsWithFormData.ts +8 -7
- package/src/mergeObjects.ts +2 -2
- package/src/mergeSchemas.ts +14 -7
- package/src/nameGenerators.ts +1 -1
- package/src/optionsList.ts +21 -23
- package/src/orderProperties.ts +4 -4
- package/src/pad.ts +1 -1
- package/src/parseDateString.ts +2 -2
- package/src/parser/ParserValidator.ts +4 -4
- package/src/parser/index.ts +1 -1
- package/src/parser/schemaParser.ts +10 -9
- package/src/rangeSpec.ts +1 -2
- package/src/removeOptionalEmptyObjects.ts +8 -11
- package/src/resolveUiSchema.ts +32 -25
- package/src/schema/findFieldInSchema.ts +1 -1
- package/src/schema/findSelectedOptionInXxxOf.ts +17 -7
- package/src/schema/getClosestMatchingOption.ts +17 -11
- package/src/schema/getDefaultFormState.ts +104 -43
- package/src/schema/getDisplayLabel.ts +4 -5
- package/src/schema/getFirstMatchingOption.ts +3 -3
- package/src/schema/getFromSchema.ts +1 -1
- package/src/schema/index.ts +3 -0
- package/src/schema/isFilesArray.ts +1 -1
- package/src/schema/isMultiSelect.ts +7 -1
- package/src/schema/isSelect.ts +8 -2
- package/src/schema/omitExtraData.ts +73 -60
- package/src/schema/retrieveSchema.ts +131 -83
- package/src/schema/sanitizeDataForNewSchema.ts +57 -8
- package/src/schema/toPathSchema.ts +11 -7
- package/src/schemaRequiresTrueValue.ts +4 -4
- package/src/shallowEquals.ts +2 -2
- package/src/shouldRenderOptionalField.ts +1 -1
- package/src/toConstant.ts +1 -1
- package/src/toDateString.ts +1 -1
- package/src/toErrorList.ts +4 -4
- package/src/toErrorSchema.ts +1 -1
- package/src/toFieldPathId.ts +1 -1
- package/src/types.ts +92 -63
- package/src/unwrapErrorHandler.ts +11 -12
- package/src/useAltDateWidgetProps.tsx +10 -8
- package/src/useFileWidgetProps.ts +7 -7
- package/src/validationDataMerge.ts +1 -1
- package/src/withIdRefPrefix.ts +12 -12
|
@@ -6,7 +6,7 @@ import set from 'lodash-es/set.js';
|
|
|
6
6
|
import times from 'lodash-es/times.js';
|
|
7
7
|
import transform from 'lodash-es/transform.js';
|
|
8
8
|
import uniq from 'lodash-es/uniq.js';
|
|
9
|
-
import { ADDITIONAL_PROPERTIES_KEY, ADDITIONAL_PROPERTY_FLAG, ALL_OF_KEY, ANY_OF_KEY, DEPENDENCIES_KEY, ID_KEY, IF_KEY, ITEMS_KEY, ONE_OF_KEY, PATTERN_PROPERTIES_KEY, PROPERTIES_KEY, REF_KEY, RJSF_REF_KEY, } from '../constants.js';
|
|
9
|
+
import { ADDITIONAL_PROPERTIES_KEY, ADDITIONAL_PROPERTY_FLAG, ALL_OF_KEY, ANY_OF_KEY, DEPENDENCIES_KEY, ID_KEY, IF_KEY, ITEMS_KEY, ONE_OF_KEY, PATTERN_PROPERTIES_KEY, PROPERTIES_KEY, REF_KEY, RJSF_REF_CYCLE_KEY, RJSF_REF_KEY, } from '../constants.js';
|
|
10
10
|
import deepEquals from '../deepEquals.js';
|
|
11
11
|
import findSchemaDefinition, { splitKeyElementFromObject } from '../findSchemaDefinition.js';
|
|
12
12
|
import getDiscriminatorFieldFromSchema from '../getDiscriminatorFieldFromSchema.js';
|
|
@@ -30,6 +30,17 @@ import shallowAllOfMerge from './shallowAllOfMerge.js';
|
|
|
30
30
|
export default function retrieveSchema(validator, schema, rootSchema = {}, rawFormData, experimental_customMergeAllOf, resolveAnyOfOrOneOfRefs = false) {
|
|
31
31
|
return retrieveSchemaInternal(validator, schema, rootSchema, rawFormData, undefined, undefined, experimental_customMergeAllOf, resolveAnyOfOrOneOfRefs)[0];
|
|
32
32
|
}
|
|
33
|
+
/** Converts boolean schemas to equivalent object schemas for APIs that operate on `StrictRJSFSchema` objects.
|
|
34
|
+
*
|
|
35
|
+
* @param schema - The schema or boolean schema to normalize
|
|
36
|
+
* @returns - The original schema or an equivalent object schema
|
|
37
|
+
*/
|
|
38
|
+
function normalizeBooleanSchema(schema) {
|
|
39
|
+
if (typeof schema !== 'boolean') {
|
|
40
|
+
return schema;
|
|
41
|
+
}
|
|
42
|
+
return (schema ? {} : { not: {} });
|
|
43
|
+
}
|
|
33
44
|
/** Resolves a conditional block (if/else/then) by removing the condition and merging the appropriate conditional branch
|
|
34
45
|
* with the rest of the schema. If `expandAllBranches` is true, then the `retrieveSchemaInteral()` results for both
|
|
35
46
|
* conditions will be returned.
|
|
@@ -51,15 +62,18 @@ export function resolveCondition(validator, schema, rootSchema, expandAllBranche
|
|
|
51
62
|
let schemas = [];
|
|
52
63
|
if (expandAllBranches) {
|
|
53
64
|
if (then && typeof then !== 'boolean') {
|
|
54
|
-
|
|
65
|
+
const thenSchema = then;
|
|
66
|
+
schemas = schemas.concat(retrieveSchemaInternal(validator, thenSchema, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf));
|
|
55
67
|
}
|
|
56
68
|
if (otherwise && typeof otherwise !== 'boolean') {
|
|
57
|
-
|
|
69
|
+
const otherwiseSchema = otherwise;
|
|
70
|
+
schemas = schemas.concat(retrieveSchemaInternal(validator, otherwiseSchema, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf));
|
|
58
71
|
}
|
|
59
72
|
}
|
|
60
73
|
else {
|
|
61
|
-
const
|
|
62
|
-
if (
|
|
74
|
+
const conditionalBranch = (conditionValue ? then : otherwise);
|
|
75
|
+
if (conditionalBranch !== undefined) {
|
|
76
|
+
const conditionalSchema = normalizeBooleanSchema(conditionalBranch);
|
|
63
77
|
schemas = schemas.concat(retrieveSchemaInternal(validator, conditionalSchema, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf));
|
|
64
78
|
}
|
|
65
79
|
}
|
|
@@ -133,9 +147,7 @@ export function resolveSchema(validator, schema, rootSchema, expandAllBranches,
|
|
|
133
147
|
}
|
|
134
148
|
if (DEPENDENCIES_KEY in schema) {
|
|
135
149
|
const resolvedSchemas = resolveDependencies(validator, schema, rootSchema, expandAllBranches, recurseList, formData, experimental_customMergeAllOf);
|
|
136
|
-
return resolvedSchemas.flatMap((s) =>
|
|
137
|
-
return retrieveSchemaInternal(validator, s, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf);
|
|
138
|
-
});
|
|
150
|
+
return resolvedSchemas.flatMap((s) => retrieveSchemaInternal(validator, s, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf));
|
|
139
151
|
}
|
|
140
152
|
if (ALL_OF_KEY in schema && Array.isArray(schema[ALL_OF_KEY])) {
|
|
141
153
|
const allOfSchemaElements = schema.allOf.map((allOfSubschema) => retrieveSchemaInternal(validator, allOfSubschema, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf));
|
|
@@ -178,33 +190,42 @@ export function resolveReference(validator, schema, rootSchema, expandAllBranche
|
|
|
178
190
|
* @param recurseList - List of $refs already resolved to prevent recursion
|
|
179
191
|
* @param [baseURI] - The base URI to be used for resolving relative references
|
|
180
192
|
* @param [resolveAnyOfOrOneOfRefs] - Optional flag indicating whether to resolved refs in anyOf/oneOf lists
|
|
193
|
+
* @param [markCycleOnDetection=false] - When true and a recursive $ref is detected, the returned schema is tagged
|
|
194
|
+
* with `__rjsf_ref_cycle: true` so that `SchemaField` can render a cycle indicator instead of recursing.
|
|
195
|
+
* Should only be `true` when called from an **object-property** context, because object properties are always
|
|
196
|
+
* rendered (creating an infinite loop), whereas array items and anyOf/oneOf branches are data-driven.
|
|
181
197
|
* @returns - given schema will all references resolved or the original schema if no internal `$refs` were resolved
|
|
182
198
|
*/
|
|
183
|
-
export function resolveAllReferences(schema, rootSchema, recurseList, baseURI, resolveAnyOfOrOneOfRefs) {
|
|
199
|
+
export function resolveAllReferences(schema, rootSchema, recurseList, baseURI, resolveAnyOfOrOneOfRefs, markCycleOnDetection = false) {
|
|
184
200
|
if (!isObject(schema)) {
|
|
185
201
|
return schema;
|
|
186
202
|
}
|
|
187
203
|
let resolvedSchema = schema;
|
|
204
|
+
let currentBaseURI = baseURI;
|
|
188
205
|
// resolve top level ref
|
|
189
206
|
if (REF_KEY in resolvedSchema) {
|
|
190
207
|
const { $ref, ...localSchema } = resolvedSchema;
|
|
191
208
|
// Check for a recursive reference and stop the loop
|
|
192
209
|
if (recurseList.includes($ref)) {
|
|
193
|
-
return resolvedSchema;
|
|
210
|
+
return markCycleOnDetection ? { ...resolvedSchema, [RJSF_REF_CYCLE_KEY]: true } : resolvedSchema;
|
|
194
211
|
}
|
|
195
212
|
recurseList.push($ref);
|
|
196
213
|
// Retrieve the referenced schema definition.
|
|
197
|
-
const refSchema = findSchemaDefinition($ref, rootSchema,
|
|
214
|
+
const refSchema = findSchemaDefinition($ref, rootSchema, currentBaseURI);
|
|
198
215
|
resolvedSchema = { ...refSchema, ...localSchema, [RJSF_REF_KEY]: $ref };
|
|
199
216
|
if (ID_KEY in resolvedSchema) {
|
|
200
|
-
|
|
217
|
+
currentBaseURI = resolvedSchema[ID_KEY];
|
|
201
218
|
}
|
|
202
219
|
}
|
|
203
220
|
if (PROPERTIES_KEY in resolvedSchema) {
|
|
204
221
|
const childrenLists = [];
|
|
205
|
-
const updatedProps = transform(resolvedSchema[PROPERTIES_KEY], (
|
|
222
|
+
const updatedProps = transform(resolvedSchema[PROPERTIES_KEY], (acc, value, key) => {
|
|
206
223
|
const childList = [...recurseList];
|
|
207
|
-
|
|
224
|
+
// Mark cycles only when NOT in resolveAnyOfOrOneOfRefs mode. When resolveAnyOfOrOneOfRefs=true
|
|
225
|
+
// (e.g. from ObjectField), options are resolved against a shared recurseList that accumulates
|
|
226
|
+
// refs across branches, causing false positives. In simple (non-anyOf) resolution, a $ref cycle
|
|
227
|
+
// in an object property always causes an infinite render loop and must be caught.
|
|
228
|
+
acc[key] = resolveAllReferences(value, rootSchema, childList, currentBaseURI, resolveAnyOfOrOneOfRefs, !resolveAnyOfOrOneOfRefs);
|
|
208
229
|
childrenLists.push(childList);
|
|
209
230
|
}, {});
|
|
210
231
|
merge(recurseList, uniq(flattenDeep(childrenLists)));
|
|
@@ -215,7 +236,8 @@ export function resolveAllReferences(schema, rootSchema, recurseList, baseURI, r
|
|
|
215
236
|
typeof resolvedSchema.items !== 'boolean') {
|
|
216
237
|
resolvedSchema = {
|
|
217
238
|
...resolvedSchema,
|
|
218
|
-
|
|
239
|
+
// Array items are only rendered when data exists, so a $ref cycle here does NOT cause an infinite render.
|
|
240
|
+
items: resolveAllReferences(resolvedSchema.items, rootSchema, recurseList, currentBaseURI, resolveAnyOfOrOneOfRefs),
|
|
219
241
|
};
|
|
220
242
|
}
|
|
221
243
|
if (resolveAnyOfOrOneOfRefs) {
|
|
@@ -232,7 +254,7 @@ export function resolveAllReferences(schema, rootSchema, recurseList, baseURI, r
|
|
|
232
254
|
if (key && schemas) {
|
|
233
255
|
resolvedSchema = {
|
|
234
256
|
...resolvedSchema,
|
|
235
|
-
[key]: schemas.map((s) => resolveAllReferences(s, rootSchema, recurseList,
|
|
257
|
+
[key]: schemas.map((s) => resolveAllReferences(s, rootSchema, recurseList, currentBaseURI, resolveAnyOfOrOneOfRefs)),
|
|
236
258
|
};
|
|
237
259
|
}
|
|
238
260
|
}
|
|
@@ -264,7 +286,7 @@ export function stubExistingAdditionalProperties(validator, theSchema, rootSchem
|
|
|
264
286
|
const matchingProperties = getMatchingPatternProperties(schema, key);
|
|
265
287
|
if (!isEmpty(matchingProperties)) {
|
|
266
288
|
schema.properties[key] = retrieveSchema(validator, { [ALL_OF_KEY]: Object.values(matchingProperties) }, rootSchema, get(formData, [key]), experimental_customMergeAllOf);
|
|
267
|
-
|
|
289
|
+
schema.properties[key][ADDITIONAL_PROPERTY_FLAG] = true;
|
|
268
290
|
return;
|
|
269
291
|
}
|
|
270
292
|
}
|
|
@@ -272,7 +294,7 @@ export function stubExistingAdditionalProperties(validator, theSchema, rootSchem
|
|
|
272
294
|
let additionalProperties;
|
|
273
295
|
if (typeof schema.additionalProperties !== 'boolean') {
|
|
274
296
|
if (REF_KEY in schema.additionalProperties) {
|
|
275
|
-
additionalProperties = retrieveSchema(validator, { [REF_KEY]: get(schema.additionalProperties, [REF_KEY]) }, rootSchema, formData, experimental_customMergeAllOf);
|
|
297
|
+
additionalProperties = retrieveSchema(validator, { [REF_KEY]: get(schema.additionalProperties, [REF_KEY]) }, rootSchema, get(formData, [key]), experimental_customMergeAllOf);
|
|
276
298
|
}
|
|
277
299
|
else if ('type' in schema.additionalProperties) {
|
|
278
300
|
additionalProperties = { ...schema.additionalProperties };
|
|
@@ -293,13 +315,13 @@ export function stubExistingAdditionalProperties(validator, theSchema, rootSchem
|
|
|
293
315
|
// The type of our new key should match the additionalProperties value;
|
|
294
316
|
schema.properties[key] = additionalProperties;
|
|
295
317
|
// Set our additional property flag so we know it was dynamically added
|
|
296
|
-
|
|
318
|
+
schema.properties[key][ADDITIONAL_PROPERTY_FLAG] = true;
|
|
297
319
|
}
|
|
298
320
|
else {
|
|
299
321
|
// Invalid property
|
|
300
322
|
schema.properties[key] = { type: 'null' };
|
|
301
323
|
// Set our additional property flag so we know it was dynamically added
|
|
302
|
-
|
|
324
|
+
schema.properties[key][ADDITIONAL_PROPERTY_FLAG] = true;
|
|
303
325
|
}
|
|
304
326
|
});
|
|
305
327
|
return schema;
|
|
@@ -349,12 +371,20 @@ export function retrieveSchemaInternal(validator, schema, rootSchema, rawFormDat
|
|
|
349
371
|
try {
|
|
350
372
|
const withContainsSchemas = [];
|
|
351
373
|
const withoutContainsSchemas = [];
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
374
|
+
// Collect Symbol-keyed properties from allOf subschemas before merging; shallowAllOfMerge
|
|
375
|
+
// (external library) only operates on string keys and will drop them.
|
|
376
|
+
const allOfSymbols = {};
|
|
377
|
+
(_a = resolvedSchema.allOf) === null || _a === void 0 ? void 0 : _a.forEach((allOfItem) => {
|
|
378
|
+
if (typeof allOfItem === 'object' && allOfItem.contains) {
|
|
379
|
+
withContainsSchemas.push(allOfItem);
|
|
355
380
|
}
|
|
356
381
|
else {
|
|
357
|
-
withoutContainsSchemas.push(
|
|
382
|
+
withoutContainsSchemas.push(allOfItem);
|
|
383
|
+
for (const sym of Object.getOwnPropertySymbols(allOfItem)) {
|
|
384
|
+
if (!(sym in allOfSymbols)) {
|
|
385
|
+
allOfSymbols[sym] = allOfItem[sym];
|
|
386
|
+
}
|
|
387
|
+
}
|
|
358
388
|
}
|
|
359
389
|
});
|
|
360
390
|
if (withContainsSchemas.length) {
|
|
@@ -363,23 +393,28 @@ export function retrieveSchemaInternal(validator, schema, rootSchema, rawFormDat
|
|
|
363
393
|
resolvedSchema = experimental_customMergeAllOf
|
|
364
394
|
? experimental_customMergeAllOf(resolvedSchema)
|
|
365
395
|
: mergeAllOf(resolvedSchema);
|
|
396
|
+
// Re-apply collected Symbol properties that the merge dropped.
|
|
397
|
+
for (const sym of Object.getOwnPropertySymbols(allOfSymbols)) {
|
|
398
|
+
resolvedSchema[sym] = allOfSymbols[sym];
|
|
399
|
+
}
|
|
366
400
|
if (withContainsSchemas.length) {
|
|
367
401
|
resolvedSchema.allOf = withContainsSchemas;
|
|
368
402
|
}
|
|
369
403
|
}
|
|
370
404
|
catch (e) {
|
|
405
|
+
// oxlint-disable-next-line no-console
|
|
371
406
|
console.warn('could not merge subschemas in allOf:\n', e);
|
|
372
407
|
const { allOf, ...resolvedSchemaWithoutAllOf } = resolvedSchema;
|
|
373
408
|
return resolvedSchemaWithoutAllOf;
|
|
374
409
|
}
|
|
375
410
|
}
|
|
376
411
|
if (PROPERTIES_KEY in resolvedSchema && PATTERN_PROPERTIES_KEY in resolvedSchema) {
|
|
377
|
-
resolvedSchema = Object.keys(resolvedSchema.properties).reduce((
|
|
378
|
-
const matchingProperties = getMatchingPatternProperties(
|
|
412
|
+
resolvedSchema = Object.keys(resolvedSchema.properties).reduce((acc, key) => {
|
|
413
|
+
const matchingProperties = getMatchingPatternProperties(acc, key);
|
|
379
414
|
if (!isEmpty(matchingProperties)) {
|
|
380
|
-
|
|
415
|
+
acc.properties[key] = retrieveSchema(validator, { allOf: [acc.properties[key], ...Object.values(matchingProperties)] }, rootSchema, get(rawFormData, [key]), experimental_customMergeAllOf);
|
|
381
416
|
}
|
|
382
|
-
return
|
|
417
|
+
return acc;
|
|
383
418
|
}, {
|
|
384
419
|
...resolvedSchema,
|
|
385
420
|
properties: { ...resolvedSchema.properties },
|
|
@@ -418,11 +453,7 @@ export function resolveAnyOrOneOfSchemas(validator, schema, rootSchema, expandAl
|
|
|
418
453
|
// Ensure that during expand all branches we pass an object rather than undefined so that all options are interrogated
|
|
419
454
|
const formData = rawFormData === undefined && expandAllBranches ? {} : rawFormData;
|
|
420
455
|
const discriminator = getDiscriminatorFieldFromSchema(schema);
|
|
421
|
-
anyOrOneOf = anyOrOneOf.map((s) =>
|
|
422
|
-
// Due to anyOf/oneOf possibly using the same $ref we always pass a fresh recurse list array so that each option
|
|
423
|
-
// can resolve recursive references independently
|
|
424
|
-
return resolveAllReferences(s, rootSchema, []);
|
|
425
|
-
});
|
|
456
|
+
anyOrOneOf = anyOrOneOf.map((s) => resolveAllReferences(s, rootSchema, []));
|
|
426
457
|
// Call this to trigger the set of isValid() calls that the schema parser will need
|
|
427
458
|
const option = getFirstMatchingOption(validator, formData, anyOrOneOf, rootSchema, discriminator);
|
|
428
459
|
if (expandAllBranches) {
|
|
@@ -436,7 +467,7 @@ export function resolveAnyOrOneOfSchemas(validator, schema, rootSchema, expandAl
|
|
|
436
467
|
getFirstMatchingOption(validator, formData, relaxed, rootSchema, discriminator);
|
|
437
468
|
return anyOrOneOf.map((item) => mergeSchemas(remaining, item));
|
|
438
469
|
}
|
|
439
|
-
|
|
470
|
+
return [mergeSchemas(remaining, anyOrOneOf[option])];
|
|
440
471
|
}
|
|
441
472
|
return [schema];
|
|
442
473
|
}
|
|
@@ -457,7 +488,7 @@ export function resolveAnyOrOneOfSchemas(validator, schema, rootSchema, expandAl
|
|
|
457
488
|
export function relaxOptionsForScoring(options, resolveRefs = false, rootSchema) {
|
|
458
489
|
return options.map((d) => {
|
|
459
490
|
if (!isObject(d)) {
|
|
460
|
-
return (d
|
|
491
|
+
return normalizeBooleanSchema(d);
|
|
461
492
|
}
|
|
462
493
|
const schema = resolveRefs && rootSchema ? resolveAllReferences(d, rootSchema, []) : d;
|
|
463
494
|
return schema.additionalProperties === false ? { ...schema, additionalProperties: true } : schema;
|
|
@@ -500,22 +531,17 @@ export function processDependencies(validator, dependencies, resolvedSchema, roo
|
|
|
500
531
|
let schemas = [resolvedSchema];
|
|
501
532
|
// Process dependencies updating the local schema properties as appropriate.
|
|
502
533
|
for (const dependencyKey in dependencies) {
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
schemas[0] = withDependentProperties(resolvedSchema, dependencyValue);
|
|
514
|
-
}
|
|
515
|
-
else if (isObject(dependencyValue)) {
|
|
516
|
-
schemas = withDependentSchema(validator, resolvedSchema, rootSchema, dependencyKey, dependencyValue, expandAllBranches, recurseList, formData, experimental_customMergeAllOf);
|
|
534
|
+
if ((expandAllBranches || get(formData, [dependencyKey]) !== undefined) &&
|
|
535
|
+
(!resolvedSchema.properties || dependencyKey in resolvedSchema.properties)) {
|
|
536
|
+
const [remainingDependencies, dependencyValue] = splitKeyElementFromObject(dependencyKey, dependencies);
|
|
537
|
+
if (Array.isArray(dependencyValue)) {
|
|
538
|
+
schemas[0] = withDependentProperties(resolvedSchema, dependencyValue);
|
|
539
|
+
}
|
|
540
|
+
else if (isObject(dependencyValue)) {
|
|
541
|
+
schemas = withDependentSchema(validator, resolvedSchema, rootSchema, dependencyKey, dependencyValue, expandAllBranches, recurseList, formData, experimental_customMergeAllOf);
|
|
542
|
+
}
|
|
543
|
+
return schemas.flatMap((schema) => processDependencies(validator, remainingDependencies, schema, rootSchema, expandAllBranches, recurseList, formData, experimental_customMergeAllOf));
|
|
517
544
|
}
|
|
518
|
-
return schemas.flatMap((schema) => processDependencies(validator, remainingDependencies, schema, rootSchema, expandAllBranches, recurseList, formData, experimental_customMergeAllOf));
|
|
519
545
|
}
|
|
520
546
|
return schemas;
|
|
521
547
|
}
|
|
@@ -532,7 +558,7 @@ export function withDependentProperties(schema, additionallyRequired) {
|
|
|
532
558
|
const required = Array.isArray(schema.required)
|
|
533
559
|
? Array.from(new Set([...schema.required, ...additionallyRequired]))
|
|
534
560
|
: additionallyRequired;
|
|
535
|
-
return { ...schema, required
|
|
561
|
+
return { ...schema, required };
|
|
536
562
|
}
|
|
537
563
|
/** Merges a dependent schema into the `schema` dealing with oneOfs and references. Passes the `expandAllBranches` flag
|
|
538
564
|
* down to the `retrieveSchemaInternal()`, `resolveReference()` and `withExactlyOneSubschema()` helper calls.
|
|
@@ -553,10 +579,10 @@ export function withDependentSchema(validator, schema, rootSchema, dependencyKey
|
|
|
553
579
|
const dependentSchemas = retrieveSchemaInternal(validator, dependencyValue, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf);
|
|
554
580
|
return dependentSchemas.flatMap((dependent) => {
|
|
555
581
|
const { oneOf, ...dependentSchema } = dependent;
|
|
556
|
-
|
|
582
|
+
const mergedSchema = mergeSchemas(schema, dependentSchema);
|
|
557
583
|
// Since it does not contain oneOf, we return the original schema.
|
|
558
584
|
if (oneOf === undefined) {
|
|
559
|
-
return
|
|
585
|
+
return mergedSchema;
|
|
560
586
|
}
|
|
561
587
|
// Resolve $refs inside oneOf.
|
|
562
588
|
const resolvedOneOfs = oneOf.map((subschema) => {
|
|
@@ -566,7 +592,7 @@ export function withDependentSchema(validator, schema, rootSchema, dependencyKey
|
|
|
566
592
|
return resolveReference(validator, subschema, rootSchema, expandAllBranches, recurseList, formData);
|
|
567
593
|
});
|
|
568
594
|
const allPermutations = getAllPermutationsOfXxxOf(resolvedOneOfs);
|
|
569
|
-
return allPermutations.flatMap((resolvedOneOf) => withExactlyOneSubschema(validator,
|
|
595
|
+
return allPermutations.flatMap((resolvedOneOf) => withExactlyOneSubschema(validator, mergedSchema, rootSchema, dependencyKey, resolvedOneOf, expandAllBranches, recurseList, formData, experimental_customMergeAllOf));
|
|
570
596
|
});
|
|
571
597
|
}
|
|
572
598
|
/** Returns a list of `schema`s with the best choice from the `oneOf` options merged into it. If `expandAllBranches` is
|
|
@@ -587,7 +613,7 @@ export function withDependentSchema(validator, schema, rootSchema, dependencyKey
|
|
|
587
613
|
*/
|
|
588
614
|
export function withExactlyOneSubschema(validator, schema, rootSchema, dependencyKey, oneOf, expandAllBranches, recurseList, formData, experimental_customMergeAllOf) {
|
|
589
615
|
const validSubschemas = oneOf.filter((subschema) => {
|
|
590
|
-
if (typeof subschema === 'boolean' || !subschema ||
|
|
616
|
+
if (typeof subschema === 'boolean' || !(subschema === null || subschema === void 0 ? void 0 : subschema.properties)) {
|
|
591
617
|
return false;
|
|
592
618
|
}
|
|
593
619
|
const { [dependencyKey]: conditionPropertySchema } = subschema.properties;
|
|
@@ -603,6 +629,7 @@ export function withExactlyOneSubschema(validator, schema, rootSchema, dependenc
|
|
|
603
629
|
return false;
|
|
604
630
|
});
|
|
605
631
|
if (!expandAllBranches && validSubschemas.length !== 1) {
|
|
632
|
+
// oxlint-disable-next-line no-console
|
|
606
633
|
console.warn("ignoring oneOf in dependencies because there isn't exactly one subschema that is valid");
|
|
607
634
|
return [schema];
|
|
608
635
|
}
|
|
@@ -611,7 +638,7 @@ export function withExactlyOneSubschema(validator, schema, rootSchema, dependenc
|
|
|
611
638
|
const [dependentSubschema] = splitKeyElementFromObject(dependencyKey, subschema.properties);
|
|
612
639
|
const dependentSchema = { ...subschema, properties: dependentSubschema };
|
|
613
640
|
const schemas = retrieveSchemaInternal(validator, dependentSchema, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf);
|
|
614
|
-
return schemas.map((
|
|
641
|
+
return schemas.map((resolvedSubschema) => mergeSchemas(schema, resolvedSubschema));
|
|
615
642
|
});
|
|
616
643
|
}
|
|
617
644
|
//# sourceMappingURL=retrieveSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrieveSchema.js","sourceRoot":"","sources":["../../src/schema/retrieveSchema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"retrieveSchema.js","sourceRoot":"","sources":["../../src/schema/retrieveSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Experimental_CustomMergeAllOf, FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types.js';
|
|
1
|
+
import type { Experimental_CustomMergeAllOf, FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types.js';
|
|
2
2
|
/** Sanitize the `data` associated with the `oldSchema` so it is considered appropriate for the `newSchema`. If the new
|
|
3
3
|
* schema does not contain any properties, then `undefined` is returned to clear all the form data. Due to the nature
|
|
4
4
|
* of schemas, this sanitization happens recursively for nested objects of data. Also, any properties in the old schema
|
|
@@ -1,8 +1,38 @@
|
|
|
1
1
|
import get from 'lodash-es/get.js';
|
|
2
2
|
import has from 'lodash-es/has.js';
|
|
3
|
-
import { PROPERTIES_KEY, REF_KEY } from '../constants.js';
|
|
3
|
+
import { CONST_KEY, DEFAULT_KEY, PROPERTIES_KEY, REF_KEY } from '../constants.js';
|
|
4
|
+
import deepEquals from '../deepEquals.js';
|
|
4
5
|
import retrieveSchema from './retrieveSchema.js';
|
|
5
6
|
const NO_VALUE = Symbol('no Value');
|
|
7
|
+
function enumValuesForSchema(schema) {
|
|
8
|
+
if (Array.isArray(schema.enum)) {
|
|
9
|
+
return schema.enum;
|
|
10
|
+
}
|
|
11
|
+
const options = (schema.oneOf || schema.anyOf);
|
|
12
|
+
if (!Array.isArray(options)) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
const values = options
|
|
16
|
+
.map((option) => {
|
|
17
|
+
if (CONST_KEY in option) {
|
|
18
|
+
return option[CONST_KEY];
|
|
19
|
+
}
|
|
20
|
+
return Array.isArray(option.enum) && option.enum.length === 1 ? option.enum[0] : NO_VALUE;
|
|
21
|
+
})
|
|
22
|
+
.filter((value) => value !== NO_VALUE);
|
|
23
|
+
return values.length > 0 ? values : undefined;
|
|
24
|
+
}
|
|
25
|
+
function replacementForInvalidEnumValue(schema, formValue) {
|
|
26
|
+
const enumValues = enumValuesForSchema(schema);
|
|
27
|
+
if (!enumValues || enumValues.some((value) => deepEquals(value, formValue))) {
|
|
28
|
+
return NO_VALUE;
|
|
29
|
+
}
|
|
30
|
+
const defaultValue = get(schema, DEFAULT_KEY, NO_VALUE);
|
|
31
|
+
if (defaultValue !== NO_VALUE && enumValues.some((value) => deepEquals(value, defaultValue))) {
|
|
32
|
+
return defaultValue;
|
|
33
|
+
}
|
|
34
|
+
return enumValues.length === 1 ? enumValues[0] : undefined;
|
|
35
|
+
}
|
|
6
36
|
/** Sanitize the `data` associated with the `oldSchema` so it is considered appropriate for the `newSchema`. If the new
|
|
7
37
|
* schema does not contain any properties, then `undefined` is returned to clear all the form data. Due to the nature
|
|
8
38
|
* of schemas, this sanitization happens recursively for nested objects of data. Also, any properties in the old schema
|
|
@@ -102,8 +132,8 @@ export default function sanitizeDataForNewSchema(validator, rootSchema, newSchem
|
|
|
102
132
|
// Ok, the non-object types match, let's make sure that a default or a const of a different value is replaced
|
|
103
133
|
// with the new default or const. This allows the case where two schemas differ that only by the default/const
|
|
104
134
|
// value to be properly selected
|
|
105
|
-
const newOptionDefault = get(newKeyedSchema,
|
|
106
|
-
const oldOptionDefault = get(oldKeyedSchema,
|
|
135
|
+
const newOptionDefault = get(newKeyedSchema, DEFAULT_KEY, NO_VALUE);
|
|
136
|
+
const oldOptionDefault = get(oldKeyedSchema, DEFAULT_KEY, NO_VALUE);
|
|
107
137
|
if (newOptionDefault !== NO_VALUE && newOptionDefault !== formValue) {
|
|
108
138
|
if (oldOptionDefault === formValue) {
|
|
109
139
|
// If the old default matches the formValue, we'll update the new value to match the new default
|
|
@@ -114,17 +144,23 @@ export default function sanitizeDataForNewSchema(validator, rootSchema, newSchem
|
|
|
114
144
|
removeOldSchemaData[key] = undefined;
|
|
115
145
|
}
|
|
116
146
|
}
|
|
117
|
-
const newOptionConst = get(newKeyedSchema,
|
|
118
|
-
const oldOptionConst = get(oldKeyedSchema,
|
|
147
|
+
const newOptionConst = get(newKeyedSchema, CONST_KEY, NO_VALUE);
|
|
148
|
+
const oldOptionConst = get(oldKeyedSchema, CONST_KEY, NO_VALUE);
|
|
119
149
|
if (newOptionConst !== NO_VALUE && newOptionConst !== formValue) {
|
|
120
150
|
// Since this is a const, if the old value matches, replace the value with the new const otherwise clear it
|
|
121
151
|
removeOldSchemaData[key] = oldOptionConst === formValue ? newOptionConst : undefined;
|
|
122
152
|
}
|
|
153
|
+
if (has(data, key)) {
|
|
154
|
+
const enumReplacement = replacementForInvalidEnumValue(newKeyedSchema, formValue);
|
|
155
|
+
if (enumReplacement !== NO_VALUE) {
|
|
156
|
+
removeOldSchemaData[key] = enumReplacement;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
123
159
|
}
|
|
124
160
|
}
|
|
125
161
|
});
|
|
126
162
|
newFormData = {
|
|
127
|
-
...(typeof data
|
|
163
|
+
...(typeof data === 'string' || Array.isArray(data) ? undefined : data),
|
|
128
164
|
...removeOldSchemaData,
|
|
129
165
|
...nestedData,
|
|
130
166
|
};
|
|
@@ -161,7 +197,12 @@ export default function sanitizeDataForNewSchema(validator, rootSchema, newSchem
|
|
|
161
197
|
}, []);
|
|
162
198
|
}
|
|
163
199
|
else {
|
|
164
|
-
|
|
200
|
+
// Filter out items that are no longer valid in the new items schema (e.g., enum values that changed)
|
|
201
|
+
const newItemEnumValues = enumValuesForSchema(newSchemaItems);
|
|
202
|
+
const filteredData = newItemEnumValues
|
|
203
|
+
? data.filter((item) => newItemEnumValues.some((v) => deepEquals(v, item)))
|
|
204
|
+
: data;
|
|
205
|
+
newFormData = maxItems > 0 && filteredData.length > maxItems ? filteredData.slice(0, maxItems) : filteredData;
|
|
165
206
|
}
|
|
166
207
|
}
|
|
167
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitizeDataForNewSchema.js","sourceRoot":"","sources":["../../src/schema/sanitizeDataForNewSchema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"sanitizeDataForNewSchema.js","sourceRoot":"","sources":["../../src/schema/sanitizeDataForNewSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Experimental_CustomMergeAllOf, FormContextType, PathSchema, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types.js';
|
|
1
|
+
import type { Experimental_CustomMergeAllOf, FormContextType, PathSchema, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types.js';
|
|
2
2
|
/** Generates an `PathSchema` object for the `schema`, recursively
|
|
3
3
|
*
|
|
4
4
|
* @param validator - An implementation of the `ValidatorType` interface that will be used when necessary
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// oxlint-disable typescript/no-deprecated
|
|
1
2
|
import get from 'lodash-es/get.js';
|
|
2
3
|
import isObject from 'lodash-es/isObject.js';
|
|
3
4
|
import set from 'lodash-es/set.js';
|
|
@@ -20,10 +21,10 @@ import retrieveSchema from './retrieveSchema.js';
|
|
|
20
21
|
*/
|
|
21
22
|
function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _recurseList = [], experimental_customMergeAllOf) {
|
|
22
23
|
if (REF_KEY in schema || DEPENDENCIES_KEY in schema || ALL_OF_KEY in schema || IF_KEY in schema) {
|
|
23
|
-
const
|
|
24
|
-
const sameSchemaIndex = _recurseList.findIndex((item) => deepEquals(item,
|
|
24
|
+
const innerSchema = retrieveSchema(validator, schema, rootSchema, formData, experimental_customMergeAllOf);
|
|
25
|
+
const sameSchemaIndex = _recurseList.findIndex((item) => deepEquals(item, innerSchema));
|
|
25
26
|
if (sameSchemaIndex === -1) {
|
|
26
|
-
return toPathSchemaInternal(validator,
|
|
27
|
+
return toPathSchemaInternal(validator, innerSchema, name, rootSchema, formData, _recurseList.concat(innerSchema), experimental_customMergeAllOf);
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
let pathSchema = {
|
|
@@ -33,10 +34,10 @@ function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _re
|
|
|
33
34
|
const xxxOf = ONE_OF_KEY in schema ? schema.oneOf : schema.anyOf;
|
|
34
35
|
const discriminator = getDiscriminatorFieldFromSchema(schema);
|
|
35
36
|
const index = getClosestMatchingOption(validator, rootSchema, formData, xxxOf, 0, discriminator, experimental_customMergeAllOf);
|
|
36
|
-
const
|
|
37
|
+
const innerSchema = xxxOf[index];
|
|
37
38
|
pathSchema = {
|
|
38
39
|
...pathSchema,
|
|
39
|
-
...toPathSchemaInternal(validator,
|
|
40
|
+
...toPathSchemaInternal(validator, innerSchema, name, rootSchema, formData, _recurseList, experimental_customMergeAllOf),
|
|
40
41
|
};
|
|
41
42
|
}
|
|
42
43
|
if (ADDITIONAL_PROPERTIES_KEY in schema && schema[ADDITIONAL_PROPERTIES_KEY] !== false) {
|
|
@@ -60,6 +61,7 @@ function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _re
|
|
|
60
61
|
pathSchema[i] = toPathSchemaInternal(validator, schemaAdditionalItems, `${name}.${i}`, rootSchema, element, _recurseList, experimental_customMergeAllOf);
|
|
61
62
|
}
|
|
62
63
|
else {
|
|
64
|
+
// oxlint-disable-next-line no-console
|
|
63
65
|
console.warn(`Unable to generate path schema for "${name}.${i}". No schema defined for it`);
|
|
64
66
|
}
|
|
65
67
|
});
|
|
@@ -71,6 +73,8 @@ function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _re
|
|
|
71
73
|
}
|
|
72
74
|
}
|
|
73
75
|
else if (PROPERTIES_KEY in schema) {
|
|
76
|
+
// This is a deprecated function that is no longer used by RJSF
|
|
77
|
+
// oxlint-disable-next-line guard-for-in
|
|
74
78
|
for (const property in schema.properties) {
|
|
75
79
|
const field = get(schema, [PROPERTIES_KEY, property], {});
|
|
76
80
|
pathSchema[property] = toPathSchemaInternal(validator, field, `${name}.${property}`, rootSchema,
|