@rjsf/utils 6.8.0 → 6.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/dist/index.cjs +509 -419
  2. package/dist/index.cjs.map +4 -4
  3. package/dist/utils.esm.js +508 -418
  4. package/dist/utils.esm.js.map +4 -4
  5. package/dist/utils.umd.js +567 -327
  6. package/lib/ErrorSchemaBuilder.d.ts +8 -7
  7. package/lib/ErrorSchemaBuilder.d.ts.map +1 -0
  8. package/lib/ErrorSchemaBuilder.js +29 -27
  9. package/lib/ErrorSchemaBuilder.js.map +1 -1
  10. package/lib/SelectedOptionDescription.d.ts +2 -1
  11. package/lib/SelectedOptionDescription.d.ts.map +1 -0
  12. package/lib/SelectedOptionDescription.js +6 -7
  13. package/lib/SelectedOptionDescription.js.map +1 -1
  14. package/lib/allowAdditionalItems.d.ts +2 -1
  15. package/lib/allowAdditionalItems.d.ts.map +1 -0
  16. package/lib/allowAdditionalItems.js +1 -1
  17. package/lib/allowAdditionalItems.js.map +1 -1
  18. package/lib/asNumber.d.ts +1 -0
  19. package/lib/asNumber.d.ts.map +1 -0
  20. package/lib/asNumber.js +1 -1
  21. package/lib/asNumber.js.map +1 -1
  22. package/lib/canExpand.d.ts +2 -1
  23. package/lib/canExpand.d.ts.map +1 -0
  24. package/lib/canExpand.js +1 -1
  25. package/lib/canExpand.js.map +1 -1
  26. package/lib/constIsAjvDataReference.d.ts +2 -1
  27. package/lib/constIsAjvDataReference.d.ts.map +1 -0
  28. package/lib/constIsAjvDataReference.js +2 -3
  29. package/lib/constIsAjvDataReference.js.map +1 -1
  30. package/lib/constants.d.ts +1 -0
  31. package/lib/constants.d.ts.map +1 -0
  32. package/lib/createErrorHandler.d.ts +2 -1
  33. package/lib/createErrorHandler.d.ts.map +1 -0
  34. package/lib/createErrorHandler.js +3 -4
  35. package/lib/createErrorHandler.js.map +1 -1
  36. package/lib/createSchemaUtils.d.ts +2 -1
  37. package/lib/createSchemaUtils.d.ts.map +1 -0
  38. package/lib/createSchemaUtils.js +10 -7
  39. package/lib/createSchemaUtils.js.map +1 -1
  40. package/lib/dataURItoBlob.d.ts +1 -0
  41. package/lib/dataURItoBlob.d.ts.map +1 -0
  42. package/lib/dataURItoBlob.js +1 -2
  43. package/lib/dataURItoBlob.js.map +1 -1
  44. package/lib/dateRangeOptions.d.ts +2 -1
  45. package/lib/dateRangeOptions.d.ts.map +1 -0
  46. package/lib/dateRangeOptions.js +1 -1
  47. package/lib/dateRangeOptions.js.map +1 -1
  48. package/lib/deepEquals.d.ts +1 -0
  49. package/lib/deepEquals.d.ts.map +1 -0
  50. package/lib/englishStringTranslator.d.ts +2 -1
  51. package/lib/englishStringTranslator.d.ts.map +1 -0
  52. package/lib/englishStringTranslator.js +1 -1
  53. package/lib/englishStringTranslator.js.map +1 -1
  54. package/lib/enumOptionSelectedValue.d.ts +2 -1
  55. package/lib/enumOptionSelectedValue.d.ts.map +1 -0
  56. package/lib/enumOptionSelectedValue.js +1 -1
  57. package/lib/enumOptionSelectedValue.js.map +1 -1
  58. package/lib/enumOptionValueDecoder.d.ts +2 -1
  59. package/lib/enumOptionValueDecoder.d.ts.map +1 -0
  60. package/lib/enumOptionValueDecoder.js +1 -1
  61. package/lib/enumOptionValueDecoder.js.map +1 -1
  62. package/lib/enumOptionValueEncoder.d.ts +2 -1
  63. package/lib/enumOptionValueEncoder.d.ts.map +1 -0
  64. package/lib/enumOptionValueEncoder.js +1 -2
  65. package/lib/enumOptionValueEncoder.js.map +1 -1
  66. package/lib/enumOptionsDeselectValue.d.ts +2 -1
  67. package/lib/enumOptionsDeselectValue.d.ts.map +1 -0
  68. package/lib/enumOptionsDeselectValue.js +2 -2
  69. package/lib/enumOptionsDeselectValue.js.map +1 -1
  70. package/lib/enumOptionsIndexForValue.d.ts +2 -1
  71. package/lib/enumOptionsIndexForValue.d.ts.map +1 -0
  72. package/lib/enumOptionsIndexForValue.js +1 -1
  73. package/lib/enumOptionsIndexForValue.js.map +1 -1
  74. package/lib/enumOptionsIsSelected.d.ts +2 -1
  75. package/lib/enumOptionsIsSelected.d.ts.map +1 -0
  76. package/lib/enumOptionsIsSelected.js +1 -1
  77. package/lib/enumOptionsIsSelected.js.map +1 -1
  78. package/lib/enumOptionsSelectValue.d.ts +2 -1
  79. package/lib/enumOptionsSelectValue.d.ts.map +1 -0
  80. package/lib/enumOptionsSelectValue.js +2 -3
  81. package/lib/enumOptionsSelectValue.js.map +1 -1
  82. package/lib/enumOptionsValueForIndex.d.ts +2 -1
  83. package/lib/enumOptionsValueForIndex.d.ts.map +1 -0
  84. package/lib/enums.d.ts +1 -0
  85. package/lib/enums.d.ts.map +1 -0
  86. package/lib/findSchemaDefinition.d.ts +2 -1
  87. package/lib/findSchemaDefinition.d.ts.map +1 -0
  88. package/lib/findSchemaDefinition.js +7 -11
  89. package/lib/findSchemaDefinition.js.map +1 -1
  90. package/lib/getChangedFields.d.ts +11 -2
  91. package/lib/getChangedFields.d.ts.map +1 -0
  92. package/lib/getChangedFields.js +57 -18
  93. package/lib/getChangedFields.js.map +1 -1
  94. package/lib/getDateElementProps.d.ts +2 -1
  95. package/lib/getDateElementProps.d.ts.map +1 -0
  96. package/lib/getDecimalSeparator.d.ts +1 -0
  97. package/lib/getDecimalSeparator.d.ts.map +1 -0
  98. package/lib/getDecimalSeparator.js +1 -2
  99. package/lib/getDecimalSeparator.js.map +1 -1
  100. package/lib/getDiscriminatorFieldFromSchema.d.ts +2 -1
  101. package/lib/getDiscriminatorFieldFromSchema.d.ts.map +1 -0
  102. package/lib/getDiscriminatorFieldFromSchema.js +4 -5
  103. package/lib/getDiscriminatorFieldFromSchema.js.map +1 -1
  104. package/lib/getInputProps.d.ts +2 -1
  105. package/lib/getInputProps.d.ts.map +1 -0
  106. package/lib/getInputProps.js +4 -1
  107. package/lib/getInputProps.js.map +1 -1
  108. package/lib/getOptionMatchingSimpleDiscriminator.d.ts +2 -1
  109. package/lib/getOptionMatchingSimpleDiscriminator.d.ts.map +1 -0
  110. package/lib/getOptionMatchingSimpleDiscriminator.js +6 -6
  111. package/lib/getOptionMatchingSimpleDiscriminator.js.map +1 -1
  112. package/lib/getOptionValueFormat.d.ts +2 -1
  113. package/lib/getOptionValueFormat.d.ts.map +1 -0
  114. package/lib/getOptionValueFormat.js +1 -2
  115. package/lib/getOptionValueFormat.js.map +1 -1
  116. package/lib/getPropertySchema.d.ts +12 -0
  117. package/lib/getPropertySchema.d.ts.map +1 -0
  118. package/lib/getPropertySchema.js +14 -0
  119. package/lib/getPropertySchema.js.map +1 -0
  120. package/lib/getSchemaType.d.ts +2 -1
  121. package/lib/getSchemaType.d.ts.map +1 -0
  122. package/lib/getSchemaType.js +1 -1
  123. package/lib/getSchemaType.js.map +1 -1
  124. package/lib/getSubmitButtonOptions.d.ts +2 -1
  125. package/lib/getSubmitButtonOptions.d.ts.map +1 -0
  126. package/lib/getSubmitButtonOptions.js +3 -3
  127. package/lib/getSubmitButtonOptions.js.map +1 -1
  128. package/lib/getTemplate.d.ts +2 -1
  129. package/lib/getTemplate.d.ts.map +1 -0
  130. package/lib/getTestIds.d.ts +2 -1
  131. package/lib/getTestIds.d.ts.map +1 -0
  132. package/lib/getTestIds.js +6 -5
  133. package/lib/getTestIds.js.map +1 -1
  134. package/lib/getUiOptions.d.ts +2 -1
  135. package/lib/getUiOptions.d.ts.map +1 -0
  136. package/lib/getUiOptions.js +2 -2
  137. package/lib/getUiOptions.js.map +1 -1
  138. package/lib/getWidget.d.ts +2 -1
  139. package/lib/getWidget.d.ts.map +1 -0
  140. package/lib/getWidget.js +6 -7
  141. package/lib/getWidget.js.map +1 -1
  142. package/lib/guessType.d.ts +2 -1
  143. package/lib/guessType.d.ts.map +1 -0
  144. package/lib/hasWidget.d.ts +2 -1
  145. package/lib/hasWidget.d.ts.map +1 -0
  146. package/lib/hasWidget.js +1 -1
  147. package/lib/hasWidget.js.map +1 -1
  148. package/lib/hashForSchema.d.ts +2 -1
  149. package/lib/hashForSchema.d.ts.map +1 -0
  150. package/lib/idGenerators.d.ts +2 -1
  151. package/lib/idGenerators.d.ts.map +1 -0
  152. package/lib/idGenerators.js +2 -3
  153. package/lib/idGenerators.js.map +1 -1
  154. package/lib/index.d.ts +93 -87
  155. package/lib/index.d.ts.map +1 -0
  156. package/lib/index.js +85 -81
  157. package/lib/index.js.map +1 -1
  158. package/lib/isConstant.d.ts +2 -1
  159. package/lib/isConstant.d.ts.map +1 -0
  160. package/lib/isConstant.js +1 -1
  161. package/lib/isConstant.js.map +1 -1
  162. package/lib/isCustomWidget.d.ts +2 -1
  163. package/lib/isCustomWidget.d.ts.map +1 -0
  164. package/lib/isCustomWidget.js +1 -1
  165. package/lib/isCustomWidget.js.map +1 -1
  166. package/lib/isFixedItems.d.ts +2 -1
  167. package/lib/isFixedItems.d.ts.map +1 -0
  168. package/lib/isFixedItems.js +1 -1
  169. package/lib/isFixedItems.js.map +1 -1
  170. package/lib/isFormDataAvailable.d.ts +1 -0
  171. package/lib/isFormDataAvailable.d.ts.map +1 -0
  172. package/lib/isFormDataAvailable.js +7 -4
  173. package/lib/isFormDataAvailable.js.map +1 -1
  174. package/lib/isObject.d.ts +3 -1
  175. package/lib/isObject.d.ts.map +1 -0
  176. package/lib/isObject.js +8 -2
  177. package/lib/isObject.js.map +1 -1
  178. package/lib/isPlainObject.d.ts +9 -0
  179. package/lib/isPlainObject.d.ts.map +1 -0
  180. package/lib/isPlainObject.js +15 -0
  181. package/lib/isPlainObject.js.map +1 -0
  182. package/lib/isRootSchema.d.ts +2 -1
  183. package/lib/isRootSchema.d.ts.map +1 -0
  184. package/lib/isRootSchema.js +2 -2
  185. package/lib/isRootSchema.js.map +1 -1
  186. package/lib/jsonSchemaAugmentation.d.ts +1 -0
  187. package/lib/jsonSchemaAugmentation.d.ts.map +1 -0
  188. package/lib/labelValue.d.ts +1 -0
  189. package/lib/labelValue.d.ts.map +1 -0
  190. package/lib/localToUTC.d.ts +1 -0
  191. package/lib/localToUTC.d.ts.map +1 -0
  192. package/lib/logUnsupportedDefaultForEnum.d.ts +2 -1
  193. package/lib/logUnsupportedDefaultForEnum.d.ts.map +1 -0
  194. package/lib/logUnsupportedDefaultForEnum.js +1 -1
  195. package/lib/logUnsupportedDefaultForEnum.js.map +1 -1
  196. package/lib/lookupFromFormContext.d.ts +3 -2
  197. package/lib/lookupFromFormContext.d.ts.map +1 -0
  198. package/lib/lookupFromFormContext.js +4 -5
  199. package/lib/lookupFromFormContext.js.map +1 -1
  200. package/lib/mergeDefaultsWithFormData.d.ts +1 -0
  201. package/lib/mergeDefaultsWithFormData.d.ts.map +1 -0
  202. package/lib/mergeDefaultsWithFormData.js +20 -16
  203. package/lib/mergeDefaultsWithFormData.js.map +1 -1
  204. package/lib/mergeObjects.d.ts +2 -1
  205. package/lib/mergeObjects.d.ts.map +1 -0
  206. package/lib/mergeObjects.js +1 -1
  207. package/lib/mergeObjects.js.map +1 -1
  208. package/lib/mergeSchemas.d.ts +2 -1
  209. package/lib/mergeSchemas.d.ts.map +1 -0
  210. package/lib/mergeSchemas.js +4 -5
  211. package/lib/mergeSchemas.js.map +1 -1
  212. package/lib/nameGenerators.d.ts +2 -1
  213. package/lib/nameGenerators.d.ts.map +1 -0
  214. package/lib/noop.d.ts +5 -0
  215. package/lib/noop.d.ts.map +1 -0
  216. package/lib/noop.js +5 -0
  217. package/lib/noop.js.map +1 -0
  218. package/lib/optionsList.d.ts +2 -1
  219. package/lib/optionsList.d.ts.map +1 -0
  220. package/lib/optionsList.js +15 -15
  221. package/lib/optionsList.js.map +1 -1
  222. package/lib/orderProperties.d.ts +1 -0
  223. package/lib/orderProperties.d.ts.map +1 -0
  224. package/lib/pad.d.ts +1 -0
  225. package/lib/pad.d.ts.map +1 -0
  226. package/lib/parseDateString.d.ts +2 -1
  227. package/lib/parseDateString.d.ts.map +1 -0
  228. package/lib/parser/ParserValidator.d.ts +2 -1
  229. package/lib/parser/ParserValidator.d.ts.map +1 -0
  230. package/lib/parser/ParserValidator.js +8 -7
  231. package/lib/parser/ParserValidator.js.map +1 -1
  232. package/lib/parser/index.d.ts +3 -2
  233. package/lib/parser/index.d.ts.map +1 -0
  234. package/lib/parser/index.js +1 -1
  235. package/lib/parser/index.js.map +1 -1
  236. package/lib/parser/schemaParser.d.ts +3 -2
  237. package/lib/parser/schemaParser.d.ts.map +1 -0
  238. package/lib/parser/schemaParser.js +6 -7
  239. package/lib/parser/schemaParser.js.map +1 -1
  240. package/lib/pathUtils.d.ts +77 -0
  241. package/lib/pathUtils.d.ts.map +1 -0
  242. package/lib/pathUtils.js +192 -0
  243. package/lib/pathUtils.js.map +1 -0
  244. package/lib/rangeSpec.d.ts +2 -1
  245. package/lib/rangeSpec.d.ts.map +1 -0
  246. package/lib/removeOptionalEmptyObjects.d.ts +2 -1
  247. package/lib/removeOptionalEmptyObjects.d.ts.map +1 -0
  248. package/lib/removeOptionalEmptyObjects.js +2 -2
  249. package/lib/removeOptionalEmptyObjects.js.map +1 -1
  250. package/lib/replaceStringParameters.d.ts +1 -0
  251. package/lib/replaceStringParameters.d.ts.map +1 -0
  252. package/lib/resolveUiSchema.d.ts +2 -1
  253. package/lib/resolveUiSchema.d.ts.map +1 -0
  254. package/lib/resolveUiSchema.js +6 -8
  255. package/lib/resolveUiSchema.js.map +1 -1
  256. package/lib/schema/findFieldInSchema.d.ts +2 -1
  257. package/lib/schema/findFieldInSchema.d.ts.map +1 -0
  258. package/lib/schema/findFieldInSchema.js +10 -11
  259. package/lib/schema/findFieldInSchema.js.map +1 -1
  260. package/lib/schema/findSelectedOptionInXxxOf.d.ts +2 -1
  261. package/lib/schema/findSelectedOptionInXxxOf.d.ts.map +1 -0
  262. package/lib/schema/findSelectedOptionInXxxOf.js +7 -7
  263. package/lib/schema/findSelectedOptionInXxxOf.js.map +1 -1
  264. package/lib/schema/getClosestMatchingOption.d.ts +2 -1
  265. package/lib/schema/getClosestMatchingOption.d.ts.map +1 -0
  266. package/lib/schema/getClosestMatchingOption.js +18 -23
  267. package/lib/schema/getClosestMatchingOption.js.map +1 -1
  268. package/lib/schema/getDefaultFormState.d.ts +2 -1
  269. package/lib/schema/getDefaultFormState.d.ts.map +1 -0
  270. package/lib/schema/getDefaultFormState.js +78 -56
  271. package/lib/schema/getDefaultFormState.js.map +1 -1
  272. package/lib/schema/getDisplayLabel.d.ts +2 -1
  273. package/lib/schema/getDisplayLabel.d.ts.map +1 -0
  274. package/lib/schema/getDisplayLabel.js +7 -7
  275. package/lib/schema/getDisplayLabel.js.map +1 -1
  276. package/lib/schema/getFirstMatchingOption.d.ts +2 -1
  277. package/lib/schema/getFirstMatchingOption.d.ts.map +1 -0
  278. package/lib/schema/getFirstMatchingOption.js +9 -9
  279. package/lib/schema/getFirstMatchingOption.js.map +1 -1
  280. package/lib/schema/getFromSchema.d.ts +3 -2
  281. package/lib/schema/getFromSchema.d.ts.map +1 -0
  282. package/lib/schema/getFromSchema.js +10 -11
  283. package/lib/schema/getFromSchema.js.map +1 -1
  284. package/lib/schema/index.d.ts +15 -14
  285. package/lib/schema/index.d.ts.map +1 -0
  286. package/lib/schema/index.js +14 -14
  287. package/lib/schema/index.js.map +1 -1
  288. package/lib/schema/isFilesArray.d.ts +2 -1
  289. package/lib/schema/isFilesArray.d.ts.map +1 -0
  290. package/lib/schema/isFilesArray.js +2 -2
  291. package/lib/schema/isFilesArray.js.map +1 -1
  292. package/lib/schema/isMultiSelect.d.ts +2 -1
  293. package/lib/schema/isMultiSelect.d.ts.map +1 -0
  294. package/lib/schema/isMultiSelect.js +1 -1
  295. package/lib/schema/isMultiSelect.js.map +1 -1
  296. package/lib/schema/isSelect.d.ts +2 -1
  297. package/lib/schema/isSelect.d.ts.map +1 -0
  298. package/lib/schema/isSelect.js +2 -2
  299. package/lib/schema/isSelect.js.map +1 -1
  300. package/lib/schema/omitExtraData.d.ts +2 -1
  301. package/lib/schema/omitExtraData.d.ts.map +1 -0
  302. package/lib/schema/omitExtraData.js +100 -64
  303. package/lib/schema/omitExtraData.js.map +1 -1
  304. package/lib/schema/retrieveSchema.d.ts +2 -1
  305. package/lib/schema/retrieveSchema.d.ts.map +1 -0
  306. package/lib/schema/retrieveSchema.js +32 -40
  307. package/lib/schema/retrieveSchema.js.map +1 -1
  308. package/lib/schema/sanitizeDataForNewSchema.d.ts +4 -3
  309. package/lib/schema/sanitizeDataForNewSchema.d.ts.map +1 -0
  310. package/lib/schema/sanitizeDataForNewSchema.js +41 -39
  311. package/lib/schema/sanitizeDataForNewSchema.js.map +1 -1
  312. package/lib/schema/shallowAllOfMerge.d.ts +1 -0
  313. package/lib/schema/shallowAllOfMerge.d.ts.map +1 -0
  314. package/lib/schema/toPathSchema.d.ts +2 -1
  315. package/lib/schema/toPathSchema.d.ts.map +1 -0
  316. package/lib/schema/toPathSchema.js +14 -14
  317. package/lib/schema/toPathSchema.js.map +1 -1
  318. package/lib/schemaRequiresTrueValue.d.ts +2 -1
  319. package/lib/schemaRequiresTrueValue.d.ts.map +1 -0
  320. package/lib/schemaRequiresTrueValue.js +3 -4
  321. package/lib/schemaRequiresTrueValue.js.map +1 -1
  322. package/lib/shallowEquals.d.ts +1 -0
  323. package/lib/shallowEquals.d.ts.map +1 -0
  324. package/lib/shouldRender.d.ts +2 -1
  325. package/lib/shouldRender.d.ts.map +1 -0
  326. package/lib/shouldRender.js +2 -2
  327. package/lib/shouldRender.js.map +1 -1
  328. package/lib/shouldRenderOptionalField.d.ts +2 -1
  329. package/lib/shouldRenderOptionalField.d.ts.map +1 -0
  330. package/lib/shouldRenderOptionalField.js +11 -10
  331. package/lib/shouldRenderOptionalField.js.map +1 -1
  332. package/lib/toConstant.d.ts +2 -1
  333. package/lib/toConstant.d.ts.map +1 -0
  334. package/lib/toConstant.js +1 -1
  335. package/lib/toConstant.js.map +1 -1
  336. package/lib/toDateString.d.ts +2 -1
  337. package/lib/toDateString.d.ts.map +1 -0
  338. package/lib/toErrorList.d.ts +2 -1
  339. package/lib/toErrorList.d.ts.map +1 -0
  340. package/lib/toErrorList.js +20 -21
  341. package/lib/toErrorList.js.map +1 -1
  342. package/lib/toErrorSchema.d.ts +2 -1
  343. package/lib/toErrorSchema.d.ts.map +1 -0
  344. package/lib/toErrorSchema.js +4 -9
  345. package/lib/toErrorSchema.js.map +1 -1
  346. package/lib/toFieldPathId.d.ts +2 -1
  347. package/lib/toFieldPathId.d.ts.map +1 -0
  348. package/lib/toFieldPathId.js +2 -2
  349. package/lib/toFieldPathId.js.map +1 -1
  350. package/lib/types.d.ts +15 -5
  351. package/lib/types.d.ts.map +1 -0
  352. package/lib/types.js +1 -1
  353. package/lib/types.js.map +1 -1
  354. package/lib/unwrapErrorHandler.d.ts +2 -1
  355. package/lib/unwrapErrorHandler.d.ts.map +1 -0
  356. package/lib/unwrapErrorHandler.js +13 -4
  357. package/lib/unwrapErrorHandler.js.map +1 -1
  358. package/lib/useAltDateWidgetProps.d.ts +3 -2
  359. package/lib/useAltDateWidgetProps.d.ts.map +1 -0
  360. package/lib/useAltDateWidgetProps.js +5 -5
  361. package/lib/useAltDateWidgetProps.js.map +1 -1
  362. package/lib/useDeepCompareMemo.d.ts +1 -0
  363. package/lib/useDeepCompareMemo.d.ts.map +1 -0
  364. package/lib/useDeepCompareMemo.js +1 -1
  365. package/lib/useDeepCompareMemo.js.map +1 -1
  366. package/lib/useFileWidgetProps.d.ts +1 -0
  367. package/lib/useFileWidgetProps.d.ts.map +1 -0
  368. package/lib/useFileWidgetProps.js +3 -4
  369. package/lib/useFileWidgetProps.js.map +1 -1
  370. package/lib/utcToLocal.d.ts +1 -0
  371. package/lib/utcToLocal.d.ts.map +1 -0
  372. package/lib/utcToLocal.js +1 -1
  373. package/lib/utcToLocal.js.map +1 -1
  374. package/lib/validationDataMerge.d.ts +2 -1
  375. package/lib/validationDataMerge.d.ts.map +1 -0
  376. package/lib/validationDataMerge.js +3 -4
  377. package/lib/validationDataMerge.js.map +1 -1
  378. package/lib/withIdRefPrefix.d.ts +2 -1
  379. package/lib/withIdRefPrefix.d.ts.map +1 -0
  380. package/lib/withIdRefPrefix.js +2 -2
  381. package/lib/withIdRefPrefix.js.map +1 -1
  382. package/package.json +5 -6
  383. package/src/ErrorSchemaBuilder.ts +25 -24
  384. package/src/SelectedOptionDescription.tsx +5 -5
  385. package/src/allowAdditionalItems.ts +2 -2
  386. package/src/asNumber.ts +1 -1
  387. package/src/canExpand.ts +2 -2
  388. package/src/constIsAjvDataReference.ts +5 -4
  389. package/src/createErrorHandler.ts +5 -7
  390. package/src/createSchemaUtils.ts +8 -10
  391. package/src/dateRangeOptions.ts +2 -2
  392. package/src/englishStringTranslator.ts +2 -2
  393. package/src/enumOptionSelectedValue.ts +2 -2
  394. package/src/enumOptionValueDecoder.ts +2 -2
  395. package/src/enumOptionValueEncoder.ts +2 -4
  396. package/src/enumOptionsDeselectValue.ts +3 -3
  397. package/src/enumOptionsIndexForValue.ts +2 -2
  398. package/src/enumOptionsIsSelected.ts +2 -2
  399. package/src/enumOptionsSelectValue.ts +3 -5
  400. package/src/enumOptionsValueForIndex.ts +1 -1
  401. package/src/findSchemaDefinition.ts +8 -12
  402. package/src/getChangedFields.ts +57 -18
  403. package/src/getDateElementProps.ts +1 -1
  404. package/src/getDiscriminatorFieldFromSchema.ts +5 -7
  405. package/src/getInputProps.ts +6 -2
  406. package/src/getOptionMatchingSimpleDiscriminator.ts +7 -7
  407. package/src/getOptionValueFormat.ts +1 -1
  408. package/src/getPropertySchema.ts +18 -0
  409. package/src/getSchemaType.ts +2 -2
  410. package/src/getSubmitButtonOptions.ts +3 -3
  411. package/src/getTemplate.ts +1 -1
  412. package/src/getTestIds.ts +7 -6
  413. package/src/getUiOptions.ts +3 -3
  414. package/src/getWidget.tsx +6 -6
  415. package/src/hasWidget.ts +2 -2
  416. package/src/hashForSchema.ts +1 -1
  417. package/src/idGenerators.ts +3 -5
  418. package/src/index.ts +99 -85
  419. package/src/isConstant.ts +2 -2
  420. package/src/isCustomWidget.ts +2 -2
  421. package/src/isFixedItems.ts +2 -2
  422. package/src/isFormDataAvailable.ts +7 -5
  423. package/src/isObject.ts +15 -3
  424. package/src/isPlainObject.ts +14 -0
  425. package/src/isRootSchema.ts +3 -3
  426. package/src/logUnsupportedDefaultForEnum.ts +2 -2
  427. package/src/lookupFromFormContext.ts +7 -8
  428. package/src/mergeDefaultsWithFormData.ts +22 -18
  429. package/src/mergeObjects.ts +2 -2
  430. package/src/mergeSchemas.ts +5 -7
  431. package/src/nameGenerators.ts +1 -1
  432. package/src/noop.ts +4 -0
  433. package/src/optionsList.ts +9 -9
  434. package/src/orderProperties.ts +1 -1
  435. package/src/parseDateString.ts +1 -1
  436. package/src/parser/ParserValidator.ts +5 -7
  437. package/src/parser/index.ts +2 -2
  438. package/src/parser/schemaParser.ts +8 -10
  439. package/src/pathUtils.ts +203 -0
  440. package/src/rangeSpec.ts +1 -1
  441. package/src/removeOptionalEmptyObjects.ts +3 -3
  442. package/src/resolveUiSchema.ts +5 -7
  443. package/src/schema/findFieldInSchema.ts +11 -13
  444. package/src/schema/findSelectedOptionInXxxOf.ts +9 -10
  445. package/src/schema/getClosestMatchingOption.ts +73 -83
  446. package/src/schema/getDefaultFormState.ts +62 -34
  447. package/src/schema/getDisplayLabel.ts +7 -7
  448. package/src/schema/getFirstMatchingOption.ts +10 -11
  449. package/src/schema/getFromSchema.ts +12 -14
  450. package/src/schema/index.ts +14 -14
  451. package/src/schema/isFilesArray.ts +3 -3
  452. package/src/schema/isMultiSelect.ts +2 -2
  453. package/src/schema/isSelect.ts +3 -3
  454. package/src/schema/omitExtraData.ts +104 -68
  455. package/src/schema/retrieveSchema.ts +47 -60
  456. package/src/schema/sanitizeDataForNewSchema.ts +42 -41
  457. package/src/schema/toPathSchema.ts +14 -14
  458. package/src/schemaRequiresTrueValue.ts +1 -1
  459. package/src/shouldRender.ts +3 -3
  460. package/src/shouldRenderOptionalField.ts +14 -14
  461. package/src/toConstant.ts +2 -2
  462. package/src/toDateString.ts +1 -1
  463. package/src/toErrorList.ts +22 -25
  464. package/src/toErrorSchema.ts +5 -11
  465. package/src/toFieldPathId.ts +2 -2
  466. package/src/types.ts +14 -5
  467. package/src/unwrapErrorHandler.ts +15 -6
  468. package/src/useAltDateWidgetProps.tsx +7 -7
  469. package/src/useDeepCompareMemo.ts +1 -1
  470. package/src/useFileWidgetProps.ts +1 -1
  471. package/src/utcToLocal.ts +1 -1
  472. package/src/validationDataMerge.ts +4 -6
  473. package/src/withIdRefPrefix.ts +3 -4
  474. package/lib/tsconfig.tsbuildinfo +0 -1
  475. package/src/tsconfig.json +0 -9
@@ -1,16 +1,13 @@
1
- import get from 'lodash-es/get.js';
2
- import isEmpty from 'lodash-es/isEmpty.js';
3
- import isNil from 'lodash-es/isNil.js';
4
- import pick from 'lodash-es/pick.js';
5
- import { NAME_KEY, RJSF_ADDITIONAL_PROPERTIES_FLAG } from '../constants.js';
6
- import findSchemaDefinition from '../findSchemaDefinition.js';
7
- import getDiscriminatorFieldFromSchema from '../getDiscriminatorFieldFromSchema.js';
8
- import getSchemaType from '../getSchemaType.js';
9
- import isObject from '../isObject.js';
10
- import getClosestMatchingOption from './getClosestMatchingOption.js';
11
- import isSelect from './isSelect.js';
12
- import { relaxOptionsForScoring, resolveAllReferences } from './retrieveSchema.js';
13
- import shallowAllOfMerge from './shallowAllOfMerge.js';
1
+ import { NAME_KEY, RJSF_ADDITIONAL_PROPERTIES_FLAG } from "../constants.js";
2
+ import findSchemaDefinition from "../findSchemaDefinition.js";
3
+ import getDiscriminatorFieldFromSchema from "../getDiscriminatorFieldFromSchema.js";
4
+ import getSchemaType from "../getSchemaType.js";
5
+ import isObject from "../isObject.js";
6
+ import { getByPath, hasByPath, setByPath, toPath } from "../pathUtils.js";
7
+ import getClosestMatchingOption from "./getClosestMatchingOption.js";
8
+ import isSelect from "./isSelect.js";
9
+ import { relaxOptionsForScoring, resolveAllReferences } from "./retrieveSchema.js";
10
+ import shallowAllOfMerge from "./shallowAllOfMerge.js";
14
11
  /** Returns the `formData` with only the elements specified in the `fields` list
15
12
  *
16
13
  * @param formData - The data for the `Form`
@@ -22,7 +19,15 @@ export function getUsedFormData(formData, fields) {
22
19
  if (fields.length === 0 && typeof formData !== 'object') {
23
20
  return formData;
24
21
  }
25
- const data = pick(formData, fields);
22
+ // Keep only the values at the given field paths; `fields` contains either dotted strings or the
23
+ // deep path lists produced by `getFieldNames()`
24
+ const data = {};
25
+ fields.forEach((field) => {
26
+ const path = Array.isArray(field) ? field : toPath(field);
27
+ if (hasByPath(formData, path)) {
28
+ setByPath(data, path, getByPath(formData, path));
29
+ }
30
+ });
26
31
  if (Array.isArray(formData)) {
27
32
  return Object.keys(data).map((key) => data[key]);
28
33
  }
@@ -36,7 +41,13 @@ export function getUsedFormData(formData, fields) {
36
41
  */
37
42
  // oxlint-disable-next-line typescript/no-deprecated
38
43
  export function getFieldNames(pathSchema, formData) {
39
- const formValueHasData = (value, isLeaf) => typeof value !== 'object' || isEmpty(value) || (isLeaf && !isEmpty(value));
44
+ const formValueHasData = (value, isLeaf) => {
45
+ if (typeof value !== 'object' || value === null) {
46
+ return true;
47
+ }
48
+ const isEmptyValue = Array.isArray(value) ? value.length === 0 : Object.keys(value).length === 0;
49
+ return isEmptyValue || isLeaf;
50
+ };
40
51
  const getAllPaths = (_obj, acc = [], paths = [[]]) => {
41
52
  const objKeys = Object.keys(_obj);
42
53
  objKeys.forEach((key) => {
@@ -53,7 +64,7 @@ export function getFieldNames(pathSchema, formData) {
53
64
  }
54
65
  else if (key === NAME_KEY && data !== '') {
55
66
  paths.forEach((path) => {
56
- const formValue = get(formData, path);
67
+ const formValue = getByPath(formData, path);
57
68
  const isLeaf = objKeys.length === 1;
58
69
  // adds path to fieldNames if it points to a value or an empty object/array which is not a leaf
59
70
  if (formValueHasData(formValue, isLeaf) ||
@@ -74,7 +85,7 @@ export function getFieldNames(pathSchema, formData) {
74
85
  * @returns - True if the value is considered empty, false otherwise
75
86
  */
76
87
  export function isValueEmpty(value) {
77
- if (isNil(value) || value === '') {
88
+ if (value == null || value === '') {
78
89
  return true;
79
90
  }
80
91
  if (Array.isArray(value)) {
@@ -129,7 +140,7 @@ export default function omitExtraData(validator, schema, rootSchema = {}, formDa
129
140
  return isObject(schemaDef);
130
141
  }
131
142
  /** Copies schema-defined properties from `source` into `target`, applying `omit` recursively for
132
- * each value. Handles `properties`, `patternProperties`, `additionalProperties`, and `propertyNames`.
143
+ * each value. Handles `properties`, `patternProperties`, and `additionalProperties`.
133
144
  * Optional object-valued properties are pruned when every key in the filtered result is both
134
145
  * optional (per the inner schema's `required`) and empty (per `isValueEmpty`). This preserves
135
146
  * optional objects whose required children have empty values, while still dropping objects whose
@@ -143,9 +154,8 @@ export default function omitExtraData(validator, schema, rootSchema = {}, formDa
143
154
  * @returns - `target` after all schema-defined properties have been processed
144
155
  */
145
156
  function handleObject(childSchema, source, target) {
146
- var _a;
147
- const { properties, additionalProperties, patternProperties, propertyNames } = childSchema;
148
- const requiredSet = new Set((_a = childSchema.required) !== null && _a !== void 0 ? _a : []);
157
+ const { properties, additionalProperties, patternProperties } = childSchema;
158
+ const requiredSet = new Set(childSchema.required ?? []);
149
159
  /** Recursively omits extra data from `value` via `omit`, then conditionally writes the result to
150
160
  * `target[key]`. Optional object-valued properties are dropped when every key in the filtered
151
161
  * result is both optional (within the inner schema's `required` list) and has an empty value per
@@ -160,7 +170,6 @@ export default function omitExtraData(validator, schema, rootSchema = {}, formDa
160
170
  * @param [required=false] - When true the property is never pruned regardless of its filtered value
161
171
  */
162
172
  function setProperty(key, schemaDef, value, required = false) {
163
- var _a;
164
173
  const v = omit(schemaDef, value, target[key]);
165
174
  if (!required && isObject(v)) {
166
175
  // Resolve $ref so we can inspect the effective required list for the inner schema.
@@ -168,7 +177,7 @@ export default function omitExtraData(validator, schema, rootSchema = {}, formDa
168
177
  if (sd.$ref !== undefined) {
169
178
  sd = findSchemaDefinition(sd.$ref, rootSchema);
170
179
  }
171
- const innerRequired = new Set((_a = sd.required) !== null && _a !== void 0 ? _a : []);
180
+ const innerRequired = new Set(sd.required ?? []);
172
181
  // Drop this optional object when every key in v is both optional in the inner schema
173
182
  // and has an empty value. Vacuously true for {} so empty objects are always dropped.
174
183
  const shouldDrop = Object.entries(v).every(([k, val]) => !innerRequired.has(k) && isValueEmpty(val));
@@ -194,7 +203,7 @@ export default function omitExtraData(validator, schema, rootSchema = {}, formDa
194
203
  new RegExp(pattern),
195
204
  schemaDef,
196
205
  ]);
197
- const knownProperties = new Set(Object.keys(properties !== null && properties !== void 0 ? properties : {}));
206
+ const knownProperties = new Set(Object.keys(properties ?? {}));
198
207
  for (const [key, value] of Object.entries(source)) {
199
208
  if (!knownProperties.has(key)) {
200
209
  const matched = patterns.find(([re]) => re.test(key));
@@ -217,7 +226,7 @@ export default function omitExtraData(validator, schema, rootSchema = {}, formDa
217
226
  }
218
227
  }
219
228
  else {
220
- const knownProperties = new Set(Object.keys(properties !== null && properties !== void 0 ? properties : {}));
229
+ const knownProperties = new Set(Object.keys(properties ?? {}));
221
230
  for (const [key, value] of Object.entries(source)) {
222
231
  if (!knownProperties.has(key)) {
223
232
  setProperty(key, addlSchema, value);
@@ -225,45 +234,51 @@ export default function omitExtraData(validator, schema, rootSchema = {}, formDa
225
234
  }
226
235
  }
227
236
  }
228
- // When propertyNames is present, the schema only constrains key names — all source keys are valid.
229
- if (propertyNames !== undefined) {
230
- for (const [key, value] of Object.entries(source)) {
231
- // oxlint-disable-next-line no-param-reassign
232
- target[key] = value;
233
- }
234
- }
235
237
  return target;
236
238
  }
237
239
  /** Filters array elements from `source` into `target` according to `schema.items` and
238
- * `schema.additionalItems`. For tuple schemas (`items` is an array) each element is filtered by its
239
- * per-index schema; elements beyond the tuple length are covered by `additionalItems` when present.
240
- * For list schemas (`items` is a single schema) every element is filtered by that schema.
240
+ * `schema.additionalItems`. Only called when `items` is defined (guarded in `omit`). Uses index
241
+ * assignment (not push) so a pre-populated `target` from a prior branch is overwritten rather than
242
+ * appended to, preventing item duplication. For tuple schemas (`items` is an array) elements up to
243
+ * `min(items.length, source.length)` are filtered by their per-index schema; elements beyond the
244
+ * tuple are covered by `additionalItems` when present, or the target is truncated when absent.
245
+ * For list schemas (`items` is a single schema) every source element is filtered and `target.length`
246
+ * is set to `source.length`.
241
247
  *
242
248
  * @param childSchema - The array schema describing `items` and optionally `additionalItems`
243
249
  * @param source - The source array to read elements from
244
- * @param target - The accumulator array to push filtered elements into
245
- * @returns - `target` after all applicable source elements have been pushed
250
+ * @param target - The accumulator array to write filtered elements into
251
+ * @returns - `target` after all applicable source elements have been written
246
252
  */
247
253
  function handleArray(childSchema, source, target) {
248
254
  const { items, additionalItems } = childSchema;
249
- if (items !== undefined) {
250
- if (Array.isArray(items)) {
251
- for (let i = 0; i < items.length; i += 1) {
252
- target.push(omit(items[i], source[i]));
253
- }
255
+ if (Array.isArray(items)) {
256
+ const tupleLength = Math.min(items.length, source.length);
257
+ let i = 0;
258
+ for (; i < tupleLength; i += 1) {
259
+ // oxlint-disable-next-line no-param-reassign
260
+ target[i] = omit(items[i], source[i]);
254
261
  }
255
- else {
256
- for (let i = 0; i < source.length; i += 1) {
257
- target.push(omit(items, source[i]));
258
- }
262
+ // Without additionalItems, truncate at the tuple boundary to drop any pre-existing items.
263
+ if (!additionalItems) {
264
+ // oxlint-disable-next-line no-param-reassign
265
+ target.length = tupleLength;
266
+ return target;
267
+ }
268
+ for (; i < source.length; i += 1) {
269
+ // oxlint-disable-next-line no-param-reassign
270
+ target[i] = omit(additionalItems, source[i]);
259
271
  }
260
272
  }
261
- // additionalItems covers tuple items beyond the items array length.
262
- if (additionalItems) {
263
- for (let i = target.length; i < source.length; i += 1) {
264
- target.push(omit(additionalItems, source[i]));
273
+ else {
274
+ for (let i = 0; i < source.length; i += 1) {
275
+ // oxlint-disable-next-line no-param-reassign
276
+ target[i] = omit(items, source[i]);
265
277
  }
266
278
  }
279
+ // Truncate any pre-existing items beyond the source length.
280
+ // oxlint-disable-next-line no-param-reassign
281
+ target.length = source.length;
267
282
  return target;
268
283
  }
269
284
  /** Applies the `if/then/else` conditional keywords from `schema` to `target`. When `schema.if` is
@@ -287,7 +302,7 @@ export default function omitExtraData(validator, schema, rootSchema = {}, formDa
287
302
  ? validator.isValid(condition, source, rootSchema)
288
303
  : condition;
289
304
  const branch = isThenBranch ? then : otherwise;
290
- return branch === undefined ? target : omit(branch, source, target);
305
+ return branch === undefined ? target : omit(branch, source, target, false);
291
306
  }
292
307
  /** Applies the best-matching `oneOf` option to `source`, merging the result into `target`. When
293
308
  * `oneOf` is not an array or the schema represents a select widget (enum-driven), `target` is
@@ -316,7 +331,7 @@ export default function omitExtraData(validator, schema, rootSchema = {}, formDa
316
331
  const resolved = isObject(winning)
317
332
  ? resolveAllReferences(winning, rootSchema, [])
318
333
  : scoringOptions[bestIndex];
319
- return omit(resolved, source, target);
334
+ return omit(resolved, source, target, false);
320
335
  }
321
336
  /** Applies `anyOf` branches from `schema` to `source`, merging results into `target`. When `anyOf`
322
337
  * is absent or not an array, `target` is returned unchanged. For undefined or empty sources (so that
@@ -339,7 +354,7 @@ export default function omitExtraData(validator, schema, rootSchema = {}, formDa
339
354
  (isObject(source) && Object.keys(source).length === 0)) {
340
355
  let result = target;
341
356
  for (const branch of anyOf) {
342
- result = omit(branch, source, result);
357
+ result = omit(branch, source, result, false);
343
358
  }
344
359
  return result;
345
360
  }
@@ -364,7 +379,7 @@ export default function omitExtraData(validator, schema, rootSchema = {}, formDa
364
379
  for (const [key, deps] of Object.entries(dependencies)) {
365
380
  // Skip property dependencies (string arrays); only process schema dependencies.
366
381
  if (key in source && !Array.isArray(deps)) {
367
- result = omit(deps, source, result);
382
+ result = omit(deps, source, result, false);
368
383
  }
369
384
  }
370
385
  return result;
@@ -372,24 +387,28 @@ export default function omitExtraData(validator, schema, rootSchema = {}, formDa
372
387
  /** Core recursive filter. Resolves `$ref`s, merges `allOf`, then delegates to the type-specific
373
388
  * handlers (`handleObject`, `handleArray`) and keyword handlers (`handleAnyOf`, `handleOneOf`,
374
389
  * `handleConditions`, `handleDependencies`). Returns `undefined` when `source` is undefined or
375
- * `schemaDef` is `false`; returns `source` unchanged when `schemaDef` is `true` or empty.
390
+ * `schemaDef` is `false`; when `schemaDef` is `true` or empty returns `target ?? source` (when
391
+ * `useSourceAsFallback` is true) or `target` (when false) to avoid aliasing `source` as the
392
+ * accumulator across multiple compositional branches.
376
393
  *
377
394
  * @param schemaDef - The schema (or boolean shorthand) to filter `source` against
378
395
  * @param source - The raw form data value to filter
379
396
  * @param [target] - An optional accumulator carrying results from prior oneOf/anyOf processing
397
+ * @param [useSourceAsFallback=true] - When false a permissive schema (`true`/`{}`) returns `target`
398
+ * rather than `source`, preventing compositional branches from aliasing the accumulator to `source`
380
399
  * @returns - The filtered value, or `undefined` when the schema rejects the value
381
400
  */
382
- function omit(schemaDef, source, target) {
401
+ function omit(schemaDef, source, target, useSourceAsFallback = true) {
383
402
  if (source === undefined || schemaDef === false) {
384
403
  return undefined;
385
404
  }
386
- if (schemaDef === true || isEmpty(schemaDef)) {
387
- return source;
405
+ if (schemaDef === true || !schemaDef || Object.keys(schemaDef).length === 0) {
406
+ return target ?? (useSourceAsFallback ? source : undefined);
388
407
  }
389
408
  let localSchema = schemaDef;
390
409
  const { $ref: ref, allOf } = localSchema;
391
410
  if (ref !== undefined) {
392
- return omit(findSchemaDefinition(ref, rootSchema), source, target);
411
+ return omit(findSchemaDefinition(ref, rootSchema), source, target, useSourceAsFallback);
393
412
  }
394
413
  if (allOf) {
395
414
  localSchema = doMergeAllOf(localSchema, experimental_customMergeAllOf);
@@ -401,7 +420,7 @@ export default function omitExtraData(validator, schema, rootSchema = {}, formDa
401
420
  if (remainingAllOf) {
402
421
  for (let i = 0; i < remainingAllOf.length; i++) {
403
422
  // oxlint-disable-next-line no-param-reassign
404
- target = omit(remainingAllOf[i], source, target);
423
+ target = omit(remainingAllOf[i], source, target, false);
405
424
  }
406
425
  }
407
426
  }
@@ -417,12 +436,29 @@ export default function omitExtraData(validator, schema, rootSchema = {}, formDa
417
436
  if (!Array.isArray(source)) {
418
437
  return undefined;
419
438
  }
420
- filtered = handleArray(localSchema, source, Array.isArray(filtered) ? filtered : []);
439
+ if (localSchema.items !== undefined) {
440
+ filtered = handleArray(localSchema, source, Array.isArray(filtered) ? filtered : []);
441
+ }
421
442
  }
422
- else if (filtered === undefined) {
423
- filtered = source;
443
+ // Post-prune after conditions (oneOf/anyOf/if-then) but BEFORE dependencies: keys added by
444
+ // dependency sub-schemas are legitimate extensions of the allowed property set and must not be
445
+ // pruned. Keys added only by winning conditional branches are still removed here so the result
446
+ // honours additionalProperties:false.
447
+ const afterConditions = handleConditions(localSchema, source, filtered);
448
+ if (localSchema.additionalProperties === false && isObjectValue(afterConditions)) {
449
+ const knownKeys = new Set(Object.keys(localSchema.properties ?? {}));
450
+ const patterns = localSchema.patternProperties
451
+ ? Object.keys(localSchema.patternProperties).map((p) => new RegExp(p))
452
+ : [];
453
+ for (const key of Object.keys(afterConditions)) {
454
+ if (!knownKeys.has(key) && !patterns.some((re) => re.test(key))) {
455
+ // oxlint-disable-next-line no-param-reassign
456
+ delete afterConditions[key];
457
+ }
458
+ }
424
459
  }
425
- return handleDependencies(localSchema, source, handleConditions(localSchema, source, filtered));
460
+ const result = handleDependencies(localSchema, source, afterConditions);
461
+ return result ?? (useSourceAsFallback ? source : undefined);
426
462
  }
427
463
  return omit(schema, formData);
428
464
  }
@@ -1 +1 @@
1
- {"version":3,"file":"omitExtraData.js","sourceRoot":"","sources":["../../src/schema/omitExtraData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"omitExtraData.js","sourceRoot":"","sources":["../../src/schema/omitExtraData.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Experimental_CustomMergeAllOf, FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types.js';
1
+ import type { Experimental_CustomMergeAllOf, FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types.ts';
2
2
  /** Retrieves an expanded schema that has had all of its conditions, additional properties, references and dependencies
3
3
  * resolved and merged into the `schema` given a `validator`, `rootSchema` and `rawFormData` that is used to do the
4
4
  * potentially recursive resolution.
@@ -220,3 +220,4 @@ export declare function withDependentSchema<T = any, S extends StrictRJSFSchema
220
220
  * @returns - Either an array containing the best matching option or all options if `expandAllBranches` is true
221
221
  */
222
222
  export declare function withExactlyOneSubschema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, dependencyKey: string, oneOf: S['oneOf'], expandAllBranches: boolean, recurseList: string[], formData?: T, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): S[];
223
+ //# sourceMappingURL=retrieveSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieveSchema.d.ts","sourceRoot":"","sources":["../../src/schema/retrieveSchema.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,13 @@
1
- import flattenDeep from 'lodash-es/flattenDeep.js';
2
- import get from 'lodash-es/get.js';
3
- import isEmpty from 'lodash-es/isEmpty.js';
4
- import merge from 'lodash-es/merge.js';
5
- import set from 'lodash-es/set.js';
6
- import times from 'lodash-es/times.js';
7
- import transform from 'lodash-es/transform.js';
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_CYCLE_KEY, RJSF_REF_KEY, } from '../constants.js';
10
- import deepEquals from '../deepEquals.js';
11
- import findSchemaDefinition, { splitKeyElementFromObject } from '../findSchemaDefinition.js';
12
- import getDiscriminatorFieldFromSchema from '../getDiscriminatorFieldFromSchema.js';
13
- import guessType from '../guessType.js';
14
- import isObject from '../isObject.js';
15
- import mergeSchemas from '../mergeSchemas.js';
16
- import getFirstMatchingOption from './getFirstMatchingOption.js';
17
- import shallowAllOfMerge from './shallowAllOfMerge.js';
1
+ 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";
2
+ import deepEquals from "../deepEquals.js";
3
+ import findSchemaDefinition, { splitKeyElementFromObject } from "../findSchemaDefinition.js";
4
+ import getDiscriminatorFieldFromSchema from "../getDiscriminatorFieldFromSchema.js";
5
+ import guessType from "../guessType.js";
6
+ import isObject from "../isObject.js";
7
+ import mergeSchemas from "../mergeSchemas.js";
8
+ import { getByPath } from "../pathUtils.js";
9
+ import getFirstMatchingOption from "./getFirstMatchingOption.js";
10
+ import shallowAllOfMerge from "./shallowAllOfMerge.js";
18
11
  /** Retrieves an expanded schema that has had all of its conditions, additional properties, references and dependencies
19
12
  * resolved and merged into the `schema` given a `validator`, `rootSchema` and `rawFormData` that is used to do the
20
13
  * potentially recursive resolution.
@@ -100,7 +93,7 @@ export function getAllPermutationsOfXxxOf(listOfLists) {
100
93
  const allPermutations = listOfLists.reduce((permutations, list) => {
101
94
  // When there are more than one set of schemas for a row, duplicate the set of permutations and add in the values
102
95
  if (list.length > 1) {
103
- return list.flatMap((element) => times(permutations.length, (i) => [...permutations[i]].concat(element)));
96
+ return list.flatMap((element) => permutations.map((permutation) => [...permutation, element]));
104
97
  }
105
98
  // Otherwise just push in the single value into the current set of permutations
106
99
  permutations.forEach((permutation) => permutation.push(list[0]));
@@ -115,13 +108,8 @@ export function getAllPermutationsOfXxxOf(listOfLists) {
115
108
  * @returns - The subset of 'patternProperties' specifications that match the given 'key'
116
109
  */
117
110
  export function getMatchingPatternProperties(schema, key) {
118
- return Object.keys(schema.patternProperties)
119
- .filter((pattern) => RegExp(pattern).test(key))
120
- .reduce((obj, pattern) => {
121
- // Pass the pattern using the `[]` index notation so that any `.` in the pattern are not used as a dotted path
122
- set(obj, [pattern], schema.patternProperties[pattern]);
123
- return obj;
124
- }, {});
111
+ const patternProperties = schema.patternProperties ?? {};
112
+ return Object.fromEntries(Object.entries(patternProperties).filter(([pattern]) => RegExp(pattern).test(key)));
125
113
  }
126
114
  /** Resolves references and dependencies within a schema and its 'allOf' children. Passes the `expandAllBranches` flag
127
115
  * down to the `retrieveSchemaInternal()`, `resolveReference()` and `resolveDependencies()` helper calls. If
@@ -219,16 +207,21 @@ export function resolveAllReferences(schema, rootSchema, recurseList, baseURI, r
219
207
  }
220
208
  if (PROPERTIES_KEY in resolvedSchema) {
221
209
  const childrenLists = [];
222
- const updatedProps = transform(resolvedSchema[PROPERTIES_KEY], (acc, value, key) => {
210
+ const updatedProps = {};
211
+ for (const [key, value] of Object.entries(resolvedSchema[PROPERTIES_KEY] ?? {})) {
223
212
  const childList = [...recurseList];
224
213
  // Mark cycles only when NOT in resolveAnyOfOrOneOfRefs mode. When resolveAnyOfOrOneOfRefs=true
225
214
  // (e.g. from ObjectField), options are resolved against a shared recurseList that accumulates
226
215
  // refs across branches, causing false positives. In simple (non-anyOf) resolution, a $ref cycle
227
216
  // in an object property always causes an infinite render loop and must be caught.
228
- acc[key] = resolveAllReferences(value, rootSchema, childList, currentBaseURI, resolveAnyOfOrOneOfRefs, !resolveAnyOfOrOneOfRefs);
217
+ updatedProps[key] = resolveAllReferences(value, rootSchema, childList, currentBaseURI, resolveAnyOfOrOneOfRefs, !resolveAnyOfOrOneOfRefs);
229
218
  childrenLists.push(childList);
230
- }, {});
231
- merge(recurseList, uniq(flattenDeep(childrenLists)));
219
+ }
220
+ for (const ref of new Set(childrenLists.flat())) {
221
+ if (!recurseList.includes(ref)) {
222
+ recurseList.push(ref);
223
+ }
224
+ }
232
225
  resolvedSchema = { ...resolvedSchema, [PROPERTIES_KEY]: updatedProps };
233
226
  }
234
227
  if (ITEMS_KEY in resolvedSchema &&
@@ -284,8 +277,8 @@ export function stubExistingAdditionalProperties(validator, theSchema, rootSchem
284
277
  }
285
278
  if (PATTERN_PROPERTIES_KEY in schema) {
286
279
  const matchingProperties = getMatchingPatternProperties(schema, key);
287
- if (!isEmpty(matchingProperties)) {
288
- schema.properties[key] = retrieveSchema(validator, { [ALL_OF_KEY]: Object.values(matchingProperties) }, rootSchema, get(formData, [key]), experimental_customMergeAllOf);
280
+ if (Object.keys(matchingProperties).length > 0) {
281
+ schema.properties[key] = retrieveSchema(validator, { [ALL_OF_KEY]: Object.values(matchingProperties) }, rootSchema, formData[key], experimental_customMergeAllOf);
289
282
  schema.properties[key][ADDITIONAL_PROPERTY_FLAG] = true;
290
283
  return;
291
284
  }
@@ -294,7 +287,7 @@ export function stubExistingAdditionalProperties(validator, theSchema, rootSchem
294
287
  let additionalProperties;
295
288
  if (typeof schema.additionalProperties !== 'boolean') {
296
289
  if (REF_KEY in schema.additionalProperties) {
297
- additionalProperties = retrieveSchema(validator, { [REF_KEY]: get(schema.additionalProperties, [REF_KEY]) }, rootSchema, get(formData, [key]), experimental_customMergeAllOf);
290
+ additionalProperties = retrieveSchema(validator, { [REF_KEY]: schema.additionalProperties[REF_KEY] }, rootSchema, formData[key], experimental_customMergeAllOf);
298
291
  }
299
292
  else if ('type' in schema.additionalProperties) {
300
293
  additionalProperties = { ...schema.additionalProperties };
@@ -306,11 +299,11 @@ export function stubExistingAdditionalProperties(validator, theSchema, rootSchem
306
299
  };
307
300
  }
308
301
  else {
309
- additionalProperties = { type: guessType(get(formData, [key])) };
302
+ additionalProperties = { type: guessType(formData[key]) };
310
303
  }
311
304
  }
312
305
  else {
313
- additionalProperties = { type: guessType(get(formData, [key])) };
306
+ additionalProperties = { type: guessType(formData[key]) };
314
307
  }
315
308
  // The type of our new key should match the additionalProperties value;
316
309
  schema.properties[key] = additionalProperties;
@@ -357,7 +350,6 @@ export function retrieveSchemaInternal(validator, schema, rootSchema, rawFormDat
357
350
  }
358
351
  const resolvedSchemas = resolveSchema(validator, schema, rootSchema, expandAllBranches, recurseList, rawFormData, experimental_customMergeAllOf, resolveAnyOfOrOneOfRefs);
359
352
  return resolvedSchemas.flatMap((s) => {
360
- var _a;
361
353
  let resolvedSchema = s;
362
354
  if (IF_KEY in resolvedSchema) {
363
355
  return resolveCondition(validator, resolvedSchema, rootSchema, expandAllBranches, recurseList, rawFormData, experimental_customMergeAllOf);
@@ -374,7 +366,7 @@ export function retrieveSchemaInternal(validator, schema, rootSchema, rawFormDat
374
366
  // Collect Symbol-keyed properties from allOf subschemas before merging; shallowAllOfMerge
375
367
  // (external library) only operates on string keys and will drop them.
376
368
  const allOfSymbols = {};
377
- (_a = resolvedSchema.allOf) === null || _a === void 0 ? void 0 : _a.forEach((allOfItem) => {
369
+ resolvedSchema.allOf?.forEach((allOfItem) => {
378
370
  if (typeof allOfItem === 'object' && allOfItem.contains) {
379
371
  withContainsSchemas.push(allOfItem);
380
372
  }
@@ -411,8 +403,8 @@ export function retrieveSchemaInternal(validator, schema, rootSchema, rawFormDat
411
403
  if (PROPERTIES_KEY in resolvedSchema && PATTERN_PROPERTIES_KEY in resolvedSchema) {
412
404
  resolvedSchema = Object.keys(resolvedSchema.properties).reduce((acc, key) => {
413
405
  const matchingProperties = getMatchingPatternProperties(acc, key);
414
- if (!isEmpty(matchingProperties)) {
415
- acc.properties[key] = retrieveSchema(validator, { allOf: [acc.properties[key], ...Object.values(matchingProperties)] }, rootSchema, get(rawFormData, [key]), experimental_customMergeAllOf);
406
+ if (Object.keys(matchingProperties).length > 0) {
407
+ acc.properties[key] = retrieveSchema(validator, { allOf: [acc.properties[key], ...Object.values(matchingProperties)] }, rootSchema, getByPath(rawFormData, key), experimental_customMergeAllOf);
416
408
  }
417
409
  return acc;
418
410
  }, {
@@ -531,7 +523,7 @@ export function processDependencies(validator, dependencies, resolvedSchema, roo
531
523
  let schemas = [resolvedSchema];
532
524
  // Process dependencies updating the local schema properties as appropriate.
533
525
  for (const dependencyKey in dependencies) {
534
- if ((expandAllBranches || get(formData, [dependencyKey]) !== undefined) &&
526
+ if ((expandAllBranches || getByPath(formData, dependencyKey) !== undefined) &&
535
527
  (!resolvedSchema.properties || dependencyKey in resolvedSchema.properties)) {
536
528
  const [remainingDependencies, dependencyValue] = splitKeyElementFromObject(dependencyKey, dependencies);
537
529
  if (Array.isArray(dependencyValue)) {
@@ -613,7 +605,7 @@ export function withDependentSchema(validator, schema, rootSchema, dependencyKey
613
605
  */
614
606
  export function withExactlyOneSubschema(validator, schema, rootSchema, dependencyKey, oneOf, expandAllBranches, recurseList, formData, experimental_customMergeAllOf) {
615
607
  const validSubschemas = oneOf.filter((subschema) => {
616
- if (typeof subschema === 'boolean' || !(subschema === null || subschema === void 0 ? void 0 : subschema.properties)) {
608
+ if (typeof subschema === 'boolean' || !subschema?.properties) {
617
609
  return false;
618
610
  }
619
611
  const { [dependencyKey]: conditionPropertySchema } = subschema.properties;