@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.
Files changed (289) hide show
  1. package/LICENSE.md +201 -0
  2. package/dist/index.cjs +534 -376
  3. package/dist/index.cjs.map +4 -4
  4. package/dist/utils.esm.js +534 -376
  5. package/dist/utils.esm.js.map +4 -4
  6. package/dist/utils.umd.js +561 -400
  7. package/lib/ErrorSchemaBuilder.d.ts +1 -1
  8. package/lib/SelectedOptionDescription.d.ts +4 -0
  9. package/lib/SelectedOptionDescription.js +24 -0
  10. package/lib/SelectedOptionDescription.js.map +1 -0
  11. package/lib/allowAdditionalItems.d.ts +1 -1
  12. package/lib/allowAdditionalItems.js +1 -0
  13. package/lib/allowAdditionalItems.js.map +1 -1
  14. package/lib/asNumber.js +2 -0
  15. package/lib/asNumber.js.map +1 -1
  16. package/lib/canExpand.d.ts +1 -1
  17. package/lib/constIsAjvDataReference.d.ts +1 -1
  18. package/lib/constants.d.ts +8 -5
  19. package/lib/constants.js +10 -7
  20. package/lib/constants.js.map +1 -1
  21. package/lib/createErrorHandler.d.ts +1 -1
  22. package/lib/createErrorHandler.js +2 -6
  23. package/lib/createErrorHandler.js.map +1 -1
  24. package/lib/createSchemaUtils.d.ts +1 -1
  25. package/lib/createSchemaUtils.js +3 -1
  26. package/lib/createSchemaUtils.js.map +1 -1
  27. package/lib/dataURItoBlob.js +3 -3
  28. package/lib/dataURItoBlob.js.map +1 -1
  29. package/lib/dateRangeOptions.d.ts +1 -1
  30. package/lib/dateRangeOptions.js +8 -7
  31. package/lib/dateRangeOptions.js.map +1 -1
  32. package/lib/englishStringTranslator.d.ts +1 -1
  33. package/lib/enumOptionSelectedValue.d.ts +1 -1
  34. package/lib/enumOptionValueDecoder.d.ts +1 -1
  35. package/lib/enumOptionValueDecoder.js +1 -1
  36. package/lib/enumOptionValueDecoder.js.map +1 -1
  37. package/lib/enumOptionValueEncoder.d.ts +1 -1
  38. package/lib/enumOptionsDeselectValue.d.ts +1 -1
  39. package/lib/enumOptionsIndexForValue.d.ts +1 -1
  40. package/lib/enumOptionsIndexForValue.js.map +1 -1
  41. package/lib/enumOptionsIsSelected.d.ts +1 -1
  42. package/lib/enumOptionsSelectValue.d.ts +1 -1
  43. package/lib/enumOptionsValueForIndex.d.ts +2 -2
  44. package/lib/enumOptionsValueForIndex.js.map +1 -1
  45. package/lib/enums.d.ts +4 -0
  46. package/lib/enums.js +4 -0
  47. package/lib/enums.js.map +1 -1
  48. package/lib/findSchemaDefinition.d.ts +1 -1
  49. package/lib/findSchemaDefinition.js +15 -15
  50. package/lib/findSchemaDefinition.js.map +1 -1
  51. package/lib/getChangedFields.js +4 -6
  52. package/lib/getChangedFields.js.map +1 -1
  53. package/lib/getDateElementProps.d.ts +3 -3
  54. package/lib/getDiscriminatorFieldFromSchema.d.ts +1 -1
  55. package/lib/getDiscriminatorFieldFromSchema.js +1 -0
  56. package/lib/getDiscriminatorFieldFromSchema.js.map +1 -1
  57. package/lib/getInputProps.d.ts +1 -1
  58. package/lib/getOptionMatchingSimpleDiscriminator.d.ts +1 -1
  59. package/lib/getOptionMatchingSimpleDiscriminator.js +10 -11
  60. package/lib/getOptionMatchingSimpleDiscriminator.js.map +1 -1
  61. package/lib/getOptionValueFormat.d.ts +1 -1
  62. package/lib/getSchemaType.d.ts +1 -1
  63. package/lib/getSchemaType.js +2 -1
  64. package/lib/getSchemaType.js.map +1 -1
  65. package/lib/getSubmitButtonOptions.d.ts +1 -1
  66. package/lib/getSubmitButtonOptions.js +1 -1
  67. package/lib/getSubmitButtonOptions.js.map +1 -1
  68. package/lib/getTemplate.d.ts +1 -1
  69. package/lib/getTestIds.d.ts +1 -1
  70. package/lib/getUiOptions.d.ts +1 -1
  71. package/lib/getUiOptions.js +2 -1
  72. package/lib/getUiOptions.js.map +1 -1
  73. package/lib/getWidget.d.ts +1 -1
  74. package/lib/getWidget.js +4 -4
  75. package/lib/getWidget.js.map +1 -1
  76. package/lib/guessType.js +1 -1
  77. package/lib/guessType.js.map +1 -1
  78. package/lib/hasWidget.d.ts +1 -1
  79. package/lib/hashForSchema.d.ts +3 -1
  80. package/lib/hashForSchema.js +11 -4
  81. package/lib/hashForSchema.js.map +1 -1
  82. package/lib/idGenerators.d.ts +1 -1
  83. package/lib/index.d.ts +14 -7
  84. package/lib/index.js +5 -2
  85. package/lib/index.js.map +1 -1
  86. package/lib/isConstant.d.ts +1 -1
  87. package/lib/isCustomWidget.d.ts +1 -1
  88. package/lib/isCustomWidget.js +1 -1
  89. package/lib/isCustomWidget.js.map +1 -1
  90. package/lib/isFixedItems.d.ts +3 -3
  91. package/lib/isFixedItems.js +3 -3
  92. package/lib/isFixedItems.js.map +1 -1
  93. package/lib/isRootSchema.d.ts +1 -1
  94. package/lib/isRootSchema.js +2 -3
  95. package/lib/isRootSchema.js.map +1 -1
  96. package/lib/labelValue.d.ts +1 -1
  97. package/lib/logUnsupportedDefaultForEnum.d.ts +9 -0
  98. package/lib/logUnsupportedDefaultForEnum.js +18 -0
  99. package/lib/logUnsupportedDefaultForEnum.js.map +1 -0
  100. package/lib/lookupFromFormContext.d.ts +1 -1
  101. package/lib/mergeDefaultsWithFormData.js +6 -5
  102. package/lib/mergeDefaultsWithFormData.js.map +1 -1
  103. package/lib/mergeObjects.d.ts +4 -2
  104. package/lib/mergeObjects.js +1 -1
  105. package/lib/mergeObjects.js.map +1 -1
  106. package/lib/mergeSchemas.d.ts +4 -2
  107. package/lib/mergeSchemas.js +13 -6
  108. package/lib/mergeSchemas.js.map +1 -1
  109. package/lib/nameGenerators.d.ts +1 -1
  110. package/lib/optionsList.d.ts +1 -1
  111. package/lib/optionsList.js +22 -21
  112. package/lib/optionsList.js.map +1 -1
  113. package/lib/orderProperties.js +3 -3
  114. package/lib/orderProperties.js.map +1 -1
  115. package/lib/pad.js +1 -1
  116. package/lib/pad.js.map +1 -1
  117. package/lib/parseDateString.d.ts +1 -1
  118. package/lib/parseDateString.js +1 -1
  119. package/lib/parseDateString.js.map +1 -1
  120. package/lib/parser/ParserValidator.d.ts +2 -4
  121. package/lib/parser/ParserValidator.js +2 -0
  122. package/lib/parser/ParserValidator.js.map +1 -1
  123. package/lib/parser/index.d.ts +1 -1
  124. package/lib/parser/schemaParser.d.ts +2 -2
  125. package/lib/parser/schemaParser.js +7 -7
  126. package/lib/parser/schemaParser.js.map +1 -1
  127. package/lib/rangeSpec.d.ts +1 -2
  128. package/lib/rangeSpec.js.map +1 -1
  129. package/lib/removeOptionalEmptyObjects.d.ts +1 -1
  130. package/lib/removeOptionalEmptyObjects.js +6 -8
  131. package/lib/removeOptionalEmptyObjects.js.map +1 -1
  132. package/lib/resolveUiSchema.d.ts +1 -1
  133. package/lib/resolveUiSchema.js +16 -16
  134. package/lib/resolveUiSchema.js.map +1 -1
  135. package/lib/schema/findFieldInSchema.d.ts +1 -1
  136. package/lib/schema/findSelectedOptionInXxxOf.d.ts +1 -1
  137. package/lib/schema/findSelectedOptionInXxxOf.js +1 -3
  138. package/lib/schema/findSelectedOptionInXxxOf.js.map +1 -1
  139. package/lib/schema/getClosestMatchingOption.d.ts +1 -1
  140. package/lib/schema/getClosestMatchingOption.js +6 -9
  141. package/lib/schema/getClosestMatchingOption.js.map +1 -1
  142. package/lib/schema/getDefaultFormState.d.ts +4 -4
  143. package/lib/schema/getDefaultFormState.js +81 -43
  144. package/lib/schema/getDefaultFormState.js.map +1 -1
  145. package/lib/schema/getDisplayLabel.d.ts +1 -1
  146. package/lib/schema/getDisplayLabel.js +2 -3
  147. package/lib/schema/getDisplayLabel.js.map +1 -1
  148. package/lib/schema/getFirstMatchingOption.d.ts +1 -1
  149. package/lib/schema/getFirstMatchingOption.js +2 -2
  150. package/lib/schema/getFirstMatchingOption.js.map +1 -1
  151. package/lib/schema/getFromSchema.d.ts +1 -1
  152. package/lib/schema/index.js +9 -3
  153. package/lib/schema/index.js.map +1 -1
  154. package/lib/schema/isFilesArray.d.ts +1 -1
  155. package/lib/schema/isMultiSelect.d.ts +1 -1
  156. package/lib/schema/isMultiSelect.js.map +1 -1
  157. package/lib/schema/isSelect.d.ts +1 -1
  158. package/lib/schema/isSelect.js +1 -1
  159. package/lib/schema/isSelect.js.map +1 -1
  160. package/lib/schema/omitExtraData.d.ts +1 -1
  161. package/lib/schema/omitExtraData.js +66 -52
  162. package/lib/schema/omitExtraData.js.map +1 -1
  163. package/lib/schema/retrieveSchema.d.ts +7 -3
  164. package/lib/schema/retrieveSchema.js +83 -56
  165. package/lib/schema/retrieveSchema.js.map +1 -1
  166. package/lib/schema/sanitizeDataForNewSchema.d.ts +1 -1
  167. package/lib/schema/sanitizeDataForNewSchema.js +48 -7
  168. package/lib/schema/sanitizeDataForNewSchema.js.map +1 -1
  169. package/lib/schema/toPathSchema.d.ts +1 -1
  170. package/lib/schema/toPathSchema.js +9 -5
  171. package/lib/schema/toPathSchema.js.map +1 -1
  172. package/lib/schemaRequiresTrueValue.d.ts +1 -1
  173. package/lib/schemaRequiresTrueValue.js +4 -3
  174. package/lib/schemaRequiresTrueValue.js.map +1 -1
  175. package/lib/shallowEquals.js +2 -2
  176. package/lib/shallowEquals.js.map +1 -1
  177. package/lib/shouldRenderOptionalField.d.ts +1 -1
  178. package/lib/toConstant.d.ts +1 -1
  179. package/lib/toDateString.d.ts +1 -1
  180. package/lib/toErrorList.d.ts +1 -1
  181. package/lib/toErrorList.js +3 -3
  182. package/lib/toErrorList.js.map +1 -1
  183. package/lib/toErrorSchema.d.ts +1 -1
  184. package/lib/toFieldPathId.d.ts +1 -1
  185. package/lib/tsconfig.tsbuildinfo +1 -1
  186. package/lib/types.d.ts +63 -57
  187. package/lib/unwrapErrorHandler.d.ts +1 -1
  188. package/lib/unwrapErrorHandler.js +7 -9
  189. package/lib/unwrapErrorHandler.js.map +1 -1
  190. package/lib/useAltDateWidgetProps.d.ts +6 -6
  191. package/lib/useAltDateWidgetProps.js +3 -3
  192. package/lib/useAltDateWidgetProps.js.map +1 -1
  193. package/lib/useFileWidgetProps.d.ts +2 -2
  194. package/lib/useFileWidgetProps.js +3 -3
  195. package/lib/useFileWidgetProps.js.map +1 -1
  196. package/lib/validationDataMerge.d.ts +1 -1
  197. package/lib/withIdRefPrefix.d.ts +1 -1
  198. package/lib/withIdRefPrefix.js +12 -12
  199. package/lib/withIdRefPrefix.js.map +1 -1
  200. package/package.json +19 -19
  201. package/src/ErrorSchemaBuilder.ts +1 -1
  202. package/src/SelectedOptionDescription.tsx +48 -0
  203. package/src/allowAdditionalItems.ts +2 -1
  204. package/src/asNumber.ts +2 -0
  205. package/src/canExpand.ts +1 -1
  206. package/src/constIsAjvDataReference.ts +2 -2
  207. package/src/constants.ts +10 -7
  208. package/src/createErrorHandler.ts +6 -7
  209. package/src/createSchemaUtils.ts +4 -2
  210. package/src/dataURItoBlob.ts +3 -3
  211. package/src/dateRangeOptions.ts +9 -7
  212. package/src/englishStringTranslator.ts +1 -1
  213. package/src/enumOptionSelectedValue.ts +1 -1
  214. package/src/enumOptionValueDecoder.ts +2 -2
  215. package/src/enumOptionValueEncoder.ts +1 -1
  216. package/src/enumOptionsDeselectValue.ts +1 -1
  217. package/src/enumOptionsIndexForValue.ts +2 -2
  218. package/src/enumOptionsIsSelected.ts +1 -1
  219. package/src/enumOptionsSelectValue.ts +1 -1
  220. package/src/enumOptionsValueForIndex.ts +2 -2
  221. package/src/enums.ts +4 -0
  222. package/src/findSchemaDefinition.ts +18 -17
  223. package/src/getChangedFields.ts +5 -5
  224. package/src/getDateElementProps.ts +3 -3
  225. package/src/getDiscriminatorFieldFromSchema.ts +2 -1
  226. package/src/getInputProps.ts +1 -1
  227. package/src/getOptionMatchingSimpleDiscriminator.ts +11 -15
  228. package/src/getOptionValueFormat.ts +1 -1
  229. package/src/getSchemaType.ts +3 -2
  230. package/src/getSubmitButtonOptions.ts +3 -3
  231. package/src/getTemplate.ts +1 -1
  232. package/src/getTestIds.ts +1 -1
  233. package/src/getUiOptions.ts +10 -2
  234. package/src/getWidget.tsx +5 -6
  235. package/src/guessType.ts +1 -1
  236. package/src/hasWidget.ts +1 -1
  237. package/src/hashForSchema.ts +12 -5
  238. package/src/idGenerators.ts +1 -1
  239. package/src/index.ts +16 -5
  240. package/src/isConstant.ts +1 -1
  241. package/src/isCustomWidget.ts +2 -2
  242. package/src/isFixedItems.ts +4 -4
  243. package/src/isRootSchema.ts +3 -5
  244. package/src/labelValue.ts +1 -1
  245. package/src/logUnsupportedDefaultForEnum.ts +28 -0
  246. package/src/lookupFromFormContext.ts +1 -1
  247. package/src/mergeDefaultsWithFormData.ts +8 -7
  248. package/src/mergeObjects.ts +2 -2
  249. package/src/mergeSchemas.ts +14 -7
  250. package/src/nameGenerators.ts +1 -1
  251. package/src/optionsList.ts +21 -23
  252. package/src/orderProperties.ts +4 -4
  253. package/src/pad.ts +1 -1
  254. package/src/parseDateString.ts +2 -2
  255. package/src/parser/ParserValidator.ts +4 -4
  256. package/src/parser/index.ts +1 -1
  257. package/src/parser/schemaParser.ts +10 -9
  258. package/src/rangeSpec.ts +1 -2
  259. package/src/removeOptionalEmptyObjects.ts +8 -11
  260. package/src/resolveUiSchema.ts +32 -25
  261. package/src/schema/findFieldInSchema.ts +1 -1
  262. package/src/schema/findSelectedOptionInXxxOf.ts +17 -7
  263. package/src/schema/getClosestMatchingOption.ts +17 -11
  264. package/src/schema/getDefaultFormState.ts +104 -43
  265. package/src/schema/getDisplayLabel.ts +4 -5
  266. package/src/schema/getFirstMatchingOption.ts +3 -3
  267. package/src/schema/getFromSchema.ts +1 -1
  268. package/src/schema/index.ts +3 -0
  269. package/src/schema/isFilesArray.ts +1 -1
  270. package/src/schema/isMultiSelect.ts +7 -1
  271. package/src/schema/isSelect.ts +8 -2
  272. package/src/schema/omitExtraData.ts +73 -60
  273. package/src/schema/retrieveSchema.ts +131 -83
  274. package/src/schema/sanitizeDataForNewSchema.ts +57 -8
  275. package/src/schema/toPathSchema.ts +11 -7
  276. package/src/schemaRequiresTrueValue.ts +4 -4
  277. package/src/shallowEquals.ts +2 -2
  278. package/src/shouldRenderOptionalField.ts +1 -1
  279. package/src/toConstant.ts +1 -1
  280. package/src/toDateString.ts +1 -1
  281. package/src/toErrorList.ts +4 -4
  282. package/src/toErrorSchema.ts +1 -1
  283. package/src/toFieldPathId.ts +1 -1
  284. package/src/types.ts +92 -63
  285. package/src/unwrapErrorHandler.ts +11 -12
  286. package/src/useAltDateWidgetProps.tsx +10 -8
  287. package/src/useFileWidgetProps.ts +7 -7
  288. package/src/validationDataMerge.ts +1 -1
  289. 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
- schemas = schemas.concat(retrieveSchemaInternal(validator, then, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf));
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
- schemas = schemas.concat(retrieveSchemaInternal(validator, otherwise, rootSchema, formData, expandAllBranches, recurseList, experimental_customMergeAllOf));
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 conditionalSchema = conditionValue ? then : otherwise;
62
- if (conditionalSchema && typeof conditionalSchema !== 'boolean') {
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, baseURI);
214
+ const refSchema = findSchemaDefinition($ref, rootSchema, currentBaseURI);
198
215
  resolvedSchema = { ...refSchema, ...localSchema, [RJSF_REF_KEY]: $ref };
199
216
  if (ID_KEY in resolvedSchema) {
200
- baseURI = resolvedSchema[ID_KEY];
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], (result, value, key) => {
222
+ const updatedProps = transform(resolvedSchema[PROPERTIES_KEY], (acc, value, key) => {
206
223
  const childList = [...recurseList];
207
- result[key] = resolveAllReferences(value, rootSchema, childList, baseURI, resolveAnyOfOrOneOfRefs);
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
- items: resolveAllReferences(resolvedSchema.items, rootSchema, recurseList, baseURI, resolveAnyOfOrOneOfRefs),
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, baseURI, resolveAnyOfOrOneOfRefs)),
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
- set(schema.properties, [key, ADDITIONAL_PROPERTY_FLAG], true);
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
- set(schema.properties, [key, ADDITIONAL_PROPERTY_FLAG], true);
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
- set(schema.properties, [key, ADDITIONAL_PROPERTY_FLAG], true);
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
- (_a = resolvedSchema.allOf) === null || _a === void 0 ? void 0 : _a.forEach((s) => {
353
- if (typeof s === 'object' && s.contains) {
354
- withContainsSchemas.push(s);
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(s);
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((schema, key) => {
378
- const matchingProperties = getMatchingPatternProperties(schema, key);
412
+ resolvedSchema = Object.keys(resolvedSchema.properties).reduce((acc, key) => {
413
+ const matchingProperties = getMatchingPatternProperties(acc, key);
379
414
  if (!isEmpty(matchingProperties)) {
380
- schema.properties[key] = retrieveSchema(validator, { allOf: [schema.properties[key], ...Object.values(matchingProperties)] }, rootSchema, get(rawFormData, [key]), experimental_customMergeAllOf);
415
+ acc.properties[key] = retrieveSchema(validator, { allOf: [acc.properties[key], ...Object.values(matchingProperties)] }, rootSchema, get(rawFormData, [key]), experimental_customMergeAllOf);
381
416
  }
382
- return schema;
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
- schema = mergeSchemas(remaining, anyOrOneOf[option]);
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 ? {} : { not: {} });
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
- // Skip this dependency if its trigger property is not present.
504
- if (!expandAllBranches && get(formData, [dependencyKey]) === undefined) {
505
- continue;
506
- }
507
- // Skip this dependency if it is not included in the schema (such as when dependencyKey is itself a hidden dependency.)
508
- if (resolvedSchema.properties && !(dependencyKey in resolvedSchema.properties)) {
509
- continue;
510
- }
511
- const [remainingDependencies, dependencyValue] = splitKeyElementFromObject(dependencyKey, dependencies);
512
- if (Array.isArray(dependencyValue)) {
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: 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
- schema = mergeSchemas(schema, dependentSchema);
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 schema;
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, schema, rootSchema, dependencyKey, resolvedOneOf, expandAllBranches, recurseList, formData, experimental_customMergeAllOf));
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 || !subschema.properties) {
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((s) => mergeSchemas(schema, s));
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, 'default', NO_VALUE);
106
- const oldOptionDefault = get(oldKeyedSchema, 'default', NO_VALUE);
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, 'const', NO_VALUE);
118
- const oldOptionConst = get(oldKeyedSchema, 'const', NO_VALUE);
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 == 'string' || Array.isArray(data) ? undefined : 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
- newFormData = maxItems > 0 && data.length > maxItems ? data.slice(0, maxItems) : data;
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":"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"}
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 _schema = retrieveSchema(validator, schema, rootSchema, formData, experimental_customMergeAllOf);
24
- const sameSchemaIndex = _recurseList.findIndex((item) => deepEquals(item, _schema));
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, _schema, name, rootSchema, formData, _recurseList.concat(_schema), experimental_customMergeAllOf);
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 _schema = xxxOf[index];
37
+ const innerSchema = xxxOf[index];
37
38
  pathSchema = {
38
39
  ...pathSchema,
39
- ...toPathSchemaInternal(validator, _schema, name, rootSchema, formData, _recurseList, experimental_customMergeAllOf),
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,