@ukhomeoffice/cop-react-form-renderer 7.3.2-alpha.5 → 8.0.0-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/README.md +106 -32
- package/dist/components/CheckYourAnswers/Answer.d.ts +10 -0
- package/dist/components/CheckYourAnswers/CheckYourAnswers.d.ts +35 -0
- package/dist/components/CheckYourAnswers/index.d.ts +2 -0
- package/dist/components/CollectionPage/CollectionPage.d.ts +24 -0
- package/dist/components/CollectionPage/index.d.ts +1 -0
- package/dist/components/CollectionSummary/BannerStrip.d.ts +9 -0
- package/dist/components/CollectionSummary/CollectionSummary.d.ts +53 -0
- package/dist/components/CollectionSummary/Confirmation.d.ts +15 -0
- package/dist/components/CollectionSummary/RenderListView.d.ts +42 -0
- package/dist/components/CollectionSummary/SummaryCard.d.ts +62 -0
- package/dist/components/CollectionSummary/SummaryCardButtons.d.ts +21 -0
- package/dist/components/CollectionSummary/SummaryCardDetails.d.ts +14 -0
- package/dist/components/CollectionSummary/SummaryCardValidationContext.d.ts +9 -0
- package/dist/components/CollectionSummary/index.d.ts +2 -0
- package/dist/components/FormComponent/Collection.d.ts +39 -0
- package/dist/components/FormComponent/Container.d.ts +26 -0
- package/dist/components/FormComponent/FormComponent.d.ts +39 -0
- package/dist/components/FormComponent/helpers/addLabel.d.ts +7 -0
- package/dist/components/FormComponent/helpers/getComponentDisabled.d.ts +2 -0
- package/dist/components/FormComponent/helpers/getComponentError.d.ts +4 -0
- package/dist/components/FormComponent/helpers/getComponentFieldSet.d.ts +2 -0
- package/dist/components/FormComponent/helpers/index.d.ts +5 -0
- package/dist/components/FormComponent/index.d.ts +2 -0
- package/dist/components/FormPage/FormPage.d.ts +36 -0
- package/dist/components/FormPage/index.d.ts +2 -0
- package/dist/components/FormRenderer/FormRenderer.d.ts +39 -0
- package/dist/components/FormRenderer/handlers/cyaAction.d.ts +9 -0
- package/dist/components/FormRenderer/handlers/getPageId.d.ts +8 -0
- package/dist/components/FormRenderer/handlers/index.d.ts +6 -0
- package/dist/components/FormRenderer/handlers/navigate.d.ts +10 -0
- package/dist/components/FormRenderer/handlers/submissionError.d.ts +7 -0
- package/dist/components/FormRenderer/helpers/canActionProceed.d.ts +12 -0
- package/dist/components/FormRenderer/helpers/canCYASubmit.d.ts +10 -0
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.d.ts +51 -0
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.d.ts +179 -0
- package/dist/components/FormRenderer/helpers/getCYA.d.ts +20 -0
- package/dist/components/FormRenderer/helpers/getFormState.d.ts +25 -0
- package/dist/components/FormRenderer/helpers/getNextPageId.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/getPage.d.ts +9 -0
- package/dist/components/FormRenderer/helpers/getRelevantPages.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.d.ts +10 -0
- package/dist/components/FormRenderer/helpers/index.d.ts +29 -0
- package/dist/components/FormRenderer/index.d.ts +2 -0
- package/dist/components/FormRenderer/onCYAAction.d.ts +6 -0
- package/dist/components/FormRenderer/onPageAction.d.ts +2 -0
- package/dist/components/FormRenderer/onTaskAction.d.ts +2 -0
- package/dist/components/PageActions/ActionButton.d.ts +7 -0
- package/dist/components/PageActions/PageActions.d.ts +7 -0
- package/dist/components/PageActions/index.d.ts +2 -0
- package/dist/components/SummaryList/GroupAction.d.ts +12 -0
- package/dist/components/SummaryList/RowAction.d.ts +12 -0
- package/dist/components/SummaryList/SummaryList.d.ts +28 -0
- package/dist/components/SummaryList/SummaryList.stories.d.ts +10 -0
- package/dist/components/SummaryList/SummaryListHeadingRow.d.ts +7 -0
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.d.ts +16 -0
- package/dist/components/SummaryList/SummaryListRow.d.ts +19 -0
- package/dist/components/SummaryList/SummaryListTitleRow.d.ts +7 -0
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.d.ts +17 -0
- package/dist/components/SummaryList/helpers/getRowActionAttributes.d.ts +17 -0
- package/dist/components/SummaryList/helpers/index.d.ts +2 -0
- package/dist/components/SummaryList/index.d.ts +2 -0
- package/dist/components/TaskList/Task.d.ts +12 -0
- package/dist/components/TaskList/TaskList.d.ts +40 -0
- package/dist/components/TaskList/TaskState.d.ts +6 -0
- package/dist/components/TaskList/index.d.ts +2 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/context/HooksContext/HooksContext.d.ts +23 -0
- package/dist/context/HooksContext/index.d.ts +3 -0
- package/dist/context/ValidationContext/ValidationContext.d.ts +7 -0
- package/dist/context/ValidationContext/index.d.ts +3 -0
- package/dist/context/index.d.ts +3 -0
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/useAxios.d.ts +2 -0
- package/dist/hooks/useGetRequest.d.ts +12 -0
- package/dist/hooks/useHooks.d.ts +2 -0
- package/dist/hooks/useRefData.d.ts +7 -0
- package/dist/hooks/useValidation.d.ts +2 -0
- package/dist/index.cjs +5 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +6124 -81
- package/dist/models/CollectionLabels.d.ts +7 -0
- package/dist/models/ComponentTypes.d.ts +27 -0
- package/dist/models/EventTypes.d.ts +6 -0
- package/dist/models/FormPages.d.ts +6 -0
- package/dist/models/FormTypes.d.ts +10 -0
- package/dist/models/HubFormats.d.ts +5 -0
- package/dist/models/PageAction.d.ts +89 -0
- package/dist/models/TaskStates.d.ts +39 -0
- package/dist/models/index.d.ts +143 -0
- package/dist/setupTests.d.ts +14 -0
- package/dist/utils/CheckYourAnswers/getCYAAction.d.ts +20 -0
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.d.ts +22 -0
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.d.ts +22 -0
- package/dist/utils/CheckYourAnswers/getCYARow.d.ts +26 -0
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.d.ts +17 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.d.ts +2 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.d.ts +23 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.d.ts +2 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.d.ts +11 -0
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.d.ts +3 -0
- package/dist/utils/CheckYourAnswers/index.d.ts +5 -0
- package/dist/utils/CheckYourAnswers/showComponentCYA.d.ts +11 -0
- package/dist/utils/CollectionPage/addCollectionPageEntry.d.ts +12 -0
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.d.ts +13 -0
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.d.ts +13 -0
- package/dist/utils/CollectionPage/getCollectionPageActiveId.d.ts +14 -0
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.d.ts +15 -0
- package/dist/utils/CollectionPage/getCollectionPageData.d.ts +15 -0
- package/dist/utils/CollectionPage/getErrorsForCollection.d.ts +2 -0
- package/dist/utils/CollectionPage/getQuickEditPage.d.ts +40 -0
- package/dist/utils/CollectionPage/index.d.ts +13 -0
- package/dist/utils/CollectionPage/mergeCollectionPages.d.ts +13 -0
- package/dist/utils/CollectionPage/removeCollectionPageEntry.d.ts +11 -0
- package/dist/utils/CollectionPage/setCollectionPageData.d.ts +16 -0
- package/dist/utils/Component/addShowWhen.d.ts +13 -0
- package/dist/utils/Component/applyToComponentTree.d.ts +15 -0
- package/dist/utils/Component/cleanAttributes.d.ts +14 -0
- package/dist/utils/Component/elevateNestedComponents.d.ts +28 -0
- package/dist/utils/Component/getDefaultValue.d.ts +2 -0
- package/dist/utils/Component/getDefaultValueFromConfig.d.ts +2 -0
- package/dist/utils/Component/index.d.ts +12 -0
- package/dist/utils/Component/isEditable.d.ts +3 -0
- package/dist/utils/Component/optionIsSelected.d.ts +10 -0
- package/dist/utils/Component/setupContainerComponentsPath.d.ts +2 -0
- package/dist/utils/Component/showComponent.d.ts +2 -0
- package/dist/utils/Condition/index.d.ts +6 -0
- package/dist/utils/Condition/meetsAllConditions.d.ts +8 -0
- package/dist/utils/Condition/meetsCondition.d.ts +14 -0
- package/dist/utils/Condition/meetsOneCondition.d.ts +8 -0
- package/dist/utils/Condition/setupConditions.d.ts +2 -0
- package/dist/utils/Container/getEditableComponents.d.ts +7 -0
- package/dist/utils/Container/index.d.ts +6 -0
- package/dist/utils/Container/setupNesting.d.ts +2 -0
- package/dist/utils/Container/showContainer.d.ts +8 -0
- package/dist/utils/Data/applyFormula.d.ts +2 -0
- package/dist/utils/Data/deleteValues.d.ts +8 -0
- package/dist/utils/Data/getAutocompleteSource.d.ts +2 -0
- package/dist/utils/Data/getDataPath.d.ts +21 -0
- package/dist/utils/Data/getOptions.d.ts +2 -0
- package/dist/utils/Data/getSourceData.d.ts +17 -0
- package/dist/utils/Data/index.d.ts +15 -0
- package/dist/utils/Data/nestInRefdataOptions.d.ts +10 -0
- package/dist/utils/Data/refDataToOptions.d.ts +8 -0
- package/dist/utils/Data/setDataItem.d.ts +2 -0
- package/dist/utils/Data/setupFormData.d.ts +15 -0
- package/dist/utils/Data/setupRefDataUrlForComponent.d.ts +2 -0
- package/dist/utils/FormPage/applyConditionalProperties.d.ts +8 -0
- package/dist/utils/FormPage/getConditionalText.d.ts +23 -0
- package/dist/utils/FormPage/getFormPage.d.ts +9 -0
- package/dist/utils/FormPage/getFormPages.d.ts +9 -0
- package/dist/utils/FormPage/getPageActions.d.ts +13 -0
- package/dist/utils/FormPage/getParagraphFromText.d.ts +11 -0
- package/dist/utils/FormPage/index.d.ts +10 -0
- package/dist/utils/FormPage/showFormPage.d.ts +8 -0
- package/dist/utils/FormPage/showFormPageCYA.d.ts +8 -0
- package/dist/utils/FormPage/useComponent.d.ts +9 -0
- package/dist/utils/Format/formatData.d.ts +8 -0
- package/dist/utils/Format/formatDataForComponent.d.ts +15 -0
- package/dist/utils/Format/formatDataForForm.d.ts +8 -0
- package/dist/utils/Format/formatDataForPage.d.ts +15 -0
- package/dist/utils/Format/index.d.ts +7 -0
- package/dist/utils/Hub/getFormHub.d.ts +15 -0
- package/dist/utils/Hub/index.d.ts +4 -0
- package/dist/utils/Meta/constants.d.ts +2 -0
- package/dist/utils/Meta/documents/getDocuments.d.ts +2 -0
- package/dist/utils/Meta/documents/index.d.ts +6 -0
- package/dist/utils/Meta/documents/setDocumentsForField.d.ts +2 -0
- package/dist/utils/Meta/index.d.ts +9 -0
- package/dist/utils/Operate/checkValueIsTruthy.d.ts +9 -0
- package/dist/utils/Operate/deleteValueInFormData.d.ts +8 -0
- package/dist/utils/Operate/doesContainValue.d.ts +11 -0
- package/dist/utils/Operate/getFirstOf.d.ts +2 -0
- package/dist/utils/Operate/getIndexOfMatchingValueIn.d.ts +11 -0
- package/dist/utils/Operate/getLength.d.ts +11 -0
- package/dist/utils/Operate/index.d.ts +4 -0
- package/dist/utils/Operate/persistValueInFormData.d.ts +9 -0
- package/dist/utils/Operate/runPageOperations.d.ts +19 -0
- package/dist/utils/Operate/setValueInFormData.d.ts +2 -0
- package/dist/utils/Operate/shouldRun.d.ts +9 -0
- package/dist/utils/Validate/additional/conditionallyPermittedChange.d.ts +14 -0
- package/dist/utils/Validate/additional/conditionallyRequired.d.ts +11 -0
- package/dist/utils/Validate/additional/index.d.ts +2 -0
- package/dist/utils/Validate/additional/mustBeAfter.d.ts +14 -0
- package/dist/utils/Validate/additional/mustBeBefore.d.ts +14 -0
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.d.ts +15 -0
- package/dist/utils/Validate/additional/mustBeGreaterThan.d.ts +7 -0
- package/dist/utils/Validate/additional/mustBeInTheFuture.d.ts +8 -0
- package/dist/utils/Validate/additional/mustBeInThePast.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeLessThan.d.ts +7 -0
- package/dist/utils/Validate/additional/mustBeLongerThan.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeNumbersOnly.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeOneOf.d.ts +8 -0
- package/dist/utils/Validate/additional/mustBeShorterThan.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.d.ts +10 -0
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.d.ts +9 -0
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.d.ts +7 -0
- package/dist/utils/Validate/additional/mustNotContainSql.d.ts +2 -0
- package/dist/utils/Validate/additional/mustSelectOnlyOne.d.ts +8 -0
- package/dist/utils/Validate/additional/utils.d.ts +4 -0
- package/dist/utils/Validate/index.d.ts +42 -0
- package/dist/utils/Validate/validateCollection.d.ts +9 -0
- package/dist/utils/Validate/validateComponent.d.ts +16 -0
- package/dist/utils/Validate/validateContainer.d.ts +12 -0
- package/dist/utils/Validate/validateDate.d.ts +29 -0
- package/dist/utils/Validate/validateEmail.d.ts +13 -0
- package/dist/utils/Validate/validateMultifile.d.ts +3 -0
- package/dist/utils/Validate/validateOnPageLoad.d.ts +1 -0
- package/dist/utils/Validate/validatePage.d.ts +8 -0
- package/dist/utils/Validate/validateRegex.d.ts +13 -0
- package/dist/utils/Validate/validateRequired.d.ts +9 -0
- package/dist/utils/Validate/validateTextArea.d.ts +13 -0
- package/dist/utils/Validate/validateTime.d.ts +20 -0
- package/dist/utils/canOverrideFieldRequired.d.ts +9 -0
- package/dist/utils/index.d.ts +140 -0
- package/package.json +81 -170
- package/LICENCE.md +0 -21
- package/dist/components/CheckYourAnswers/Answer.js +0 -59
- package/dist/components/CheckYourAnswers/Answer.test.js +0 -142
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +0 -252
- package/dist/components/CheckYourAnswers/CheckYourAnswers.scss +0 -43
- package/dist/components/CheckYourAnswers/CheckYourAnswers.stories.mdx +0 -409
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +0 -603
- package/dist/components/CheckYourAnswers/index.js +0 -10
- package/dist/components/CollectionPage/CollectionPage.js +0 -178
- package/dist/components/CollectionPage/CollectionPage.test.js +0 -507
- package/dist/components/CollectionPage/index.js +0 -10
- package/dist/components/CollectionSummary/BannerStrip.js +0 -65
- package/dist/components/CollectionSummary/BannerStrip.scss +0 -60
- package/dist/components/CollectionSummary/BannerStrip.test.js +0 -167
- package/dist/components/CollectionSummary/CollectionSummary.js +0 -362
- package/dist/components/CollectionSummary/CollectionSummary.scss +0 -26
- package/dist/components/CollectionSummary/CollectionSummary.test.js +0 -368
- package/dist/components/CollectionSummary/Confirmation.js +0 -65
- package/dist/components/CollectionSummary/Confirmation.scss +0 -26
- package/dist/components/CollectionSummary/Confirmation.test.js +0 -109
- package/dist/components/CollectionSummary/RenderListView.js +0 -162
- package/dist/components/CollectionSummary/RenderListView.scss +0 -295
- package/dist/components/CollectionSummary/RenderListView.test.js +0 -303
- package/dist/components/CollectionSummary/SummaryCard.js +0 -277
- package/dist/components/CollectionSummary/SummaryCard.scss +0 -114
- package/dist/components/CollectionSummary/SummaryCard.test.js +0 -1442
- package/dist/components/CollectionSummary/SummaryCardButtons.js +0 -76
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +0 -87
- package/dist/components/CollectionSummary/SummaryCardDetails.js +0 -206
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +0 -216
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +0 -654
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +0 -79
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +0 -104
- package/dist/components/CollectionSummary/index.js +0 -10
- package/dist/components/FormComponent/Collection.js +0 -234
- package/dist/components/FormComponent/Collection.scss +0 -24
- package/dist/components/FormComponent/Collection.test.js +0 -934
- package/dist/components/FormComponent/Container.js +0 -130
- package/dist/components/FormComponent/Container.scss +0 -15
- package/dist/components/FormComponent/Container.test.js +0 -456
- package/dist/components/FormComponent/FormComponent.js +0 -238
- package/dist/components/FormComponent/FormComponent.stories.mdx +0 -186
- package/dist/components/FormComponent/FormComponent.test.js +0 -436
- package/dist/components/FormComponent/helpers/addLabel.js +0 -25
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +0 -15
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +0 -27
- package/dist/components/FormComponent/helpers/getComponentError.js +0 -23
- package/dist/components/FormComponent/helpers/getComponentError.test.js +0 -51
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +0 -11
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +0 -30
- package/dist/components/FormComponent/helpers/index.js +0 -35
- package/dist/components/FormComponent/index.js +0 -10
- package/dist/components/FormPage/FormPage.js +0 -212
- package/dist/components/FormPage/FormPage.scss +0 -7
- package/dist/components/FormPage/FormPage.stories.mdx +0 -157
- package/dist/components/FormPage/FormPage.test.js +0 -454
- package/dist/components/FormPage/index.js +0 -10
- package/dist/components/FormRenderer/FormRenderer.js +0 -426
- package/dist/components/FormRenderer/FormRenderer.scss +0 -5
- package/dist/components/FormRenderer/FormRenderer.stories.mdx +0 -178
- package/dist/components/FormRenderer/FormRenderer.test.js +0 -799
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/cop-reassign-task-to-rcc.json +0 -446
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-containerised.json +0 -120
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested-block.json +0 -113
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-refdata.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-target-component-nested.json +0 -99
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-show-whens-page-hidden.json +0 -113
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-airpax.json +0 -26408
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-mandec.json +0 -9405
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component-dependent-on-external-data.json +0 -158
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component.json +0 -86
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-collection.json +0 -173
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-hidden-collection.json +0 -202
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-show-when-in-component-and-page.json +0 -63
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions-visible-elsewhere.json +0 -118
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions.json +0 -112
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component.json +0 -58
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-containerised-component.json +0 -97
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-collection-component.json +0 -83
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-component.json +0 -55
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-entire-collection.json +0 -114
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component-leaf-hidden.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-options.json +0 -99
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-collection.json +0 -128
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-component-used-elsewhere.json +0 -109
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-same-component-reused.json +0 -62
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page.json +0 -96
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option-visible-elsewhere.json +0 -113
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option.json +0 -112
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-nested-component.json +0 -26003
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-nested-radio-component.json +0 -201
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-same-component-reused-one-shown.json +0 -75
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-variance-breach.json +0 -4272
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-carrier.json +0 -407
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-change-what-happened-before.json +0 -300
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-remove-photos-before.json +0 -384
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-business-interests-before.json +0 -140
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-criminality-before.json +0 -186
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-unspent-convictions-before.json +0 -143
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-variance-breach-with-upload-files.json +0 -1264
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-containerised.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested-block.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-refdata.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-target-component-nested.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-show-whens-page-hidden.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component-dependent-on-external-data.json +0 -26
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component.json +0 -15
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-collection.json +0 -25
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-hidden-collection.json +0 -26
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-show-when-in-component-and-page.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions-visible-elsewhere.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-containerised-component.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-collection-component.json +0 -15
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-component.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-entire-collection.json +0 -20
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component-leaf-hidden.json +0 -14
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component.json +0 -14
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-options.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-collection.json +0 -18
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-component-used-elsewhere.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-same-component-reused.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option-visible-elsewhere.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-nested-component.json +0 -63
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-nested-radio-component.json +0 -45
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-same-component-reused-one-shown.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/reassign-to-rcc.json +0 -72
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-change-what-happened-after.json +0 -280
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-remove-photos-after.json +0 -355
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-base-file.json +0 -80
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-business-interests-after.json +0 -122
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-criminality-after.json +0 -86
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-unspent-convictions-after.json +0 -127
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-containerised-removed.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-block-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-refdata-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-target-component-nested-removed.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-show-whens-page-hidden-removed.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-dependent-on-external-data-removed.json +0 -23
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-collection-removed.json +0 -21
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-hidden-collection-removed.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-show-when-in-component-and-page-removed.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-visible-elsewhere-removed.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-containerised-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-collection-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-entire-collection-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-leaf-hidden-removed.json +0 -13
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-options-removed.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-collection-removed.json +0 -15
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-component-used-elsewhere-removed.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-same-component-reused-removed.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-removed.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-visible-elsewhere-removed.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-nested-component.json +0 -63
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-nested-radio-component-removed.json +0 -45
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-same-component-reused-one-shown-removed.json +0 -7
- package/dist/components/FormRenderer/handlers/cyaAction.js +0 -23
- package/dist/components/FormRenderer/handlers/getPageId.js +0 -15
- package/dist/components/FormRenderer/handlers/getPageId.test.js +0 -35
- package/dist/components/FormRenderer/handlers/handlers.test.js +0 -81
- package/dist/components/FormRenderer/handlers/index.js +0 -17
- package/dist/components/FormRenderer/handlers/navigate.js +0 -25
- package/dist/components/FormRenderer/handlers/submissionError.js +0 -18
- package/dist/components/FormRenderer/helpers/canActionProceed.js +0 -27
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +0 -84
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +0 -17
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +0 -75
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +0 -63
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +0 -191
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -338
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -434
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.js +0 -399
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.test.js +0 -559
- package/dist/components/FormRenderer/helpers/getCYA.js +0 -42
- package/dist/components/FormRenderer/helpers/getCYA.test.js +0 -46
- package/dist/components/FormRenderer/helpers/getFormState.js +0 -25
- package/dist/components/FormRenderer/helpers/getFormState.test.js +0 -60
- package/dist/components/FormRenderer/helpers/getNextPageId.js +0 -76
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +0 -292
- package/dist/components/FormRenderer/helpers/getPage.js +0 -27
- package/dist/components/FormRenderer/helpers/getPage.test.js +0 -45
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +0 -27
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +0 -70
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +0 -65
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +0 -309
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +0 -201
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +0 -473
- package/dist/components/FormRenderer/helpers/index.js +0 -33
- package/dist/components/FormRenderer/index.js +0 -10
- package/dist/components/FormRenderer/onCYAAction.js +0 -150
- package/dist/components/FormRenderer/onCYAAction.test.js +0 -741
- package/dist/components/FormRenderer/onPageAction.js +0 -227
- package/dist/components/FormRenderer/onPageAction.test.js +0 -960
- package/dist/components/FormRenderer/onTaskAction.js +0 -47
- package/dist/components/FormRenderer/onTaskAction.test.js +0 -247
- package/dist/components/PageActions/ActionButton.js +0 -48
- package/dist/components/PageActions/ActionButton.test.js +0 -73
- package/dist/components/PageActions/PageActions.js +0 -37
- package/dist/components/PageActions/PageActions.stories.mdx +0 -74
- package/dist/components/PageActions/PageActions.test.js +0 -106
- package/dist/components/PageActions/index.js +0 -10
- package/dist/components/SummaryList/GroupAction.js +0 -50
- package/dist/components/SummaryList/GroupAction.test.js +0 -86
- package/dist/components/SummaryList/RowAction.js +0 -48
- package/dist/components/SummaryList/RowAction.test.js +0 -86
- package/dist/components/SummaryList/SummaryList.js +0 -128
- package/dist/components/SummaryList/SummaryList.scss +0 -79
- package/dist/components/SummaryList/SummaryList.stories.mdx +0 -84
- package/dist/components/SummaryList/SummaryList.test.js +0 -504
- package/dist/components/SummaryList/SummaryListHeadingRow.js +0 -39
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +0 -65
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +0 -38
- package/dist/components/SummaryList/SummaryListRow.js +0 -58
- package/dist/components/SummaryList/SummaryListTitleRow.js +0 -32
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +0 -29
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +0 -72
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +0 -29
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +0 -72
- package/dist/components/SummaryList/helpers/index.js +0 -14
- package/dist/components/SummaryList/index.js +0 -10
- package/dist/components/TaskList/Task.js +0 -62
- package/dist/components/TaskList/Task.test.js +0 -176
- package/dist/components/TaskList/TaskList.js +0 -175
- package/dist/components/TaskList/TaskList.scss +0 -123
- package/dist/components/TaskList/TaskList.stories.mdx +0 -164
- package/dist/components/TaskList/TaskList.test.js +0 -535
- package/dist/components/TaskList/TaskState.js +0 -37
- package/dist/components/TaskList/TaskState.test.js +0 -95
- package/dist/components/TaskList/index.js +0 -10
- package/dist/components/index.js +0 -56
- package/dist/context/HooksContext/HooksContext.js +0 -122
- package/dist/context/HooksContext/HooksContext.test.js +0 -45
- package/dist/context/HooksContext/index.js +0 -16
- package/dist/context/ValidationContext/ValidationContext.js +0 -98
- package/dist/context/ValidationContext/ValidationContext.test.js +0 -107
- package/dist/context/ValidationContext/index.js +0 -16
- package/dist/context/index.js +0 -21
- package/dist/hooks/index.js +0 -55
- package/dist/hooks/useAxios.js +0 -36
- package/dist/hooks/useGetRequest.js +0 -89
- package/dist/hooks/useHooks.js +0 -15
- package/dist/hooks/useRefData.js +0 -62
- package/dist/hooks/useValidation.js +0 -15
- package/dist/json/actions.json +0 -17
- package/dist/json/actionsNoSave.json +0 -17
- package/dist/json/addressDetails.json +0 -149
- package/dist/json/areYouACivilServant.json +0 -7
- package/dist/json/firstForm.json +0 -94
- package/dist/json/grade.json +0 -108
- package/dist/json/group.data.json +0 -21
- package/dist/json/group.json +0 -402
- package/dist/json/groupOfRow.json +0 -137
- package/dist/json/groupOfRowData.json +0 -15
- package/dist/json/port.json +0 -346
- package/dist/json/saveAndContinue.json +0 -98
- package/dist/json/sublocation.json +0 -859
- package/dist/json/taskList.json +0 -265
- package/dist/json/team.json +0 -17351
- package/dist/json/terminal.json +0 -81
- package/dist/json/userProfile.data.json +0 -21
- package/dist/json/userProfile.json +0 -276
- package/dist/models/CollectionLabels.js +0 -15
- package/dist/models/ComponentTypes.js +0 -58
- package/dist/models/EventTypes.js +0 -16
- package/dist/models/FormPages.js +0 -16
- package/dist/models/FormTypes.js +0 -24
- package/dist/models/HubFormats.js +0 -14
- package/dist/models/PageAction.js +0 -65
- package/dist/models/TaskStates.js +0 -46
- package/dist/models/index.js +0 -77
- package/dist/setupTests.js +0 -54
- package/dist/utils/CheckYourAnswers/getCYAAction.js +0 -44
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +0 -120
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +0 -57
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +0 -162
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +0 -66
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +0 -198
- package/dist/utils/CheckYourAnswers/getCYARow.js +0 -58
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +0 -373
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +0 -69
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +0 -70
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +0 -71
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +0 -285
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +0 -237
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +0 -844
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +0 -45
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +0 -535
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +0 -72
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +0 -343
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +0 -42
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +0 -56
- package/dist/utils/CheckYourAnswers/index.js +0 -15
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +0 -53
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +0 -149
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +0 -23
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +0 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +0 -26
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +0 -70
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +0 -51
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +0 -125
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +0 -24
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +0 -26
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +0 -44
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +0 -88
- package/dist/utils/CollectionPage/getCollectionPageData.js +0 -53
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +0 -103
- package/dist/utils/CollectionPage/getErrorsForCollection.js +0 -55
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +0 -154
- package/dist/utils/CollectionPage/getQuickEditPage.js +0 -122
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +0 -143
- package/dist/utils/CollectionPage/index.js +0 -33
- package/dist/utils/CollectionPage/mergeCollectionPages.js +0 -128
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +0 -198
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +0 -36
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +0 -62
- package/dist/utils/CollectionPage/setCollectionPageData.js +0 -60
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +0 -182
- package/dist/utils/Component/addShowWhen.js +0 -43
- package/dist/utils/Component/addShowWhen.test.js +0 -217
- package/dist/utils/Component/applyToComponentTree.js +0 -68
- package/dist/utils/Component/applyToComponentTree.test.js +0 -125
- package/dist/utils/Component/cleanAttributes.js +0 -42
- package/dist/utils/Component/cleanAttributes.test.js +0 -67
- package/dist/utils/Component/elevateNestedComponents.js +0 -58
- package/dist/utils/Component/elevateNestedComponents.test.js +0 -305
- package/dist/utils/Component/getComponent.js +0 -305
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +0 -73
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +0 -251
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +0 -156
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +0 -104
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +0 -56
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +0 -31
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +0 -42
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +0 -29
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +0 -47
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +0 -66
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +0 -211
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +0 -46
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +0 -221
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +0 -62
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +0 -104
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +0 -80
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +0 -14
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +0 -29
- package/dist/utils/Component/getDefaultValue.js +0 -22
- package/dist/utils/Component/getDefaultValue.test.js +0 -62
- package/dist/utils/Component/getDefaultValueFromConfig.js +0 -106
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +0 -141
- package/dist/utils/Component/index.js +0 -29
- package/dist/utils/Component/isEditable.js +0 -13
- package/dist/utils/Component/isEditable.test.js +0 -42
- package/dist/utils/Component/optionIsSelected.js +0 -25
- package/dist/utils/Component/optionIsSelected.test.js +0 -69
- package/dist/utils/Component/setupContainerComponentsPath.js +0 -35
- package/dist/utils/Component/setupContainerComponentsPath.test.js +0 -79
- package/dist/utils/Component/showComponent.js +0 -25
- package/dist/utils/Component/showComponent.test.js +0 -157
- package/dist/utils/Component/wrapInFormGroup.js +0 -26
- package/dist/utils/Condition/index.js +0 -17
- package/dist/utils/Condition/meetsAllConditions.js +0 -44
- package/dist/utils/Condition/meetsAllConditions.test.js +0 -109
- package/dist/utils/Condition/meetsCondition.js +0 -165
- package/dist/utils/Condition/meetsCondition.test.js +0 -899
- package/dist/utils/Condition/meetsOneCondition.js +0 -32
- package/dist/utils/Condition/meetsOneCondition.test.js +0 -101
- package/dist/utils/Condition/setupConditions.js +0 -36
- package/dist/utils/Condition/setupConditions.test.js +0 -34
- package/dist/utils/Container/getEditableComponents.js +0 -29
- package/dist/utils/Container/getEditableComponents.test.js +0 -134
- package/dist/utils/Container/index.js +0 -17
- package/dist/utils/Container/setupNesting.js +0 -53
- package/dist/utils/Container/setupNesting.test.js +0 -143
- package/dist/utils/Container/showContainer.js +0 -52
- package/dist/utils/Container/showContainer.test.js +0 -179
- package/dist/utils/Data/applyFormula.js +0 -90
- package/dist/utils/Data/applyFormula.test.js +0 -264
- package/dist/utils/Data/deleteValues.js +0 -19
- package/dist/utils/Data/deleteValues.test.js +0 -58
- package/dist/utils/Data/getAutocompleteSource.js +0 -87
- package/dist/utils/Data/getAutocompleteSource.test.js +0 -335
- package/dist/utils/Data/getDataPath.js +0 -66
- package/dist/utils/Data/getDataPath.test.js +0 -49
- package/dist/utils/Data/getOptions.js +0 -86
- package/dist/utils/Data/getOptions.test.js +0 -279
- package/dist/utils/Data/getSourceData.js +0 -44
- package/dist/utils/Data/getSourceData.test.js +0 -158
- package/dist/utils/Data/index.js +0 -35
- package/dist/utils/Data/nestInRefdataOptions.js +0 -47
- package/dist/utils/Data/nestInRefdataOptions.test.js +0 -237
- package/dist/utils/Data/refDataToOptions.js +0 -44
- package/dist/utils/Data/refDataToOptions.test.js +0 -197
- package/dist/utils/Data/setDataItem.js +0 -26
- package/dist/utils/Data/setDataItem.test.js +0 -136
- package/dist/utils/Data/setupFormData.js +0 -49
- package/dist/utils/Data/setupFormData.test.js +0 -215
- package/dist/utils/Data/setupRefDataUrlForComponent.js +0 -44
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +0 -150
- package/dist/utils/FormPage/applyConditionalProperties.js +0 -34
- package/dist/utils/FormPage/applyConditionalProperties.test.js +0 -61
- package/dist/utils/FormPage/getConditionalText.js +0 -55
- package/dist/utils/FormPage/getConditionalText.test.js +0 -163
- package/dist/utils/FormPage/getFormPage.js +0 -54
- package/dist/utils/FormPage/getFormPage.test.js +0 -206
- package/dist/utils/FormPage/getFormPages.js +0 -30
- package/dist/utils/FormPage/getFormPages.test.js +0 -97
- package/dist/utils/FormPage/getPageActions.js +0 -58
- package/dist/utils/FormPage/getPageActions.test.js +0 -115
- package/dist/utils/FormPage/getParagraphFromText.js +0 -21
- package/dist/utils/FormPage/getParagraphFromText.test.js +0 -28
- package/dist/utils/FormPage/index.js +0 -24
- package/dist/utils/FormPage/showFormPage.js +0 -52
- package/dist/utils/FormPage/showFormPage.test.js +0 -181
- package/dist/utils/FormPage/showFormPageCYA.js +0 -23
- package/dist/utils/FormPage/showFormPageCYA.test.js +0 -29
- package/dist/utils/FormPage/useComponent.js +0 -83
- package/dist/utils/FormPage/useComponent.test.js +0 -216
- package/dist/utils/Format/formatData.js +0 -27
- package/dist/utils/Format/formatData.test.js +0 -46
- package/dist/utils/Format/formatDataForComponent.js +0 -35
- package/dist/utils/Format/formatDataForComponent.test.js +0 -114
- package/dist/utils/Format/formatDataForForm.js +0 -27
- package/dist/utils/Format/formatDataForForm.test.js +0 -79
- package/dist/utils/Format/formatDataForPage.js +0 -31
- package/dist/utils/Format/formatDataForPage.test.js +0 -94
- package/dist/utils/Format/index.js +0 -21
- package/dist/utils/Hub/getFormHub.js +0 -40
- package/dist/utils/Hub/getFormHub.test.js +0 -105
- package/dist/utils/Hub/index.js +0 -15
- package/dist/utils/Meta/constants.js +0 -9
- package/dist/utils/Meta/documents/getDocuments.js +0 -15
- package/dist/utils/Meta/documents/getDocuments.test.js +0 -46
- package/dist/utils/Meta/documents/index.js +0 -19
- package/dist/utils/Meta/documents/setDocumentsForField.js +0 -30
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +0 -97
- package/dist/utils/Meta/index.js +0 -17
- package/dist/utils/Operate/checkValueIsTruthy.js +0 -29
- package/dist/utils/Operate/checkValueIsTruthy.test.js +0 -43
- package/dist/utils/Operate/deleteValueInFormData.js +0 -27
- package/dist/utils/Operate/deleteValueInFormData.test.js +0 -61
- package/dist/utils/Operate/doesContainValue.js +0 -35
- package/dist/utils/Operate/doesContainValue.test.js +0 -76
- package/dist/utils/Operate/getFirstOf.js +0 -31
- package/dist/utils/Operate/getFirstOf.test.js +0 -87
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +0 -68
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +0 -158
- package/dist/utils/Operate/getLength.js +0 -51
- package/dist/utils/Operate/getLength.test.js +0 -90
- package/dist/utils/Operate/index.js +0 -13
- package/dist/utils/Operate/persistValueInFormData.js +0 -40
- package/dist/utils/Operate/persistValueInFormData.test.js +0 -118
- package/dist/utils/Operate/runPageOperations.js +0 -75
- package/dist/utils/Operate/runPageOperations.test.js +0 -105
- package/dist/utils/Operate/setValueInFormData.js +0 -22
- package/dist/utils/Operate/setValueInFormData.test.js +0 -45
- package/dist/utils/Operate/shouldRun.js +0 -57
- package/dist/utils/Operate/shouldRun.test.js +0 -65
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +0 -26
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +0 -34
- package/dist/utils/Validate/additional/conditionallyRequired.js +0 -24
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +0 -74
- package/dist/utils/Validate/additional/index.js +0 -74
- package/dist/utils/Validate/additional/index.test.js +0 -130
- package/dist/utils/Validate/additional/mustBeAfter.js +0 -34
- package/dist/utils/Validate/additional/mustBeAfter.test.js +0 -109
- package/dist/utils/Validate/additional/mustBeBefore.js +0 -34
- package/dist/utils/Validate/additional/mustBeBefore.test.js +0 -77
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +0 -57
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +0 -128
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +0 -22
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +0 -57
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +0 -33
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +0 -32
- package/dist/utils/Validate/additional/mustBeInThePast.js +0 -36
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +0 -32
- package/dist/utils/Validate/additional/mustBeLessThan.js +0 -22
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +0 -53
- package/dist/utils/Validate/additional/mustBeLongerThan.js +0 -23
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +0 -49
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +0 -24
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +0 -45
- package/dist/utils/Validate/additional/mustBeOneOf.js +0 -22
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +0 -37
- package/dist/utils/Validate/additional/mustBeShorterThan.js +0 -23
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +0 -49
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +0 -40
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +0 -163
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +0 -26
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +0 -37
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +0 -19
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +0 -37
- package/dist/utils/Validate/additional/mustNotContainSql.js +0 -19
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +0 -33
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +0 -29
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +0 -55
- package/dist/utils/Validate/additional/utils.js +0 -35
- package/dist/utils/Validate/index.js +0 -33
- package/dist/utils/Validate/validateCollection.js +0 -50
- package/dist/utils/Validate/validateCollection.test.js +0 -134
- package/dist/utils/Validate/validateComponent.js +0 -126
- package/dist/utils/Validate/validateComponent.test.js +0 -435
- package/dist/utils/Validate/validateContainer.js +0 -52
- package/dist/utils/Validate/validateContainer.test.js +0 -115
- package/dist/utils/Validate/validateDate.js +0 -112
- package/dist/utils/Validate/validateDate.test.js +0 -133
- package/dist/utils/Validate/validateEmail.js +0 -45
- package/dist/utils/Validate/validateEmail.test.js +0 -78
- package/dist/utils/Validate/validateMultifile.js +0 -29
- package/dist/utils/Validate/validateMultifile.test.js +0 -46
- package/dist/utils/Validate/validateOnPageLoad.js +0 -24
- package/dist/utils/Validate/validateOnPageLoad.test.js +0 -89
- package/dist/utils/Validate/validatePage.js +0 -56
- package/dist/utils/Validate/validatePage.test.js +0 -795
- package/dist/utils/Validate/validateRegex.js +0 -41
- package/dist/utils/Validate/validateRegex.test.js +0 -43
- package/dist/utils/Validate/validateRequired.js +0 -37
- package/dist/utils/Validate/validateRequired.test.js +0 -64
- package/dist/utils/Validate/validateTextArea.js +0 -36
- package/dist/utils/Validate/validateTextArea.test.js +0 -71
- package/dist/utils/Validate/validateTime.js +0 -76
- package/dist/utils/Validate/validateTime.test.js +0 -116
- package/dist/utils/canOverrideFieldRequired.js +0 -23
- package/dist/utils/index.js +0 -42
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _models = require("../../models");
|
|
4
|
-
var _validateContainer = _interopRequireDefault(require("./validateContainer"));
|
|
5
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
|
-
// Local imports
|
|
7
|
-
|
|
8
|
-
describe('utils.Validate.Container', () => {
|
|
9
|
-
const setup = (id, type, label, required, additionalValidation) => ({
|
|
10
|
-
id,
|
|
11
|
-
fieldId: id,
|
|
12
|
-
type,
|
|
13
|
-
label,
|
|
14
|
-
required,
|
|
15
|
-
additionalValidation
|
|
16
|
-
});
|
|
17
|
-
it('should return an empty array when the component is null', () => {
|
|
18
|
-
expect((0, _validateContainer.default)(null, {})).toEqual([]);
|
|
19
|
-
});
|
|
20
|
-
it('should return an empty array when the container has an undefined components array', () => {
|
|
21
|
-
const ID = 'container';
|
|
22
|
-
const LABEL = 'field';
|
|
23
|
-
const CONTAINER = setup(ID, _models.ComponentTypes.CONTAINER, LABEL, false);
|
|
24
|
-
expect((0, _validateContainer.default)(CONTAINER, null)).toEqual([]);
|
|
25
|
-
});
|
|
26
|
-
it('should return an empty array when the container has no components', () => {
|
|
27
|
-
const ID = 'container';
|
|
28
|
-
const LABEL = 'field';
|
|
29
|
-
const CONTAINER = setup(ID, _models.ComponentTypes.CONTAINER, LABEL, false);
|
|
30
|
-
CONTAINER.components = [];
|
|
31
|
-
expect((0, _validateContainer.default)(CONTAINER, null)).toEqual([]);
|
|
32
|
-
});
|
|
33
|
-
it('should return an empty array when the container has only valid components', () => {
|
|
34
|
-
const EMAIL_ID = 'email';
|
|
35
|
-
const EMAIL_LABEL = 'Email';
|
|
36
|
-
const EMAIL = setup(EMAIL_ID, _models.ComponentTypes.EMAIL, EMAIL_LABEL, false);
|
|
37
|
-
const ID = 'container';
|
|
38
|
-
const LABEL = 'field';
|
|
39
|
-
const CONTAINER = setup(ID, _models.ComponentTypes.CONTAINER, LABEL, false);
|
|
40
|
-
CONTAINER.components = [EMAIL];
|
|
41
|
-
const DATA = {
|
|
42
|
-
[ID]: {
|
|
43
|
-
[EMAIL_ID]: 'alpha.bravo@digital.homeoffice.gov.uk'
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
expect((0, _validateContainer.default)(CONTAINER, DATA)).toEqual([]);
|
|
47
|
-
});
|
|
48
|
-
it('should return an array containing an error when the container has an invalid component', () => {
|
|
49
|
-
const EMAIL_ID = 'email';
|
|
50
|
-
const EMAIL_LABEL = 'Email';
|
|
51
|
-
const EMAIL = setup(EMAIL_ID, _models.ComponentTypes.EMAIL, EMAIL_LABEL, false);
|
|
52
|
-
const ID = 'container';
|
|
53
|
-
const LABEL = 'field';
|
|
54
|
-
const CONTAINER = setup(ID, _models.ComponentTypes.CONTAINER, LABEL, false);
|
|
55
|
-
CONTAINER.components = [EMAIL];
|
|
56
|
-
const DATA = {
|
|
57
|
-
[ID]: {
|
|
58
|
-
[EMAIL_ID]: 'alpha.bravo@digital.homeoffice.com'
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
expect((0, _validateContainer.default)(CONTAINER, DATA)).toEqual([{
|
|
62
|
-
id: "".concat(ID, ".").concat(EMAIL_ID),
|
|
63
|
-
error: "Enter ".concat(EMAIL_LABEL.toLowerCase(), " in the correct format, like jane.doe@homeoffice.gov.uk")
|
|
64
|
-
}]);
|
|
65
|
-
});
|
|
66
|
-
it('should apply optional validators when specified', () => {
|
|
67
|
-
const ID = 'container';
|
|
68
|
-
const DATA = {};
|
|
69
|
-
const ADDITIONAL_VALIDATION = [{
|
|
70
|
-
function: 'mustEnterAtLeastOne',
|
|
71
|
-
message: 'Must enter at least one'
|
|
72
|
-
}];
|
|
73
|
-
const COMPONENT = setup(ID, _models.ComponentTypes.DATE, null, false, ADDITIONAL_VALIDATION);
|
|
74
|
-
expect((0, _validateContainer.default)(COMPONENT, DATA)).toEqual({
|
|
75
|
-
error: 'Must enter at least one',
|
|
76
|
-
id: ID
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
it('should return an array containing errors for nested components if the container has them as children', () => {
|
|
80
|
-
const ID = 'container';
|
|
81
|
-
const LABEL = 'field';
|
|
82
|
-
const CONTAINER = setup(ID, _models.ComponentTypes.CONTAINER, LABEL, false);
|
|
83
|
-
CONTAINER.components = [{
|
|
84
|
-
id: 'testRadio',
|
|
85
|
-
fieldId: 'testRadio',
|
|
86
|
-
type: 'radios',
|
|
87
|
-
data: {
|
|
88
|
-
options: [{
|
|
89
|
-
value: 'yes',
|
|
90
|
-
nested: [{
|
|
91
|
-
id: 'nestedText',
|
|
92
|
-
fieldId: 'nestedText',
|
|
93
|
-
type: 'text',
|
|
94
|
-
required: true,
|
|
95
|
-
custom_errors: [{
|
|
96
|
-
type: 'required',
|
|
97
|
-
message: 'Nested text is required'
|
|
98
|
-
}]
|
|
99
|
-
}]
|
|
100
|
-
}]
|
|
101
|
-
}
|
|
102
|
-
}];
|
|
103
|
-
const DATA = {
|
|
104
|
-
[ID]: {
|
|
105
|
-
testRadio: 'yes'
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
expect((0, _validateContainer.default)(CONTAINER, DATA)).toEqual([{
|
|
109
|
-
id: "".concat(ID, ".nestedText"),
|
|
110
|
-
error: 'Nested text is required',
|
|
111
|
-
properties: undefined
|
|
112
|
-
}]);
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9kZWxzIiwicmVxdWlyZSIsIl92YWxpZGF0ZUNvbnRhaW5lciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJkZXNjcmliZSIsInNldHVwIiwiaWQiLCJ0eXBlIiwibGFiZWwiLCJyZXF1aXJlZCIsImFkZGl0aW9uYWxWYWxpZGF0aW9uIiwiZmllbGRJZCIsIml0IiwiZXhwZWN0IiwidmFsaWRhdGVDb250YWluZXIiLCJ0b0VxdWFsIiwiSUQiLCJMQUJFTCIsIkNPTlRBSU5FUiIsIkNvbXBvbmVudFR5cGVzIiwiY29tcG9uZW50cyIsIkVNQUlMX0lEIiwiRU1BSUxfTEFCRUwiLCJFTUFJTCIsIkRBVEEiLCJjb25jYXQiLCJlcnJvciIsInRvTG93ZXJDYXNlIiwiQURESVRJT05BTF9WQUxJREFUSU9OIiwiZnVuY3Rpb24iLCJtZXNzYWdlIiwiQ09NUE9ORU5UIiwiREFURSIsImRhdGEiLCJvcHRpb25zIiwidmFsdWUiLCJuZXN0ZWQiLCJjdXN0b21fZXJyb3JzIiwidGVzdFJhZGlvIiwicHJvcGVydGllcyIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9WYWxpZGF0ZS92YWxpZGF0ZUNvbnRhaW5lci50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIExvY2FsIGltcG9ydHNcbmltcG9ydCB7IENvbXBvbmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB2YWxpZGF0ZUNvbnRhaW5lciBmcm9tICcuL3ZhbGlkYXRlQ29udGFpbmVyJztcblxuZGVzY3JpYmUoJ3V0aWxzLlZhbGlkYXRlLkNvbnRhaW5lcicsICgpID0+IHtcblxuICBjb25zdCBzZXR1cCA9IChpZCwgdHlwZSwgbGFiZWwsIHJlcXVpcmVkLCBhZGRpdGlvbmFsVmFsaWRhdGlvbikgPT4gKFxuICAgIHsgaWQsIGZpZWxkSWQ6IGlkLCB0eXBlLCBsYWJlbCwgcmVxdWlyZWQsIGFkZGl0aW9uYWxWYWxpZGF0aW9uIH1cbiAgKTtcblxuICBpdCgnc2hvdWxkIHJldHVybiBhbiBlbXB0eSBhcnJheSB3aGVuIHRoZSBjb21wb25lbnQgaXMgbnVsbCcsICgpID0+IHtcbiAgICBleHBlY3QodmFsaWRhdGVDb250YWluZXIobnVsbCwge30pKS50b0VxdWFsKFtdKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gYW4gZW1wdHkgYXJyYXkgd2hlbiB0aGUgY29udGFpbmVyIGhhcyBhbiB1bmRlZmluZWQgY29tcG9uZW50cyBhcnJheScsICgpID0+IHtcbiAgICBjb25zdCBJRCA9ICdjb250YWluZXInO1xuICAgIGNvbnN0IExBQkVMID0gJ2ZpZWxkJztcbiAgICBjb25zdCBDT05UQUlORVIgPSBzZXR1cChJRCwgQ29tcG9uZW50VHlwZXMuQ09OVEFJTkVSLCBMQUJFTCwgZmFsc2UpO1xuICAgIGV4cGVjdCh2YWxpZGF0ZUNvbnRhaW5lcihDT05UQUlORVIsIG51bGwpKS50b0VxdWFsKFtdKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gYW4gZW1wdHkgYXJyYXkgd2hlbiB0aGUgY29udGFpbmVyIGhhcyBubyBjb21wb25lbnRzJywgKCkgPT4ge1xuICAgIGNvbnN0IElEID0gJ2NvbnRhaW5lcic7XG4gICAgY29uc3QgTEFCRUwgPSAnZmllbGQnO1xuICAgIGNvbnN0IENPTlRBSU5FUiA9IHNldHVwKElELCBDb21wb25lbnRUeXBlcy5DT05UQUlORVIsIExBQkVMLCBmYWxzZSk7XG4gICAgQ09OVEFJTkVSLmNvbXBvbmVudHMgPSBbXTtcbiAgICBleHBlY3QodmFsaWRhdGVDb250YWluZXIoQ09OVEFJTkVSLCBudWxsKSkudG9FcXVhbChbXSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIGFuIGVtcHR5IGFycmF5IHdoZW4gdGhlIGNvbnRhaW5lciBoYXMgb25seSB2YWxpZCBjb21wb25lbnRzJywgKCkgPT4ge1xuICAgIGNvbnN0IEVNQUlMX0lEID0gJ2VtYWlsJztcbiAgICBjb25zdCBFTUFJTF9MQUJFTCA9ICdFbWFpbCc7XG4gICAgY29uc3QgRU1BSUwgPSBzZXR1cChFTUFJTF9JRCwgQ29tcG9uZW50VHlwZXMuRU1BSUwsIEVNQUlMX0xBQkVMLCBmYWxzZSk7XG4gICAgY29uc3QgSUQgPSAnY29udGFpbmVyJztcbiAgICBjb25zdCBMQUJFTCA9ICdmaWVsZCc7XG4gICAgY29uc3QgQ09OVEFJTkVSID0gc2V0dXAoSUQsIENvbXBvbmVudFR5cGVzLkNPTlRBSU5FUiwgTEFCRUwsIGZhbHNlKTtcbiAgICBDT05UQUlORVIuY29tcG9uZW50cyA9IFtFTUFJTF07XG4gICAgY29uc3QgREFUQSA9IHtcbiAgICAgIFtJRF06IHtcbiAgICAgICAgW0VNQUlMX0lEXTogJ2FscGhhLmJyYXZvQGRpZ2l0YWwuaG9tZW9mZmljZS5nb3YudWsnXG4gICAgICB9XG4gICAgfTtcbiAgICBleHBlY3QodmFsaWRhdGVDb250YWluZXIoQ09OVEFJTkVSLCBEQVRBKSkudG9FcXVhbChbXSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIGFuIGFycmF5IGNvbnRhaW5pbmcgYW4gZXJyb3Igd2hlbiB0aGUgY29udGFpbmVyIGhhcyBhbiBpbnZhbGlkIGNvbXBvbmVudCcsICgpID0+IHtcbiAgICBjb25zdCBFTUFJTF9JRCA9ICdlbWFpbCc7XG4gICAgY29uc3QgRU1BSUxfTEFCRUwgPSAnRW1haWwnO1xuICAgIGNvbnN0IEVNQUlMID0gc2V0dXAoRU1BSUxfSUQsIENvbXBvbmVudFR5cGVzLkVNQUlMLCBFTUFJTF9MQUJFTCwgZmFsc2UpO1xuICAgIGNvbnN0IElEID0gJ2NvbnRhaW5lcic7XG4gICAgY29uc3QgTEFCRUwgPSAnZmllbGQnO1xuICAgIGNvbnN0IENPTlRBSU5FUiA9IHNldHVwKElELCBDb21wb25lbnRUeXBlcy5DT05UQUlORVIsIExBQkVMLCBmYWxzZSk7XG4gICAgQ09OVEFJTkVSLmNvbXBvbmVudHMgPSBbRU1BSUxdO1xuICAgIGNvbnN0IERBVEEgPSB7XG4gICAgICBbSURdOiB7XG4gICAgICAgIFtFTUFJTF9JRF06ICdhbHBoYS5icmF2b0BkaWdpdGFsLmhvbWVvZmZpY2UuY29tJ1xuICAgICAgfVxuICAgIH07XG4gICAgZXhwZWN0KHZhbGlkYXRlQ29udGFpbmVyKENPTlRBSU5FUiwgREFUQSkpLnRvRXF1YWwoW3tcbiAgICAgICAgaWQ6IGAke0lEfS4ke0VNQUlMX0lEfWAsXG4gICAgICAgIGVycm9yOiBgRW50ZXIgJHtFTUFJTF9MQUJFTC50b0xvd2VyQ2FzZSgpfSBpbiB0aGUgY29ycmVjdCBmb3JtYXQsIGxpa2UgamFuZS5kb2VAaG9tZW9mZmljZS5nb3YudWtgXG4gICAgfV0pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGFwcGx5IG9wdGlvbmFsIHZhbGlkYXRvcnMgd2hlbiBzcGVjaWZpZWQnLCAoKSA9PiB7XG4gICAgY29uc3QgSUQgPSAnY29udGFpbmVyJztcbiAgICBjb25zdCBEQVRBID0ge307XG4gICAgY29uc3QgQURESVRJT05BTF9WQUxJREFUSU9OID0gW1xuICAgICAgeyBmdW5jdGlvbjogJ211c3RFbnRlckF0TGVhc3RPbmUnLCBtZXNzYWdlOiAnTXVzdCBlbnRlciBhdCBsZWFzdCBvbmUnIH0sXG4gICAgXTtcbiAgICBjb25zdCBDT01QT05FTlQgPSBzZXR1cChJRCwgQ29tcG9uZW50VHlwZXMuREFURSwgbnVsbCwgZmFsc2UsIEFERElUSU9OQUxfVkFMSURBVElPTik7XG4gICAgZXhwZWN0KHZhbGlkYXRlQ29udGFpbmVyKENPTVBPTkVOVCwgREFUQSkpLnRvRXF1YWwoe1xuICAgICAgZXJyb3I6ICdNdXN0IGVudGVyIGF0IGxlYXN0IG9uZScsXG4gICAgICBpZDogSURcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gYW4gYXJyYXkgY29udGFpbmluZyBlcnJvcnMgZm9yIG5lc3RlZCBjb21wb25lbnRzIGlmIHRoZSBjb250YWluZXIgaGFzIHRoZW0gYXMgY2hpbGRyZW4nLCAoKSA9PiB7XG4gICAgY29uc3QgSUQgPSAnY29udGFpbmVyJztcbiAgICBjb25zdCBMQUJFTCA9ICdmaWVsZCc7XG4gICAgY29uc3QgQ09OVEFJTkVSID0gc2V0dXAoSUQsIENvbXBvbmVudFR5cGVzLkNPTlRBSU5FUiwgTEFCRUwsIGZhbHNlKTtcbiAgICBDT05UQUlORVIuY29tcG9uZW50cyA9IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICd0ZXN0UmFkaW8nLFxuICAgICAgICBmaWVsZElkOiAndGVzdFJhZGlvJyxcbiAgICAgICAgdHlwZTogJ3JhZGlvcycsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBvcHRpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHZhbHVlOiAneWVzJyxcbiAgICAgICAgICAgICAgbmVzdGVkOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWQ6ICduZXN0ZWRUZXh0JyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkSWQ6ICduZXN0ZWRUZXh0JyxcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgY3VzdG9tX2Vycm9yczogW3tcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ05lc3RlZCB0ZXh0IGlzIHJlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfV1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdO1xuICAgIGNvbnN0IERBVEEgPSB7XG4gICAgICBbSURdOiB7XG4gICAgICAgIHRlc3RSYWRpbzogJ3llcycgICAgICAgIFxuICAgICAgfVxuICAgIH07XG4gICAgZXhwZWN0KHZhbGlkYXRlQ29udGFpbmVyKENPTlRBSU5FUiwgREFUQSkpLnRvRXF1YWwoW3tcbiAgICAgICAgaWQ6IGAke0lEfS5uZXN0ZWRUZXh0YCxcbiAgICAgICAgZXJyb3I6ICdOZXN0ZWQgdGV4dCBpcyByZXF1aXJlZCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHVuZGVmaW5lZFxuICAgIH1dKTtcbiAgfSk7XG5cbn0pO1xuIl0sIm1hcHBpbmdzIjoiOztBQUNBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGtCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFBb0QsU0FBQUUsdUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFGcEQ7O0FBSUFHLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxNQUFNO0VBRXpDLE1BQU1DLEtBQUssR0FBR0EsQ0FBQ0MsRUFBRSxFQUFFQyxJQUFJLEVBQUVDLEtBQUssRUFBRUMsUUFBUSxFQUFFQyxvQkFBb0IsTUFDNUQ7SUFBRUosRUFBRTtJQUFFSyxPQUFPLEVBQUVMLEVBQUU7SUFBRUMsSUFBSTtJQUFFQyxLQUFLO0lBQUVDLFFBQVE7SUFBRUM7RUFBcUIsQ0FBQyxDQUNqRTtFQUVERSxFQUFFLENBQUMseURBQXlELEVBQUUsTUFBTTtJQUNsRUMsTUFBTSxDQUFDLElBQUFDLDBCQUFpQixFQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxFQUFFLENBQUM7RUFDakQsQ0FBQyxDQUFDO0VBRUZILEVBQUUsQ0FBQyxtRkFBbUYsRUFBRSxNQUFNO0lBQzVGLE1BQU1JLEVBQUUsR0FBRyxXQUFXO0lBQ3RCLE1BQU1DLEtBQUssR0FBRyxPQUFPO0lBQ3JCLE1BQU1DLFNBQVMsR0FBR2IsS0FBSyxDQUFDVyxFQUFFLEVBQUVHLHNCQUFjLENBQUNELFNBQVMsRUFBRUQsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUNuRUosTUFBTSxDQUFDLElBQUFDLDBCQUFpQixFQUFDSSxTQUFTLEVBQUUsSUFBSSxDQUFDLENB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c0JBQWMsQ0FBQ2EsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUVKLHFCQUFxQixDQUFDO0lBQ3BGZixNQUFNLENBQUMsSUFBQUMsMEJBQWlCLEVBQUNpQixTQUFTLEVBQUVQLElBQUksQ0FBQyxDQUFDLENBQUNULE9BQU8sQ0FBQztNQUNqRFcsS0FBSyxFQUFFLHlCQUF5QjtNQUNoQ3BCLEVBQUUsRUFBRVU7SUFDTixDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7RUFFRkosRUFBRSxDQUFDLHNHQUFzRyxFQUFFLE1BQU07SUFDL0csTUFBTUksRUFBRSxHQUFHLFdBQVc7SUFDdEIsTUFBTUMsS0FBSyxHQUFHLE9BQU87SUFDckIsTUFBTUMsU0FBUyxHQUFHYixLQUFLLENBQUNXLEVBQUUsRUFBRUcsc0JBQWMsQ0FBQ0QsU0FBUyxFQUFFRCxLQUFLLEVBQUUsS0FBSyxDQUFDO0lBQ25FQyxTQUFTLENBQUNFLFVBQVUsR0FBRyxDQUNyQjtNQUNFZCxFQUFFLEVBQUUsV0FBVztNQUNmSyxPQUFPLEVBQUUsV0FBVztNQUNwQkosSUFBSSxFQUFFLFFBQVE7TUFDZDBCLElBQUksRUFBRTtRQUNKQyxPQUFPLEVBQUUsQ0FDUDtVQUNFQyxLQUFLLEVBQUUsS0FBSztVQUNaQyxNQUFNLEVBQUUsQ0FDTjtZQUNFOUIsRUFBRSxFQUFFLFlBQVk7WUFDaEJLLE9BQU8sRUFBRSxZQUFZO1lBQ3JCSixJQUFJLEVBQUUsTUFBTTtZQUNaRSxRQUFRLEVBQUUsSUFBSTtZQUNkNEIsYUFBYSxFQUFFLENBQUM7Y0FDZDlCLElBQUksRUFBRSxVQUFVO2NBQ2hCdUIsT0FBTyxFQUFFO1lBQ1gsQ0FBQztVQUNILENBQUM7UUFFTCxDQUFDO01BRUw7SUFDRixDQUFDLENBQ0Y7SUFDRCxNQUFNTixJQUFJLEdBQUc7TUFDWCxDQUFDUixFQUFFLEdBQUc7UUFDSnNCLFNBQVMsRUFBRTtNQUNiO0lBQ0YsQ0FBQztJQUNEekIsTUFBTSxDQUFDLElBQUFDLDBCQUFpQixFQUFDSSxTQUFTLEVBQUVNLElBQUksQ0FBQyxDQUFDLENBQUNULE9BQU8sQ0FBQyxDQUFDO01BQ2hEVCxFQUFFLEtBQUFtQixNQUFBLENBQUtULEVBQUUsZ0JBQWE7TUFDdEJVLEtBQUssRUFBRSx5QkFBeUI7TUFDaENhLFVBQVUsRUFBRUM7SUFDaEIsQ0FBQyxDQUFDLENBQUM7RUFDTCxDQUFDLENBQUM7QUFFSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.maxMonthDays = exports.default = void 0;
|
|
7
|
-
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
8
|
-
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
9
|
-
var _isToday = _interopRequireDefault(require("dayjs/plugin/isToday"));
|
|
10
|
-
var _isLeapYear = _interopRequireDefault(require("dayjs/plugin/isLeapYear"));
|
|
11
|
-
var _utils = require("./additional/utils");
|
|
12
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
-
// Global imports
|
|
14
|
-
|
|
15
|
-
// Local imports
|
|
16
|
-
|
|
17
|
-
_dayjs.default.extend(_customParseFormat.default);
|
|
18
|
-
_dayjs.default.extend(_isToday.default);
|
|
19
|
-
_dayjs.default.extend(_isLeapYear.default);
|
|
20
|
-
const maxMonthDays = (month, year) => {
|
|
21
|
-
if (month === '02') {
|
|
22
|
-
return (0, _dayjs.default)().year(year).isLeapYear() ? 29 : 28;
|
|
23
|
-
}
|
|
24
|
-
if (['04', '06', '09', '11'].includes(month)) {
|
|
25
|
-
return 30;
|
|
26
|
-
}
|
|
27
|
-
return 31;
|
|
28
|
-
};
|
|
29
|
-
exports.maxMonthDays = maxMonthDays;
|
|
30
|
-
/**
|
|
31
|
-
* Checks if a date passed is a valid date.
|
|
32
|
-
* This will validate for 'leap years', missing components, invalid day, month or year components.
|
|
33
|
-
* EXAMPLE USE : const { message, propsInError } = validateDate('2-11-2020')
|
|
34
|
-
*
|
|
35
|
-
* Note that an empty string is not considered invalid. You should use
|
|
36
|
-
* validateRequired (Validate.required) for that sort of validation.
|
|
37
|
-
*
|
|
38
|
-
* @param {string} date date as a string
|
|
39
|
-
* @returns an object with an error message and instructions for which parts of the date are in error
|
|
40
|
-
* or undefined for both if the date is valid
|
|
41
|
-
*/
|
|
42
|
-
const validateDate = date => {
|
|
43
|
-
if (!date) {
|
|
44
|
-
return {
|
|
45
|
-
message: undefined,
|
|
46
|
-
propsInError: undefined
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
const formattedDate = (0, _utils.formatString)(date);
|
|
50
|
-
const [day, month, year] = formattedDate.split('-');
|
|
51
|
-
const intDay = parseInt(day, 10);
|
|
52
|
-
const intMonth = parseInt(month, 10);
|
|
53
|
-
const badProps = [];
|
|
54
|
-
const messages = [];
|
|
55
|
-
if (year.length === 0) {
|
|
56
|
-
badProps.push('year');
|
|
57
|
-
messages.push('Date must include a year');
|
|
58
|
-
} else if (year.length !== 4) {
|
|
59
|
-
badProps.push('year');
|
|
60
|
-
messages.push('Year must be 4 numbers');
|
|
61
|
-
}
|
|
62
|
-
if (month.length === 0) {
|
|
63
|
-
badProps.push('month');
|
|
64
|
-
messages.push('Date must include a month');
|
|
65
|
-
} else if (intMonth > 12 || intMonth < 1) {
|
|
66
|
-
badProps.push('month');
|
|
67
|
-
messages.push('Month must be between 1 and 12');
|
|
68
|
-
}
|
|
69
|
-
if (day.length === 0) {
|
|
70
|
-
badProps.push('day');
|
|
71
|
-
messages.push('Date must include a day');
|
|
72
|
-
} else {
|
|
73
|
-
const maxDays = maxMonthDays(month, year);
|
|
74
|
-
if (intDay > maxDays || intDay < 1) {
|
|
75
|
-
badProps.push('day');
|
|
76
|
-
messages.push("Day must be between 1 and ".concat(maxDays));
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
if (badProps.length > 0) {
|
|
80
|
-
// return single error or generic error if multiple problem
|
|
81
|
-
const propsInError = {};
|
|
82
|
-
if (badProps.includes('day')) {
|
|
83
|
-
propsInError.day = true;
|
|
84
|
-
}
|
|
85
|
-
if (badProps.includes('month')) {
|
|
86
|
-
propsInError.month = true;
|
|
87
|
-
}
|
|
88
|
-
if (badProps.includes('year')) {
|
|
89
|
-
propsInError.year = true;
|
|
90
|
-
}
|
|
91
|
-
return {
|
|
92
|
-
message: badProps.length === 1 ? messages[0] : 'Enter a valid date',
|
|
93
|
-
propsInError
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
if ((0, _dayjs.default)(formattedDate, _utils.DATE_FORMAT).format(_utils.DATE_FORMAT) !== formattedDate) {
|
|
97
|
-
return {
|
|
98
|
-
message: 'Enter a valid date',
|
|
99
|
-
propsInError: {
|
|
100
|
-
day: true,
|
|
101
|
-
month: true,
|
|
102
|
-
year: true
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
return {
|
|
107
|
-
message: undefined,
|
|
108
|
-
propsInError: undefined
|
|
109
|
-
};
|
|
110
|
-
};
|
|
111
|
-
var _default = exports.default = validateDate;
|
|
112
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGF5anMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jdXN0b21QYXJzZUZvcm1hdCIsIl9pc1RvZGF5IiwiX2lzTGVhcFllYXIiLCJfdXRpbHMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJkYXlqcyIsImV4dGVuZCIsImN1c3RvbVBhcnNlRm9ybWF0IiwiaXNUb2RheSIsImlzTGVhcFllYXIiLCJtYXhNb250aERheXMiLCJtb250aCIsInllYXIiLCJpbmNsdWRlcyIsImV4cG9ydHMiLCJ2YWxpZGF0ZURhdGUiLCJkYXRlIiwibWVzc2FnZSIsInVuZGVmaW5lZCIsInByb3BzSW5FcnJvciIsImZvcm1hdHRlZERhdGUiLCJmb3JtYXRTdHJpbmciLCJkYXkiLCJzcGxpdCIsImludERheSIsInBhcnNlSW50IiwiaW50TW9udGgiLCJiYWRQcm9wcyIsIm1lc3NhZ2VzIiwibGVuZ3RoIiwicHVzaCIsIm1heERheXMiLCJjb25jYXQiLCJEQVRFX0ZPUk1BVCIsImZvcm1hdCIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL1ZhbGlkYXRlL3ZhbGlkYXRlRGF0ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHbG9iYWwgaW1wb3J0c1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCBjdXN0b21QYXJzZUZvcm1hdCBmcm9tICdkYXlqcy9wbHVnaW4vY3VzdG9tUGFyc2VGb3JtYXQnO1xuaW1wb3J0IGlzVG9kYXkgZnJvbSAnZGF5anMvcGx1Z2luL2lzVG9kYXknO1xuaW1wb3J0IGlzTGVhcFllYXIgZnJvbSAnZGF5anMvcGx1Z2luL2lzTGVhcFllYXInO1xuXG4vLyBMb2NhbCBpbXBvcnRzXG5pbXBvcnQgeyBEQVRFX0ZPUk1BVCwgZm9ybWF0U3RyaW5nIH0gZnJvbSAnLi9hZGRpdGlvbmFsL3V0aWxzJztcblxuZGF5anMuZXh0ZW5kKGN1c3RvbVBhcnNlRm9ybWF0KTtcbmRheWpzLmV4dGVuZChpc1RvZGF5KTtcbmRheWpzLmV4dGVuZChpc0xlYXBZZWFyKVxuXG5jb25zdCBtYXhNb250aERheXMgPSAobW9udGgsIHllYXIpID0+IHtcbiAgaWYgKG1vbnRoID09PSAnMDInKSB7XG4gICAgcmV0dXJuIGRheWpzKCkueWVhcih5ZWFyKS5pc0xlYXBZZWFyKCkgPyAyOSA6IDI4O1xuICB9IFxuICBpZiAoWycwNCcsICcwNicsICcwOScsICcxMSddLmluY2x1ZGVzKG1vbnRoKSkge1xuICAgIHJldHVybiAzMDtcbiAgfVxuICByZXR1cm4gMzE7XG59O1xuXG5leHBvcnQge21heE1vbnRoRGF5c307XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZGF0ZSBwYXNzZWQgaXMgYSB2YWxpZCBkYXRlLlxuICogVGhpcyB3aWxsIHZhbGlkYXRlIGZvciAnbGVhcCB5ZWFycycsIG1pc3NpbmcgY29tcG9uZW50cywgaW52YWxpZCBkYXksIG1vbnRoIG9yIHllYXIgY29tcG9uZW50cy5cbiAqIEVYQU1QTEUgVVNFIDogY29uc3QgeyBtZXNzYWdlLCBwcm9wc0luRXJyb3IgfSA9IHZhbGlkYXRlRGF0ZSgnMi0xMS0yMDIwJylcbiAqIFxuICogTm90ZSB0aGF0IGFuIGVtcHR5IHN0cmluZyBpcyBub3QgY29uc2lkZXJlZCBpbnZhbGlkLiBZb3Ugc2hvdWxkIHVzZVxuICogdmFsaWRhdGVSZXF1aXJlZCAoVmFsaWRhdGUucmVxdWlyZWQpIGZvciB0aGF0IHNvcnQgb2YgdmFsaWRhdGlvbi5cbiAqIFxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGUgIGRhdGUgYXMgYSBzdHJpbmdcbiAqIEByZXR1cm5zIGFuIG9iamVjdCB3aXRoIGFuIGVycm9yIG1lc3NhZ2UgYW5kIGluc3RydWN0aW9ucyBmb3Igd2hpY2ggcGFydHMgb2YgdGhlIGRhdGUgYXJlIGluIGVycm9yXG4gKiBvciB1bmRlZmluZWQgZm9yIGJvdGggaWYgdGhlIGRhdGUgaXMgdmFsaWRcbiAqL1xuY29uc3QgdmFsaWRhdGVEYXRlID0gKGRhdGUpID0+IHtcbiAgaWYgKCFkYXRlKSB7XG4gICAgcmV0dXJuIHsgbWVzc2FnZTogdW5kZWZpbmVkLCBwcm9wc0luRXJyb3I6IHVuZGVmaW5lZCB9O1xuICB9XG5cbiAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IGZvcm1hdFN0cmluZyhkYXRlKTtcbiAgY29uc3QgW2RheSwgbW9udGgsIHllYXJdID0gZm9ybWF0dGVkRGF0ZS5zcGxpdCgnLScpO1xuICBjb25zdCBpbnREYXkgPSBwYXJzZUludChkYXksIDEwKTtcbiAgY29uc3QgaW50TW9udGggPSBwYXJzZUludChtb250aCwgMTApO1xuXG4gIGNvbnN0IGJhZFByb3BzID0gW107XG4gIGNvbnN0IG1lc3NhZ2VzID0gW107XG5cbiAgaWYgKHllYXIubGVuZ3RoID09PSAwKSB7XG4gICAgYmFkUHJvcHMucHVzaCggJ3llYXInKTtcbiAgICBtZXNzYWdlcy5wdXNoKCAnRGF0ZSBtdXN0IGluY2x1ZGUgYSB5ZWFyJylcbiAgfSBlbHNlICBpZiAoeWVhci5sZW5ndGggIT09IDQpIHtcbiAgICBiYWRQcm9wcy5wdXNoKCAneWVhcicpO1xuICAgIG1lc3NhZ2VzLnB1c2goICdZZWFyIG11c3QgYmUgNCBudW1iZXJzJyk7XG4gIH1cblxuICBpZiAobW9udGgubGVuZ3RoID09PSAwKSB7XG4gICAgYmFkUHJvcHMucHVzaCggJ21vbnRoJyk7XG4gICAgbWVzc2FnZXMucHVzaCggJ0RhdGUgbXVzdCBpbmNsdWRlIGEgbW9udGgnKTtcbiAgfSBlbHNlIGlmIChpbnRNb250aCA+IDEyIHx8IGludE1vbnRoIDwgMSkge1xuICAgIGJhZFByb3BzLnB1c2goICdtb250aCcpO1xuICAgIG1lc3NhZ2VzLnB1c2goICdNb250aCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMTInKTtcbiAgfVxuXG4gIGlmIChkYXkubGVuZ3RoID09PSAwKSB7XG4gICAgYmFkUHJvcHMucHVzaCgnZGF5Jyk7XG4gICAgbWVzc2FnZXMucHVzaCggJ0RhdGUgbXVzdCBpbmNsdWRlIGEgZGF5Jyk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgbWF4RGF5cyA9IG1heE1vbnRoRGF5cyhtb250aCwgeWVhcik7XG4gICAgaWYgKGludERheSA+IG1heERheXMgfHwgaW50RGF5IDwgMSkge1xuICAgICAgYmFkUHJvcHMucHVzaCggJ2RheScpXG4gICAgICBtZXNzYWdlcy5wdXNoKGBEYXkgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kICR7bWF4RGF5c31gKTtcbiAgICB9XG4gIH1cblxuICBpZiAoYmFkUHJvcHMubGVuZ3RoID4gMCkge1xuICAgIC8vIHJldHVybiBzaW5nbGUgZXJyb3Igb3IgZ2VuZXJpYyBlcnJvciBpZiBtdWx0aXBsZSBwcm9ibGVtXG4gICAgY29uc3QgcHJvcHNJbkVycm9yID0ge307XG4gICAgaWYgKGJhZFByb3BzLmluY2x1ZGVzKCdkYXknKSkge1xuICAgICAgcHJvcHNJbkVycm9yLmRheSA9IHRydWU7XG4gICAgfVxuICAgIGlmIChiYWRQcm9wcy5pbmNsdWRlcygnbW9udGgnKSkge1xuICAgICAgcHJvcHNJbkVycm9yLm1vbnRoID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGJhZFByb3BzLmluY2x1ZGVzKCd5ZWFyJykpIHtcbiAgICAgIHByb3BzSW5FcnJvci55ZWFyID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuKHtcbiAgICAgIG1lc3NhZ2U6IChiYWRQcm9wcy5sZW5ndGggPT09IDEpID9cbiAgICAgICAgbWVzc2FnZXNbMF0gOlxuICAgICAgICAnRW50ZXIgYSB2YWxpZCBkYXRlJyxcbiAgICAgIHByb3BzSW5FcnJvclxuICAgIH0pXG4gIH1cblxuICBpZiAoZGF5anMoZm9ybWF0dGVkRGF0ZSwgREFURV9GT1JNQVQpLmZvcm1hdChEQVRFX0ZPUk1BVCkgIT09IGZvcm1hdHRlZERhdGUpIHtcbiAgICByZXR1cm4geyBtZXNzYWdlOiAnRW50ZXIgYSB2YWxpZCBkYXRlJywgcHJvcHNJbkVycm9yOiB7IGRheTogdHJ1ZSwgbW9udGg6IHRydWUsIHllYXI6IHRydWUgfSB9O1xuICB9XG5cbiAgcmV0dXJuIHsgbWVzc2FnZTogdW5kZWZpbmVkLCBwcm9wc0luRXJyb3I6IHVuZGVmaW5lZCB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgdmFsaWRhdGVEYXRlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxrQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQStELFNBQUFELHVCQUFBTSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBUC9EOztBQU1BOztBQUdBRyxjQUFLLENBQUNDLE1BQU0sQ0FBQ0MsMEJBQWlCLENBQUM7QUFDL0JGLGNBQUssQ0FBQ0MsTUFBTSxDQUFDRSxnQkFBTyxDQUFDO0FBQ3JCSCxjQUFLLENBQUNDLE1BQU0sQ0FBQ0csbUJBQVUsQ0FBQztBQUV4QixNQUFNQyxZQUFZLEdBQUdBLENBQUNDLEtBQUssRUFBRUMsSUFBSSxLQUFLO0VBQ3BDLElBQUlELEtBQUssS0FBSyxJQUFJLEVBQUU7SUFDbEIsT0FBTyxJQUFBTixjQUFLLEVBQUMsQ0FBQyxDQUFDTyxJQUFJLENBQUNBLElBQUksQ0FBQyxDQUFDSCxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO0VBQ2xEO0VBQ0EsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDSSxRQUFRLENBQUNGLEtBQUssQ0FBQyxFQUFFO0lBQzVDLE9BQU8sRUFBRTtFQUNYO0VBQ0EsT0FBTyxFQUFFO0FBQ1gsQ0FBQztBQUFDRyxPQUFBLENBQUFKLFlBQUEsR0FBQUEsWUFBQTtBQUlGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _validateDate = _interopRequireWildcard(require("./validateDate"));
|
|
4
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
5
|
-
describe('utils', () => {
|
|
6
|
-
describe('Validate', () => {
|
|
7
|
-
describe('date', () => {
|
|
8
|
-
test('should return no error when the value is an empty string', () => {
|
|
9
|
-
expect((0, _validateDate.default)('', 'DD-MM-YYYY')).toEqual({
|
|
10
|
-
message: undefined,
|
|
11
|
-
propsInError: undefined
|
|
12
|
-
});
|
|
13
|
-
});
|
|
14
|
-
test('should return undefined if a date string is valid', () => {
|
|
15
|
-
const output = (0, _validateDate.default)('28-02-2024', 'DD-MM-YYYY');
|
|
16
|
-
expect(output).toEqual({
|
|
17
|
-
message: undefined,
|
|
18
|
-
propsInError: undefined
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
test('should return undefined to a correct leap year date', () => {
|
|
22
|
-
const output = (0, _validateDate.default)('29-02-2024', 'DD-MM-YYYY');
|
|
23
|
-
expect(output).toEqual({
|
|
24
|
-
message: undefined,
|
|
25
|
-
propsInError: undefined
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
test('should validate false if NOT a leap year & 29 Feb is entered', () => {
|
|
29
|
-
const output = (0, _validateDate.default)('29-02-2023', 'DD-MM-YYYY');
|
|
30
|
-
expect(output).toEqual({
|
|
31
|
-
message: 'Day must be between 1 and 28',
|
|
32
|
-
propsInError: {
|
|
33
|
-
day: true
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
test('should return an error if no year is given', () => {
|
|
38
|
-
const output = (0, _validateDate.default)('29-02-', 'DD-MM-YYYY');
|
|
39
|
-
expect(output).toEqual({
|
|
40
|
-
message: 'Date must include a year',
|
|
41
|
-
propsInError: {
|
|
42
|
-
year: true
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
test('should return an error if the year contains less than 4 numbers', () => {
|
|
47
|
-
const output = (0, _validateDate.default)('29-02-20', 'DD-MM-YYYY');
|
|
48
|
-
expect(output).toEqual({
|
|
49
|
-
message: 'Year must be 4 numbers',
|
|
50
|
-
propsInError: {
|
|
51
|
-
year: true
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
test('should return an error if the year contains more than 4 numbers', () => {
|
|
56
|
-
// 20202 is not a leap year,so 29th Feb not valid
|
|
57
|
-
const output = (0, _validateDate.default)('28-02-20202', 'DD-MM-YYYY');
|
|
58
|
-
expect(output).toEqual({
|
|
59
|
-
message: 'Year must be 4 numbers',
|
|
60
|
-
propsInError: {
|
|
61
|
-
year: true
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
test('should return an error if no month is given', () => {
|
|
66
|
-
const output = (0, _validateDate.default)('29--2020', 'DD-MM-YYYY');
|
|
67
|
-
expect(output).toEqual({
|
|
68
|
-
message: 'Date must include a month',
|
|
69
|
-
propsInError: {
|
|
70
|
-
month: true
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
test('should return an error if the month is not between 1 and 12', () => {
|
|
75
|
-
const output = (0, _validateDate.default)('29-14-2020', 'DD-MM-YYYY');
|
|
76
|
-
expect(output).toEqual({
|
|
77
|
-
message: 'Month must be between 1 and 12',
|
|
78
|
-
propsInError: {
|
|
79
|
-
month: true
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
test('should return an error if no day is given', () => {
|
|
84
|
-
const output = (0, _validateDate.default)('-03-2020', 'DD-MM-YYYY');
|
|
85
|
-
expect(output).toEqual({
|
|
86
|
-
message: 'Date must include a day',
|
|
87
|
-
propsInError: {
|
|
88
|
-
day: true
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
test('should return an error if the day is not between 1 and 31', () => {
|
|
93
|
-
const output = (0, _validateDate.default)('45-12-2020', 'DD-MM-YYYY');
|
|
94
|
-
expect(output).toEqual({
|
|
95
|
-
message: 'Day must be between 1 and 31',
|
|
96
|
-
propsInError: {
|
|
97
|
-
day: true
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
test('should handle multiple errors', () => {
|
|
102
|
-
const output = (0, _validateDate.default)('45-13-2020', 'DD-MM-YYYY');
|
|
103
|
-
expect(output).toEqual({
|
|
104
|
-
message: 'Enter a valid date',
|
|
105
|
-
propsInError: {
|
|
106
|
-
day: true,
|
|
107
|
-
month: true
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
const output2 = (0, _validateDate.default)('45-13-', 'DD-MM-YYYY');
|
|
111
|
-
expect(output2).toEqual({
|
|
112
|
-
message: 'Enter a valid date',
|
|
113
|
-
propsInError: {
|
|
114
|
-
day: true,
|
|
115
|
-
month: true,
|
|
116
|
-
year: true
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
test('should correctly identify the maximum numbers of days in a given month and year', () => {
|
|
121
|
-
let max = (0, _validateDate.maxMonthDays)('02', '2024');
|
|
122
|
-
expect(max).toEqual(29);
|
|
123
|
-
max = (0, _validateDate.maxMonthDays)('02', '2023');
|
|
124
|
-
expect(max).toEqual(28);
|
|
125
|
-
max = (0, _validateDate.maxMonthDays)('06', '2023');
|
|
126
|
-
expect(max).toEqual(30);
|
|
127
|
-
max = (0, _validateDate.maxMonthDays)('07', '2023');
|
|
128
|
-
expect(max).toEqual(31);
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdmFsaWRhdGVEYXRlIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiZGVmYXVsdCIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZGVzY3JpYmUiLCJ0ZXN0IiwiZXhwZWN0IiwidmFsaWRhdGVEYXRlIiwidG9FcXVhbCIsIm1lc3NhZ2UiLCJ1bmRlZmluZWQiLCJwcm9wc0luRXJyb3IiLCJvdXRwdXQiLCJkYXkiLCJ5ZWFyIiwibW9udGgiLCJvdXRwdXQyIiwibWF4IiwibWF4TW9udGhEYXlzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL1ZhbGlkYXRlL3ZhbGlkYXRlRGF0ZS50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB2YWxpZGF0ZURhdGUsIHsgbWF4TW9udGhEYXlzIH0gZnJvbSAnLi92YWxpZGF0ZURhdGUnO1xuXG5kZXNjcmliZSgndXRpbHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdWYWxpZGF0ZScsICgpID0+IHtcbiAgICBkZXNjcmliZSgnZGF0ZScsICgpID0+IHtcblxuICAgICAgdGVzdCgnc2hvdWxkIHJldHVybiBubyBlcnJvciB3aGVuIHRoZSB2YWx1ZSBpcyBhbiBlbXB0eSBzdHJpbmcnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdCh2YWxpZGF0ZURhdGUoJycsICdERC1NTS1ZWVlZJykpLnRvRXF1YWwoeyBtZXNzYWdlOiB1bmRlZmluZWQsIHByb3BzSW5FcnJvcjogdW5kZWZpbmVkIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHRlc3QoJ3Nob3VsZCByZXR1cm4gdW5kZWZpbmVkIGlmIGEgZGF0ZSBzdHJpbmcgaXMgdmFsaWQnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG91dHB1dCA9IHZhbGlkYXRlRGF0ZSgnMjgtMDItMjAyNCcsICdERC1NTS1ZWVlZJyk7XG4gICAgICAgIGV4cGVjdChvdXRwdXQpLnRvRXF1YWwoeyBtZXNzYWdlOiB1bmRlZmluZWQsIHByb3BzSW5FcnJvcjogdW5kZWZpbmVkIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHRlc3QoJ3Nob3VsZCByZXR1cm4gdW5kZWZpbmVkIHRvIGEgY29ycmVjdCBsZWFwIHllYXIgZGF0ZScsICgpID0+IHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gdmFsaWRhdGVEYXRlKCcyOS0wMi0yMDI0JywgJ0RELU1NLVlZWVknKTtcbiAgICAgICAgZXhwZWN0KG91dHB1dCkudG9FcXVhbCh7IG1lc3NhZ2U6IHVuZGVmaW5lZCwgcHJvcHNJbkVycm9yOiB1bmRlZmluZWQgfSk7XG4gICAgICB9KTtcblxuICAgICAgdGVzdCgnc2hvdWxkIHZhbGlkYXRlIGZhbHNlIGlmIE5PVCBhIGxlYXAgeWVhciAmIDI5IEZlYiBpcyBlbnRlcmVkJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBvdXRwdXQgPSB2YWxpZGF0ZURhdGUoJzI5LTAyLTIwMjMnLCAnREQtTU0tWVlZWScpO1xuICAgICAgICBleHBlY3Qob3V0cHV0KS50b0VxdWFsKHsgbWVzc2FnZTogJ0RheSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMjgnLCBwcm9wc0luRXJyb3I6IHsgZGF5OiB0cnVlIH0gfSk7XG4gICAgICB9KTtcblxuICAgICAgdGVzdCgnc2hvdWxkIHJldHVybiBhbiBlcnJvciBpZiBubyB5ZWFyIGlzIGdpdmVuJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBvdXRwdXQgPSB2YWxpZGF0ZURhdGUoJzI5LTAyLScsICdERC1NTS1ZWVlZJyk7XG4gICAgICAgIGV4cGVjdChvdXRwdXQpLnRvRXF1YWwoeyBtZXNzYWdlOiAnRGF0ZSBtdXN0IGluY2x1ZGUgYSB5ZWFyJywgcHJvcHNJbkVycm9yOiB7IHllYXI6IHRydWUgfSB9KTtcbiAgICAgIH0pO1xuICAgICAgdGVzdCgnc2hvdWxkIHJldHVybiBhbiBlcnJvciBpZiB0aGUgeWVhciBjb250YWlucyBsZXNzIHRoYW4gNCBudW1iZXJzJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBvdXRwdXQgPSB2YWxpZGF0ZURhdGUoJzI5LTAyLTIwJywgJ0RELU1NLVlZWVknKTtcbiAgICAgICAgZXhwZWN0KG91dHB1dCkudG9FcXVhbCh7IG1lc3NhZ2U6ICdZZWFyIG11c3QgYmUgNCBudW1iZXJzJywgcHJvcHNJbkVycm9yOiB7IHllYXI6IHRydWUgfSB9KTtcbiAgICAgIH0pO1xuXG4gICAgICB0ZXN0KCdzaG91bGQgcmV0dXJuIGFuIGVycm9yIGlmIHRoZSB5ZWFyIGNvbnRhaW5zIG1vcmUgdGhhbiA0IG51bWJlcnMnLCAoKSA9PiB7XG4gICAgICAgIC8vIDIwMjAyIGlzIG5vdCBhIGxlYXAgeWVhcixzbyAyOXRoIEZlYiBub3QgdmFsaWRcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gdmFsaWRhdGVEYXRlKCcyOC0wMi0yMDIwMicsICdERC1NTS1ZWVlZJyk7XG4gICAgICAgIGV4cGVjdChvdXRwdXQpLnRvRXF1YWwoeyBtZXNzYWdlOiAnWWVhciBtdXN0IGJlIDQgbnVtYmVycycsIHByb3BzSW5FcnJvcjogeyB5ZWFyOiB0cnVlIH0gfSk7XG4gICAgICB9KTtcblxuICAgICAgdGVzdCgnc2hvdWxkIHJldHVybiBhbiBlcnJvciBpZiBubyBtb250aCBpcyBnaXZlbicsICgpID0+IHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gdmFsaWRhdGVEYXRlKCcyOS0tMjAyMCcsICdERC1NTS1ZWVlZJyk7XG4gICAgICAgIGV4cGVjdChvdXRwdXQpLnRvRXF1YWwoeyBtZXNzYWdlOiAnRGF0ZSBtdXN0IGluY2x1ZGUgYSBtb250aCcsIHByb3BzSW5FcnJvcjogeyBtb250aDogdHJ1ZSB9IH0pO1xuICAgICAgfSk7XG4gICAgICB0ZXN0KCdzaG91bGQgcmV0dXJuIGFuIGVycm9yIGlmIHRoZSBtb250aCBpcyBub3QgYmV0d2VlbiAxIGFuZCAxMicsICgpID0+IHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gdmFsaWRhdGVEYXRlKCcyOS0xNC0yMDIwJywgJ0RELU1NLVlZWVknKTtcbiAgICAgICAgZXhwZWN0KG91dHB1dCkudG9FcXVhbCh7IG1lc3NhZ2U6ICdNb250aCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMTInLCBwcm9wc0luRXJyb3I6IHsgbW9udGg6IHRydWUgfSB9KTtcbiAgICAgIH0pO1xuXG4gICAgICB0ZXN0KCdzaG91bGQgcmV0dXJuIGFuIGVycm9yIGlmIG5vIGRheSBpcyBnaXZlbicsICgpID0+IHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gdmFsaWRhdGVEYXRlKCctMDMtMjAyMCcsICdERC1NTS1ZWVlZJyk7XG4gICAgICAgIGV4cGVjdChvdXRwdXQpLnRvRXF1YWwoeyBtZXNzYWdlOiAnRGF0ZSBtdXN0IGluY2x1ZGUgYSBkYXknLCBwcm9wc0luRXJyb3I6IHsgZGF5OiB0cnVlIH0gfSk7XG4gICAgICB9KTtcbiAgICAgIHRlc3QoJ3Nob3VsZCByZXR1cm4gYW4gZXJyb3IgaWYgdGhlIGRheSBpcyBub3QgYmV0d2VlbiAxIGFuZCAzMScsICgpID0+IHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gdmFsaWRhdGVEYXRlKCc0NS0xMi0yMDIwJywgJ0RELU1NLVlZWVknKTtcbiAgICAgICAgZXhwZWN0KG91dHB1dCkudG9FcXVhbCh7IG1lc3NhZ2U6ICdEYXkgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDMxJywgcHJvcHNJbkVycm9yOiB7IGRheTogdHJ1ZSB9IH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHRlc3QoJ3Nob3VsZCBoYW5kbGUgbXVsdGlwbGUgZXJyb3JzJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBvdXRwdXQgPSB2YWxpZGF0ZURhdGUoJzQ1LTEzLTIwMjAnLCAnREQtTU0tWVlZWScpO1xuICAgICAgICBleHBlY3Qob3V0cHV0KS50b0VxdWFsKHsgbWVzc2FnZTogJ0VudGVyIGEgdmFsaWQgZGF0ZScsIHByb3BzSW5FcnJvcjogeyBkYXk6IHRydWUsIG1vbnRoOiB0cnVlIH0gfSk7XG4gICAgICAgIGNvbnN0IG91dHB1dDIgPSB2YWxpZGF0ZURhdGUoJzQ1LTEzLScsICdERC1NTS1ZWVlZJyk7XG4gICAgICAgIGV4cGVjdChvdXRwdXQyKS50b0VxdWFsKHsgbWVzc2FnZTogJ0VudGVyIGEgdmFsaWQgZGF0ZScsIHByb3BzSW5FcnJvcjogeyBkYXk6IHRydWUsIG1vbnRoOiB0cnVlLCB5ZWFyOiB0cnVlIH0gfSk7XG4gICAgICB9KTtcblxuICAgICAgdGVzdCgnc2hvdWxkIGNvcnJlY3RseSBpZGVudGlmeSB0aGUgbWF4aW11bSBudW1iZXJzIG9mIGRheXMgaW4gYSBnaXZlbiBtb250aCBhbmQgeWVhcicsICgpID0+IHtcbiAgICAgICAgbGV0IG1heCA9IG1heE1vbnRoRGF5cygnMDInLCAnMjAyNCcpO1xuICAgICAgICBleHBlY3QobWF4KS50b0VxdWFsKDI5KTtcblxuICAgICAgICBtYXggPSBtYXhNb250aERheXMoJzAyJywgJzIwMjMnKTtcbiAgICAgICAgZXhwZWN0KG1heCkudG9FcXVhbCgyOCk7XG5cbiAgICAgICAgbWF4ID0gbWF4TW9udGhEYXlzKCcwNicsICcyMDIzJyk7XG4gICAgICAgIGV4cGVjdChtYXgpLnRvRXF1YWwoMzApO1xuXG4gICAgICAgIG1heCA9IG1heE1vbnRoRGF5cygnMDcnLCAnMjAyMycpO1xuICAgICAgICBleHBlY3QobWF4KS50b0VxdWFsKDMxKTtcbiAgICAgIH0pO1xuXG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBQUEsYUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQTRELFNBQUFELHdCQUFBRSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBSix1QkFBQSxZQUFBQSxDQUFBRSxDQUFBLEVBQUFD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
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
// eslint-disable-next-line no-control-regex
|
|
8
|
-
// const EMAIL_REGEX = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/i;
|
|
9
|
-
const HODS_EMAIL_REGEX = /^[a-z0-9._\-']+@(digital\.)?homeoffice.gov.uk$/i;
|
|
10
|
-
const JMSC_EMAIL_REGEX = /^[a-z0-9._\-']+@jmsc.gov.uk$/i;
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Validates an email address, ensuring it is in the correct domain and
|
|
14
|
-
* complies with the Home Office email address standards.
|
|
15
|
-
*
|
|
16
|
-
* Note that an empty string is not considered invalid. You should use
|
|
17
|
-
* validateRequired (Validate.required) for that sort of validation.
|
|
18
|
-
* @param {*} value The value to validate.
|
|
19
|
-
* @param {string} label The label to use in any error message.
|
|
20
|
-
* @param {array} customErrors The array of custom errors to use for format message.
|
|
21
|
-
* @returns An error if the email address is invalid.
|
|
22
|
-
*/
|
|
23
|
-
const validateEmail = function (value) {
|
|
24
|
-
let label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
25
|
-
let customErrors = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
26
|
-
// eslint-disable-next-line no-extra-boolean-cast
|
|
27
|
-
if (!!value) {
|
|
28
|
-
const name = label ? label.toLowerCase() : 'email address';
|
|
29
|
-
if (typeof value === 'string') {
|
|
30
|
-
if (HODS_EMAIL_REGEX.test(value) || JMSC_EMAIL_REGEX.test(value)) {
|
|
31
|
-
return undefined;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
if (Array.isArray(customErrors)) {
|
|
35
|
-
const result = customErrors.filter(error => error.type === 'format');
|
|
36
|
-
if (result && result.length > 0 && result[0].message) {
|
|
37
|
-
return result[0].message;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return "Enter ".concat(name, " in the correct format, like jane.doe@homeoffice.gov.uk");
|
|
41
|
-
}
|
|
42
|
-
return undefined;
|
|
43
|
-
};
|
|
44
|
-
var _default = exports.default = validateEmail;
|
|
45
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJIT0RTX0VNQUlMX1JFR0VYIiwiSk1TQ19FTUFJTF9SRUdFWCIsInZhbGlkYXRlRW1haWwiLCJ2YWx1ZSIsImxhYmVsIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiY3VzdG9tRXJyb3JzIiwibmFtZSIsInRvTG93ZXJDYXNlIiwidGVzdCIsIkFycmF5IiwiaXNBcnJheSIsInJlc3VsdCIsImZpbHRlciIsImVycm9yIiwidHlwZSIsIm1lc3NhZ2UiLCJjb25jYXQiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL1ZhbGlkYXRlL3ZhbGlkYXRlRW1haWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRyb2wtcmVnZXhcbi8vIGNvbnN0IEVNQUlMX1JFR0VYID0gLyg/OlthLXowLTkhIyQlJicqKy89P15fYHt8fX4tXSsoPzpcXC5bYS16MC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKSp8XCIoPzpbXFx4MDEtXFx4MDhcXHgwYlxceDBjXFx4MGUtXFx4MWZcXHgyMVxceDIzLVxceDViXFx4NWQtXFx4N2ZdfFxcXFxbXFx4MDEtXFx4MDlcXHgwYlxceDBjXFx4MGUtXFx4N2ZdKSpcIilAKD86KD86W2EtejAtOV0oPzpbYS16MC05LV0qW2EtejAtOV0pP1xcLikrW2EtejAtOV0oPzpbYS16MC05LV0qW2EtejAtOV0pP3xcXFsoPzooPzooMig1WzAtNV18WzAtNF1bMC05XSl8MVswLTldWzAtOV18WzEtOV0/WzAtOV0pKVxcLil7M30oPzooMig1WzAtNV18WzAtNF1bMC05XSl8MVswLTldWzAtOV18WzEtOV0/WzAtOV0pfFthLXowLTktXSpbYS16MC05XTooPzpbXFx4MDEtXFx4MDhcXHgwYlxceDBjXFx4MGUtXFx4MWZcXHgyMS1cXHg1YVxceDUzLVxceDdmXXxcXFxcW1xceDAxLVxceDA5XFx4MGJcXHgwY1xceDBlLVxceDdmXSkrKVxcXSkvaTtcbmNvbnN0IEhPRFNfRU1BSUxfUkVHRVggPSAvXlthLXowLTkuX1xcLSddK0AoZGlnaXRhbFxcLik/aG9tZW9mZmljZS5nb3YudWskL2k7XG5jb25zdCBKTVNDX0VNQUlMX1JFR0VYID0gL15bYS16MC05Ll9cXC0nXStAam1zYy5nb3YudWskL2k7XG5cbi8qKlxuICogVmFsaWRhdGVzIGFuIGVtYWlsIGFkZHJlc3MsIGVuc3VyaW5nIGl0IGlzIGluIHRoZSBjb3JyZWN0IGRvbWFpbiBhbmRcbiAqIGNvbXBsaWVzIHdpdGggdGhlIEhvbWUgT2ZmaWNlIGVtYWlsIGFkZHJlc3Mgc3RhbmRhcmRzLlxuICogXG4gKiBOb3RlIHRoYXQgYW4gZW1wdHkgc3RyaW5nIGlzIG5vdCBjb25zaWRlcmVkIGludmFsaWQuIFlvdSBzaG91bGQgdXNlXG4gKiB2YWxpZGF0ZVJlcXVpcmVkIChWYWxpZGF0ZS5yZXF1aXJlZCkgZm9yIHRoYXQgc29ydCBvZiB2YWxpZGF0aW9uLlxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gdmFsaWRhdGUuXG4gKiBAcGFyYW0ge3N0cmluZ30gbGFiZWwgVGhlIGxhYmVsIHRvIHVzZSBpbiBhbnkgZXJyb3IgbWVzc2FnZS5cbiAqIEBwYXJhbSB7YXJyYXl9IGN1c3RvbUVycm9ycyBUaGUgYXJyYXkgb2YgY3VzdG9tIGVycm9ycyB0byB1c2UgZm9yIGZvcm1hdCBtZXNzYWdlLlxuICogQHJldHVybnMgQW4gZXJyb3IgaWYgdGhlIGVtYWlsIGFkZHJlc3MgaXMgaW52YWxpZC5cbiAqL1xuY29uc3QgdmFsaWRhdGVFbWFpbCA9ICh2YWx1ZSwgbGFiZWwgPSAnJywgY3VzdG9tRXJyb3JzID0gW10pID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWV4dHJhLWJvb2xlYW4tY2FzdFxuICBpZiAoISF2YWx1ZSkge1xuICAgIGNvbnN0IG5hbWUgPSBsYWJlbCA/IGxhYmVsLnRvTG93ZXJDYXNlKCkgOiAnZW1haWwgYWRkcmVzcyc7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChIT0RTX0VNQUlMX1JFR0VYLnRlc3QodmFsdWUpIHx8IEpNU0NfRU1BSUxfUkVHRVgudGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY3VzdG9tRXJyb3JzKSkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gY3VzdG9tRXJyb3JzLmZpbHRlcigoZXJyb3IpID0+IGVycm9yLnR5cGUgPT09ICdmb3JtYXQnKTtcbiAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0Lmxlbmd0aCA+IDAgJiYgcmVzdWx0WzBdLm1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdFswXS5tZXNzYWdlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYEVudGVyICR7bmFtZX0gaW4gdGhlIGNvcnJlY3QgZm9ybWF0LCBsaWtlIGphbmUuZG9lQGhvbWVvZmZpY2UuZ292LnVrYDtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgdmFsaWRhdGVFbWFpbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBLE1BQU1BLGdCQUFnQixHQUFHLGlEQUFpRDtBQUMxRSxNQUFNQyxnQkFBZ0IsR0FBRywrQkFBK0I7O0FBRXhEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNQyxhQUFhLEdBQUcsU0FBQUEsQ0FBQ0MsS0FBSyxFQUFvQztFQUFBLElBQWxDQyxLQUFLLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLEVBQUU7RUFBQSxJQUFFRyxZQUFZLEdBQUFILFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLEVBQUU7RUFDekQ7RUFDQSxJQUFJLENBQUMsQ0FBQ0YsS0FBSyxFQUFFO0lBQ1gsTUFBTU0sSUFBSSxHQUFHTCxLQUFLLEdBQUdBLEtBQUssQ0FBQ00sV0FBVyxDQUFDLENBQUMsR0FBRyxlQUFlO0lBQzFELElBQUksT0FBT1AsS0FBSyxLQUFLLFFBQVEsRUFBRTtNQUM3QixJQUFJSCxnQkFBZ0IsQ0FBQ1csSUFBSSxDQUFDUixLQUFLLENBQUMsSUFBSUYsZ0JBQWdCLENBQUNVLElBQUksQ0FBQ1IsS0FBSyxDQUFDLEVBQUU7UUFDaEUsT0FBT0ksU0FBUztNQUNsQjtJQUNGO0lBQ0EsSUFBSUssS0FBSyxDQUFDQyxPQUFPLENBQUNMLFlBQVksQ0FBQyxFQUFFO01BQy9CLE1BQU1NLE1BQU0sR0FBR04sWUFBWSxDQUFDTyxNQUFNLENBQUVDLEtBQUssSUFBS0EsS0FBSyxDQUFDQyxJQUFJLEtBQUssUUFBUSxDQUFDO01BQ3RFLElBQUlILE1BQU0sSUFBSUEsTUFBTSxDQUFDUixNQUFNLEdBQUcsQ0FBQyxJQUFJUSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUNJLE9BQU8sRUFBRTtRQUNwRCxPQUFPSixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUNJLE9BQU87TUFDMUI7SUFDRjtJQUNBLGdCQUFBQyxNQUFBLENBQWdCVixJQUFJO0VBQ3RCO0VBQ0EsT0FBT0YsU0FBUztBQUNsQixDQUFDO0FBQUMsSUFBQWEsUUFBQSxHQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FFYXBCLGFBQWEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _validateEmail = _interopRequireDefault(require("./validateEmail"));
|
|
4
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
-
// Local imports
|
|
6
|
-
|
|
7
|
-
describe('utils', () => {
|
|
8
|
-
describe('Validate', () => {
|
|
9
|
-
describe('email', () => {
|
|
10
|
-
const LABEL = 'Component';
|
|
11
|
-
const ERROR = "Enter ".concat(LABEL.toLowerCase(), " in the correct format, like jane.doe@homeoffice.gov.uk");
|
|
12
|
-
|
|
13
|
-
// Valid values
|
|
14
|
-
it('should return no error when the value is a valid .gov.uk address', () => {
|
|
15
|
-
expect((0, _validateEmail.default)('alpha@homeoffice.gov.uk', LABEL)).toBeUndefined();
|
|
16
|
-
});
|
|
17
|
-
it('should return no error when the value is a valid jmsc.gov.uk address', () => {
|
|
18
|
-
expect((0, _validateEmail.default)('alpha@jmsc.gov.uk', LABEL)).toBeUndefined();
|
|
19
|
-
});
|
|
20
|
-
it('should return no error when the value is a capitalised digital.homeoffice.gov.uk address', () => {
|
|
21
|
-
expect((0, _validateEmail.default)('ALPHA.BRAVO@DIGITAL.HOMEOFFICE.GOV.UK', LABEL)).toBeUndefined();
|
|
22
|
-
});
|
|
23
|
-
it('should return no error when the value is an empty string', () => {
|
|
24
|
-
expect((0, _validateEmail.default)('', LABEL)).toBeUndefined();
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
// Invalid values
|
|
28
|
-
it('should return an error when the value is an empty object', () => {
|
|
29
|
-
expect((0, _validateEmail.default)({}, LABEL)).toEqual(ERROR);
|
|
30
|
-
});
|
|
31
|
-
it('should return an error when the value is an array', () => {
|
|
32
|
-
expect((0, _validateEmail.default)(['bob'], LABEL)).toEqual(ERROR);
|
|
33
|
-
});
|
|
34
|
-
it('should return an error when the value is numeric', () => {
|
|
35
|
-
expect((0, _validateEmail.default)(24, LABEL)).toEqual(ERROR);
|
|
36
|
-
});
|
|
37
|
-
it('should return an error when the value is in the wrong domain', () => {
|
|
38
|
-
expect((0, _validateEmail.default)('alpha@domain.com', LABEL)).toEqual(ERROR);
|
|
39
|
-
});
|
|
40
|
-
it('should return an error when the domain contains spaces', () => {
|
|
41
|
-
expect((0, _validateEmail.default)('alpha.bravo@digital homeoffice.gov.uk', LABEL)).toEqual(ERROR);
|
|
42
|
-
});
|
|
43
|
-
it('should return an error when the value has no TLD', () => {
|
|
44
|
-
expect((0, _validateEmail.default)('alpha.bravo@homeoffice', LABEL)).toEqual(ERROR);
|
|
45
|
-
});
|
|
46
|
-
it('should return an error when there is no name', () => {
|
|
47
|
-
expect((0, _validateEmail.default)('@homeoffice.gov.uk', LABEL)).toEqual(ERROR);
|
|
48
|
-
});
|
|
49
|
-
it('should return an error when there is no @ symbol', () => {
|
|
50
|
-
expect((0, _validateEmail.default)('alpha.bravo.homeoffice.gov.uk', LABEL)).toEqual(ERROR);
|
|
51
|
-
});
|
|
52
|
-
it('should return an error when the name contains spaces', () => {
|
|
53
|
-
expect((0, _validateEmail.default)('alpha bravo@digital.homeoffice.gov.uk', LABEL)).toEqual(ERROR);
|
|
54
|
-
});
|
|
55
|
-
it('should use a default label when none is specified', () => {
|
|
56
|
-
const DEFAULT_ERROR = 'Enter email address in the correct format, like jane.doe@homeoffice.gov.uk';
|
|
57
|
-
expect((0, _validateEmail.default)(['bob'], undefined)).toEqual(DEFAULT_ERROR);
|
|
58
|
-
});
|
|
59
|
-
it('should use a custom format error message when specified', () => {
|
|
60
|
-
const customErrors = [{
|
|
61
|
-
'type': 'format',
|
|
62
|
-
'message': 'Enter email address in the correct format'
|
|
63
|
-
}];
|
|
64
|
-
const CUSTOM_ERROR = 'Enter email address in the correct format';
|
|
65
|
-
expect((0, _validateEmail.default)('bob', '', customErrors)).toEqual(CUSTOM_ERROR);
|
|
66
|
-
});
|
|
67
|
-
it('should use the default format error message when custom errors is not an array', () => {
|
|
68
|
-
const DEFAULT_ERROR = 'Enter email address in the correct format, like jane.doe@homeoffice.gov.uk';
|
|
69
|
-
const customErrors = {
|
|
70
|
-
'type': 'format',
|
|
71
|
-
'message': 'Enter email address in the correct format'
|
|
72
|
-
};
|
|
73
|
-
expect((0, _validateEmail.default)('bob', '', customErrors)).toEqual(DEFAULT_ERROR);
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdmFsaWRhdGVFbWFpbCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZGVzY3JpYmUiLCJMQUJFTCIsIkVSUk9SIiwiY29uY2F0IiwidG9Mb3dlckNhc2UiLCJpdCIsImV4cGVjdCIsInZhbGlkYXRlRW1haWwiLCJ0b0JlVW5kZWZpbmVkIiwidG9FcXVhbCIsIkRFRkFVTFRfRVJST1IiLCJ1bmRlZmluZWQiLCJjdXN0b21FcnJvcnMiLCJDVVNUT01fRVJST1IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvVmFsaWRhdGUvdmFsaWRhdGVFbWFpbC50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIExvY2FsIGltcG9ydHNcbmltcG9ydCB2YWxpZGF0ZUVtYWlsIGZyb20gJy4vdmFsaWRhdGVFbWFpbCc7XG5cbmRlc2NyaWJlKCd1dGlscycsICgpID0+IHtcblxuICBkZXNjcmliZSgnVmFsaWRhdGUnLCAoKSA9PiB7XG5cbiAgICBkZXNjcmliZSgnZW1haWwnLCAoKSA9PiB7XG5cbiAgICAgIGNvbnN0IExBQkVMID0gJ0NvbXBvbmVudCc7XG4gICAgICBjb25zdCBFUlJPUiA9IGBFbnRlciAke0xBQkVMLnRvTG93ZXJDYXNlKCl9IGluIHRoZSBjb3JyZWN0IGZvcm1hdCwgbGlrZSBqYW5lLmRvZUBob21lb2ZmaWNlLmdvdi51a2A7XG5cbiAgICAgIC8vIFZhbGlkIHZhbHVlc1xuICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gbm8gZXJyb3Igd2hlbiB0aGUgdmFsdWUgaXMgYSB2YWxpZCAuZ292LnVrIGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdCh2YWxpZGF0ZUVtYWlsKCdhbHBoYUBob21lb2ZmaWNlLmdvdi51aycsIExBQkVMKSkudG9CZVVuZGVmaW5lZCgpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHJldHVybiBubyBlcnJvciB3aGVuIHRoZSB2YWx1ZSBpcyBhIHZhbGlkIGptc2MuZ292LnVrIGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdCh2YWxpZGF0ZUVtYWlsKCdhbHBoYUBqbXNjLmdvdi51aycsIExBQkVMKSkudG9CZVVuZGVmaW5lZCgpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHJldHVybiBubyBlcnJvciB3aGVuIHRoZSB2YWx1ZSBpcyBhIGNhcGl0YWxpc2VkIGRpZ2l0YWwuaG9tZW9mZmljZS5nb3YudWsgYWRkcmVzcycsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KHZhbGlkYXRlRW1haWwoJ0FMUEhBLkJSQVZPQERJR0lUQUwuSE9NRU9GRklDRS5HT1YuVUsnLCBMQUJFTCkpLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gbm8gZXJyb3Igd2hlbiB0aGUgdmFsdWUgaXMgYW4gZW1wdHkgc3RyaW5nJywgKCkgPT4ge1xuICAgICAgICBleHBlY3QodmFsaWRhdGVFbWFpbCgnJywgTEFCRUwpKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICB9KTtcblxuICAgICAgLy8gSW52YWxpZCB2YWx1ZXNcbiAgICAgIGl0KCdzaG91bGQgcmV0dXJuIGFuIGVycm9yIHdoZW4gdGhlIHZhbHVlIGlzIGFuIGVtcHR5IG9iamVjdCcsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KHZhbGlkYXRlRW1haWwoe30sIExBQkVMKSkudG9FcXVhbChFUlJPUik7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgcmV0dXJuIGFuIGVycm9yIHdoZW4gdGhlIHZhbHVlIGlzIGFuIGFycmF5JywgKCkgPT4ge1xuICAgICAgICBleHBlY3QodmFsaWRhdGVFbWFpbChbJ2JvYiddLCBMQUJFTCkpLnRvRXF1YWwoRVJST1IpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHJldHVybiBhbiBlcnJvciB3aGVuIHRoZSB2YWx1ZSBpcyBudW1lcmljJywgKCkgPT4ge1xuICAgICAgICBleHBlY3QodmFsaWRhdGVFbWFpbCgyNCwgTEFCRUwpKS50b0VxdWFsKEVSUk9SKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gYW4gZXJyb3Igd2hlbiB0aGUgdmFsdWUgaXMgaW4gdGhlIHdyb25nIGRvbWFpbicsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KHZhbGlkYXRlRW1haWwoJ2FscGhhQGRvbWFpbi5jb20nLCBMQUJFTCkpLnRvRXF1YWwoRVJST1IpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHJldHVybiBhbiBlcnJvciB3aGVuIHRoZSBkb21haW4gY29udGFpbnMgc3BhY2VzJywgKCkgPT4ge1xuICAgICAgICBleHBlY3QodmFsaWRhdGVFbWFpbCgnYWxwaGEuYnJhdm9AZGlnaXRhbCBob21lb2ZmaWNlLmdvdi51aycsIExBQkVMKSkudG9FcXVhbChFUlJPUik7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgcmV0dXJuIGFuIGVycm9yIHdoZW4gdGhlIHZhbHVlIGhhcyBubyBUTEQnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdCh2YWxpZGF0ZUVtYWlsKCdhbHBoYS5icmF2b0Bob21lb2ZmaWNlJywgTEFCRUwpKS50b0VxdWFsKEVSUk9SKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gYW4gZXJyb3Igd2hlbiB0aGVyZSBpcyBubyBuYW1lJywgKCkgPT4ge1xuICAgICAgICBleHBlY3QodmFsaWRhdGVFbWFpbCgnQGhvbWVvZmZpY2UuZ292LnVrJywgTEFCRUwpKS50b0VxdWFsKEVSUk9SKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gYW4gZXJyb3Igd2hlbiB0aGVyZSBpcyBubyBAIHN5bWJvbCcsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KHZhbGlkYXRlRW1haWwoJ2FscGhhLmJyYXZvLmhvbWVvZmZpY2UuZ292LnVrJywgTEFCRUwpKS50b0VxdWFsKEVSUk9SKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gYW4gZXJyb3Igd2hlbiB0aGUgbmFtZSBjb250YWlucyBzcGFjZXMnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdCh2YWxpZGF0ZUVtYWlsKCdhbHBoYSBicmF2b0BkaWdpdGFsLmhvbWVvZmZpY2UuZ292LnVrJywgTEFCRUwpKS50b0VxdWFsKEVSUk9SKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCB1c2UgYSBkZWZhdWx0IGxhYmVsIHdoZW4gbm9uZSBpcyBzcGVjaWZpZWQnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IERFRkFVTFRfRVJST1IgPSAnRW50ZXIgZW1haWwgYWRkcmVzcyBpbiB0aGUgY29ycmVjdCBmb3JtYXQsIGxpa2UgamFuZS5kb2VAaG9tZW9mZmljZS5nb3YudWsnXG4gICAgICAgIGV4cGVjdCh2YWxpZGF0ZUVtYWlsKFsnYm9iJ10sIHVuZGVmaW5lZCkpLnRvRXF1YWwoREVGQVVMVF9FUlJPUik7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgdXNlIGEgY3VzdG9tIGZvcm1hdCBlcnJvciBtZXNzYWdlIHdoZW4gc3BlY2lmaWVkJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBjdXN0b21FcnJvcnMgPSBbeyAndHlwZSc6ICdmb3JtYXQnLCAnbWVzc2FnZSc6ICdFbnRlciBlbWFpbCBhZGRyZXNzIGluIHRoZSBjb3JyZWN0IGZvcm1hdCcgfV07XG4gICAgICAgIGNvbnN0IENVU1RPTV9FUlJPUiA9ICdFbnRlciBlbWFpbCBhZGRyZXNzIGluIHRoZSBjb3JyZWN0IGZvcm1hdCc7XG4gICAgICAgIGV4cGVjdCh2YWxpZGF0ZUVtYWlsKCdib2InLCAnJywgY3VzdG9tRXJyb3JzKSkudG9FcXVhbChDVVNUT01fRVJST1IpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHVzZSB0aGUgZGVmYXVsdCBmb3JtYXQgZXJyb3IgbWVzc2FnZSB3aGVuIGN1c3RvbSBlcnJvcnMgaXMgbm90IGFuIGFycmF5JywgKCkgPT4ge1xuICAgICAgICBjb25zdCBERUZBVUxUX0VSUk9SID0gJ0VudGVyIGVtYWlsIGFkZHJlc3MgaW4gdGhlIGNvcnJlY3QgZm9ybWF0LCBsaWtlIGphbmUuZG9lQGhvbWVvZmZpY2UuZ292LnVrJ1xuICAgICAgICBjb25zdCBjdXN0b21FcnJvcnMgPSB7ICd0eXBlJzogJ2Zvcm1hdCcsICdtZXNzYWdlJzogJ0VudGVyIGVtYWlsIGFkZHJlc3MgaW4gdGhlIGNvcnJlY3QgZm9ybWF0JyB9O1xuICAgICAgICBleHBlY3QodmFsaWRhdGVFbWFpbCgnYm9iJywgJycsIGN1c3RvbUVycm9ycykpLnRvRXF1YWwoREVGQVVMVF9FUlJPUik7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICB9KTtcblxufSk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQ0EsSUFBQUEsY0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQTRDLFNBQUFELHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRDVDOztBQUdBRyxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU07RUFFdEJBLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTTtJQUV6QkEsUUFBUSxDQUFDLE9BQU8sRUFBRSxNQUFNO01BRXRCLE1BQU1DLEtBQUssR0FBRyxXQUFXO01BQ3pCLE1BQU1DLEtBQUssWUFBQUMsTUFBQSxDQUFZRixLQUFLLENBQUNHLFdBQVcsQ0FBQyxDQUFDLDREQUF5RDs7TUFFbkc7TUFDQUMsRUFBRSxDQUFDLGtFQUFrRSxFQUFFLE1BQU07UUFDM0VDLE1BQU0sQ0FBQyxJQUFBQyxzQkFBYSxFQUFDLHlCQUF5QixFQUFFTixLQUFLLENBQUMsQ0FBQyxDQUFDTyxhQUFhLENBQUMsQ0FBQztNQUN6RSxDQUFDLENBQUM7TUFDRkgsRUFBRSxDQUFDLHNFQUFzRSxFQUFFLE1BQU07UUFDL0VDLE1BQU0sQ0FBQyxJQUFBQyxzQkFBYSxFQUFDLG1CQUFtQixFQUFFTixLQUFLLENBQUMsQ0FBQyxDQUFDTyxh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
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.DEFAULT_ERROR = void 0;
|
|
7
|
-
const DEFAULT_ERROR = exports.DEFAULT_ERROR = 'Invalid files must be deleted';
|
|
8
|
-
const validateMultifile = (value, customErrors) => {
|
|
9
|
-
if (!value) {
|
|
10
|
-
return undefined;
|
|
11
|
-
}
|
|
12
|
-
let inError = false;
|
|
13
|
-
value.every(entry => {
|
|
14
|
-
inError = entry.error;
|
|
15
|
-
return !inError;
|
|
16
|
-
});
|
|
17
|
-
if (inError) {
|
|
18
|
-
if (Array.isArray(customErrors)) {
|
|
19
|
-
const result = customErrors.filter(error => error.type === 'invalidFile');
|
|
20
|
-
if (result && result.length > 0 && result[0].message) {
|
|
21
|
-
return result[0].message;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return DEFAULT_ERROR;
|
|
25
|
-
}
|
|
26
|
-
return undefined;
|
|
27
|
-
};
|
|
28
|
-
var _default = exports.default = validateMultifile;
|
|
29
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJERUZBVUxUX0VSUk9SIiwiZXhwb3J0cyIsInZhbGlkYXRlTXVsdGlmaWxlIiwidmFsdWUiLCJjdXN0b21FcnJvcnMiLCJ1bmRlZmluZWQiLCJpbkVycm9yIiwiZXZlcnkiLCJlbnRyeSIsImVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwicmVzdWx0IiwiZmlsdGVyIiwidHlwZSIsImxlbmd0aCIsIm1lc3NhZ2UiLCJfZGVmYXVsdCIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvVmFsaWRhdGUvdmFsaWRhdGVNdWx0aWZpbGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERFRkFVTFRfRVJST1IgPSAnSW52YWxpZCBmaWxlcyBtdXN0IGJlIGRlbGV0ZWQnO1xuXG5jb25zdCB2YWxpZGF0ZU11bHRpZmlsZSA9ICh2YWx1ZSwgY3VzdG9tRXJyb3JzKSA9PiB7XG4gIGlmICghdmFsdWUpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGxldCBpbkVycm9yID0gZmFsc2U7XG4gIHZhbHVlLmV2ZXJ5KChlbnRyeSkgPT4ge1xuICAgIGluRXJyb3IgPSBlbnRyeS5lcnJvcjtcbiAgICByZXR1cm4gIWluRXJyb3I7XG4gIH0pO1xuICBpZiAoaW5FcnJvcikge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGN1c3RvbUVycm9ycykpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGN1c3RvbUVycm9ycy5maWx0ZXIoKGVycm9yKSA9PiBlcnJvci50eXBlID09PSAnaW52YWxpZEZpbGUnKTtcbiAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0Lmxlbmd0aCA+IDAgJiYgcmVzdWx0WzBdLm1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdFswXS5tZXNzYWdlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gREVGQVVMVF9FUlJPUjtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgdmFsaWRhdGVNdWx0aWZpbGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFPLE1BQU1BLGFBQWEsR0FBQUMsT0FBQSxDQUFBRCxhQUFBLEdBQUcsK0JBQStCO0FBRTVELE1BQU1FLGlCQUFpQixHQUFHQSxDQUFDQyxLQUFLLEVBQUVDLFlBQVksS0FBSztFQUNqRCxJQUFJLENBQUNELEtBQUssRUFBRTtJQUNWLE9BQU9FLFNBQVM7RUFDbEI7RUFDQSxJQUFJQyxPQUFPLEdBQUcsS0FBSztFQUNuQkgsS0FBSyxDQUFDSSxLQUFLLENBQUVDLEtBQUssSUFBSztJQUNyQkYsT0FBTyxHQUFHRSxLQUFLLENBQUNDLEtBQUs7SUFDckIsT0FBTyxDQUFDSCxPQUFPO0VBQ2pCLENBQUMsQ0FBQztFQUNGLElBQUlBLE9BQU8sRUFBRTtJQUNYLElBQUlJLEtBQUssQ0FBQ0MsT0FBTyxDQUFDUCxZQUFZLENBQUMsRUFBRTtNQUMvQixNQUFNUSxNQUFNLEdBQUdSLFlBQVksQ0FBQ1MsTUFBTSxDQUFFSixLQUFLLElBQUtBLEtBQUssQ0FBQ0ssSUFBSSxLQUFLLGFBQWEsQ0FBQztNQUMzRSxJQUFJRixNQUFNLElBQUlBLE1BQU0sQ0FBQ0csTUFBTSxHQUFHLENBQUMsSUFBSUgsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDSSxPQUFPLEVBQUU7UUFDcEQsT0FBT0osTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDSSxPQUFPO01BQzFCO0lBQ0Y7SUFDQSxPQUFPaEIsYUFBYTtFQUN0QjtFQUNBLE9BQU9LLFNBQVM7QUFDbEIsQ0FBQztBQUFDLElBQUFZLFFBQUEsR0FBQWhCLE9BQUEsQ0FBQWlCLE9BQUEsR0FFYWhCLGlCQUFpQiIsImlnbm9yZUxpc3QiOltdfQ==
|