@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +22 -16
  2. package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +143 -105
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +942 -463
  5. package/dist/components/CollectionPage/CollectionPage.js +63 -73
  6. package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
  9. package/dist/components/CollectionSummary/CollectionSummary.js +131 -102
  10. package/dist/components/CollectionSummary/CollectionSummary.scss +5 -0
  11. package/dist/components/CollectionSummary/CollectionSummary.test.js +233 -173
  12. package/dist/components/CollectionSummary/Confirmation.js +12 -14
  13. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  14. package/dist/components/CollectionSummary/RenderListView.js +57 -48
  15. package/dist/components/CollectionSummary/RenderListView.scss +1 -1
  16. package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
  17. package/dist/components/CollectionSummary/SummaryCard.js +156 -112
  18. package/dist/components/CollectionSummary/SummaryCard.scss +6 -0
  19. package/dist/components/CollectionSummary/SummaryCard.test.js +1023 -934
  20. package/dist/components/CollectionSummary/SummaryCardDetails.js +138 -94
  21. package/dist/components/CollectionSummary/SummaryCardDetails.scss +15 -4
  22. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
  23. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
  24. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
  25. package/dist/components/FormComponent/Collection.js +108 -74
  26. package/dist/components/FormComponent/Collection.test.js +1081 -909
  27. package/dist/components/FormComponent/Container.js +39 -40
  28. package/dist/components/FormComponent/Container.test.js +412 -312
  29. package/dist/components/FormComponent/FormComponent.js +73 -70
  30. package/dist/components/FormComponent/FormComponent.test.js +414 -353
  31. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  32. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  33. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  34. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  35. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  36. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  37. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  38. package/dist/components/FormComponent/helpers/index.js +4 -4
  39. package/dist/components/FormPage/FormPage.js +93 -66
  40. package/dist/components/FormPage/FormPage.test.js +163 -127
  41. package/dist/components/FormRenderer/FormRenderer.js +180 -143
  42. package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
  43. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  44. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  45. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  46. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  47. package/dist/components/FormRenderer/handlers/index.js +1 -1
  48. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  49. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  50. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  51. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  52. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  53. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
  54. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +39 -22
  55. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +74 -16
  56. package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
  57. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  58. package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
  59. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  60. package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
  61. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  62. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  63. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  64. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
  65. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  66. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  67. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
  68. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
  69. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
  70. package/dist/components/FormRenderer/helpers/index.js +1 -1
  71. package/dist/components/FormRenderer/onCYAAction.js +51 -59
  72. package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
  73. package/dist/components/FormRenderer/onPageAction.js +44 -44
  74. package/dist/components/FormRenderer/onPageAction.test.js +208 -223
  75. package/dist/components/FormRenderer/onTaskAction.js +13 -9
  76. package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
  77. package/dist/components/PageActions/ActionButton.js +15 -12
  78. package/dist/components/PageActions/ActionButton.test.js +78 -56
  79. package/dist/components/PageActions/PageActions.js +10 -10
  80. package/dist/components/PageActions/PageActions.test.js +115 -86
  81. package/dist/components/SummaryList/GroupAction.js +17 -9
  82. package/dist/components/SummaryList/GroupAction.test.js +33 -37
  83. package/dist/components/SummaryList/RowAction.js +16 -11
  84. package/dist/components/SummaryList/RowAction.test.js +33 -37
  85. package/dist/components/SummaryList/SummaryList.js +34 -21
  86. package/dist/components/SummaryList/SummaryList.scss +15 -0
  87. package/dist/components/SummaryList/SummaryList.test.js +226 -143
  88. package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
  89. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
  90. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
  91. package/dist/components/SummaryList/SummaryListRow.js +4 -6
  92. package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
  93. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
  94. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  95. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
  96. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  97. package/dist/components/SummaryList/helpers/index.js +1 -1
  98. package/dist/components/TaskList/Task.js +29 -19
  99. package/dist/components/TaskList/Task.test.js +76 -83
  100. package/dist/components/TaskList/TaskList.js +92 -49
  101. package/dist/components/TaskList/TaskList.scss +24 -0
  102. package/dist/components/TaskList/TaskList.test.js +255 -113
  103. package/dist/components/TaskList/TaskState.js +5 -7
  104. package/dist/components/TaskList/TaskState.test.js +45 -52
  105. package/dist/components/index.js +7 -7
  106. package/dist/context/HooksContext/HooksContext.js +80 -57
  107. package/dist/context/HooksContext/HooksContext.test.js +35 -26
  108. package/dist/context/HooksContext/index.js +4 -3
  109. package/dist/context/ValidationContext/ValidationContext.js +94 -43
  110. package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
  111. package/dist/context/ValidationContext/index.js +4 -3
  112. package/dist/context/index.js +2 -2
  113. package/dist/hooks/index.js +10 -9
  114. package/dist/hooks/useAxios.js +40 -14
  115. package/dist/hooks/useGetRequest.js +97 -61
  116. package/dist/hooks/useHooks.js +3 -1
  117. package/dist/hooks/useRefData.js +39 -26
  118. package/dist/hooks/useValidation.js +3 -1
  119. package/dist/index.js +14 -13
  120. package/dist/json/actions.json +17 -0
  121. package/dist/json/actionsNoSave.json +17 -0
  122. package/dist/models/CollectionLabels.js +1 -1
  123. package/dist/models/ComponentTypes.js +25 -25
  124. package/dist/models/EventTypes.js +4 -4
  125. package/dist/models/FormPages.js +4 -4
  126. package/dist/models/FormTypes.js +8 -8
  127. package/dist/models/HubFormats.js +3 -3
  128. package/dist/models/PageAction.js +38 -44
  129. package/dist/models/TaskStates.js +28 -29
  130. package/dist/models/index.js +9 -9
  131. package/dist/setupTests.js +31 -30
  132. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  133. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
  134. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
  136. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
  138. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  139. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  140. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
  142. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +113 -89
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +320 -162
  146. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
  148. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
  150. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
  151. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
  152. package/dist/utils/CheckYourAnswers/index.js +1 -1
  153. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  155. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  157. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
  159. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
  161. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  163. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  165. package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
  166. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  167. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  168. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
  169. package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
  170. package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
  171. package/dist/utils/CollectionPage/index.js +1 -1
  172. package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
  173. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
  174. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  176. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
  177. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  178. package/dist/utils/Component/addShowWhen.js +8 -4
  179. package/dist/utils/Component/addShowWhen.test.js +37 -37
  180. package/dist/utils/Component/applyToComponentTree.js +18 -18
  181. package/dist/utils/Component/applyToComponentTree.test.js +32 -27
  182. package/dist/utils/Component/cleanAttributes.js +13 -10
  183. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  184. package/dist/utils/Component/elevateNestedComponents.js +7 -6
  185. package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
  186. package/dist/utils/Component/getComponent.js +94 -88
  187. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
  188. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
  189. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
  190. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
  191. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
  192. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
  193. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
  194. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
  195. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
  196. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
  197. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
  198. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
  199. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  200. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
  201. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
  202. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
  203. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
  204. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
  205. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
  206. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
  207. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  208. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
  209. package/dist/utils/Component/getDefaultValue.js +8 -6
  210. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  211. package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
  212. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  213. package/dist/utils/Component/index.js +1 -1
  214. package/dist/utils/Component/isEditable.js +4 -2
  215. package/dist/utils/Component/isEditable.test.js +15 -14
  216. package/dist/utils/Component/optionIsSelected.js +6 -1
  217. package/dist/utils/Component/optionIsSelected.test.js +35 -9
  218. package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
  219. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  220. package/dist/utils/Component/showComponent.js +1 -1
  221. package/dist/utils/Component/showComponent.test.js +28 -28
  222. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  223. package/dist/utils/Condition/index.js +1 -1
  224. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  225. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  226. package/dist/utils/Condition/meetsCondition.js +25 -16
  227. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  228. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  229. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  230. package/dist/utils/Condition/setupConditions.js +18 -13
  231. package/dist/utils/Condition/setupConditions.test.js +7 -7
  232. package/dist/utils/Container/getEditableComponents.js +5 -3
  233. package/dist/utils/Container/getEditableComponents.test.js +45 -43
  234. package/dist/utils/Container/index.js +1 -1
  235. package/dist/utils/Container/setupNesting.js +20 -16
  236. package/dist/utils/Container/setupNesting.test.js +30 -27
  237. package/dist/utils/Container/showContainer.js +7 -3
  238. package/dist/utils/Container/showContainer.test.js +30 -30
  239. package/dist/utils/Data/applyFormula.js +48 -38
  240. package/dist/utils/Data/applyFormula.test.js +20 -20
  241. package/dist/utils/Data/deleteValues.js +22 -0
  242. package/dist/utils/Data/deleteValues.test.js +57 -0
  243. package/dist/utils/Data/getAutocompleteSource.js +26 -18
  244. package/dist/utils/Data/getAutocompleteSource.test.js +100 -85
  245. package/dist/utils/Data/getDataPath.js +28 -18
  246. package/dist/utils/Data/getDataPath.test.js +12 -12
  247. package/dist/utils/Data/getOptions.js +31 -24
  248. package/dist/utils/Data/getOptions.test.js +53 -35
  249. package/dist/utils/Data/getSourceData.js +19 -6
  250. package/dist/utils/Data/getSourceData.test.js +80 -84
  251. package/dist/utils/Data/index.js +3 -1
  252. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  253. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  254. package/dist/utils/Data/refDataToOptions.js +13 -10
  255. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  256. package/dist/utils/Data/setDataItem.js +8 -7
  257. package/dist/utils/Data/setDataItem.test.js +37 -37
  258. package/dist/utils/Data/setupFormData.js +21 -13
  259. package/dist/utils/Data/setupFormData.test.js +50 -51
  260. package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
  261. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  262. package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
  263. package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
  264. package/dist/utils/FormPage/getConditionalText.js +3 -3
  265. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  266. package/dist/utils/FormPage/getFormPage.js +16 -15
  267. package/dist/utils/FormPage/getFormPage.test.js +46 -47
  268. package/dist/utils/FormPage/getFormPages.js +12 -7
  269. package/dist/utils/FormPage/getFormPages.test.js +23 -20
  270. package/dist/utils/FormPage/getPageActions.js +15 -9
  271. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  272. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  273. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  274. package/dist/utils/FormPage/index.js +4 -2
  275. package/dist/utils/FormPage/showFormPage.js +7 -3
  276. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  277. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  278. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  279. package/dist/utils/FormPage/useComponent.js +28 -21
  280. package/dist/utils/FormPage/useComponent.test.js +79 -77
  281. package/dist/utils/Format/formatData.js +1 -1
  282. package/dist/utils/Format/formatData.test.js +18 -18
  283. package/dist/utils/Format/formatDataForComponent.js +6 -5
  284. package/dist/utils/Format/formatDataForComponent.test.js +78 -50
  285. package/dist/utils/Format/formatDataForForm.js +8 -6
  286. package/dist/utils/Format/formatDataForForm.test.js +16 -13
  287. package/dist/utils/Format/formatDataForPage.js +5 -4
  288. package/dist/utils/Format/formatDataForPage.test.js +25 -20
  289. package/dist/utils/Format/index.js +1 -1
  290. package/dist/utils/Hub/getFormHub.js +1 -1
  291. package/dist/utils/Hub/getFormHub.test.js +31 -28
  292. package/dist/utils/Hub/index.js +1 -1
  293. package/dist/utils/Meta/constants.js +2 -2
  294. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  295. package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
  296. package/dist/utils/Meta/documents/index.js +1 -1
  297. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
  298. package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
  299. package/dist/utils/Meta/index.js +1 -1
  300. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  301. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  302. package/dist/utils/Operate/deleteValueInFormData.js +26 -0
  303. package/dist/utils/Operate/deleteValueInFormData.test.js +60 -0
  304. package/dist/utils/Operate/getFirstOf.js +5 -5
  305. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  306. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  307. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
  308. package/dist/utils/Operate/getLength.js +50 -0
  309. package/dist/utils/Operate/getLength.test.js +89 -0
  310. package/dist/utils/Operate/index.js +1 -1
  311. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  312. package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
  313. package/dist/utils/Operate/runPageOperations.js +11 -7
  314. package/dist/utils/Operate/runPageOperations.test.js +36 -35
  315. package/dist/utils/Operate/setValueInFormData.js +2 -2
  316. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  317. package/dist/utils/Operate/shouldRun.js +6 -6
  318. package/dist/utils/Operate/shouldRun.test.js +27 -21
  319. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  320. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  321. package/dist/utils/Validate/additional/index.js +10 -7
  322. package/dist/utils/Validate/additional/index.test.js +78 -12
  323. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  325. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  326. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  327. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
  328. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
  329. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  330. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  331. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  333. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  334. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  335. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  336. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  337. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  338. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  339. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  340. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  341. package/dist/utils/Validate/additional/mustBeOneOf.js +21 -0
  342. package/dist/utils/Validate/additional/mustBeOneOf.test.js +36 -0
  343. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  344. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  345. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
  346. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
  347. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  348. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
  349. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  350. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  351. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  352. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  353. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  354. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
  355. package/dist/utils/Validate/additional/utils.js +22 -9
  356. package/dist/utils/Validate/index.js +1 -1
  357. package/dist/utils/Validate/validateCollection.js +25 -19
  358. package/dist/utils/Validate/validateCollection.test.js +66 -74
  359. package/dist/utils/Validate/validateComponent.js +21 -18
  360. package/dist/utils/Validate/validateComponent.test.js +176 -166
  361. package/dist/utils/Validate/validateContainer.js +20 -15
  362. package/dist/utils/Validate/validateContainer.test.js +52 -58
  363. package/dist/utils/Validate/validateDate.js +21 -15
  364. package/dist/utils/Validate/validateDate.test.js +32 -31
  365. package/dist/utils/Validate/validateEmail.js +8 -6
  366. package/dist/utils/Validate/validateEmail.test.js +25 -25
  367. package/dist/utils/Validate/validateMultifile.js +7 -5
  368. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  369. package/dist/utils/Validate/validatePage.js +22 -19
  370. package/dist/utils/Validate/validatePage.test.js +203 -215
  371. package/dist/utils/Validate/validateRegex.js +5 -3
  372. package/dist/utils/Validate/validateRegex.test.js +14 -14
  373. package/dist/utils/Validate/validateRequired.js +6 -4
  374. package/dist/utils/Validate/validateRequired.test.js +18 -18
  375. package/dist/utils/Validate/validateTextArea.js +6 -4
  376. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  377. package/dist/utils/Validate/validateTime.js +26 -11
  378. package/dist/utils/Validate/validateTime.test.js +62 -16
  379. package/dist/utils/index.js +9 -7
  380. package/package.json +2 -2
  381. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
  382. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
@@ -2,50 +2,50 @@
2
2
 
3
3
  var _mustBeGreaterThan = _interopRequireDefault(require("./mustBeGreaterThan"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils', () => {
6
- describe('Validate', () => {
7
- describe('additional', () => {
8
- describe('mustBeGreaterThan', () => {
9
- test('should return true given a number greater than 10', () => {
10
- const result = (0, _mustBeGreaterThan.default)('11', {
5
+ describe('utils', function () {
6
+ describe('Validate', function () {
7
+ describe('additional', function () {
8
+ describe('mustBeGreaterThan', function () {
9
+ test('should return true given a number greater than 10', function () {
10
+ var result = (0, _mustBeGreaterThan.default)('11', {
11
11
  value: 10
12
12
  });
13
13
  expect(result).toEqual(true);
14
14
  });
15
- test('should return false if provided value less than or equal to 10', () => {
16
- const result1 = (0, _mustBeGreaterThan.default)('9', {
15
+ test('should return false if provided value less than or equal to 10', function () {
16
+ var result1 = (0, _mustBeGreaterThan.default)('9', {
17
17
  value: 10
18
18
  });
19
19
  expect(result1).toBeFalsy();
20
- const result2 = (0, _mustBeGreaterThan.default)('10', {
20
+ var result2 = (0, _mustBeGreaterThan.default)('10', {
21
21
  value: 10
22
22
  });
23
23
  expect(result2).toBeFalsy();
24
24
  });
25
- test('should correctly handle numbers with commas in', () => {
26
- const result1 = (0, _mustBeGreaterThan.default)('999,999,999.99', {
25
+ test('should correctly handle numbers with commas in', function () {
26
+ var result1 = (0, _mustBeGreaterThan.default)('999,999,999.99', {
27
27
  value: 1000000000
28
28
  });
29
29
  expect(result1).toEqual(false);
30
- const result2 = (0, _mustBeGreaterThan.default)('1,000,000,123', {
30
+ var result2 = (0, _mustBeGreaterThan.default)('1,000,000,123', {
31
31
  value: 1000000000
32
32
  });
33
33
  expect(result2).toEqual(true);
34
34
  });
35
- test('should return true when string is undefined', () => {
36
- const result = (0, _mustBeGreaterThan.default)(undefined, {
35
+ test('should return true when string is undefined', function () {
36
+ var result = (0, _mustBeGreaterThan.default)(undefined, {
37
37
  value: 10
38
38
  });
39
39
  expect(result).toEqual(true);
40
40
  });
41
- test('should return true when string is empty', () => {
42
- const result = (0, _mustBeGreaterThan.default)('', {
41
+ test('should return true when string is empty', function () {
42
+ var result = (0, _mustBeGreaterThan.default)('', {
43
43
  value: 10
44
44
  });
45
45
  expect(result).toEqual(true);
46
46
  });
47
- test('should return true when string is null', () => {
48
- const result = (0, _mustBeGreaterThan.default)(null, {
47
+ test('should return true when string is null', function () {
48
+ var result = (0, _mustBeGreaterThan.default)(null, {
49
49
  value: 10
50
50
  });
51
51
  expect(result).toEqual(true);
@@ -22,8 +22,8 @@ _dayjs.default.extend(_isToday.default);
22
22
  * @param {boolean} config.todayAllowed - true if today should be a valid date
23
23
  * @returns true if date is after current date
24
24
  */
25
- const mustBeInTheFuture = (date, config) => {
26
- const afterToday = (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isAfter((0, _dayjs.default)());
25
+ var mustBeInTheFuture = function mustBeInTheFuture(date, config) {
26
+ var afterToday = (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isAfter((0, _dayjs.default)());
27
27
  if (afterToday) {
28
28
  return true;
29
29
  }
@@ -3,24 +3,24 @@
3
3
  var _dayjs = _interopRequireDefault(require("dayjs"));
4
4
  var _mustBeInTheFuture = _interopRequireDefault(require("./mustBeInTheFuture"));
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
- describe('utils', () => {
7
- describe('Validate', () => {
8
- describe('additional', () => {
9
- describe('mustBeInTheFuture', () => {
10
- test('should return false given a date in the past', () => {
11
- const result = (0, _mustBeInTheFuture.default)((0, _dayjs.default)().subtract(1, 'day').format('DD-MM-YYYY'));
6
+ describe('utils', function () {
7
+ describe('Validate', function () {
8
+ describe('additional', function () {
9
+ describe('mustBeInTheFuture', function () {
10
+ test('should return false given a date in the past', function () {
11
+ var result = (0, _mustBeInTheFuture.default)((0, _dayjs.default)().subtract(1, 'day').format('DD-MM-YYYY'));
12
12
  expect(result).toEqual(false);
13
13
  });
14
- test('should return true given a date in the future', () => {
15
- const result = (0, _mustBeInTheFuture.default)((0, _dayjs.default)().add(1, 'day').format('DD-MM-YYYY'));
14
+ test('should return true given a date in the future', function () {
15
+ var result = (0, _mustBeInTheFuture.default)((0, _dayjs.default)().add(1, 'day').format('DD-MM-YYYY'));
16
16
  expect(result).toEqual(true);
17
17
  });
18
- test('should return false given todays date', () => {
19
- const result = (0, _mustBeInTheFuture.default)((0, _dayjs.default)().format('DD-MM-YYYY'));
18
+ test('should return false given todays date', function () {
19
+ var result = (0, _mustBeInTheFuture.default)((0, _dayjs.default)().format('DD-MM-YYYY'));
20
20
  expect(result).toEqual(false);
21
21
  });
22
- test('should return true given todays date if todayAllowed is true', () => {
23
- const result = (0, _mustBeInTheFuture.default)((0, _dayjs.default)().format('DD-MM-YYYY'), {
22
+ test('should return true given todays date if todayAllowed is true', function () {
23
+ var result = (0, _mustBeInTheFuture.default)((0, _dayjs.default)().format('DD-MM-YYYY'), {
24
24
  todayAllowed: true
25
25
  });
26
26
  expect(result).toEqual(true);
@@ -23,9 +23,9 @@ _dayjs.default.extend(_isToday.default);
23
23
  * @param {boolean} config.todayAllowed - true if today should be a valid date
24
24
  * @returns true if date is before current date
25
25
  */
26
- const mustBeInThePast = (date, config) => {
27
- const beforeToday = (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isBefore((0, _dayjs.default)());
28
- const dateIsToday = (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isToday();
26
+ var mustBeInThePast = function mustBeInThePast(date, config) {
27
+ var beforeToday = (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isBefore((0, _dayjs.default)());
28
+ var dateIsToday = (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isToday();
29
29
  // dayjs classifies the current day as in the past so exclude it here
30
30
  if (beforeToday && !dateIsToday) {
31
31
  return true;
@@ -3,24 +3,24 @@
3
3
  var _dayjs = _interopRequireDefault(require("dayjs"));
4
4
  var _mustBeInThePast = _interopRequireDefault(require("./mustBeInThePast"));
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
- describe('utils', () => {
7
- describe('Validate', () => {
8
- describe('additional', () => {
9
- describe('mustBeInThePast', () => {
10
- test('should return true given a date in the past', () => {
11
- const result = (0, _mustBeInThePast.default)((0, _dayjs.default)().subtract(1, 'day').format('DD-MM-YYYY'));
6
+ describe('utils', function () {
7
+ describe('Validate', function () {
8
+ describe('additional', function () {
9
+ describe('mustBeInThePast', function () {
10
+ test('should return true given a date in the past', function () {
11
+ var result = (0, _mustBeInThePast.default)((0, _dayjs.default)().subtract(1, 'day').format('DD-MM-YYYY'));
12
12
  expect(result).toEqual(true);
13
13
  });
14
- test('should return false given a date in the future', () => {
15
- const result = (0, _mustBeInThePast.default)((0, _dayjs.default)().add(1, 'day').format('DD-MM-YYYY'));
14
+ test('should return false given a date in the future', function () {
15
+ var result = (0, _mustBeInThePast.default)((0, _dayjs.default)().add(1, 'day').format('DD-MM-YYYY'));
16
16
  expect(result).toEqual(false);
17
17
  });
18
- test('should return false given todays date', () => {
19
- const result = (0, _mustBeInThePast.default)((0, _dayjs.default)().format('DD-MM-YYYY'));
18
+ test('should return false given todays date', function () {
19
+ var result = (0, _mustBeInThePast.default)((0, _dayjs.default)().format('DD-MM-YYYY'));
20
20
  expect(result).toEqual(false);
21
21
  });
22
- test('should return true given todays date if todayAllowed is true', () => {
23
- const result = (0, _mustBeInThePast.default)((0, _dayjs.default)().format('DD-MM-YYYY'), {
22
+ test('should return true given todays date if todayAllowed is true', function () {
23
+ var result = (0, _mustBeInThePast.default)((0, _dayjs.default)().format('DD-MM-YYYY'), {
24
24
  todayAllowed: true
25
25
  });
26
26
  expect(result).toEqual(true);
@@ -9,13 +9,13 @@ exports.default = void 0;
9
9
  * @param {number} config.value - the value must be equal or less than config.value.
10
10
  * @returns true if value is equal to or less then config.value, false if not.
11
11
  */
12
- const mustBeLessThan = (value, config) => {
12
+ var mustBeLessThan = function mustBeLessThan(value, config) {
13
13
  if (!value) {
14
14
  // null, undefined and empty strings should be picked up by the required flag
15
15
  // and not considered here as they would be valid for optional fields.
16
16
  return true;
17
17
  }
18
- const finalValue = typeof value === 'string' ? value.replace(/,/g, '') : value;
18
+ var finalValue = typeof value === 'string' ? value.replace(/,/g, '') : value;
19
19
  return parseFloat(finalValue) < config.value;
20
20
  };
21
21
  var _default = exports.default = mustBeLessThan;
@@ -2,46 +2,46 @@
2
2
 
3
3
  var _mustBeLessThan = _interopRequireDefault(require("./mustBeLessThan"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils', () => {
6
- describe('Validate', () => {
7
- describe('additional', () => {
8
- describe('mustBeLessThan', () => {
9
- test('should return true given a number equal to or less than 1000000000', () => {
10
- const result = (0, _mustBeLessThan.default)(999999999.999, {
5
+ describe('utils', function () {
6
+ describe('Validate', function () {
7
+ describe('additional', function () {
8
+ describe('mustBeLessThan', function () {
9
+ test('should return true given a number equal to or less than 1000000000', function () {
10
+ var result = (0, _mustBeLessThan.default)(999999999.999, {
11
11
  value: 1000000000
12
12
  });
13
13
  expect(result).toEqual(true);
14
14
  });
15
- test('should return false if provided value greater than 1000000000', () => {
16
- const result = (0, _mustBeLessThan.default)('1000000000.9', {
15
+ test('should return false if provided value greater than 1000000000', function () {
16
+ var result = (0, _mustBeLessThan.default)('1000000000.9', {
17
17
  value: 1000000000
18
18
  });
19
19
  expect(result).toBeFalsy();
20
20
  });
21
- test('should correctly handle numbers with commas in', () => {
22
- const result1 = (0, _mustBeLessThan.default)('999,999,999.99', {
21
+ test('should correctly handle numbers with commas in', function () {
22
+ var result1 = (0, _mustBeLessThan.default)('999,999,999.99', {
23
23
  value: 1000000000
24
24
  });
25
25
  expect(result1).toEqual(true);
26
- const result2 = (0, _mustBeLessThan.default)('1,000,000,123', {
26
+ var result2 = (0, _mustBeLessThan.default)('1,000,000,123', {
27
27
  value: 1000000000
28
28
  });
29
29
  expect(result2).toEqual(false);
30
30
  });
31
- test('should return true when string is undefined', () => {
32
- const result = (0, _mustBeLessThan.default)(undefined, {
31
+ test('should return true when string is undefined', function () {
32
+ var result = (0, _mustBeLessThan.default)(undefined, {
33
33
  value: 3
34
34
  });
35
35
  expect(result).toEqual(true);
36
36
  });
37
- test('should return true when string is empty', () => {
38
- const result = (0, _mustBeLessThan.default)('', {
37
+ test('should return true when string is empty', function () {
38
+ var result = (0, _mustBeLessThan.default)('', {
39
39
  value: 3
40
40
  });
41
41
  expect(result).toEqual(true);
42
42
  });
43
- test('should return true when string is null', () => {
44
- const result = (0, _mustBeLessThan.default)(null, {
43
+ test('should return true when string is null', function () {
44
+ var result = (0, _mustBeLessThan.default)(null, {
45
45
  value: 3
46
46
  });
47
47
  expect(result).toEqual(true);
@@ -11,7 +11,7 @@ exports.default = void 0;
11
11
  * @param {number} config.value - the length that string.length must be greater than.
12
12
  * @returns true if string.length is greater than config.value, false if not.
13
13
  */
14
- const mustBeLongerThan = (string, config) => {
14
+ var mustBeLongerThan = function mustBeLongerThan(string, config) {
15
15
  if (!string) {
16
16
  // null, undefined and empty strings should be picked up by the required flag
17
17
  // and not considered here as they would be valid for optional fields.
@@ -2,42 +2,42 @@
2
2
 
3
3
  var _mustBeLongerThan = _interopRequireDefault(require("./mustBeLongerThan"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils', () => {
6
- describe('Validate', () => {
7
- describe('additional', () => {
8
- describe('mustBeLongerThan', () => {
9
- test('should return true given a string longer than the given length', () => {
10
- const result = (0, _mustBeLongerThan.default)('test', {
5
+ describe('utils', function () {
6
+ describe('Validate', function () {
7
+ describe('additional', function () {
8
+ describe('mustBeLongerThan', function () {
9
+ test('should return true given a string longer than the given length', function () {
10
+ var result = (0, _mustBeLongerThan.default)('test', {
11
11
  value: 3
12
12
  });
13
13
  expect(result).toEqual(true);
14
14
  });
15
- test('should return false given a string shorter than the given length', () => {
16
- const result = (0, _mustBeLongerThan.default)('to', {
15
+ test('should return false given a string shorter than the given length', function () {
16
+ var result = (0, _mustBeLongerThan.default)('to', {
17
17
  value: 3
18
18
  });
19
19
  expect(result).toEqual(false);
20
20
  });
21
- test('should return false given a string equal to the given length', () => {
22
- const result = (0, _mustBeLongerThan.default)('dog', {
21
+ test('should return false given a string equal to the given length', function () {
22
+ var result = (0, _mustBeLongerThan.default)('dog', {
23
23
  value: 3
24
24
  });
25
25
  expect(result).toEqual(false);
26
26
  });
27
- test('should return true when string is undefined', () => {
28
- const result = (0, _mustBeLongerThan.default)(undefined, {
27
+ test('should return true when string is undefined', function () {
28
+ var result = (0, _mustBeLongerThan.default)(undefined, {
29
29
  value: 3
30
30
  });
31
31
  expect(result).toEqual(true);
32
32
  });
33
- test('should return true when string is empty', () => {
34
- const result = (0, _mustBeLongerThan.default)('', {
33
+ test('should return true when string is empty', function () {
34
+ var result = (0, _mustBeLongerThan.default)('', {
35
35
  value: 3
36
36
  });
37
37
  expect(result).toEqual(true);
38
38
  });
39
- test('should return true when string is null', () => {
40
- const result = (0, _mustBeLongerThan.default)(null, {
39
+ test('should return true when string is null', function () {
40
+ var result = (0, _mustBeLongerThan.default)(null, {
41
41
  value: 3
42
42
  });
43
43
  expect(result).toEqual(true);
@@ -11,13 +11,13 @@ exports.default = void 0;
11
11
  * @param {object} config The config of the validation check.
12
12
  * @returns true if value passes the regex, false if not.
13
13
  */
14
- const mustBeNumbersOnly = (value, config) => {
14
+ var mustBeNumbersOnly = function mustBeNumbersOnly(value, config) {
15
15
  if (!value) {
16
16
  // null, undefined and empty numbers should be picked up by the required flag
17
17
  // and not considered here as they would be valid for optional fields.
18
18
  return true;
19
19
  }
20
- const regex = config !== null && config !== void 0 && config.allowCommas ? /^[0-9,]*\.?[0-9]*$/ : /^[0-9]*\.?[0-9]*$/;
20
+ var regex = config !== null && config !== void 0 && config.allowCommas ? /^[0-9,]*\.?[0-9]*$/ : /^[0-9]*\.?[0-9]*$/;
21
21
  return regex.test(value);
22
22
  };
23
23
  var _default = exports.default = mustBeNumbersOnly;
@@ -2,40 +2,40 @@
2
2
 
3
3
  var _mustBeNumbersOnly = _interopRequireDefault(require("./mustBeNumbersOnly"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils', () => {
6
- describe('Validate', () => {
7
- describe('additional', () => {
8
- describe('mustBeNumbersOnly', () => {
9
- test('should return true given a string is number', () => {
10
- const result = (0, _mustBeNumbersOnly.default)('349732');
5
+ describe('utils', function () {
6
+ describe('Validate', function () {
7
+ describe('additional', function () {
8
+ describe('mustBeNumbersOnly', function () {
9
+ test('should return true given a string is number', function () {
10
+ var result = (0, _mustBeNumbersOnly.default)('349732');
11
11
  expect(result).toEqual(true);
12
12
  });
13
- test('should return true given a string is numbers contains desimile', () => {
14
- const result = (0, _mustBeNumbersOnly.default)('123456.123');
13
+ test('should return true given a string is numbers contains desimile', function () {
14
+ var result = (0, _mustBeNumbersOnly.default)('123456.123');
15
15
  expect(result).toEqual(true);
16
16
  });
17
- test('should return false if given number contains commas and config does not allow them', () => {
18
- const CONFIG = {};
19
- const result = (0, _mustBeNumbersOnly.default)('1,234', CONFIG);
17
+ test('should return false if given number contains commas and config does not allow them', function () {
18
+ var CONFIG = {};
19
+ var result = (0, _mustBeNumbersOnly.default)('1,234', CONFIG);
20
20
  expect(result).toEqual(false);
21
21
  });
22
- test('should return true if given number contains commas and config allows them', () => {
23
- const CONFIG = {
22
+ test('should return true if given number contains commas and config allows them', function () {
23
+ var CONFIG = {
24
24
  allowCommas: true
25
25
  };
26
- const result = (0, _mustBeNumbersOnly.default)('1,234', CONFIG);
26
+ var result = (0, _mustBeNumbersOnly.default)('1,234', CONFIG);
27
27
  expect(result).toEqual(true);
28
28
  });
29
- test('should return true when string is undefined', () => {
30
- const result = (0, _mustBeNumbersOnly.default)(undefined);
29
+ test('should return true when string is undefined', function () {
30
+ var result = (0, _mustBeNumbersOnly.default)(undefined);
31
31
  expect(result).toEqual(true);
32
32
  });
33
- test('should return true when string is empty', () => {
34
- const result = (0, _mustBeNumbersOnly.default)('');
33
+ test('should return true when string is empty', function () {
34
+ var result = (0, _mustBeNumbersOnly.default)('');
35
35
  expect(result).toEqual(true);
36
36
  });
37
- test('should return true when string is null', () => {
38
- const result = (0, _mustBeNumbersOnly.default)(null);
37
+ test('should return true when string is null', function () {
38
+ var result = (0, _mustBeNumbersOnly.default)(null);
39
39
  expect(result).toEqual(true);
40
40
  });
41
41
  });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ /**
8
+ * Function returns true if the string parameter is contained in the passed in array.
9
+ * @param {string} string - the string to check.
10
+ * @param {array} config.array - the array that the string will be checked against.
11
+ * @returns true if string is contained in config.array, false if not.
12
+ */
13
+ var mustBeOneOf = function mustBeOneOf(string, config) {
14
+ if (!string) {
15
+ // null, undefined and empty strings should be picked up by the required flag
16
+ // and not considered here as they would be valid for optional fields.
17
+ return true;
18
+ }
19
+ return config.array.includes(string);
20
+ };
21
+ var _default = exports.default = mustBeOneOf;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _mustBeOneOf = _interopRequireDefault(require("./mustBeOneOf"));
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
+ describe('utils', function () {
6
+ describe('Validate', function () {
7
+ describe('additional', function () {
8
+ describe('mustBeShorterThan', function () {
9
+ test('should return true given the string is in the array', function () {
10
+ var result = (0, _mustBeOneOf.default)('test2', {
11
+ array: ["test1", "test2", "test3", "test4"]
12
+ });
13
+ expect(result).toEqual(true);
14
+ });
15
+ test('should return false given the string is not in the array', function () {
16
+ var result = (0, _mustBeOneOf.default)('test5', {
17
+ array: ["test1", "test2", "test3", "test4"]
18
+ });
19
+ expect(result).toEqual(false);
20
+ });
21
+ test('should return false given the array is empty', function () {
22
+ var result = (0, _mustBeOneOf.default)('test1', {
23
+ array: []
24
+ });
25
+ expect(result).toEqual(false);
26
+ });
27
+ test('should return false when only the partial string is in the array', function () {
28
+ var result = (0, _mustBeOneOf.default)('test', {
29
+ array: ["test1", "test2", "test3", "test4"]
30
+ });
31
+ expect(result).toEqual(false);
32
+ });
33
+ });
34
+ });
35
+ });
36
+ });
@@ -11,7 +11,7 @@ exports.default = void 0;
11
11
  * @param {number} config.value - the length that string.length must be less than.
12
12
  * @returns true if string.length is greater than config.value, false if not.
13
13
  */
14
- const mustBeShorterThan = (string, config) => {
14
+ var mustBeShorterThan = function mustBeShorterThan(string, config) {
15
15
  if (!string) {
16
16
  // null, undefined and empty strings should be picked up by the required flag
17
17
  // and not considered here as they would be valid for optional fields.
@@ -2,42 +2,42 @@
2
2
 
3
3
  var _mustBeShorterThan = _interopRequireDefault(require("./mustBeShorterThan"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils', () => {
6
- describe('Validate', () => {
7
- describe('additional', () => {
8
- describe('mustBeShorterThan', () => {
9
- test('should return true given a string shorter than the given length', () => {
10
- const result = (0, _mustBeShorterThan.default)('to', {
5
+ describe('utils', function () {
6
+ describe('Validate', function () {
7
+ describe('additional', function () {
8
+ describe('mustBeShorterThan', function () {
9
+ test('should return true given a string shorter than the given length', function () {
10
+ var result = (0, _mustBeShorterThan.default)('to', {
11
11
  value: 3
12
12
  });
13
13
  expect(result).toEqual(true);
14
14
  });
15
- test('should return false given a string longer than the given length', () => {
16
- const result = (0, _mustBeShorterThan.default)('test', {
15
+ test('should return false given a string longer than the given length', function () {
16
+ var result = (0, _mustBeShorterThan.default)('test', {
17
17
  value: 3
18
18
  });
19
19
  expect(result).toEqual(false);
20
20
  });
21
- test('should return false given a string equal to the given length', () => {
22
- const result = (0, _mustBeShorterThan.default)('dog', {
21
+ test('should return false given a string equal to the given length', function () {
22
+ var result = (0, _mustBeShorterThan.default)('dog', {
23
23
  value: 3
24
24
  });
25
25
  expect(result).toEqual(false);
26
26
  });
27
- test('should return true when string is undefined', () => {
28
- const result = (0, _mustBeShorterThan.default)(undefined, {
27
+ test('should return true when string is undefined', function () {
28
+ var result = (0, _mustBeShorterThan.default)(undefined, {
29
29
  value: 3
30
30
  });
31
31
  expect(result).toEqual(true);
32
32
  });
33
- test('should return true when string is empty', () => {
34
- const result = (0, _mustBeShorterThan.default)('', {
33
+ test('should return true when string is empty', function () {
34
+ var result = (0, _mustBeShorterThan.default)('', {
35
35
  value: 3
36
36
  });
37
37
  expect(result).toEqual(true);
38
38
  });
39
- test('should return true when string is null', () => {
40
- const result = (0, _mustBeShorterThan.default)(null, {
39
+ test('should return true when string is null', function () {
40
+ var result = (0, _mustBeShorterThan.default)(null, {
41
41
  value: 3
42
42
  });
43
43
  expect(result).toEqual(true);
@@ -15,15 +15,15 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
15
15
  * @param {object} formData - the current form data
16
16
  * @returns true if components value is not the same in any other entry in the collection
17
17
  */
18
- const mustBeUniqueInCollection = (value, config, component, formData) => {
18
+ var mustBeUniqueInCollection = function mustBeUniqueInCollection(value, config, component, formData) {
19
19
  if (!value || !formData) {
20
20
  // null, undefined and empty strings should be picked up by the required flag
21
21
  // and not considered here as they would be valid for optional fields.
22
22
  return true;
23
23
  }
24
- const activeId = (0, _getCollectionPageActiveId.default)(config.collectionPath, formData);
25
- const collectionData = (0, _getCollectionPageData.default)(config.collectionPath, formData);
26
- const result = collectionData === null || collectionData === void 0 ? void 0 : collectionData.some(entry => {
24
+ var activeId = (0, _getCollectionPageActiveId.default)(config.collectionPath, formData);
25
+ var collectionData = (0, _getCollectionPageData.default)(config.collectionPath, formData);
26
+ var result = collectionData === null || collectionData === void 0 ? void 0 : collectionData.some(function (entry) {
27
27
  // Don't compare it to itself
28
28
  if (entry.id === activeId) {
29
29
  return false;