@rjsf/utils 6.7.1 → 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.
- package/dist/index.cjs +521 -425
- package/dist/index.cjs.map +4 -4
- package/dist/utils.esm.js +520 -424
- package/dist/utils.esm.js.map +4 -4
- package/dist/utils.umd.js +579 -333
- package/lib/ErrorSchemaBuilder.d.ts +8 -7
- package/lib/ErrorSchemaBuilder.d.ts.map +1 -0
- package/lib/ErrorSchemaBuilder.js +29 -27
- package/lib/ErrorSchemaBuilder.js.map +1 -1
- package/lib/SelectedOptionDescription.d.ts +2 -1
- package/lib/SelectedOptionDescription.d.ts.map +1 -0
- package/lib/SelectedOptionDescription.js +6 -7
- package/lib/SelectedOptionDescription.js.map +1 -1
- package/lib/allowAdditionalItems.d.ts +2 -1
- package/lib/allowAdditionalItems.d.ts.map +1 -0
- package/lib/allowAdditionalItems.js +1 -1
- package/lib/allowAdditionalItems.js.map +1 -1
- package/lib/asNumber.d.ts +1 -0
- package/lib/asNumber.d.ts.map +1 -0
- package/lib/asNumber.js +1 -1
- package/lib/asNumber.js.map +1 -1
- package/lib/canExpand.d.ts +2 -1
- package/lib/canExpand.d.ts.map +1 -0
- package/lib/canExpand.js +1 -1
- package/lib/canExpand.js.map +1 -1
- package/lib/constIsAjvDataReference.d.ts +2 -1
- package/lib/constIsAjvDataReference.d.ts.map +1 -0
- package/lib/constIsAjvDataReference.js +2 -3
- package/lib/constIsAjvDataReference.js.map +1 -1
- package/lib/constants.d.ts +1 -0
- package/lib/constants.d.ts.map +1 -0
- package/lib/createErrorHandler.d.ts +2 -1
- package/lib/createErrorHandler.d.ts.map +1 -0
- package/lib/createErrorHandler.js +3 -4
- package/lib/createErrorHandler.js.map +1 -1
- package/lib/createSchemaUtils.d.ts +2 -1
- package/lib/createSchemaUtils.d.ts.map +1 -0
- package/lib/createSchemaUtils.js +10 -7
- package/lib/createSchemaUtils.js.map +1 -1
- package/lib/dataURItoBlob.d.ts +1 -0
- package/lib/dataURItoBlob.d.ts.map +1 -0
- package/lib/dataURItoBlob.js +1 -2
- package/lib/dataURItoBlob.js.map +1 -1
- package/lib/dateRangeOptions.d.ts +2 -1
- package/lib/dateRangeOptions.d.ts.map +1 -0
- package/lib/dateRangeOptions.js +1 -1
- package/lib/dateRangeOptions.js.map +1 -1
- package/lib/deepEquals.d.ts +1 -0
- package/lib/deepEquals.d.ts.map +1 -0
- package/lib/englishStringTranslator.d.ts +2 -1
- package/lib/englishStringTranslator.d.ts.map +1 -0
- package/lib/englishStringTranslator.js +1 -1
- package/lib/englishStringTranslator.js.map +1 -1
- package/lib/enumOptionSelectedValue.d.ts +2 -1
- package/lib/enumOptionSelectedValue.d.ts.map +1 -0
- package/lib/enumOptionSelectedValue.js +1 -1
- package/lib/enumOptionSelectedValue.js.map +1 -1
- package/lib/enumOptionValueDecoder.d.ts +2 -1
- package/lib/enumOptionValueDecoder.d.ts.map +1 -0
- package/lib/enumOptionValueDecoder.js +1 -1
- package/lib/enumOptionValueDecoder.js.map +1 -1
- package/lib/enumOptionValueEncoder.d.ts +2 -1
- package/lib/enumOptionValueEncoder.d.ts.map +1 -0
- package/lib/enumOptionValueEncoder.js +1 -2
- package/lib/enumOptionValueEncoder.js.map +1 -1
- package/lib/enumOptionsDeselectValue.d.ts +2 -1
- package/lib/enumOptionsDeselectValue.d.ts.map +1 -0
- package/lib/enumOptionsDeselectValue.js +2 -2
- package/lib/enumOptionsDeselectValue.js.map +1 -1
- package/lib/enumOptionsIndexForValue.d.ts +2 -1
- package/lib/enumOptionsIndexForValue.d.ts.map +1 -0
- package/lib/enumOptionsIndexForValue.js +1 -1
- package/lib/enumOptionsIndexForValue.js.map +1 -1
- package/lib/enumOptionsIsSelected.d.ts +2 -1
- package/lib/enumOptionsIsSelected.d.ts.map +1 -0
- package/lib/enumOptionsIsSelected.js +1 -1
- package/lib/enumOptionsIsSelected.js.map +1 -1
- package/lib/enumOptionsSelectValue.d.ts +2 -1
- package/lib/enumOptionsSelectValue.d.ts.map +1 -0
- package/lib/enumOptionsSelectValue.js +2 -3
- package/lib/enumOptionsSelectValue.js.map +1 -1
- package/lib/enumOptionsValueForIndex.d.ts +2 -1
- package/lib/enumOptionsValueForIndex.d.ts.map +1 -0
- package/lib/enums.d.ts +1 -0
- package/lib/enums.d.ts.map +1 -0
- package/lib/findSchemaDefinition.d.ts +2 -1
- package/lib/findSchemaDefinition.d.ts.map +1 -0
- package/lib/findSchemaDefinition.js +7 -11
- package/lib/findSchemaDefinition.js.map +1 -1
- package/lib/getChangedFields.d.ts +11 -2
- package/lib/getChangedFields.d.ts.map +1 -0
- package/lib/getChangedFields.js +57 -18
- package/lib/getChangedFields.js.map +1 -1
- package/lib/getDateElementProps.d.ts +2 -1
- package/lib/getDateElementProps.d.ts.map +1 -0
- package/lib/getDecimalSeparator.d.ts +1 -0
- package/lib/getDecimalSeparator.d.ts.map +1 -0
- package/lib/getDecimalSeparator.js +1 -2
- package/lib/getDecimalSeparator.js.map +1 -1
- package/lib/getDiscriminatorFieldFromSchema.d.ts +2 -1
- package/lib/getDiscriminatorFieldFromSchema.d.ts.map +1 -0
- package/lib/getDiscriminatorFieldFromSchema.js +4 -5
- package/lib/getDiscriminatorFieldFromSchema.js.map +1 -1
- package/lib/getInputProps.d.ts +2 -1
- package/lib/getInputProps.d.ts.map +1 -0
- package/lib/getInputProps.js +4 -1
- package/lib/getInputProps.js.map +1 -1
- package/lib/getOptionMatchingSimpleDiscriminator.d.ts +2 -1
- package/lib/getOptionMatchingSimpleDiscriminator.d.ts.map +1 -0
- package/lib/getOptionMatchingSimpleDiscriminator.js +6 -6
- package/lib/getOptionMatchingSimpleDiscriminator.js.map +1 -1
- package/lib/getOptionValueFormat.d.ts +2 -1
- package/lib/getOptionValueFormat.d.ts.map +1 -0
- package/lib/getOptionValueFormat.js +1 -2
- package/lib/getOptionValueFormat.js.map +1 -1
- package/lib/getPropertySchema.d.ts +12 -0
- package/lib/getPropertySchema.d.ts.map +1 -0
- package/lib/getPropertySchema.js +14 -0
- package/lib/getPropertySchema.js.map +1 -0
- package/lib/getSchemaType.d.ts +2 -1
- package/lib/getSchemaType.d.ts.map +1 -0
- package/lib/getSchemaType.js +1 -1
- package/lib/getSchemaType.js.map +1 -1
- package/lib/getSubmitButtonOptions.d.ts +2 -1
- package/lib/getSubmitButtonOptions.d.ts.map +1 -0
- package/lib/getSubmitButtonOptions.js +3 -3
- package/lib/getSubmitButtonOptions.js.map +1 -1
- package/lib/getTemplate.d.ts +2 -1
- package/lib/getTemplate.d.ts.map +1 -0
- package/lib/getTestIds.d.ts +2 -1
- package/lib/getTestIds.d.ts.map +1 -0
- package/lib/getTestIds.js +6 -5
- package/lib/getTestIds.js.map +1 -1
- package/lib/getUiOptions.d.ts +2 -1
- package/lib/getUiOptions.d.ts.map +1 -0
- package/lib/getUiOptions.js +2 -2
- package/lib/getUiOptions.js.map +1 -1
- package/lib/getWidget.d.ts +2 -1
- package/lib/getWidget.d.ts.map +1 -0
- package/lib/getWidget.js +6 -7
- package/lib/getWidget.js.map +1 -1
- package/lib/guessType.d.ts +2 -1
- package/lib/guessType.d.ts.map +1 -0
- package/lib/hasWidget.d.ts +2 -1
- package/lib/hasWidget.d.ts.map +1 -0
- package/lib/hasWidget.js +1 -1
- package/lib/hasWidget.js.map +1 -1
- package/lib/hashForSchema.d.ts +4 -2
- package/lib/hashForSchema.d.ts.map +1 -0
- package/lib/hashForSchema.js +17 -8
- package/lib/hashForSchema.js.map +1 -1
- package/lib/idGenerators.d.ts +2 -1
- package/lib/idGenerators.d.ts.map +1 -0
- package/lib/idGenerators.js +2 -3
- package/lib/idGenerators.js.map +1 -1
- package/lib/index.d.ts +93 -87
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +85 -81
- package/lib/index.js.map +1 -1
- package/lib/isConstant.d.ts +2 -1
- package/lib/isConstant.d.ts.map +1 -0
- package/lib/isConstant.js +1 -1
- package/lib/isConstant.js.map +1 -1
- package/lib/isCustomWidget.d.ts +2 -1
- package/lib/isCustomWidget.d.ts.map +1 -0
- package/lib/isCustomWidget.js +1 -1
- package/lib/isCustomWidget.js.map +1 -1
- package/lib/isFixedItems.d.ts +2 -1
- package/lib/isFixedItems.d.ts.map +1 -0
- package/lib/isFixedItems.js +1 -1
- package/lib/isFixedItems.js.map +1 -1
- package/lib/isFormDataAvailable.d.ts +1 -0
- package/lib/isFormDataAvailable.d.ts.map +1 -0
- package/lib/isFormDataAvailable.js +7 -4
- package/lib/isFormDataAvailable.js.map +1 -1
- package/lib/isObject.d.ts +3 -1
- package/lib/isObject.d.ts.map +1 -0
- package/lib/isObject.js +8 -2
- package/lib/isObject.js.map +1 -1
- package/lib/isPlainObject.d.ts +9 -0
- package/lib/isPlainObject.d.ts.map +1 -0
- package/lib/isPlainObject.js +15 -0
- package/lib/isPlainObject.js.map +1 -0
- package/lib/isRootSchema.d.ts +2 -1
- package/lib/isRootSchema.d.ts.map +1 -0
- package/lib/isRootSchema.js +2 -2
- package/lib/isRootSchema.js.map +1 -1
- package/lib/jsonSchemaAugmentation.d.ts +1 -0
- package/lib/jsonSchemaAugmentation.d.ts.map +1 -0
- package/lib/labelValue.d.ts +1 -0
- package/lib/labelValue.d.ts.map +1 -0
- package/lib/localToUTC.d.ts +1 -0
- package/lib/localToUTC.d.ts.map +1 -0
- package/lib/logUnsupportedDefaultForEnum.d.ts +2 -1
- package/lib/logUnsupportedDefaultForEnum.d.ts.map +1 -0
- package/lib/logUnsupportedDefaultForEnum.js +1 -1
- package/lib/logUnsupportedDefaultForEnum.js.map +1 -1
- package/lib/lookupFromFormContext.d.ts +3 -2
- package/lib/lookupFromFormContext.d.ts.map +1 -0
- package/lib/lookupFromFormContext.js +4 -5
- package/lib/lookupFromFormContext.js.map +1 -1
- package/lib/mergeDefaultsWithFormData.d.ts +1 -0
- package/lib/mergeDefaultsWithFormData.d.ts.map +1 -0
- package/lib/mergeDefaultsWithFormData.js +20 -16
- package/lib/mergeDefaultsWithFormData.js.map +1 -1
- package/lib/mergeObjects.d.ts +2 -1
- package/lib/mergeObjects.d.ts.map +1 -0
- package/lib/mergeObjects.js +1 -1
- package/lib/mergeObjects.js.map +1 -1
- package/lib/mergeSchemas.d.ts +2 -1
- package/lib/mergeSchemas.d.ts.map +1 -0
- package/lib/mergeSchemas.js +4 -5
- package/lib/mergeSchemas.js.map +1 -1
- package/lib/nameGenerators.d.ts +2 -1
- package/lib/nameGenerators.d.ts.map +1 -0
- package/lib/noop.d.ts +5 -0
- package/lib/noop.d.ts.map +1 -0
- package/lib/noop.js +5 -0
- package/lib/noop.js.map +1 -0
- package/lib/optionsList.d.ts +2 -1
- package/lib/optionsList.d.ts.map +1 -0
- package/lib/optionsList.js +15 -15
- package/lib/optionsList.js.map +1 -1
- package/lib/orderProperties.d.ts +1 -0
- package/lib/orderProperties.d.ts.map +1 -0
- package/lib/pad.d.ts +1 -0
- package/lib/pad.d.ts.map +1 -0
- package/lib/parseDateString.d.ts +2 -1
- package/lib/parseDateString.d.ts.map +1 -0
- package/lib/parser/ParserValidator.d.ts +2 -1
- package/lib/parser/ParserValidator.d.ts.map +1 -0
- package/lib/parser/ParserValidator.js +8 -7
- package/lib/parser/ParserValidator.js.map +1 -1
- package/lib/parser/index.d.ts +3 -2
- package/lib/parser/index.d.ts.map +1 -0
- package/lib/parser/index.js +1 -1
- package/lib/parser/index.js.map +1 -1
- package/lib/parser/schemaParser.d.ts +3 -2
- package/lib/parser/schemaParser.d.ts.map +1 -0
- package/lib/parser/schemaParser.js +6 -7
- package/lib/parser/schemaParser.js.map +1 -1
- package/lib/pathUtils.d.ts +77 -0
- package/lib/pathUtils.d.ts.map +1 -0
- package/lib/pathUtils.js +192 -0
- package/lib/pathUtils.js.map +1 -0
- package/lib/rangeSpec.d.ts +2 -1
- package/lib/rangeSpec.d.ts.map +1 -0
- package/lib/removeOptionalEmptyObjects.d.ts +2 -1
- package/lib/removeOptionalEmptyObjects.d.ts.map +1 -0
- package/lib/removeOptionalEmptyObjects.js +2 -2
- package/lib/removeOptionalEmptyObjects.js.map +1 -1
- package/lib/replaceStringParameters.d.ts +1 -0
- package/lib/replaceStringParameters.d.ts.map +1 -0
- package/lib/resolveUiSchema.d.ts +2 -1
- package/lib/resolveUiSchema.d.ts.map +1 -0
- package/lib/resolveUiSchema.js +6 -8
- package/lib/resolveUiSchema.js.map +1 -1
- package/lib/schema/findFieldInSchema.d.ts +2 -1
- package/lib/schema/findFieldInSchema.d.ts.map +1 -0
- package/lib/schema/findFieldInSchema.js +10 -11
- package/lib/schema/findFieldInSchema.js.map +1 -1
- package/lib/schema/findSelectedOptionInXxxOf.d.ts +2 -1
- package/lib/schema/findSelectedOptionInXxxOf.d.ts.map +1 -0
- package/lib/schema/findSelectedOptionInXxxOf.js +7 -7
- package/lib/schema/findSelectedOptionInXxxOf.js.map +1 -1
- package/lib/schema/getClosestMatchingOption.d.ts +2 -1
- package/lib/schema/getClosestMatchingOption.d.ts.map +1 -0
- package/lib/schema/getClosestMatchingOption.js +18 -23
- package/lib/schema/getClosestMatchingOption.js.map +1 -1
- package/lib/schema/getDefaultFormState.d.ts +2 -1
- package/lib/schema/getDefaultFormState.d.ts.map +1 -0
- package/lib/schema/getDefaultFormState.js +78 -56
- package/lib/schema/getDefaultFormState.js.map +1 -1
- package/lib/schema/getDisplayLabel.d.ts +2 -1
- package/lib/schema/getDisplayLabel.d.ts.map +1 -0
- package/lib/schema/getDisplayLabel.js +7 -7
- package/lib/schema/getDisplayLabel.js.map +1 -1
- package/lib/schema/getFirstMatchingOption.d.ts +2 -1
- package/lib/schema/getFirstMatchingOption.d.ts.map +1 -0
- package/lib/schema/getFirstMatchingOption.js +9 -9
- package/lib/schema/getFirstMatchingOption.js.map +1 -1
- package/lib/schema/getFromSchema.d.ts +3 -2
- package/lib/schema/getFromSchema.d.ts.map +1 -0
- package/lib/schema/getFromSchema.js +10 -11
- package/lib/schema/getFromSchema.js.map +1 -1
- package/lib/schema/index.d.ts +15 -14
- package/lib/schema/index.d.ts.map +1 -0
- package/lib/schema/index.js +14 -14
- package/lib/schema/index.js.map +1 -1
- package/lib/schema/isFilesArray.d.ts +2 -1
- package/lib/schema/isFilesArray.d.ts.map +1 -0
- package/lib/schema/isFilesArray.js +2 -2
- package/lib/schema/isFilesArray.js.map +1 -1
- package/lib/schema/isMultiSelect.d.ts +2 -1
- package/lib/schema/isMultiSelect.d.ts.map +1 -0
- package/lib/schema/isMultiSelect.js +1 -1
- package/lib/schema/isMultiSelect.js.map +1 -1
- package/lib/schema/isSelect.d.ts +2 -1
- package/lib/schema/isSelect.d.ts.map +1 -0
- package/lib/schema/isSelect.js +2 -2
- package/lib/schema/isSelect.js.map +1 -1
- package/lib/schema/omitExtraData.d.ts +2 -1
- package/lib/schema/omitExtraData.d.ts.map +1 -0
- package/lib/schema/omitExtraData.js +100 -64
- package/lib/schema/omitExtraData.js.map +1 -1
- package/lib/schema/retrieveSchema.d.ts +2 -1
- package/lib/schema/retrieveSchema.d.ts.map +1 -0
- package/lib/schema/retrieveSchema.js +32 -40
- package/lib/schema/retrieveSchema.js.map +1 -1
- package/lib/schema/sanitizeDataForNewSchema.d.ts +4 -3
- package/lib/schema/sanitizeDataForNewSchema.d.ts.map +1 -0
- package/lib/schema/sanitizeDataForNewSchema.js +41 -39
- package/lib/schema/sanitizeDataForNewSchema.js.map +1 -1
- package/lib/schema/shallowAllOfMerge.d.ts +1 -0
- package/lib/schema/shallowAllOfMerge.d.ts.map +1 -0
- package/lib/schema/toPathSchema.d.ts +2 -1
- package/lib/schema/toPathSchema.d.ts.map +1 -0
- package/lib/schema/toPathSchema.js +14 -14
- package/lib/schema/toPathSchema.js.map +1 -1
- package/lib/schemaRequiresTrueValue.d.ts +2 -1
- package/lib/schemaRequiresTrueValue.d.ts.map +1 -0
- package/lib/schemaRequiresTrueValue.js +3 -4
- package/lib/schemaRequiresTrueValue.js.map +1 -1
- package/lib/shallowEquals.d.ts +1 -0
- package/lib/shallowEquals.d.ts.map +1 -0
- package/lib/shouldRender.d.ts +2 -1
- package/lib/shouldRender.d.ts.map +1 -0
- package/lib/shouldRender.js +2 -2
- package/lib/shouldRender.js.map +1 -1
- package/lib/shouldRenderOptionalField.d.ts +2 -1
- package/lib/shouldRenderOptionalField.d.ts.map +1 -0
- package/lib/shouldRenderOptionalField.js +11 -10
- package/lib/shouldRenderOptionalField.js.map +1 -1
- package/lib/toConstant.d.ts +2 -1
- package/lib/toConstant.d.ts.map +1 -0
- package/lib/toConstant.js +1 -1
- package/lib/toConstant.js.map +1 -1
- package/lib/toDateString.d.ts +2 -1
- package/lib/toDateString.d.ts.map +1 -0
- package/lib/toErrorList.d.ts +2 -1
- package/lib/toErrorList.d.ts.map +1 -0
- package/lib/toErrorList.js +20 -21
- package/lib/toErrorList.js.map +1 -1
- package/lib/toErrorSchema.d.ts +2 -1
- package/lib/toErrorSchema.d.ts.map +1 -0
- package/lib/toErrorSchema.js +4 -9
- package/lib/toErrorSchema.js.map +1 -1
- package/lib/toFieldPathId.d.ts +2 -1
- package/lib/toFieldPathId.d.ts.map +1 -0
- package/lib/toFieldPathId.js +2 -2
- package/lib/toFieldPathId.js.map +1 -1
- package/lib/types.d.ts +15 -5
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +1 -1
- package/lib/types.js.map +1 -1
- package/lib/unwrapErrorHandler.d.ts +2 -1
- package/lib/unwrapErrorHandler.d.ts.map +1 -0
- package/lib/unwrapErrorHandler.js +13 -4
- package/lib/unwrapErrorHandler.js.map +1 -1
- package/lib/useAltDateWidgetProps.d.ts +3 -2
- package/lib/useAltDateWidgetProps.d.ts.map +1 -0
- package/lib/useAltDateWidgetProps.js +5 -5
- package/lib/useAltDateWidgetProps.js.map +1 -1
- package/lib/useDeepCompareMemo.d.ts +1 -0
- package/lib/useDeepCompareMemo.d.ts.map +1 -0
- package/lib/useDeepCompareMemo.js +1 -1
- package/lib/useDeepCompareMemo.js.map +1 -1
- package/lib/useFileWidgetProps.d.ts +1 -0
- package/lib/useFileWidgetProps.d.ts.map +1 -0
- package/lib/useFileWidgetProps.js +3 -4
- package/lib/useFileWidgetProps.js.map +1 -1
- package/lib/utcToLocal.d.ts +1 -0
- package/lib/utcToLocal.d.ts.map +1 -0
- package/lib/utcToLocal.js +1 -1
- package/lib/utcToLocal.js.map +1 -1
- package/lib/validationDataMerge.d.ts +2 -1
- package/lib/validationDataMerge.d.ts.map +1 -0
- package/lib/validationDataMerge.js +3 -4
- package/lib/validationDataMerge.js.map +1 -1
- package/lib/withIdRefPrefix.d.ts +2 -1
- package/lib/withIdRefPrefix.d.ts.map +1 -0
- package/lib/withIdRefPrefix.js +2 -2
- package/lib/withIdRefPrefix.js.map +1 -1
- package/package.json +5 -6
- package/src/ErrorSchemaBuilder.ts +25 -24
- package/src/SelectedOptionDescription.tsx +5 -5
- package/src/allowAdditionalItems.ts +2 -2
- package/src/asNumber.ts +1 -1
- package/src/canExpand.ts +2 -2
- package/src/constIsAjvDataReference.ts +5 -4
- package/src/createErrorHandler.ts +5 -7
- package/src/createSchemaUtils.ts +8 -10
- package/src/dateRangeOptions.ts +2 -2
- package/src/englishStringTranslator.ts +2 -2
- package/src/enumOptionSelectedValue.ts +2 -2
- package/src/enumOptionValueDecoder.ts +2 -2
- package/src/enumOptionValueEncoder.ts +2 -4
- package/src/enumOptionsDeselectValue.ts +3 -3
- package/src/enumOptionsIndexForValue.ts +2 -2
- package/src/enumOptionsIsSelected.ts +2 -2
- package/src/enumOptionsSelectValue.ts +3 -5
- package/src/enumOptionsValueForIndex.ts +1 -1
- package/src/findSchemaDefinition.ts +8 -12
- package/src/getChangedFields.ts +57 -18
- package/src/getDateElementProps.ts +1 -1
- package/src/getDiscriminatorFieldFromSchema.ts +5 -7
- package/src/getInputProps.ts +6 -2
- package/src/getOptionMatchingSimpleDiscriminator.ts +7 -7
- package/src/getOptionValueFormat.ts +1 -1
- package/src/getPropertySchema.ts +18 -0
- package/src/getSchemaType.ts +2 -2
- package/src/getSubmitButtonOptions.ts +3 -3
- package/src/getTemplate.ts +1 -1
- package/src/getTestIds.ts +7 -6
- package/src/getUiOptions.ts +3 -3
- package/src/getWidget.tsx +6 -6
- package/src/hasWidget.ts +2 -2
- package/src/hashForSchema.ts +20 -9
- package/src/idGenerators.ts +3 -5
- package/src/index.ts +99 -85
- package/src/isConstant.ts +2 -2
- package/src/isCustomWidget.ts +2 -2
- package/src/isFixedItems.ts +2 -2
- package/src/isFormDataAvailable.ts +7 -5
- package/src/isObject.ts +15 -3
- package/src/isPlainObject.ts +14 -0
- package/src/isRootSchema.ts +3 -3
- package/src/logUnsupportedDefaultForEnum.ts +2 -2
- package/src/lookupFromFormContext.ts +7 -8
- package/src/mergeDefaultsWithFormData.ts +22 -18
- package/src/mergeObjects.ts +2 -2
- package/src/mergeSchemas.ts +5 -7
- package/src/nameGenerators.ts +1 -1
- package/src/noop.ts +4 -0
- package/src/optionsList.ts +9 -9
- package/src/orderProperties.ts +1 -1
- package/src/parseDateString.ts +1 -1
- package/src/parser/ParserValidator.ts +5 -7
- package/src/parser/index.ts +2 -2
- package/src/parser/schemaParser.ts +8 -10
- package/src/pathUtils.ts +203 -0
- package/src/rangeSpec.ts +1 -1
- package/src/removeOptionalEmptyObjects.ts +3 -3
- package/src/resolveUiSchema.ts +5 -7
- package/src/schema/findFieldInSchema.ts +11 -13
- package/src/schema/findSelectedOptionInXxxOf.ts +9 -10
- package/src/schema/getClosestMatchingOption.ts +73 -83
- package/src/schema/getDefaultFormState.ts +62 -34
- package/src/schema/getDisplayLabel.ts +7 -7
- package/src/schema/getFirstMatchingOption.ts +10 -11
- package/src/schema/getFromSchema.ts +12 -14
- package/src/schema/index.ts +14 -14
- package/src/schema/isFilesArray.ts +3 -3
- package/src/schema/isMultiSelect.ts +2 -2
- package/src/schema/isSelect.ts +3 -3
- package/src/schema/omitExtraData.ts +104 -68
- package/src/schema/retrieveSchema.ts +47 -60
- package/src/schema/sanitizeDataForNewSchema.ts +42 -41
- package/src/schema/toPathSchema.ts +14 -14
- package/src/schemaRequiresTrueValue.ts +1 -1
- package/src/shouldRender.ts +3 -3
- package/src/shouldRenderOptionalField.ts +14 -14
- package/src/toConstant.ts +2 -2
- package/src/toDateString.ts +1 -1
- package/src/toErrorList.ts +22 -25
- package/src/toErrorSchema.ts +5 -11
- package/src/toFieldPathId.ts +2 -2
- package/src/types.ts +14 -5
- package/src/unwrapErrorHandler.ts +15 -6
- package/src/useAltDateWidgetProps.tsx +7 -7
- package/src/useDeepCompareMemo.ts +1 -1
- package/src/useFileWidgetProps.ts +1 -1
- package/src/utcToLocal.ts +1 -1
- package/src/validationDataMerge.ts +4 -6
- package/src/withIdRefPrefix.ts +3 -4
- package/lib/tsconfig.tsbuildinfo +0 -1
- package/src/tsconfig.json +0 -9
package/lib/isObject.js
CHANGED
|
@@ -10,12 +10,18 @@ export default function isObject(thing) {
|
|
|
10
10
|
}
|
|
11
11
|
// lastModified is guaranteed to be a number on a File instance
|
|
12
12
|
// as per https://w3c.github.io/FileAPI/#dfn-lastModified
|
|
13
|
-
if (
|
|
13
|
+
if ('lastModified' in thing &&
|
|
14
|
+
typeof thing.lastModified === 'number' &&
|
|
15
|
+
typeof File !== 'undefined' &&
|
|
16
|
+
thing instanceof File) {
|
|
14
17
|
return false;
|
|
15
18
|
}
|
|
16
19
|
// getMonth is guaranteed to be a method on a Date instance
|
|
17
20
|
// as per https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-date.prototype.getmonth
|
|
18
|
-
if (
|
|
21
|
+
if ('getMonth' in thing &&
|
|
22
|
+
typeof thing.getMonth === 'function' &&
|
|
23
|
+
typeof Date !== 'undefined' &&
|
|
24
|
+
thing instanceof Date) {
|
|
19
25
|
return false;
|
|
20
26
|
}
|
|
21
27
|
return !Array.isArray(thing);
|
package/lib/isObject.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isObject.js","sourceRoot":"","sources":["../src/isObject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isObject.js","sourceRoot":"","sources":["../src/isObject.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,+DAA+D;IAC/D,yDAAyD;IACzD,IACE,cAAc,IAAI,KAAK;QACvB,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,OAAO,IAAI,KAAK,WAAW;QAC3B,KAAK,YAAY,IAAI,EACrB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,2DAA2D;IAC3D,8FAA8F;IAC9F,IACE,UAAU,IAAI,KAAK;QACnB,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU;QACpC,OAAO,IAAI,KAAK,WAAW;QAC3B,KAAK,YAAY,IAAI,EACrB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Determines whether `thing` is a plain object, i.e. one created by the `Object` constructor or with a `null`
|
|
2
|
+
* prototype. Unlike `isObject()`, class instances such as `Error` are not plain objects, which matters when
|
|
3
|
+
* recursively walking a structure whose nested values are expected to be plain data.
|
|
4
|
+
*
|
|
5
|
+
* @param thing - The thing to check to see whether it is a plain object
|
|
6
|
+
* @returns - True if it is a plain object, otherwise false
|
|
7
|
+
*/
|
|
8
|
+
export default function isPlainObject(thing: unknown): thing is Record<string, unknown>;
|
|
9
|
+
//# sourceMappingURL=isPlainObject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isPlainObject.d.ts","sourceRoot":"","sources":["../src/isPlainObject.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMtF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Determines whether `thing` is a plain object, i.e. one created by the `Object` constructor or with a `null`
|
|
2
|
+
* prototype. Unlike `isObject()`, class instances such as `Error` are not plain objects, which matters when
|
|
3
|
+
* recursively walking a structure whose nested values are expected to be plain data.
|
|
4
|
+
*
|
|
5
|
+
* @param thing - The thing to check to see whether it is a plain object
|
|
6
|
+
* @returns - True if it is a plain object, otherwise false
|
|
7
|
+
*/
|
|
8
|
+
export default function isPlainObject(thing) {
|
|
9
|
+
if (typeof thing !== 'object' || thing === null) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
const proto = Object.getPrototypeOf(thing);
|
|
13
|
+
return proto === null || proto === Object.prototype;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=isPlainObject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isPlainObject.js","sourceRoot":"","sources":["../src/isPlainObject.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAc;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,CAAC;AACtD,CAAC"}
|
package/lib/isRootSchema.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FormContextType, Registry, RJSFSchema, StrictRJSFSchema } from './types.
|
|
1
|
+
import type { FormContextType, Registry, RJSFSchema, StrictRJSFSchema } from './types.ts';
|
|
2
2
|
/** Helper to check whether a JSON schema object is the root schema. The schema is a root schema with root `properties`
|
|
3
3
|
* key or a root `$ref` key. If the `schemaToCompare` has a root `oneOf` property, the function will
|
|
4
4
|
* return false. Else if `schemaToCompare` and `rootSchema` are the same object or equal, the function will return
|
|
@@ -11,3 +11,4 @@ import type { FormContextType, Registry, RJSFSchema, StrictRJSFSchema } from './
|
|
|
11
11
|
* @returns - Flag indicating whether the `schemaToCompare` is the root schema
|
|
12
12
|
*/
|
|
13
13
|
export default function isRootSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(registry: Registry<T, S, F>, schemaToCompare: S): boolean;
|
|
14
|
+
//# sourceMappingURL=isRootSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isRootSchema.d.ts","sourceRoot":"","sources":["../src/isRootSchema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE1F;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,gBAAgB,GAAG,UAAU,EAAE,CAAC,SAAS,eAAe,GAAG,GAAG,EACpH,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC3B,eAAe,EAAE,CAAC,GACjB,OAAO,CAUT"}
|
package/lib/isRootSchema.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { REF_KEY } from
|
|
2
|
-
import deepEquals from
|
|
1
|
+
import { REF_KEY } from "./constants.js";
|
|
2
|
+
import deepEquals from "./deepEquals.js";
|
|
3
3
|
/** Helper to check whether a JSON schema object is the root schema. The schema is a root schema with root `properties`
|
|
4
4
|
* key or a root `$ref` key. If the `schemaToCompare` has a root `oneOf` property, the function will
|
|
5
5
|
* return false. Else if `schemaToCompare` and `rootSchema` are the same object or equal, the function will return
|
package/lib/isRootSchema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isRootSchema.js","sourceRoot":"","sources":["../src/isRootSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"isRootSchema.js","sourceRoot":"","sources":["../src/isRootSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAGzC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,QAA2B,EAC3B,eAAkB;IAElB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IAC7C,IAAI,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;QAC1B,MAAM,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC9D,OAAO,UAAU,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonSchemaAugmentation.d.ts","sourceRoot":"","sources":["../src/jsonSchemaAugmentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;;;GAQG;AACH,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAiB,WAAW;QAC1B;;WAEG;QACH,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB;CACF;AAED,YAAY,EAAE,WAAW,EAAE,CAAC"}
|
package/lib/labelValue.d.ts
CHANGED
|
@@ -13,3 +13,4 @@ export default function labelValue(label?: string, hideLabel?: boolean, fallback
|
|
|
13
13
|
export default function labelValue(label?: string, hideLabel?: boolean, fallback?: false): undefined | false | string;
|
|
14
14
|
export default function labelValue(label?: ReactElement, hideLabel?: boolean, fallback?: ''): undefined | ReactElement;
|
|
15
15
|
export default function labelValue(label?: ReactElement, hideLabel?: boolean, fallback?: false): undefined | false | ReactElement;
|
|
16
|
+
//# sourceMappingURL=labelValue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"labelValue.d.ts","sourceRoot":"","sources":["../src/labelValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;;;;GASG;AAEH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,SAAS,GAAG,MAAM,CAAC;AAC3G,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AACtH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,SAAS,GAAG,YAAY,CAAC;AACvH,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,KAAK,CAAC,EAAE,YAAY,EACpB,SAAS,CAAC,EAAE,OAAO,EACnB,QAAQ,CAAC,EAAE,KAAK,GACf,SAAS,GAAG,KAAK,GAAG,YAAY,CAAC"}
|
package/lib/localToUTC.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localToUTC.d.ts","sourceRoot":"","sources":["../src/localToUTC.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,UAAU,EAAE,MAAM,sBAEpD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EnumOptionsType, RJSFSchema, StrictRJSFSchema } from './types.
|
|
1
|
+
import type { EnumOptionsType, RJSFSchema, StrictRJSFSchema } from './types.ts';
|
|
2
2
|
/** Logs a warning when a single-select enum widget has a schema default that is not one of its enum options.
|
|
3
3
|
*
|
|
4
4
|
* @param id - The field id used in the warning message
|
|
@@ -7,3 +7,4 @@ import type { EnumOptionsType, RJSFSchema, StrictRJSFSchema } from './types.js';
|
|
|
7
7
|
* @param multiple - Whether the widget allows multiple selections
|
|
8
8
|
*/
|
|
9
9
|
export default function logUnsupportedDefaultForEnum<S extends StrictRJSFSchema = RJSFSchema>(id: string, schema: S, enumOptions?: EnumOptionsType<S>[], multiple?: boolean): void;
|
|
10
|
+
//# sourceMappingURL=logUnsupportedDefaultForEnum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logUnsupportedDefaultForEnum.d.ts","sourceRoot":"","sources":["../src/logUnsupportedDefaultForEnum.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,CAAC,SAAS,gBAAgB,GAAG,UAAU,EAC1F,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,CAAC,EACT,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,EAClC,QAAQ,UAAQ,QAajB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import enumOptionsIndexForValue from
|
|
1
|
+
import enumOptionsIndexForValue from "./enumOptionsIndexForValue.js";
|
|
2
2
|
/** Logs a warning when a single-select enum widget has a schema default that is not one of its enum options.
|
|
3
3
|
*
|
|
4
4
|
* @param id - The field id used in the warning message
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logUnsupportedDefaultForEnum.js","sourceRoot":"","sources":["../src/logUnsupportedDefaultForEnum.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,MAAM,
|
|
1
|
+
{"version":3,"file":"logUnsupportedDefaultForEnum.js","sourceRoot":"","sources":["../src/logUnsupportedDefaultForEnum.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AAGrE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAClD,EAAU,EACV,MAAS,EACT,WAAkC,EAClC,QAAQ,GAAG,KAAK;IAEhB,IACE,CAAC,QAAQ;QACT,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAC1B,MAAM,CAAC,OAAO,KAAK,SAAS;QAC5B,wBAAwB,CAAI,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,KAAK,SAAS,EAChF,CAAC;QACD,sCAAsC;QACtC,OAAO,CAAC,KAAK,CACX,6BAA6B,MAAM,CAAC,OAAO,uDAAuD,EAAE,GAAG,CACxG,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FormContextType, RJSFSchema, Registry, StrictRJSFSchema } from './types.
|
|
1
|
+
import type { FormContextType, RJSFSchema, Registry, StrictRJSFSchema } from './types.ts';
|
|
2
2
|
/** Given a React JSON Schema Form registry or formContext object, return the value associated with `toLookup`. This
|
|
3
3
|
* might be contained within the lookup map in the formContext. If no such value exists, return the `fallback`
|
|
4
4
|
* value.
|
|
@@ -8,4 +8,5 @@ import type { FormContextType, RJSFSchema, Registry, StrictRJSFSchema } from './
|
|
|
8
8
|
* @param [fallback] - The fallback value to use if the form context does not contain a value for `toLookup`
|
|
9
9
|
* @returns - The value associated with `toLookup` in the form context or `fallback`
|
|
10
10
|
*/
|
|
11
|
-
export default function lookupFromFormContext<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(regOrFc: Registry<T, S, F> | Registry<T, S, F>['formContext'], toLookup: string, fallback?:
|
|
11
|
+
export default function lookupFromFormContext<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any, R = unknown>(regOrFc: Registry<T, S, F> | Registry<T, S, F>['formContext'], toLookup: string, fallback?: R): R;
|
|
12
|
+
//# sourceMappingURL=lookupFromFormContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lookupFromFormContext.d.ts","sourceRoot":"","sources":["../src/lookupFromFormContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE1F;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,CAAC,GAAG,GAAG,EACP,CAAC,SAAS,gBAAgB,GAAG,UAAU,EACvC,CAAC,SAAS,eAAe,GAAG,GAAG,EAC/B,CAAC,GAAG,OAAO,EACX,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAMlG"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { FORM_CONTEXT_NAME, LOOKUP_MAP_NAME } from './constants.js';
|
|
1
|
+
import { FORM_CONTEXT_NAME, LOOKUP_MAP_NAME } from "./constants.js";
|
|
2
|
+
import { getByPath, hasByPath } from "./pathUtils.js";
|
|
4
3
|
/** Given a React JSON Schema Form registry or formContext object, return the value associated with `toLookup`. This
|
|
5
4
|
* might be contained within the lookup map in the formContext. If no such value exists, return the `fallback`
|
|
6
5
|
* value.
|
|
@@ -12,9 +11,9 @@ import { FORM_CONTEXT_NAME, LOOKUP_MAP_NAME } from './constants.js';
|
|
|
12
11
|
*/
|
|
13
12
|
export default function lookupFromFormContext(regOrFc, toLookup, fallback) {
|
|
14
13
|
const lookupPath = [LOOKUP_MAP_NAME];
|
|
15
|
-
if (
|
|
14
|
+
if (hasByPath(regOrFc, FORM_CONTEXT_NAME)) {
|
|
16
15
|
lookupPath.unshift(FORM_CONTEXT_NAME);
|
|
17
16
|
}
|
|
18
|
-
return
|
|
17
|
+
return getByPath(regOrFc, [...lookupPath, toLookup], fallback);
|
|
19
18
|
}
|
|
20
19
|
//# sourceMappingURL=lookupFromFormContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookupFromFormContext.js","sourceRoot":"","sources":["../src/lookupFromFormContext.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"lookupFromFormContext.js","sourceRoot":"","sources":["../src/lookupFromFormContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGtD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAK3C,OAA6D,EAAE,QAAgB,EAAE,QAAY;IAC7F,MAAM,UAAU,GAAG,CAAC,eAAe,CAAC,CAAC;IACrC,IAAI,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC1C,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAI,OAAO,EAAE,CAAC,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -21,3 +21,4 @@
|
|
|
21
21
|
* @returns - The resulting merged form data with defaults
|
|
22
22
|
*/
|
|
23
23
|
export default function mergeDefaultsWithFormData<T = any>(defaults?: T, formData?: T, mergeExtraArrayDefaults?: boolean, defaultSupercedesUndefined?: boolean, overrideFormDataWithDefaults?: boolean): T | undefined;
|
|
24
|
+
//# sourceMappingURL=mergeDefaultsWithFormData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeDefaultsWithFormData.d.ts","sourceRoot":"","sources":["../src/mergeDefaultsWithFormData.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,CAAC,GAAG,GAAG,EACvD,QAAQ,CAAC,EAAE,CAAC,EACZ,QAAQ,CAAC,EAAE,CAAC,EACZ,uBAAuB,UAAQ,EAC/B,0BAA0B,UAAQ,EAClC,4BAA4B,UAAQ,GACnC,CAAC,GAAG,SAAS,CAsFf"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import isNil from 'lodash-es/isNil.js';
|
|
3
|
-
import isObject from './isObject.js';
|
|
1
|
+
import isObject from "./isObject.js";
|
|
4
2
|
/** Merges the `defaults` object of type `T` into the `formData` of type `T`
|
|
5
3
|
*
|
|
6
4
|
* When merging defaults and form data, we want to merge in this specific way:
|
|
@@ -46,23 +44,29 @@ export default function mergeDefaultsWithFormData(defaults, formData, mergeExtra
|
|
|
46
44
|
if (isObject(formData)) {
|
|
47
45
|
// oxlint-disable-next-line prefer-object-spread -- spread loses T type, Object.assign preserves it
|
|
48
46
|
const acc = Object.assign({}, defaults); // Prevent mutation of source object.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const
|
|
53
|
-
const
|
|
54
|
-
const
|
|
55
|
-
const
|
|
56
|
-
|
|
47
|
+
const formDataObj = formData;
|
|
48
|
+
const defaultsObj = isObject(defaults) ? defaults : undefined;
|
|
49
|
+
return Object.keys(formDataObj).reduce((accumulator, key) => {
|
|
50
|
+
const keyValue = formDataObj[key];
|
|
51
|
+
const keyExistsInDefaults = defaultsObj !== undefined && key in defaultsObj;
|
|
52
|
+
const keyExistsInFormData = key in formDataObj;
|
|
53
|
+
const keyDefault = defaultsObj?.[key] ?? {};
|
|
54
|
+
// If any direct child of this key's default is itself an object or array,
|
|
55
|
+
// the shallow spread below would bypass its merge rules. Route those cases
|
|
56
|
+
// to the recursive path; the recursive call repeats this check one level deeper.
|
|
57
|
+
const defaultValueNeedsDeepMerge = keyExistsInDefaults &&
|
|
58
|
+
isObject(keyDefault) &&
|
|
59
|
+
Object.values(keyDefault).some((v) => isObject(v) || Array.isArray(v));
|
|
60
|
+
const keyDefaultIsObject = keyExistsInDefaults && isObject(defaultsObj?.[key]);
|
|
57
61
|
const keyHasFormDataObject = keyExistsInFormData && isObject(keyValue);
|
|
58
|
-
if (keyDefaultIsObject && keyHasFormDataObject && !
|
|
62
|
+
if (keyDefaultIsObject && keyHasFormDataObject && !defaultValueNeedsDeepMerge) {
|
|
59
63
|
accumulator[key] = {
|
|
60
|
-
...
|
|
64
|
+
...defaultsObj?.[key],
|
|
61
65
|
...keyValue,
|
|
62
66
|
};
|
|
63
67
|
return accumulator;
|
|
64
68
|
}
|
|
65
|
-
accumulator[key] = mergeDefaultsWithFormData(
|
|
69
|
+
accumulator[key] = mergeDefaultsWithFormData(defaultsObj?.[key], keyValue, mergeExtraArrayDefaults, defaultSupercedesUndefined,
|
|
66
70
|
// overrideFormDataWithDefaults can be true only when the key value exists in defaults
|
|
67
71
|
// Or if the key value doesn't exist in formData
|
|
68
72
|
overrideFormDataWithDefaults && (keyExistsInDefaults || !keyExistsInFormData));
|
|
@@ -76,8 +80,8 @@ export default function mergeDefaultsWithFormData(defaults, formData, mergeExtra
|
|
|
76
80
|
* Or if overrideFormDataWithDefaults flag is true and formData is set to not undefined/null return defaults
|
|
77
81
|
*/
|
|
78
82
|
if ((defaultSupercedesUndefined &&
|
|
79
|
-
((!(defaults === undefined) &&
|
|
80
|
-
(overrideFormDataWithDefaults &&
|
|
83
|
+
((!(defaults === undefined) && formData == null) || (typeof formData === 'number' && Number.isNaN(formData)))) ||
|
|
84
|
+
(overrideFormDataWithDefaults && formData != null)) {
|
|
81
85
|
return defaults;
|
|
82
86
|
}
|
|
83
87
|
return formData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeDefaultsWithFormData.js","sourceRoot":"","sources":["../src/mergeDefaultsWithFormData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mergeDefaultsWithFormData.js","sourceRoot":"","sources":["../src/mergeDefaultsWithFormData.ts"],"names":[],"mappings":"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"}
|
package/lib/mergeObjects.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GenericObjectType } from './types.
|
|
1
|
+
import type { GenericObjectType } from './types.ts';
|
|
2
2
|
/** Recursively merge deeply nested objects.
|
|
3
3
|
*
|
|
4
4
|
* @param obj1 - The first object to merge
|
|
@@ -11,3 +11,4 @@ import type { GenericObjectType } from './types.js';
|
|
|
11
11
|
export default function mergeObjects(obj1: GenericObjectType, obj2: GenericObjectType, concatArrays?: boolean | 'preventDuplicates'): {
|
|
12
12
|
[x: string]: any;
|
|
13
13
|
};
|
|
14
|
+
//# sourceMappingURL=mergeObjects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeObjects.d.ts","sourceRoot":"","sources":["../src/mergeObjects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,EACvB,YAAY,GAAE,OAAO,GAAG,mBAA2B;;EA0BpD"}
|
package/lib/mergeObjects.js
CHANGED
package/lib/mergeObjects.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeObjects.js","sourceRoot":"","sources":["../src/mergeObjects.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"mergeObjects.js","sourceRoot":"","sources":["../src/mergeObjects.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAGrC;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,IAAuB,EACvB,IAAuB,EACvB,eAA8C,KAAK;IAEnD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAChC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvE,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,YAAY,KAAK,mBAAmB,EAAE,CAAC;gBACzC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrB,CAAC;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,GAAG,IAAI,EAAE,CACZ,CAAC,CAAC,qCAAqC;AAC1C,CAAC"}
|
package/lib/mergeSchemas.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GenericObjectType } from './types.
|
|
1
|
+
import type { GenericObjectType } from './types.ts';
|
|
2
2
|
/** Recursively merge deeply nested schemas. The difference between `mergeSchemas` and `mergeObjects` is that
|
|
3
3
|
* `mergeSchemas` only concats arrays for values under the 'required' keyword, and when it does, it doesn't include
|
|
4
4
|
* duplicate values.
|
|
@@ -10,3 +10,4 @@ import type { GenericObjectType } from './types.js';
|
|
|
10
10
|
export default function mergeSchemas(obj1: GenericObjectType, obj2: GenericObjectType): {
|
|
11
11
|
[x: string]: any;
|
|
12
12
|
};
|
|
13
|
+
//# sourceMappingURL=mergeSchemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeSchemas.d.ts","sourceRoot":"","sources":["../src/mergeSchemas.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAA2B,MAAM,YAAY,CAAC;AAE7E;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB;;EA6BpF"}
|
package/lib/mergeSchemas.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import isObject from './isObject.js';
|
|
1
|
+
import { REQUIRED_KEY } from "./constants.js";
|
|
2
|
+
import getSchemaType from "./getSchemaType.js";
|
|
3
|
+
import isObject from "./isObject.js";
|
|
5
4
|
/** Recursively merge deeply nested schemas. The difference between `mergeSchemas` and `mergeObjects` is that
|
|
6
5
|
* `mergeSchemas` only concats arrays for values under the 'required' keyword, and when it does, it doesn't include
|
|
7
6
|
* duplicate values.
|
|
@@ -24,7 +23,7 @@ export default function mergeSchemas(obj1, obj2) {
|
|
|
24
23
|
Array.isArray(left) &&
|
|
25
24
|
Array.isArray(right)) {
|
|
26
25
|
// Don't include duplicate values when merging 'required' fields.
|
|
27
|
-
accumulator[key] =
|
|
26
|
+
accumulator[key] = [...new Set([...left, ...right])];
|
|
28
27
|
}
|
|
29
28
|
else {
|
|
30
29
|
accumulator[key] = right;
|
package/lib/mergeSchemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeSchemas.js","sourceRoot":"","sources":["../src/mergeSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"mergeSchemas.js","sourceRoot":"","sources":["../src/mergeSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,QAAQ,MAAM,eAAe,CAAC;AAGrC;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,IAAuB,EAAE,IAAuB;IACnF,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,qCAAqC;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAChC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,WAAW,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;aAAM,IACL,IAAI;YACJ,IAAI;YACJ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;YACtE,GAAG,KAAK,YAAY;YACpB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACnB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACpB,CAAC;YACD,iEAAiE;YACjE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,GAAG,CAAC,CAAC;IACR,uEAAuE;IACvE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,kHAAkH;QAClH,wGAAwG;QACvG,MAAkC,CAAC,GAAG,CAAC,GAAI,IAAgC,CAAC,GAAG,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/lib/nameGenerators.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NameGeneratorFunction } from './types.
|
|
1
|
+
import type { NameGeneratorFunction } from './types.ts';
|
|
2
2
|
/**
|
|
3
3
|
* Generates bracketed names
|
|
4
4
|
* Example: root[tasks][0][title]
|
|
@@ -11,3 +11,4 @@ export declare const bracketNameGenerator: NameGeneratorFunction;
|
|
|
11
11
|
* Multi-value fields are handled the same as single-value fields in dot notation
|
|
12
12
|
*/
|
|
13
13
|
export declare const dotNotationNameGenerator: NameGeneratorFunction;
|
|
14
|
+
//# sourceMappingURL=nameGenerators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nameGenerators.d.ts","sourceRoot":"","sources":["../src/nameGenerators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAiB,MAAM,YAAY,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,qBAkBlC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,qBAUtC,CAAC"}
|
package/lib/noop.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noop.d.ts","sourceRoot":"","sources":["../src/noop.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,IAAI,IAAI,CAAG"}
|
package/lib/noop.js
ADDED
package/lib/noop.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noop.js","sourceRoot":"","sources":["../src/noop.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,KAAU,CAAC"}
|
package/lib/optionsList.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RJSFSchema, EnumOptionsType, StrictRJSFSchema, FormContextType, UiSchema } from './types.
|
|
1
|
+
import type { RJSFSchema, EnumOptionsType, StrictRJSFSchema, FormContextType, UiSchema } from './types.ts';
|
|
2
2
|
/** Gets the list of options from the `schema`. If the schema has an enum list, then those enum values are returned. The
|
|
3
3
|
* label will be the same as the `value`.
|
|
4
4
|
*
|
|
@@ -13,3 +13,4 @@ import type { RJSFSchema, EnumOptionsType, StrictRJSFSchema, FormContextType, Ui
|
|
|
13
13
|
* @returns - The list of options from the schema
|
|
14
14
|
*/
|
|
15
15
|
export default function optionsList<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(schema: S, uiSchema?: UiSchema<T, S, F>): EnumOptionsType<S>[] | undefined;
|
|
16
|
+
//# sourceMappingURL=optionsList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optionsList.d.ts","sourceRoot":"","sources":["../src/optionsList.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAa,gBAAgB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAuBtH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,gBAAgB,GAAG,UAAU,EAAE,CAAC,SAAS,eAAe,GAAG,GAAG,EACnH,MAAM,EAAE,CAAC,EACT,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC3B,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAwDlC"}
|
package/lib/optionsList.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import getUiOptions from
|
|
5
|
-
import
|
|
1
|
+
import { CONST_KEY, DEFAULT_KEY } from "./constants.js";
|
|
2
|
+
import getDiscriminatorFieldFromSchema from "./getDiscriminatorFieldFromSchema.js";
|
|
3
|
+
import getPropertySchema from "./getPropertySchema.js";
|
|
4
|
+
import getUiOptions from "./getUiOptions.js";
|
|
5
|
+
import { getByPath } from "./pathUtils.js";
|
|
6
|
+
import toConstant from "./toConstant.js";
|
|
6
7
|
/** Reorders `options` according to `order`, which may contain a `'*'` wildcard representing all
|
|
7
8
|
* remaining options in their original order. Options not listed in `order` (and not covered by
|
|
8
9
|
* a wildcard) are dropped.
|
|
@@ -44,7 +45,7 @@ export default function optionsList(schema, uiSchema) {
|
|
|
44
45
|
let options = schema.enum.map((value, i) => {
|
|
45
46
|
const label = Array.isArray(enumNames)
|
|
46
47
|
? enumNames[i] || String(value)
|
|
47
|
-
:
|
|
48
|
+
: enumNames?.[String(value)] || String(value);
|
|
48
49
|
return { label, value };
|
|
49
50
|
});
|
|
50
51
|
if (enumOrder) {
|
|
@@ -56,11 +57,11 @@ export default function optionsList(schema, uiSchema) {
|
|
|
56
57
|
let altUiSchemas = undefined;
|
|
57
58
|
if (schema.anyOf) {
|
|
58
59
|
altSchemas = schema.anyOf;
|
|
59
|
-
altUiSchemas = uiSchema
|
|
60
|
+
altUiSchemas = uiSchema?.anyOf;
|
|
60
61
|
}
|
|
61
62
|
else if (schema.oneOf) {
|
|
62
63
|
altSchemas = schema.oneOf;
|
|
63
|
-
altUiSchemas = uiSchema
|
|
64
|
+
altUiSchemas = uiSchema?.oneOf;
|
|
64
65
|
}
|
|
65
66
|
// See if there is a discriminator path specified in the schema, and if so, use it as the selectorField, otherwise
|
|
66
67
|
// pull one from the uiSchema
|
|
@@ -69,21 +70,20 @@ export default function optionsList(schema, uiSchema) {
|
|
|
69
70
|
const { optionsSchemaSelector = selectorField } = getUiOptions(uiSchema);
|
|
70
71
|
selectorField = optionsSchemaSelector;
|
|
71
72
|
}
|
|
72
|
-
return altSchemas
|
|
73
|
-
|
|
74
|
-
const { title } = getUiOptions(altUiSchemas === null || altUiSchemas === void 0 ? void 0 : altUiSchemas[index]);
|
|
73
|
+
return altSchemas?.map((aSchemaDef, index) => {
|
|
74
|
+
const { title } = getUiOptions(altUiSchemas?.[index]);
|
|
75
75
|
const aSchema = aSchemaDef;
|
|
76
76
|
let value;
|
|
77
77
|
let label = title;
|
|
78
78
|
if (selectorField) {
|
|
79
|
-
const innerSchema =
|
|
80
|
-
value =
|
|
79
|
+
const innerSchema = getPropertySchema(aSchema, selectorField);
|
|
80
|
+
value = getByPath(innerSchema, DEFAULT_KEY, getByPath(innerSchema, CONST_KEY));
|
|
81
81
|
// Use nullish coalescing so that an explicitly empty string title is preserved
|
|
82
|
-
label =
|
|
82
|
+
label = label ?? innerSchema?.title ?? aSchema.title ?? String(value);
|
|
83
83
|
}
|
|
84
84
|
else {
|
|
85
85
|
value = toConstant(aSchema);
|
|
86
|
-
label =
|
|
86
|
+
label = label ?? aSchema.title ?? String(value);
|
|
87
87
|
}
|
|
88
88
|
return {
|
|
89
89
|
schema: aSchema,
|
package/lib/optionsList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optionsList.js","sourceRoot":"","sources":["../src/optionsList.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"optionsList.js","sourceRoot":"","sources":["../src/optionsList.ts"],"names":[],"mappings":"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"}
|
package/lib/orderProperties.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderProperties.d.ts","sourceRoot":"","sources":["../src/orderProperties.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CA+BxF"}
|
package/lib/pad.d.ts
CHANGED
package/lib/pad.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pad.d.ts","sourceRoot":"","sources":["../src/pad.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAMrD"}
|
package/lib/parseDateString.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DateObject } from './types.
|
|
1
|
+
import type { DateObject } from './types.ts';
|
|
2
2
|
/** Parses the `dateString` into a `DateObject`, including the time information when `includeTime` is true
|
|
3
3
|
*
|
|
4
4
|
* @param dateString - The date string to parse into a DateObject
|
|
@@ -7,3 +7,4 @@ import type { DateObject } from './types.js';
|
|
|
7
7
|
* @throws - Error when the date cannot be parsed from the string
|
|
8
8
|
*/
|
|
9
9
|
export default function parseDateString(dateString?: string, includeTime?: boolean): DateObject;
|
|
10
|
+
//# sourceMappingURL=parseDateString.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseDateString.d.ts","sourceRoot":"","sources":["../src/parseDateString.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,WAAW,UAAO,GAAG,UAAU,CAuB3F"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CustomValidator, ErrorSchema, ErrorTransformer, FormContextType, RJSFSchema, RJSFValidationError, StrictRJSFSchema, UiSchema, ValidationData, ValidatorType } from '../types.
|
|
1
|
+
import type { CustomValidator, ErrorSchema, ErrorTransformer, FormContextType, RJSFSchema, RJSFValidationError, StrictRJSFSchema, UiSchema, ValidationData, ValidatorType } from '../types.ts';
|
|
2
2
|
/** The type of the map of schema hash to schema
|
|
3
3
|
*/
|
|
4
4
|
export type SchemaMap<S extends StrictRJSFSchema = RJSFSchema> = Record<string, S>;
|
|
@@ -69,3 +69,4 @@ export default class ParserValidator<T = any, S extends StrictRJSFSchema = RJSFS
|
|
|
69
69
|
*/
|
|
70
70
|
validateFormData(_formData: T, _schema: S, _customValidate?: CustomValidator<T, S, F>, _transformErrors?: ErrorTransformer<T, S, F>, _uiSchema?: UiSchema<T, S, F>): ValidationData<T>;
|
|
71
71
|
}
|
|
72
|
+
//# sourceMappingURL=ParserValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParserValidator.d.ts","sourceRoot":"","sources":["../../src/parser/ParserValidator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,aAAa,EACd,MAAM,aAAa,CAAC;AAErB;GACG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,gBAAgB,GAAG,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEnF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe,CAClC,CAAC,GAAG,GAAG,EACP,CAAC,SAAS,gBAAgB,GAAG,UAAU,EACvC,CAAC,SAAS,eAAe,GAAG,GAAG,CAC/B,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAEvB,4DAA4D;IAC5D,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAM;IAE7B;;;;OAIG;gBACS,UAAU,EAAE,CAAC;IAKzB;OACG;IACH,KAAK;IAIL;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;IAiBjC;OACG;IACH,YAAY;IAIZ;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO;IASxD;;;;OAIG;IACH,aAAa,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,CAAC,EAAE,KAAK,CAAA;KAAE;IAItG;;;;OAIG;IACH,WAAW,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,mBAAmB,EAAE;IAIxF;;;;;;;;OAQG;IACH,gBAAgB,CACd,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,CAAC,EACV,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC5C,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC5B,cAAc,CAAC,CAAC,CAAC;CAGrB"}
|