@ukhomeoffice/cop-react-form-renderer 5.45.1 → 5.45.2-alpha
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/components/CheckYourAnswers/Answer.js +12 -12
- package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +464 -769
- package/dist/components/CollectionPage/CollectionPage.js +66 -58
- package/dist/components/CollectionPage/CollectionPage.test.js +300 -342
- package/dist/components/CollectionSummary/BannerStrip.js +12 -12
- package/dist/components/CollectionSummary/BannerStrip.test.js +63 -59
- package/dist/components/CollectionSummary/CollectionSummary.js +60 -75
- package/dist/components/CollectionSummary/CollectionSummary.test.js +102 -96
- package/dist/components/CollectionSummary/Confirmation.js +14 -12
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/SummaryCard.js +93 -133
- package/dist/components/CollectionSummary/SummaryCard.test.js +902 -924
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +23 -29
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +61 -73
- package/dist/components/FormComponent/Collection.js +73 -107
- package/dist/components/FormComponent/Collection.test.js +809 -945
- package/dist/components/FormComponent/Container.js +40 -38
- package/dist/components/FormComponent/Container.test.js +314 -345
- package/dist/components/FormComponent/FormComponent.js +67 -70
- package/dist/components/FormComponent/FormComponent.test.js +284 -342
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +65 -80
- package/dist/components/FormPage/FormPage.test.js +127 -163
- package/dist/components/FormRenderer/FormRenderer.js +142 -178
- package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +9 -9
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -91
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -73
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +59 -51
- package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
- package/dist/components/FormRenderer/onPageAction.js +43 -39
- package/dist/components/FormRenderer/onPageAction.test.js +223 -206
- package/dist/components/FormRenderer/onTaskAction.js +9 -13
- package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
- package/dist/components/PageActions/ActionButton.js +12 -15
- package/dist/components/PageActions/ActionButton.test.js +56 -78
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +86 -115
- package/dist/components/SummaryList/GroupAction.js +9 -17
- package/dist/components/SummaryList/GroupAction.test.js +37 -33
- package/dist/components/SummaryList/RowAction.js +11 -16
- package/dist/components/SummaryList/RowAction.test.js +37 -33
- package/dist/components/SummaryList/SummaryList.js +21 -26
- package/dist/components/SummaryList/SummaryList.test.js +143 -166
- package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
- package/dist/components/SummaryList/SummaryListRow.js +6 -4
- package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +19 -29
- package/dist/components/TaskList/Task.test.js +83 -76
- package/dist/components/TaskList/TaskList.js +45 -71
- package/dist/components/TaskList/TaskList.test.js +113 -111
- package/dist/components/TaskList/TaskState.js +7 -5
- package/dist/components/TaskList/TaskState.test.js +52 -45
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +58 -79
- package/dist/context/HooksContext/HooksContext.test.js +26 -35
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +32 -72
- package/dist/context/ValidationContext/ValidationContext.test.js +47 -59
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +9 -10
- package/dist/hooks/useAxios.js +14 -40
- package/dist/hooks/useGetRequest.js +61 -97
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +26 -39
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +13 -14
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +30 -28
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -60
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +79 -88
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +146 -124
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +24 -24
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +1 -1
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +9 -18
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +27 -22
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getQuickEditPage.js +19 -19
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +12 -16
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +29 -30
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +17 -17
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +17 -17
- package/dist/utils/Component/addShowWhen.js +4 -8
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +27 -32
- package/dist/utils/Component/cleanAttributes.js +10 -13
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +5 -5
- package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
- package/dist/utils/Component/getComponent.js +88 -94
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -70
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
- package/dist/utils/Component/getDefaultValue.js +6 -8
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +1 -1
- package/dist/utils/Component/optionIsSelected.test.js +9 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +7 -7
- package/dist/utils/Condition/meetsAllConditions.test.js +17 -17
- package/dist/utils/Condition/meetsCondition.js +14 -17
- package/dist/utils/Condition/meetsCondition.test.js +376 -376
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +13 -18
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +3 -5
- package/dist/utils/Container/getEditableComponents.test.js +43 -45
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +16 -20
- package/dist/utils/Container/setupNesting.test.js +27 -30
- package/dist/utils/Container/showContainer.js +3 -7
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +38 -48
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +18 -26
- package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +19 -25
- package/dist/utils/Data/getOptions.test.js +20 -20
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +84 -80
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/refDataToOptions.js +10 -13
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +13 -21
- package/dist/utils/Data/setupFormData.test.js +51 -50
- package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
- package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
- package/dist/utils/FormPage/getFormPage.js +15 -16
- package/dist/utils/FormPage/getFormPage.test.js +47 -46
- package/dist/utils/FormPage/getFormPages.js +7 -12
- package/dist/utils/FormPage/getFormPages.test.js +20 -23
- package/dist/utils/FormPage/getPageActions.js +9 -15
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getPageTitle.js +2 -2
- package/dist/utils/FormPage/getPageTitle.test.js +22 -22
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +1 -1
- package/dist/utils/FormPage/showFormPage.js +3 -7
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +21 -28
- package/dist/utils/FormPage/useComponent.test.js +78 -79
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +5 -6
- package/dist/utils/Format/formatDataForComponent.test.js +50 -77
- package/dist/utils/Format/formatDataForForm.js +6 -8
- package/dist/utils/Format/formatDataForForm.test.js +13 -15
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -23
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +28 -31
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -46
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
- package/dist/utils/Operate/runPageOperations.js +7 -7
- package/dist/utils/Operate/runPageOperations.test.js +35 -36
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +21 -26
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +6 -6
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +19 -25
- package/dist/utils/Validate/validateCollection.test.js +74 -66
- package/dist/utils/Validate/validateComponent.js +17 -15
- package/dist/utils/Validate/validateComponent.test.js +167 -146
- package/dist/utils/Validate/validateContainer.js +14 -19
- package/dist/utils/Validate/validateContainer.test.js +49 -45
- package/dist/utils/Validate/validateDate.js +11 -17
- package/dist/utils/Validate/validateDate.test.js +28 -29
- package/dist/utils/Validate/validateEmail.js +6 -8
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +17 -18
- package/dist/utils/Validate/validatePage.test.js +185 -182
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +7 -14
- package/dist/utils/Validate/validateTime.test.js +14 -14
- package/dist/utils/index.js +7 -9
- package/package.json +1 -1
|
@@ -4,24 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
-
var getItemInArray = function getItemInArray(arr, index) {
|
|
7
|
+
const getItemInArray = (arr, index) => {
|
|
14
8
|
if (Array.isArray(arr)) {
|
|
15
9
|
return arr[parseInt(index, 10)];
|
|
16
10
|
}
|
|
17
11
|
return undefined;
|
|
18
12
|
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
};
|
|
22
|
-
var getPropertyAndIndex = function getPropertyAndIndex(prop) {
|
|
23
|
-
return prop.replace(']', '').split('[');
|
|
24
|
-
};
|
|
13
|
+
const isArrayProp = prop => prop.includes('[');
|
|
14
|
+
const getPropertyAndIndex = prop => prop.replace(']', '').split('[');
|
|
25
15
|
|
|
26
16
|
/**
|
|
27
17
|
* Gets the value of a field within the top-level JSON form data,
|
|
@@ -38,16 +28,13 @@ var getPropertyAndIndex = function getPropertyAndIndex(prop) {
|
|
|
38
28
|
* @param {string} fieldId The dot-separated path to the field.
|
|
39
29
|
* @returns The value of the field specified.
|
|
40
30
|
*/
|
|
41
|
-
|
|
31
|
+
const getSourceData = (data, fieldId) => {
|
|
42
32
|
if (!fieldId) {
|
|
43
33
|
return undefined;
|
|
44
34
|
}
|
|
45
|
-
return fieldId.split('.').reduce(
|
|
35
|
+
return fieldId.split('.').reduce((obj, prop) => {
|
|
46
36
|
if (obj && isArrayProp(prop)) {
|
|
47
|
-
|
|
48
|
-
_getPropertyAndIndex2 = _slicedToArray(_getPropertyAndIndex, 2),
|
|
49
|
-
actualProp = _getPropertyAndIndex2[0],
|
|
50
|
-
index = _getPropertyAndIndex2[1];
|
|
37
|
+
const [actualProp, index] = getPropertyAndIndex(prop);
|
|
51
38
|
return getItemInArray(obj[actualProp], index);
|
|
52
39
|
}
|
|
53
40
|
return obj ? obj[prop] : undefined;
|
|
@@ -2,49 +2,53 @@
|
|
|
2
2
|
|
|
3
3
|
var _getSourceData = _interopRequireDefault(require("./getSourceData"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
describe('
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
5
|
+
// Local imports
|
|
6
|
+
|
|
7
|
+
describe('utils', () => {
|
|
8
|
+
describe('Data', () => {
|
|
9
|
+
describe('getSourceData', () => {
|
|
10
|
+
it('should return the value at the top level', () => {
|
|
11
|
+
const FIELD_ID = 'field';
|
|
12
|
+
const VALUE = 'value';
|
|
13
|
+
const DATA = {
|
|
14
|
+
[FIELD_ID]: VALUE
|
|
15
|
+
};
|
|
16
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
17
17
|
expect(value).toEqual(VALUE);
|
|
18
18
|
});
|
|
19
|
-
it('should handle boolean true',
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
it('should handle boolean true', () => {
|
|
20
|
+
const FIELD_ID = 'field';
|
|
21
|
+
const VALUE = true;
|
|
22
|
+
const DATA = {
|
|
23
|
+
[FIELD_ID]: VALUE
|
|
24
|
+
};
|
|
25
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
24
26
|
expect(value).toStrictEqual(true);
|
|
25
27
|
});
|
|
26
|
-
it('should handle boolean false',
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
it('should handle boolean false', () => {
|
|
29
|
+
const FIELD_ID = 'field';
|
|
30
|
+
const VALUE = false;
|
|
31
|
+
const DATA = {
|
|
32
|
+
[FIELD_ID]: VALUE
|
|
33
|
+
};
|
|
34
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
31
35
|
expect(value).toStrictEqual(false);
|
|
32
36
|
});
|
|
33
|
-
it('should return a nested value',
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
it('should return a nested value', () => {
|
|
38
|
+
const FIELD_ID = 'field.nested';
|
|
39
|
+
const VALUE = 'nested value';
|
|
40
|
+
const DATA = {
|
|
37
41
|
field: {
|
|
38
42
|
nested: VALUE
|
|
39
43
|
}
|
|
40
44
|
};
|
|
41
|
-
|
|
45
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
42
46
|
expect(value).toEqual(VALUE);
|
|
43
47
|
});
|
|
44
|
-
it('should return a deeply nested value',
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
it('should return a deeply nested value', () => {
|
|
49
|
+
const FIELD_ID = 'field.nested.and.even.further.down';
|
|
50
|
+
const VALUE = 'deeply nested value';
|
|
51
|
+
const DATA = {
|
|
48
52
|
field: {
|
|
49
53
|
nested: {
|
|
50
54
|
and: {
|
|
@@ -57,95 +61,95 @@ describe('utils', function () {
|
|
|
57
61
|
}
|
|
58
62
|
}
|
|
59
63
|
};
|
|
60
|
-
|
|
64
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
61
65
|
expect(value).toEqual(VALUE);
|
|
62
66
|
});
|
|
63
|
-
it('should handle null data',
|
|
64
|
-
|
|
65
|
-
|
|
67
|
+
it('should handle null data', () => {
|
|
68
|
+
const FIELD_ID = 'field.nested';
|
|
69
|
+
const value = (0, _getSourceData.default)(null, FIELD_ID);
|
|
66
70
|
expect(value).toBeUndefined();
|
|
67
71
|
});
|
|
68
|
-
it('should handle undefined data',
|
|
69
|
-
|
|
70
|
-
|
|
72
|
+
it('should handle undefined data', () => {
|
|
73
|
+
const FIELD_ID = 'field.nested';
|
|
74
|
+
const value = (0, _getSourceData.default)(undefined, FIELD_ID);
|
|
71
75
|
expect(value).toBeUndefined();
|
|
72
76
|
});
|
|
73
|
-
it('should handle missing value',
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
+
it('should handle missing value', () => {
|
|
78
|
+
const FIELD_ID = 'field.nested';
|
|
79
|
+
const VALUE = 'other value';
|
|
80
|
+
const DATA = {
|
|
77
81
|
field: {
|
|
78
82
|
other: VALUE
|
|
79
83
|
}
|
|
80
84
|
};
|
|
81
|
-
|
|
85
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
82
86
|
expect(value).toBeUndefined();
|
|
83
87
|
});
|
|
84
|
-
it('should handle null fieldId',
|
|
85
|
-
|
|
86
|
-
|
|
88
|
+
it('should handle null fieldId', () => {
|
|
89
|
+
const VALUE = 'value';
|
|
90
|
+
const DATA = {
|
|
87
91
|
field: VALUE
|
|
88
92
|
};
|
|
89
|
-
|
|
93
|
+
const value = (0, _getSourceData.default)(DATA, null);
|
|
90
94
|
expect(value).toBeUndefined();
|
|
91
95
|
});
|
|
92
|
-
it('should handle undefined fieldId',
|
|
93
|
-
|
|
94
|
-
|
|
96
|
+
it('should handle undefined fieldId', () => {
|
|
97
|
+
const VALUE = 'value';
|
|
98
|
+
const DATA = {
|
|
95
99
|
field: VALUE
|
|
96
100
|
};
|
|
97
|
-
|
|
101
|
+
const value = (0, _getSourceData.default)(DATA, undefined);
|
|
98
102
|
expect(value).toBeUndefined();
|
|
99
103
|
});
|
|
100
|
-
it('should handle empty fieldId',
|
|
101
|
-
|
|
102
|
-
|
|
104
|
+
it('should handle empty fieldId', () => {
|
|
105
|
+
const VALUE = 'value';
|
|
106
|
+
const DATA = {
|
|
103
107
|
field: VALUE
|
|
104
108
|
};
|
|
105
|
-
|
|
109
|
+
const value = (0, _getSourceData.default)(DATA, '');
|
|
106
110
|
expect(value).toBeUndefined();
|
|
107
111
|
});
|
|
108
|
-
it('should handle fieldId with trailing dot',
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
+
it('should handle fieldId with trailing dot', () => {
|
|
113
|
+
const FIELD_ID = 'field.';
|
|
114
|
+
const VALUE = 'value';
|
|
115
|
+
const DATA = {
|
|
112
116
|
field: VALUE
|
|
113
117
|
};
|
|
114
|
-
|
|
118
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
115
119
|
expect(value).toBeUndefined();
|
|
116
120
|
});
|
|
117
|
-
it('should handle fieldId with leading dot',
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
+
it('should handle fieldId with leading dot', () => {
|
|
122
|
+
const FIELD_ID = '.field';
|
|
123
|
+
const VALUE = 'value';
|
|
124
|
+
const DATA = {
|
|
121
125
|
field: VALUE
|
|
122
126
|
};
|
|
123
|
-
|
|
127
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
124
128
|
expect(value).toBeUndefined();
|
|
125
129
|
});
|
|
126
|
-
it('should handle fieldId that is just a dot',
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
+
it('should handle fieldId that is just a dot', () => {
|
|
131
|
+
const FIELD_ID = '.';
|
|
132
|
+
const VALUE = 'value';
|
|
133
|
+
const DATA = {
|
|
130
134
|
field: VALUE
|
|
131
135
|
};
|
|
132
|
-
|
|
136
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
133
137
|
expect(value).toBeUndefined();
|
|
134
138
|
});
|
|
135
|
-
it('should handle a reference to an array item',
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
139
|
+
it('should handle a reference to an array item', () => {
|
|
140
|
+
const FIELD_ID = 'items[1]';
|
|
141
|
+
const ALPHA = 'alpha';
|
|
142
|
+
const BETA = 'beta';
|
|
143
|
+
const DATA = {
|
|
140
144
|
items: [ALPHA, BETA]
|
|
141
145
|
};
|
|
142
|
-
|
|
146
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
143
147
|
expect(value).toEqual(BETA);
|
|
144
148
|
});
|
|
145
|
-
it('should handle a reference to an array that does not exist',
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
+
it('should handle a reference to an array that does not exist', () => {
|
|
150
|
+
const FIELD_ID = 'items[1]';
|
|
151
|
+
const DATA = {};
|
|
152
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
149
153
|
expect(value).toBeUndefined();
|
|
150
154
|
});
|
|
151
155
|
});
|
package/dist/utils/Data/index.js
CHANGED
|
@@ -16,7 +16,7 @@ var _setupRefDataUrlForComponent = _interopRequireDefault(require("./setupRefDat
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
17
|
// Local imports
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
const Data = {
|
|
20
20
|
applyFormula: _applyFormula.default,
|
|
21
21
|
getAutocompleteSource: _getAutocompleteSource.default,
|
|
22
22
|
getDataPath: _getDataPath.default,
|
|
@@ -4,23 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
13
|
-
var getValueAndLabel = function getValueAndLabel(opt, itemStructure) {
|
|
7
|
+
const getValueAndLabel = (opt, itemStructure) => {
|
|
14
8
|
var _value;
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
let value = opt.value || opt.id;
|
|
10
|
+
let label = opt.label || opt.name;
|
|
17
11
|
if (itemStructure) {
|
|
18
12
|
value = opt[itemStructure.value] || value;
|
|
19
13
|
label = opt[itemStructure.label] || label;
|
|
20
14
|
}
|
|
21
15
|
return {
|
|
22
16
|
value: (_value = value) === null || _value === void 0 ? void 0 : _value.toString(),
|
|
23
|
-
label
|
|
17
|
+
label
|
|
24
18
|
};
|
|
25
19
|
};
|
|
26
20
|
|
|
@@ -30,13 +24,16 @@ var getValueAndLabel = function getValueAndLabel(opt, itemStructure) {
|
|
|
30
24
|
* @param {Object} itemStructure The structure of the item.
|
|
31
25
|
* @returns An array of options.
|
|
32
26
|
*/
|
|
33
|
-
|
|
27
|
+
const refDataToOptions = (refDataItems, itemStructure) => {
|
|
34
28
|
if (Array.isArray(refDataItems)) {
|
|
35
|
-
return refDataItems.map(
|
|
29
|
+
return refDataItems.map(opt => {
|
|
36
30
|
if (typeof opt === 'string') {
|
|
37
31
|
return opt;
|
|
38
32
|
}
|
|
39
|
-
return
|
|
33
|
+
return {
|
|
34
|
+
...opt,
|
|
35
|
+
...getValueAndLabel(opt, itemStructure)
|
|
36
|
+
};
|
|
40
37
|
});
|
|
41
38
|
}
|
|
42
39
|
return [];
|
|
@@ -4,17 +4,17 @@ var _refDataToOptions = _interopRequireDefault(require("./refDataToOptions"));
|
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils',
|
|
8
|
-
describe('Data',
|
|
9
|
-
describe('refDataToOptions',
|
|
10
|
-
it('can handle a null refData',
|
|
7
|
+
describe('utils', () => {
|
|
8
|
+
describe('Data', () => {
|
|
9
|
+
describe('refDataToOptions', () => {
|
|
10
|
+
it('can handle a null refData', () => {
|
|
11
11
|
expect((0, _refDataToOptions.default)(null)).toEqual([]);
|
|
12
12
|
});
|
|
13
|
-
it('can handle an undefined refData',
|
|
13
|
+
it('can handle an undefined refData', () => {
|
|
14
14
|
expect((0, _refDataToOptions.default)(undefined)).toEqual([]);
|
|
15
15
|
});
|
|
16
|
-
it('can handle genuine refData',
|
|
17
|
-
|
|
16
|
+
it('can handle genuine refData', () => {
|
|
17
|
+
const REF_DATA = [{
|
|
18
18
|
id: 'a',
|
|
19
19
|
name: 'Alpha'
|
|
20
20
|
}, {
|
|
@@ -41,8 +41,8 @@ describe('utils', function () {
|
|
|
41
41
|
label: 'Charlie'
|
|
42
42
|
}]);
|
|
43
43
|
});
|
|
44
|
-
it('can handle refData that is already in a usable options format',
|
|
45
|
-
|
|
44
|
+
it('can handle refData that is already in a usable options format', () => {
|
|
45
|
+
const REF_DATA = [{
|
|
46
46
|
value: 'a',
|
|
47
47
|
label: 'Alpha'
|
|
48
48
|
}, {
|
|
@@ -63,8 +63,8 @@ describe('utils', function () {
|
|
|
63
63
|
label: 'Charlie'
|
|
64
64
|
}]);
|
|
65
65
|
});
|
|
66
|
-
it('can handle refData that is in a mixed format',
|
|
67
|
-
|
|
66
|
+
it('can handle refData that is in a mixed format', () => {
|
|
67
|
+
const REF_DATA = [{
|
|
68
68
|
id: 'a',
|
|
69
69
|
name: 'Alpha',
|
|
70
70
|
type: 'Delta'
|
|
@@ -93,8 +93,8 @@ describe('utils', function () {
|
|
|
93
93
|
type: 'Delta'
|
|
94
94
|
}]);
|
|
95
95
|
});
|
|
96
|
-
it('can handle refData that contains strings and objects',
|
|
97
|
-
|
|
96
|
+
it('can handle refData that contains strings and objects', () => {
|
|
97
|
+
const REF_DATA = [{
|
|
98
98
|
id: 'a',
|
|
99
99
|
name: 'Alpha',
|
|
100
100
|
type: 'Delta'
|
|
@@ -123,8 +123,8 @@ describe('utils', function () {
|
|
|
123
123
|
type: 'Delta'
|
|
124
124
|
}]);
|
|
125
125
|
});
|
|
126
|
-
it('can handle refData with custom value and label properties',
|
|
127
|
-
|
|
126
|
+
it('can handle refData with custom value and label properties', () => {
|
|
127
|
+
const REF_DATA = [{
|
|
128
128
|
id: 1,
|
|
129
129
|
displayName: 'Alpha'
|
|
130
130
|
}, {
|
|
@@ -134,7 +134,7 @@ describe('utils', function () {
|
|
|
134
134
|
id: 3,
|
|
135
135
|
displayName: 'Charlie'
|
|
136
136
|
}];
|
|
137
|
-
|
|
137
|
+
const ITEM_STRUCTURE = {
|
|
138
138
|
value: 'id',
|
|
139
139
|
label: 'displayName'
|
|
140
140
|
};
|
|
@@ -155,8 +155,8 @@ describe('utils', function () {
|
|
|
155
155
|
label: 'Charlie'
|
|
156
156
|
}]);
|
|
157
157
|
});
|
|
158
|
-
it('can handle refData with missing custom value and label properties',
|
|
159
|
-
|
|
158
|
+
it('can handle refData with missing custom value and label properties', () => {
|
|
159
|
+
const REF_DATA = [{
|
|
160
160
|
id: 1,
|
|
161
161
|
name: 'Alpha'
|
|
162
162
|
}, {
|
|
@@ -168,7 +168,7 @@ describe('utils', function () {
|
|
|
168
168
|
objId: 'chaz',
|
|
169
169
|
name: 'Charlie'
|
|
170
170
|
}];
|
|
171
|
-
|
|
171
|
+
const ITEM_STRUCTURE = {
|
|
172
172
|
value: 'objId',
|
|
173
173
|
label: 'displayName'
|
|
174
174
|
};
|
|
@@ -4,17 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var handleArrayIndices = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
7
|
+
const setDataItem = function (data, fieldId, value) {
|
|
8
|
+
let handleArrayIndices = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
10
9
|
if (fieldId && data) {
|
|
11
|
-
|
|
10
|
+
const parts = handleArrayIndices ?
|
|
12
11
|
// Replace all occurrences of '[' with '.' and ']' with ''.
|
|
13
12
|
fieldId.replace(/\[/g, '.').replace(/\]/g, '').split('.') : fieldId.split('.');
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
parts.forEach(
|
|
17
|
-
if (!node[part] ||
|
|
13
|
+
const leaf = parts.pop();
|
|
14
|
+
let node = data;
|
|
15
|
+
parts.forEach(part => {
|
|
16
|
+
if (!node[part] || typeof node[part] !== 'object') {
|
|
18
17
|
node[part] = {};
|
|
19
18
|
}
|
|
20
19
|
node = node[part];
|
|
@@ -2,48 +2,48 @@
|
|
|
2
2
|
|
|
3
3
|
var _setDataItem = _interopRequireDefault(require("./setDataItem"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('utils.Data.setDataItem',
|
|
6
|
-
it('should handle a null data object',
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
describe('utils.Data.setDataItem', () => {
|
|
6
|
+
it('should handle a null data object', () => {
|
|
7
|
+
const DATA = null;
|
|
8
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
9
|
+
const VALUE = 'delta';
|
|
10
10
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toBeNull();
|
|
11
11
|
expect(DATA).toBeNull();
|
|
12
12
|
});
|
|
13
|
-
it('should handle an undefined data object',
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
it('should handle an undefined data object', () => {
|
|
14
|
+
const DATA = undefined;
|
|
15
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
16
|
+
const VALUE = 'delta';
|
|
17
17
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toBeUndefined();
|
|
18
18
|
expect(DATA).toBeUndefined();
|
|
19
19
|
});
|
|
20
|
-
it('should handle a null fieldId',
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
it('should handle a null fieldId', () => {
|
|
21
|
+
const DATA = {};
|
|
22
|
+
const FIELD_ID = null;
|
|
23
|
+
const VALUE = 'delta';
|
|
24
24
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({});
|
|
25
25
|
expect(DATA).toMatchObject({});
|
|
26
26
|
});
|
|
27
|
-
it('should handle an undefined fieldId',
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
it('should handle an undefined fieldId', () => {
|
|
28
|
+
const DATA = {};
|
|
29
|
+
const FIELD_ID = undefined;
|
|
30
|
+
const VALUE = 'delta';
|
|
31
31
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({});
|
|
32
32
|
expect(DATA).toMatchObject({});
|
|
33
33
|
});
|
|
34
|
-
it('should handle an empty fieldId',
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
it('should handle an empty fieldId', () => {
|
|
35
|
+
const DATA = {};
|
|
36
|
+
const FIELD_ID = '';
|
|
37
|
+
const VALUE = 'delta';
|
|
38
38
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({});
|
|
39
39
|
expect(DATA).toMatchObject({});
|
|
40
40
|
});
|
|
41
|
-
it('should appropriately set a nested value',
|
|
42
|
-
|
|
41
|
+
it('should appropriately set a nested value', () => {
|
|
42
|
+
const DATA = {
|
|
43
43
|
alpha: {}
|
|
44
44
|
};
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
46
|
+
const VALUE = 'delta';
|
|
47
47
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({
|
|
48
48
|
alpha: {
|
|
49
49
|
bravo: {
|
|
@@ -59,16 +59,16 @@ describe('utils.Data.setDataItem', function () {
|
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
61
|
});
|
|
62
|
-
it('should appropriately change a nested value',
|
|
63
|
-
|
|
62
|
+
it('should appropriately change a nested value', () => {
|
|
63
|
+
const DATA = {
|
|
64
64
|
alpha: {
|
|
65
65
|
bravo: {
|
|
66
66
|
charlie: 'echo'
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
71
|
+
const VALUE = 'delta';
|
|
72
72
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({
|
|
73
73
|
alpha: {
|
|
74
74
|
bravo: {
|
|
@@ -84,14 +84,14 @@ describe('utils.Data.setDataItem', function () {
|
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
86
|
});
|
|
87
|
-
it('should handle a parent node that is not an object and convert it appropriately',
|
|
88
|
-
|
|
87
|
+
it('should handle a parent node that is not an object and convert it appropriately', () => {
|
|
88
|
+
const DATA = {
|
|
89
89
|
alpha: {
|
|
90
90
|
bravo: 'echo'
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
94
|
+
const VALUE = 'delta';
|
|
95
95
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({
|
|
96
96
|
alpha: {
|
|
97
97
|
bravo: {
|
|
@@ -107,16 +107,16 @@ describe('utils.Data.setDataItem', function () {
|
|
|
107
107
|
}
|
|
108
108
|
});
|
|
109
109
|
});
|
|
110
|
-
it('should handle array indices in fieldPath if handleArrayIndices is true',
|
|
111
|
-
|
|
110
|
+
it('should handle array indices in fieldPath if handleArrayIndices is true', () => {
|
|
111
|
+
const DATA = {
|
|
112
112
|
alpha: {
|
|
113
113
|
bravo: [{
|
|
114
114
|
charlie: '123'
|
|
115
115
|
}]
|
|
116
116
|
}
|
|
117
117
|
};
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
const FIELD_ID = 'alpha.bravo[0].charlie';
|
|
119
|
+
const VALUE = '456';
|
|
120
120
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE, true)).toMatchObject({
|
|
121
121
|
alpha: {
|
|
122
122
|
bravo: [{
|