@ukhomeoffice/cop-react-form-renderer 5.14.0 → 5.14.4

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 (328) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +15 -15
  2. package/dist/components/CheckYourAnswers/Answer.test.js +94 -128
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +99 -129
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +291 -501
  5. package/dist/components/CheckYourAnswers/index.js +2 -3
  6. package/dist/components/CollectionPage/CollectionPage.js +64 -58
  7. package/dist/components/CollectionPage/CollectionPage.test.js +212 -238
  8. package/dist/components/CollectionPage/index.js +2 -3
  9. package/dist/components/FormComponent/Collection.js +77 -113
  10. package/dist/components/FormComponent/Collection.test.js +688 -787
  11. package/dist/components/FormComponent/Container.js +44 -43
  12. package/dist/components/FormComponent/Container.test.js +316 -346
  13. package/dist/components/FormComponent/FormComponent.js +58 -64
  14. package/dist/components/FormComponent/FormComponent.test.js +180 -219
  15. package/dist/components/FormComponent/helpers/addLabel.js +5 -9
  16. package/dist/components/FormComponent/helpers/getComponentDisabled.js +2 -3
  17. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  18. package/dist/components/FormComponent/helpers/getComponentError.js +4 -7
  19. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  20. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +2 -2
  21. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  22. package/dist/components/FormComponent/helpers/index.js +5 -5
  23. package/dist/components/FormComponent/index.js +2 -3
  24. package/dist/components/FormPage/FormPage.js +65 -79
  25. package/dist/components/FormPage/FormPage.test.js +134 -170
  26. package/dist/components/FormPage/index.js +2 -3
  27. package/dist/components/FormRenderer/FormRenderer.js +151 -193
  28. package/dist/components/FormRenderer/FormRenderer.test.js +598 -920
  29. package/dist/components/FormRenderer/handlers/cyaAction.js +4 -5
  30. package/dist/components/FormRenderer/handlers/getPageId.js +2 -5
  31. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  32. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  33. package/dist/components/FormRenderer/handlers/index.js +3 -4
  34. package/dist/components/FormRenderer/handlers/navigate.js +5 -6
  35. package/dist/components/FormRenderer/handlers/submissionError.js +2 -3
  36. package/dist/components/FormRenderer/helpers/canActionProceed.js +2 -3
  37. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +10 -10
  38. package/dist/components/FormRenderer/helpers/canCYASubmit.js +2 -5
  39. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
  40. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +19 -27
  41. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +17 -17
  42. package/dist/components/FormRenderer/helpers/getCYA.js +6 -9
  43. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  44. package/dist/components/FormRenderer/helpers/getFormState.js +7 -10
  45. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  46. package/dist/components/FormRenderer/helpers/getNextPageId.js +19 -34
  47. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  48. package/dist/components/FormRenderer/helpers/getPage.js +3 -6
  49. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  50. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -13
  51. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  52. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +12 -13
  53. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +98 -92
  54. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +66 -66
  55. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +72 -79
  56. package/dist/components/FormRenderer/helpers/index.js +3 -4
  57. package/dist/components/FormRenderer/index.js +2 -3
  58. package/dist/components/FormRenderer/onCYAAction.js +52 -62
  59. package/dist/components/FormRenderer/onCYAAction.test.js +146 -138
  60. package/dist/components/FormRenderer/onPageAction.js +48 -47
  61. package/dist/components/FormRenderer/onPageAction.test.js +219 -205
  62. package/dist/components/FormRenderer/onTaskAction.js +12 -17
  63. package/dist/components/FormRenderer/onTaskAction.test.js +94 -89
  64. package/dist/components/PageActions/ActionButton.js +15 -19
  65. package/dist/components/PageActions/ActionButton.test.js +58 -79
  66. package/dist/components/PageActions/PageActions.js +12 -13
  67. package/dist/components/PageActions/PageActions.test.js +88 -116
  68. package/dist/components/PageActions/index.js +2 -3
  69. package/dist/components/SummaryList/GroupAction.js +15 -23
  70. package/dist/components/SummaryList/GroupAction.test.js +41 -37
  71. package/dist/components/SummaryList/RowAction.js +14 -19
  72. package/dist/components/SummaryList/RowAction.test.js +41 -37
  73. package/dist/components/SummaryList/SummaryList.js +25 -30
  74. package/dist/components/SummaryList/SummaryList.test.js +160 -182
  75. package/dist/components/SummaryList/SummaryListHeadingRow.js +9 -8
  76. package/dist/components/SummaryList/SummaryListRow.js +9 -8
  77. package/dist/components/SummaryList/SummaryListTitleRow.js +8 -7
  78. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -8
  79. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
  80. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -8
  81. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
  82. package/dist/components/SummaryList/helpers/index.js +2 -2
  83. package/dist/components/SummaryList/index.js +2 -3
  84. package/dist/components/TaskList/Task.js +22 -33
  85. package/dist/components/TaskList/Task.test.js +84 -77
  86. package/dist/components/TaskList/TaskList.js +46 -75
  87. package/dist/components/TaskList/TaskList.test.js +118 -113
  88. package/dist/components/TaskList/TaskState.js +9 -9
  89. package/dist/components/TaskList/TaskState.test.js +56 -49
  90. package/dist/components/TaskList/index.js +2 -3
  91. package/dist/components/index.js +8 -8
  92. package/dist/context/HooksContext/HooksContext.js +59 -85
  93. package/dist/context/HooksContext/HooksContext.test.js +28 -36
  94. package/dist/context/HooksContext/index.js +4 -6
  95. package/dist/context/ValidationContext/ValidationContext.js +35 -76
  96. package/dist/context/ValidationContext/ValidationContext.test.js +50 -61
  97. package/dist/context/ValidationContext/index.js +4 -6
  98. package/dist/context/index.js +3 -3
  99. package/dist/hooks/index.js +10 -11
  100. package/dist/hooks/useAxios.js +17 -43
  101. package/dist/hooks/useGetRequest.js +65 -106
  102. package/dist/hooks/useHooks.js +2 -5
  103. package/dist/hooks/useRefData.js +30 -45
  104. package/dist/hooks/useValidation.js +2 -5
  105. package/dist/index.js +15 -17
  106. package/dist/models/CollectionLabels.js +2 -3
  107. package/dist/models/ComponentTypes.js +25 -26
  108. package/dist/models/EventTypes.js +5 -6
  109. package/dist/models/FormPages.js +5 -6
  110. package/dist/models/FormTypes.js +9 -10
  111. package/dist/models/HubFormats.js +4 -5
  112. package/dist/models/PageAction.js +45 -42
  113. package/dist/models/TaskStates.js +30 -31
  114. package/dist/models/index.js +11 -12
  115. package/dist/setupTests.js +20 -24
  116. package/dist/utils/CheckYourAnswers/getCYAAction.js +6 -7
  117. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
  118. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +18 -20
  119. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +21 -23
  120. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -21
  121. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +18 -20
  122. package/dist/utils/CheckYourAnswers/getCYARow.js +8 -10
  123. package/dist/utils/CheckYourAnswers/getCYARow.test.js +72 -72
  124. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +20 -27
  125. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
  126. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +41 -47
  127. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +72 -75
  128. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +71 -78
  129. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +133 -114
  130. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +27 -23
  131. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
  132. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +16 -23
  133. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +77 -83
  134. package/dist/utils/CheckYourAnswers/index.js +3 -4
  135. package/dist/utils/CheckYourAnswers/showComponentCYA.js +7 -9
  136. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  137. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +9 -16
  138. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +19 -20
  139. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +4 -8
  140. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +15 -15
  141. package/dist/utils/CollectionPage/index.js +3 -4
  142. package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -29
  143. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +15 -15
  144. package/dist/utils/Component/addShowWhen.js +5 -10
  145. package/dist/utils/Component/addShowWhen.test.js +38 -38
  146. package/dist/utils/Component/applyToComponentTree.js +20 -22
  147. package/dist/utils/Component/applyToComponentTree.test.js +28 -33
  148. package/dist/utils/Component/cleanAttributes.js +11 -16
  149. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  150. package/dist/utils/Component/elevateNestedComponents.js +7 -9
  151. package/dist/utils/Component/elevateNestedComponents.test.js +19 -19
  152. package/dist/utils/Component/getComponent.js +91 -99
  153. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
  154. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +51 -63
  155. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +41 -49
  156. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -37
  157. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
  158. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +19 -23
  159. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +23 -27
  160. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +12 -11
  161. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
  162. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
  163. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
  164. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +24 -27
  165. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +156 -175
  166. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
  167. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +19 -23
  168. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +59 -73
  169. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +19 -23
  170. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +19 -23
  171. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +35 -41
  172. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +24 -32
  173. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  174. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
  175. package/dist/utils/Component/getDefaultValue.js +7 -9
  176. package/dist/utils/Component/getDefaultValue.test.js +14 -14
  177. package/dist/utils/Component/index.js +3 -4
  178. package/dist/utils/Component/isEditable.js +3 -7
  179. package/dist/utils/Component/isEditable.test.js +14 -15
  180. package/dist/utils/Component/optionIsSelected.js +2 -3
  181. package/dist/utils/Component/optionIsSelected.test.js +10 -10
  182. package/dist/utils/Component/setupContainerComponentsPath.js +30 -33
  183. package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
  184. package/dist/utils/Component/showComponent.js +4 -6
  185. package/dist/utils/Component/showComponent.test.js +29 -29
  186. package/dist/utils/Component/wrapInFormGroup.js +6 -6
  187. package/dist/utils/Condition/index.js +3 -4
  188. package/dist/utils/Condition/meetsAllConditions.js +9 -10
  189. package/dist/utils/Condition/meetsAllConditions.test.js +18 -18
  190. package/dist/utils/Condition/meetsCondition.js +19 -27
  191. package/dist/utils/Condition/meetsCondition.test.js +377 -377
  192. package/dist/utils/Condition/meetsOneCondition.js +7 -8
  193. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  194. package/dist/utils/Condition/setupConditions.js +15 -21
  195. package/dist/utils/Condition/setupConditions.test.js +8 -8
  196. package/dist/utils/Container/getEditableComponents.js +5 -8
  197. package/dist/utils/Container/getEditableComponents.test.js +44 -46
  198. package/dist/utils/Container/index.js +3 -4
  199. package/dist/utils/Container/setupNesting.js +17 -24
  200. package/dist/utils/Container/setupNesting.test.js +28 -31
  201. package/dist/utils/Container/showContainer.js +5 -10
  202. package/dist/utils/Container/showContainer.test.js +31 -31
  203. package/dist/utils/Data/applyFormula.js +41 -52
  204. package/dist/utils/Data/applyFormula.test.js +26 -26
  205. package/dist/utils/Data/getAutocompleteSource.js +11 -14
  206. package/dist/utils/Data/getAutocompleteSource.test.js +59 -59
  207. package/dist/utils/Data/getDataPath.js +21 -32
  208. package/dist/utils/Data/getDataPath.test.js +20 -20
  209. package/dist/utils/Data/getOptions.js +22 -28
  210. package/dist/utils/Data/getOptions.test.js +21 -21
  211. package/dist/utils/Data/getSourceData.js +7 -21
  212. package/dist/utils/Data/getSourceData.test.js +85 -81
  213. package/dist/utils/Data/index.js +3 -4
  214. package/dist/utils/Data/refDataToOptions.js +12 -17
  215. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  216. package/dist/utils/Data/setDataItem.js +8 -10
  217. package/dist/utils/Data/setDataItem.test.js +38 -38
  218. package/dist/utils/Data/setupFormData.js +32 -48
  219. package/dist/utils/Data/setupFormData.test.js +99 -98
  220. package/dist/utils/Data/setupRefDataUrlForComponent.js +22 -30
  221. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
  222. package/dist/utils/FormPage/applyConditionalProperties.js +7 -12
  223. package/dist/utils/FormPage/applyConditionalProperties.test.js +16 -19
  224. package/dist/utils/FormPage/getFormPage.js +17 -19
  225. package/dist/utils/FormPage/getFormPage.test.js +49 -48
  226. package/dist/utils/FormPage/getFormPages.js +9 -15
  227. package/dist/utils/FormPage/getFormPages.test.js +22 -25
  228. package/dist/utils/FormPage/getPageActions.js +11 -19
  229. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  230. package/dist/utils/FormPage/getParagraphFromText.js +6 -9
  231. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  232. package/dist/utils/FormPage/index.js +3 -4
  233. package/dist/utils/FormPage/showFormPage.js +5 -10
  234. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  235. package/dist/utils/FormPage/showFormPageCYA.js +4 -5
  236. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  237. package/dist/utils/FormPage/useComponent.js +21 -29
  238. package/dist/utils/FormPage/useComponent.test.js +71 -73
  239. package/dist/utils/Format/formatData.js +2 -3
  240. package/dist/utils/Format/formatData.test.js +19 -19
  241. package/dist/utils/Format/formatDataForComponent.js +6 -9
  242. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  243. package/dist/utils/Format/formatDataForForm.js +7 -10
  244. package/dist/utils/Format/formatDataForForm.test.js +14 -17
  245. package/dist/utils/Format/formatDataForPage.js +4 -7
  246. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  247. package/dist/utils/Format/index.js +3 -4
  248. package/dist/utils/Hub/getFormHub.js +3 -4
  249. package/dist/utils/Hub/getFormHub.test.js +29 -32
  250. package/dist/utils/Hub/index.js +3 -4
  251. package/dist/utils/Meta/constants.js +2 -4
  252. package/dist/utils/Meta/documents/getDocuments.js +2 -6
  253. package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
  254. package/dist/utils/Meta/documents/index.js +3 -4
  255. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -19
  256. package/dist/utils/Meta/documents/setDocumentsForField.test.js +69 -35
  257. package/dist/utils/Meta/index.js +3 -4
  258. package/dist/utils/Operate/checkValueIsTruthy.js +5 -6
  259. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  260. package/dist/utils/Operate/getFirstOf.js +9 -10
  261. package/dist/utils/Operate/getFirstOf.test.js +33 -33
  262. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +13 -14
  263. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
  264. package/dist/utils/Operate/index.js +3 -4
  265. package/dist/utils/Operate/persistValueInFormData.js +7 -8
  266. package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
  267. package/dist/utils/Operate/runPageOperations.js +10 -11
  268. package/dist/utils/Operate/runPageOperations.test.js +36 -37
  269. package/dist/utils/Operate/setValueInFormData.js +6 -7
  270. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  271. package/dist/utils/Operate/shouldRun.js +9 -10
  272. package/dist/utils/Operate/shouldRun.test.js +22 -28
  273. package/dist/utils/Validate/additional/conditionallyRequired.js +5 -7
  274. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  275. package/dist/utils/Validate/additional/index.js +8 -9
  276. package/dist/utils/Validate/additional/index.test.js +13 -13
  277. package/dist/utils/Validate/additional/mustBeAfter.js +4 -5
  278. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  279. package/dist/utils/Validate/additional/mustBeBefore.js +4 -5
  280. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  281. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -14
  282. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +34 -38
  283. package/dist/utils/Validate/additional/mustBeGreaterThan.js +3 -4
  284. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  285. package/dist/utils/Validate/additional/mustBeInTheFuture.js +5 -6
  286. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  287. package/dist/utils/Validate/additional/mustBeInThePast.js +6 -7
  288. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  289. package/dist/utils/Validate/additional/mustBeLessThan.js +3 -4
  290. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  291. package/dist/utils/Validate/additional/mustBeLongerThan.js +2 -3
  292. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  293. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +3 -4
  294. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  295. package/dist/utils/Validate/additional/mustBeShorterThan.js +2 -3
  296. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  297. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +4 -7
  298. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
  299. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +2 -3
  300. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  301. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +4 -7
  302. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
  303. package/dist/utils/Validate/additional/utils.js +9 -25
  304. package/dist/utils/Validate/index.js +3 -4
  305. package/dist/utils/Validate/validateCollection.js +22 -29
  306. package/dist/utils/Validate/validateCollection.test.js +85 -77
  307. package/dist/utils/Validate/validateComponent.js +19 -19
  308. package/dist/utils/Validate/validateComponent.test.js +169 -147
  309. package/dist/utils/Validate/validateContainer.js +16 -22
  310. package/dist/utils/Validate/validateContainer.test.js +52 -48
  311. package/dist/utils/Validate/validateDate.js +14 -21
  312. package/dist/utils/Validate/validateDate.test.js +28 -29
  313. package/dist/utils/Validate/validateEmail.js +8 -11
  314. package/dist/utils/Validate/validateEmail.test.js +26 -26
  315. package/dist/utils/Validate/validateMultifile.js +6 -10
  316. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  317. package/dist/utils/Validate/validatePage.js +20 -22
  318. package/dist/utils/Validate/validatePage.test.js +146 -143
  319. package/dist/utils/Validate/validateRegex.js +6 -10
  320. package/dist/utils/Validate/validateRegex.test.js +17 -17
  321. package/dist/utils/Validate/validateRequired.js +6 -9
  322. package/dist/utils/Validate/validateRequired.test.js +19 -19
  323. package/dist/utils/Validate/validateTextArea.js +6 -9
  324. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  325. package/dist/utils/Validate/validateTime.js +8 -16
  326. package/dist/utils/Validate/validateTime.test.js +15 -15
  327. package/dist/utils/index.js +10 -12
  328. package/package.json +9 -6
@@ -2,58 +2,92 @@
2
2
 
3
3
  var _constants = require("../constants");
4
4
  var _setDocumentsForField = _interopRequireDefault(require("./setDocumentsForField"));
5
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
7
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
11
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
12
- describe('Utils.Meta.documents.add', function () {
13
- var ALPHA_DOCUMENT = {
5
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
+ describe('Utils.Meta.documents.add', () => {
7
+ const ALPHA_DOCUMENT = {
14
8
  field: 'alpha',
15
9
  url: 'http://alpha-bravo.com/files/alpha'
16
10
  };
17
- var BRAVO_DOCUMENT = {
11
+ const BRAVO_DOCUMENT = {
18
12
  field: 'bravo',
19
13
  url: 'http://alpha-bravo.com/files/bravo'
20
14
  };
21
- it('should return an appropriately set up object if formData is null', function () {
22
- expect((0, _setDocumentsForField.default)([ALPHA_DOCUMENT], null, ALPHA_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
15
+ it('should return an appropriately set up object if formData is null', () => {
16
+ expect((0, _setDocumentsForField.default)([ALPHA_DOCUMENT], null, ALPHA_DOCUMENT.field)).toEqual({
17
+ [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
18
+ });
23
19
  });
24
- it('should add a new document to the array', function () {
25
- var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
26
- expect((0, _setDocumentsForField.default)([BRAVO_DOCUMENT], FORM_DATA, BRAVO_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT, BRAVO_DOCUMENT]));
20
+ it('should add a new document to the array', () => {
21
+ const FORM_DATA = {
22
+ [_constants.META_PROPERTY]: {
23
+ [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
24
+ }
25
+ };
26
+ expect((0, _setDocumentsForField.default)([BRAVO_DOCUMENT], FORM_DATA, BRAVO_DOCUMENT.field)).toEqual({
27
+ [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT, BRAVO_DOCUMENT]
28
+ });
27
29
  });
28
- it('should add multiple new documents to the array', function () {
29
- var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, []));
30
- var SECOND_DOCUMENT = _objectSpread({}, ALPHA_DOCUMENT);
31
- expect((0, _setDocumentsForField.default)([ALPHA_DOCUMENT, SECOND_DOCUMENT], FORM_DATA, ALPHA_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT, SECOND_DOCUMENT]));
30
+ it('should add multiple new documents to the array', () => {
31
+ const FORM_DATA = {
32
+ [_constants.META_PROPERTY]: {
33
+ [_constants.META_DOCUMENTS_PROPERTY]: []
34
+ }
35
+ };
36
+ const SECOND_DOCUMENT = {
37
+ ...ALPHA_DOCUMENT
38
+ };
39
+ expect((0, _setDocumentsForField.default)([ALPHA_DOCUMENT, SECOND_DOCUMENT], FORM_DATA, ALPHA_DOCUMENT.field)).toEqual({
40
+ [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT, SECOND_DOCUMENT]
41
+ });
32
42
  });
33
- it('should replace an existing document with the same field', function () {
34
- var NEW_URL = 'http://replacement.com/files/alpha';
35
- var NEW_ALPHA = {
43
+ it('should replace an existing document with the same field', () => {
44
+ const NEW_URL = 'http://replacement.com/files/alpha';
45
+ const NEW_ALPHA = {
36
46
  field: ALPHA_DOCUMENT.field,
37
47
  url: NEW_URL
38
48
  };
39
- var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
40
- expect((0, _setDocumentsForField.default)([NEW_ALPHA], FORM_DATA, NEW_ALPHA.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [NEW_ALPHA]));
49
+ const FORM_DATA = {
50
+ [_constants.META_PROPERTY]: {
51
+ [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
52
+ }
53
+ };
54
+ expect((0, _setDocumentsForField.default)([NEW_ALPHA], FORM_DATA, NEW_ALPHA.field)).toEqual({
55
+ [_constants.META_DOCUMENTS_PROPERTY]: [NEW_ALPHA]
56
+ });
41
57
  });
42
- it('should add a document with the same field if allowMultiple is true', function () {
43
- var NEW_URL = 'http://replacement.com/files/alpha';
44
- var NEW_ALPHA = {
58
+ it('should add a document with the same field if allowMultiple is true', () => {
59
+ const NEW_URL = 'http://replacement.com/files/alpha';
60
+ const NEW_ALPHA = {
45
61
  field: ALPHA_DOCUMENT.field,
46
62
  url: NEW_URL
47
63
  };
48
- var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
49
- expect((0, _setDocumentsForField.default)([NEW_ALPHA], FORM_DATA, NEW_ALPHA.field, true)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT, NEW_ALPHA]));
64
+ const FORM_DATA = {
65
+ [_constants.META_PROPERTY]: {
66
+ [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
67
+ }
68
+ };
69
+ expect((0, _setDocumentsForField.default)([NEW_ALPHA], FORM_DATA, NEW_ALPHA.field, true)).toEqual({
70
+ [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT, NEW_ALPHA]
71
+ });
50
72
  });
51
- it('should handle a null document being passed where a document with that field already exists', function () {
52
- var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
53
- expect((0, _setDocumentsForField.default)(null, FORM_DATA, ALPHA_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, []));
73
+ it('should handle a null document being passed where a document with that field already exists', () => {
74
+ const FORM_DATA = {
75
+ [_constants.META_PROPERTY]: {
76
+ [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
77
+ }
78
+ };
79
+ expect((0, _setDocumentsForField.default)(null, FORM_DATA, ALPHA_DOCUMENT.field)).toEqual({
80
+ [_constants.META_DOCUMENTS_PROPERTY]: []
81
+ });
54
82
  });
55
- it('should handle a null document being passed where a document with that field does not already exist', function () {
56
- var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
57
- expect((0, _setDocumentsForField.default)(null, FORM_DATA, BRAVO_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
83
+ it('should handle a null document being passed where a document with that field does not already exist', () => {
84
+ const FORM_DATA = {
85
+ [_constants.META_PROPERTY]: {
86
+ [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
87
+ }
88
+ };
89
+ expect((0, _setDocumentsForField.default)(null, FORM_DATA, BRAVO_DOCUMENT.field)).toEqual({
90
+ [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
91
+ });
58
92
  });
59
93
  });
@@ -6,12 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _constants = require("./constants");
8
8
  var _documents = _interopRequireDefault(require("./documents"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  // Local imports
11
11
 
12
- var Meta = {
12
+ const Meta = {
13
13
  documents: _documents.default,
14
14
  name: _constants.META_PROPERTY
15
15
  };
16
- var _default = Meta;
17
- exports.default = _default;
16
+ var _default = exports.default = Meta;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  // Global imports.
11
11
 
12
12
  // Local imports.
@@ -18,12 +18,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
18
18
  * @param {object} data The page's formData.
19
19
  * @returns true if the value is truthy, false if it isn't or doesn't exist.
20
20
  */
21
- var checkValueIsTruthy = function checkValueIsTruthy(config, data) {
22
- if (config !== null && config !== void 0 && config.field) {
23
- var fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
21
+ const checkValueIsTruthy = (config, data) => {
22
+ if (config?.field) {
23
+ const fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
24
24
  return !!(0, _getSourceData.default)(data, fieldPath);
25
25
  }
26
26
  return false;
27
27
  };
28
- var _default = checkValueIsTruthy;
29
- exports.default = _default;
28
+ var _default = exports.default = checkValueIsTruthy;
@@ -1,42 +1,42 @@
1
1
  "use strict";
2
2
 
3
3
  var _checkValueIsTruthy = _interopRequireDefault(require("./checkValueIsTruthy"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('Utils.Operate.checkValueIsTruthy', function () {
6
- var DATA = {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('Utils.Operate.checkValueIsTruthy', () => {
6
+ const DATA = {
7
7
  alpha: 'abc',
8
8
  bravo: ''
9
9
  };
10
- it('Should return true is the value of the field is truthy', function () {
11
- var CONFIG = {
10
+ it('Should return true is the value of the field is truthy', () => {
11
+ const CONFIG = {
12
12
  field: 'alpha'
13
13
  };
14
- var result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
14
+ const result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
15
15
  expect(result).toEqual(true);
16
16
  });
17
- it('Should return false if the value of the field is falsy', function () {
18
- var CONFIG = {
17
+ it('Should return false if the value of the field is falsy', () => {
18
+ const CONFIG = {
19
19
  field: 'bravo'
20
20
  };
21
- var result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
21
+ const result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
22
22
  expect(result).toEqual(false);
23
23
  });
24
- it('Should return false if the field does not exist', function () {
25
- var CONFIG = {
24
+ it('Should return false if the field does not exist', () => {
25
+ const CONFIG = {
26
26
  field: 'charlie'
27
27
  };
28
- var result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
28
+ const result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
29
29
  expect(result).toEqual(false);
30
30
  });
31
- it('Should return false when an invalid config is used', function () {
32
- var result = (0, _checkValueIsTruthy.default)(null, DATA);
31
+ it('Should return false when an invalid config is used', () => {
32
+ const result = (0, _checkValueIsTruthy.default)(null, DATA);
33
33
  expect(result).toEqual(false);
34
34
  });
35
- it('Should return false when invalid data is used', function () {
36
- var CONFIG = {
35
+ it('Should return false when invalid data is used', () => {
36
+ const CONFIG = {
37
37
  field: 'alpha'
38
38
  };
39
- var result = (0, _checkValueIsTruthy.default)(CONFIG, null);
39
+ const result = (0, _checkValueIsTruthy.default)(CONFIG, null);
40
40
  expect(result).toEqual(false);
41
41
  });
42
42
  });
@@ -6,17 +6,17 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  // Global imports.
11
11
 
12
12
  // Local imports.
13
13
 
14
- var getFirstOf = function getFirstOf(config, data) {
15
- if (config !== null && config !== void 0 && config.fields) {
16
- var fieldValue;
17
- config.fields.find(function (field) {
18
- var fieldPath = _copReactComponents.Utils.interpolateString(field, data);
19
- var foundValue = (0, _getSourceData.default)(data, fieldPath);
14
+ const getFirstOf = (config, data) => {
15
+ if (config?.fields) {
16
+ let fieldValue;
17
+ config.fields.find(field => {
18
+ const fieldPath = _copReactComponents.Utils.interpolateString(field, data);
19
+ const foundValue = (0, _getSourceData.default)(data, fieldPath);
20
20
  if (foundValue) {
21
21
  fieldValue = foundValue;
22
22
  return true;
@@ -25,7 +25,6 @@ var getFirstOf = function getFirstOf(config, data) {
25
25
  });
26
26
  return fieldValue || (config.fallback ? _copReactComponents.Utils.interpolateString(config.fallback, data) : '');
27
27
  }
28
- return (config === null || config === void 0 ? void 0 : config.value) || null;
28
+ return config?.value || null;
29
29
  };
30
- var _default = getFirstOf;
31
- exports.default = _default;
30
+ var _default = exports.default = getFirstOf;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  var _getFirstOf = _interopRequireDefault(require("./getFirstOf"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('Utils.Operate.getFirstOf', function () {
6
- var DATA = {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('Utils.Operate.getFirstOf', () => {
6
+ const DATA = {
7
7
  name: 'sam',
8
8
  id: 1,
9
9
  test: ['2', '3'],
@@ -12,75 +12,75 @@ describe('Utils.Operate.getFirstOf', function () {
12
12
  otherIdDoc: '',
13
13
  anotherMadeUpId: 789
14
14
  };
15
- it('Should handle interpolated field strings', function () {
15
+ it('Should handle interpolated field strings', () => {
16
16
  // eslint-disable-next-line no-template-curly-in-string
17
- var CONFIG = {
17
+ const CONFIG = {
18
18
  fields: ['test[${id}]']
19
19
  };
20
- var result = (0, _getFirstOf.default)(CONFIG, DATA);
20
+ const result = (0, _getFirstOf.default)(CONFIG, DATA);
21
21
  expect(result).toEqual(DATA.test[1]);
22
22
  });
23
- it('Should return the value provided in config if no field is specified', function () {
24
- var CONFIG = {
23
+ it('Should return the value provided in config if no field is specified', () => {
24
+ const CONFIG = {
25
25
  value: '2'
26
26
  };
27
- var result = (0, _getFirstOf.default)(CONFIG, DATA);
27
+ const result = (0, _getFirstOf.default)(CONFIG, DATA);
28
28
  expect(result).toEqual(CONFIG.value);
29
29
  });
30
- it('Should return the fallback if the requested fields are not found', function () {
30
+ it('Should return the fallback if the requested fields are not found', () => {
31
31
  // eslint-disable-next-line no-template-curly-in-string
32
- var CONFIG = {
32
+ const CONFIG = {
33
33
  value: '2',
34
34
  fields: ['nonExistent'],
35
35
  fallback: "Test ${name}"
36
36
  };
37
- var result = (0, _getFirstOf.default)(CONFIG, DATA);
38
- expect(result).toEqual("Test ".concat(DATA.name));
37
+ const result = (0, _getFirstOf.default)(CONFIG, DATA);
38
+ expect(result).toEqual(`Test ${DATA.name}`);
39
39
  });
40
- it('Should return the value of the passportNumber field given in config', function () {
41
- var CONFIG = {
40
+ it('Should return the value of the passportNumber field given in config', () => {
41
+ const CONFIG = {
42
42
  fields: ['passportNumber', 'anotherMadeUpId', 'otherIdDoc']
43
43
  };
44
- var result = (0, _getFirstOf.default)(CONFIG, DATA);
44
+ const result = (0, _getFirstOf.default)(CONFIG, DATA);
45
45
  expect(result).toEqual(DATA.passportNumber);
46
46
  });
47
- it('Should return the value of the anotherMadeUpId field given in config', function () {
48
- var CONFIG = {
47
+ it('Should return the value of the anotherMadeUpId field given in config', () => {
48
+ const CONFIG = {
49
49
  fields: ['anotherMadeUpId', 'passportNumber', 'otherIdDoc']
50
50
  };
51
- var result = (0, _getFirstOf.default)(CONFIG, DATA);
51
+ const result = (0, _getFirstOf.default)(CONFIG, DATA);
52
52
  expect(result).toEqual(DATA.anotherMadeUpId);
53
53
  });
54
- it('Should return the value of the otherIdDoc field given in config', function () {
55
- var CONFIG = {
54
+ it('Should return the value of the otherIdDoc field given in config', () => {
55
+ const CONFIG = {
56
56
  fields: ['otherIdDoc', 'passportNumber', 'anotherMadeUpId']
57
57
  };
58
- var result = (0, _getFirstOf.default)(CONFIG, DATA);
58
+ const result = (0, _getFirstOf.default)(CONFIG, DATA);
59
59
  expect(result).toEqual(DATA.passportNumber);
60
60
  });
61
- it('Should return the value of the otherIdDoc field given in config, if it exists, otherwise next field next in the array', function () {
62
- var CONFIG = {
61
+ it('Should return the value of the otherIdDoc field given in config, if it exists, otherwise next field next in the array', () => {
62
+ const CONFIG = {
63
63
  fields: ['otherIdDoc', 'passportNumber', 'anotherMadeUpId']
64
64
  };
65
- var result = (0, _getFirstOf.default)(CONFIG, DATA);
65
+ const result = (0, _getFirstOf.default)(CONFIG, DATA);
66
66
  expect(result).toEqual(DATA.passportNumber);
67
67
  });
68
- it('Should return no value if elements in config.fields are not found in data', function () {
69
- var CONFIG = {
68
+ it('Should return no value if elements in config.fields are not found in data', () => {
69
+ const CONFIG = {
70
70
  fields: ['otherIdDoc1', 'passportNumber1', 'anotherMadeUpId1']
71
71
  };
72
- var result = (0, _getFirstOf.default)(CONFIG, DATA);
72
+ const result = (0, _getFirstOf.default)(CONFIG, DATA);
73
73
  expect(result).toEqual('');
74
74
  });
75
- it('Should return null when an invalid config is used', function () {
76
- var result = (0, _getFirstOf.default)(null, DATA);
75
+ it('Should return null when an invalid config is used', () => {
76
+ const result = (0, _getFirstOf.default)(null, DATA);
77
77
  expect(result).toEqual(null);
78
78
  });
79
- it('Should return null when invalid data is used', function () {
80
- var CONFIG = {
79
+ it('Should return null when invalid data is used', () => {
80
+ const CONFIG = {
81
81
  field: 'a'
82
82
  };
83
- var result = (0, _getFirstOf.default)(CONFIG, null);
83
+ const result = (0, _getFirstOf.default)(CONFIG, null);
84
84
  expect(result).toEqual(null);
85
85
  });
86
86
  });
@@ -6,16 +6,16 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  // Global imports.
11
11
 
12
12
  // Local imports.
13
13
 
14
- var getValueOrField = function getValueOrField(config, data) {
15
- if (config !== null && config !== void 0 && config.value) {
14
+ const getValueOrField = (config, data) => {
15
+ if (config?.value) {
16
16
  return config.value;
17
17
  }
18
- var path = _copReactComponents.Utils.interpolateString(config === null || config === void 0 ? void 0 : config.field, data);
18
+ const path = _copReactComponents.Utils.interpolateString(config?.field, data);
19
19
  return (0, _getSourceData.default)(data, path);
20
20
  };
21
21
 
@@ -28,18 +28,18 @@ var getValueOrField = function getValueOrField(config, data) {
28
28
  * @param {object} data A page's formData.
29
29
  * @returns The index of the matching value if one exists, or null.
30
30
  */
31
- var getIndexOfMatchingValueIn = function getIndexOfMatchingValueIn(config, data) {
31
+ const getIndexOfMatchingValueIn = (config, data) => {
32
32
  if (!config || !data) {
33
33
  return null;
34
34
  }
35
- var targetPath = _copReactComponents.Utils.interpolateString(config.target, data);
36
- var target = (0, _getSourceData.default)(data, targetPath);
37
- var value = getValueOrField(config, data);
38
- var cutoff = getValueOrField(config.cutoff, data);
39
- var ignore = getValueOrField(config.ignore, data);
40
- var result = null;
35
+ const targetPath = _copReactComponents.Utils.interpolateString(config.target, data);
36
+ const target = (0, _getSourceData.default)(data, targetPath);
37
+ const value = getValueOrField(config, data);
38
+ const cutoff = getValueOrField(config.cutoff, data);
39
+ const ignore = getValueOrField(config.ignore, data);
40
+ let result = null;
41
41
  if (target && value && Array.isArray(target)) {
42
- target.every(function (entry, index) {
42
+ target.every((entry, index) => {
43
43
  if (index === cutoff) {
44
44
  return false;
45
45
  }
@@ -64,5 +64,4 @@ var getIndexOfMatchingValueIn = function getIndexOfMatchingValueIn(config, data)
64
64
  }
65
65
  return typeof result === 'number' ? result.toString() : result;
66
66
  };
67
- var _default = getIndexOfMatchingValueIn;
68
- exports.default = _default;
67
+ var _default = exports.default = getIndexOfMatchingValueIn;