@ukhomeoffice/cop-react-form-renderer 5.14.2 → 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 +61 -106
  102. package/dist/hooks/useHooks.js +2 -5
  103. package/dist/hooks/useRefData.js +29 -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
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  var _getIndexOfMatchingValueIn = _interopRequireDefault(require("./getIndexOfMatchingValueIn"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('Utils.Operate.getIndexOfPriorMatchingValueIn', function () {
6
- var DATA = {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('Utils.Operate.getIndexOfPriorMatchingValueIn', () => {
6
+ const DATA = {
7
7
  arrayOfValues: ['abc', 'bcd', 'cde', 'def', {
8
8
  root: {
9
9
  branch: 'leaf'
@@ -17,147 +17,141 @@ describe('Utils.Operate.getIndexOfPriorMatchingValueIn', function () {
17
17
  cutoffName: 'cutoffIndex',
18
18
  ignoreName: 'ignoreIndex'
19
19
  };
20
- it('Should return the index of a matching value if one exists', function () {
21
- var CONFIG = {
20
+ it('Should return the index of a matching value if one exists', () => {
21
+ const CONFIG = {
22
22
  target: 'arrayOfValues',
23
23
  value: 'cde'
24
24
  };
25
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
25
+ const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
26
26
  expect(result).toEqual('2');
27
27
  });
28
- it('Should handle getting value from given field', function () {
29
- var CONFIG = {
28
+ it('Should handle getting value from given field', () => {
29
+ const CONFIG = {
30
30
  target: 'arrayOfValues',
31
31
  field: 'valueToSearchFor'
32
32
  };
33
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
33
+ const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
34
34
  expect(result).toEqual('2');
35
35
  });
36
- it('Should handle interpolated string for field', function () {
36
+ it('Should handle interpolated string for field', () => {
37
37
  // eslint-disable-next-line no-template-curly-in-string
38
- var CONFIG = {
38
+ const CONFIG = {
39
39
  target: 'arrayOfValues',
40
40
  field: '${fieldName}'
41
41
  };
42
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
42
+ const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
43
43
  expect(result).toEqual('2');
44
44
  });
45
- it('Should handle interpolated string for key', function () {
45
+ it('Should handle interpolated string for key', () => {
46
46
  // eslint-disable-next-line no-template-curly-in-string
47
- var CONFIG = {
47
+ const CONFIG = {
48
48
  target: 'arrayOfValues',
49
49
  key: 'root.branch',
50
50
  value: 'leaf'
51
51
  };
52
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
52
+ const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
53
53
  expect(result).toEqual('4');
54
54
  });
55
- it('Should handle a cutoff value being specified', function () {
56
- var CONFIG = {
55
+ it('Should handle a cutoff value being specified', () => {
56
+ const CONFIG = {
57
57
  target: 'arrayOfValues',
58
58
  value: 'cde',
59
59
  cutoff: {
60
60
  value: 1
61
61
  }
62
62
  };
63
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
63
+ const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
64
64
  expect(result).toEqual(null); // Cutoff occurs before matching value is reached.
65
65
  });
66
-
67
- it('Should handle a cutoff field being specified', function () {
68
- var CONFIG = {
66
+ it('Should handle a cutoff field being specified', () => {
67
+ const CONFIG = {
69
68
  target: 'arrayOfValues',
70
69
  value: 'cde',
71
70
  cutoff: {
72
71
  field: 'cutoffIndex'
73
72
  }
74
73
  };
75
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
74
+ const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
76
75
  expect(result).toEqual(null); // Cutoff occurs before matching value is reached.
77
76
  });
78
-
79
- it('Should handle interpolated string for cutoff.field', function () {
77
+ it('Should handle interpolated string for cutoff.field', () => {
80
78
  // eslint-disable-next-line no-template-curly-in-string
81
- var CONFIG = {
79
+ const CONFIG = {
82
80
  target: 'arrayOfValues',
83
81
  value: 'cde',
84
82
  cutoff: {
85
83
  field: '${cutoffName}'
86
84
  }
87
85
  };
88
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
86
+ const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
89
87
  expect(result).toEqual(null); // Cutoff occurs before matching value is reached.
90
88
  });
91
-
92
- it('Should handle an ignore value being specified', function () {
93
- var CONFIG = {
89
+ it('Should handle an ignore value being specified', () => {
90
+ const CONFIG = {
94
91
  target: 'arrayOfValues',
95
92
  value: 'cde',
96
93
  ignore: {
97
94
  value: 2
98
95
  }
99
96
  };
100
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
97
+ const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
101
98
  expect(result).toEqual(null); // Should ignore the matching value.
102
99
  });
103
-
104
- it('Should handle an ignore field being specified', function () {
105
- var CONFIG = {
100
+ it('Should handle an ignore field being specified', () => {
101
+ const CONFIG = {
106
102
  target: 'arrayOfValues',
107
103
  value: 'cde',
108
104
  ignore: {
109
105
  field: 'ignoreIndex'
110
106
  }
111
107
  };
112
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
108
+ const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
113
109
  expect(result).toEqual(null); // Should ignore the matching value.
114
110
  });
115
-
116
- it('Should handle interpolated string for ignore.field', function () {
111
+ it('Should handle interpolated string for ignore.field', () => {
117
112
  // eslint-disable-next-line no-template-curly-in-string
118
- var CONFIG = {
113
+ const CONFIG = {
119
114
  target: 'arrayOfValues',
120
115
  value: 'cde',
121
116
  ignore: {
122
117
  field: '${ignoreName}'
123
118
  }
124
119
  };
125
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
120
+ const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
126
121
  expect(result).toEqual(null); // Should ignore the matching value.
127
122
  });
128
-
129
- it('Should handle interpolated string for target', function () {
123
+ it('Should handle interpolated string for target', () => {
130
124
  // eslint-disable-next-line no-template-curly-in-string
131
- var CONFIG = {
125
+ const CONFIG = {
132
126
  target: '${targetName}',
133
127
  value: 'cde'
134
128
  };
135
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
129
+ const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
136
130
  expect(result).toEqual('2');
137
131
  });
138
- it('Should return null when the target does not exist', function () {
139
- var CONFIG = {
132
+ it('Should return null when the target does not exist', () => {
133
+ const CONFIG = {
140
134
  target: 'notARealTarget',
141
135
  value: 'cde'
142
136
  };
143
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
137
+ const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
144
138
  expect(result).toEqual(null);
145
139
  });
146
- it('Should return null when config is missing fields', function () {
147
- var CONFIG = {};
148
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
140
+ it('Should return null when config is missing fields', () => {
141
+ const CONFIG = {};
142
+ const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
149
143
  expect(result).toEqual(null);
150
144
  });
151
- it('Should return null when config is invalid', function () {
152
- var result = (0, _getIndexOfMatchingValueIn.default)(null, DATA);
145
+ it('Should return null when config is invalid', () => {
146
+ const result = (0, _getIndexOfMatchingValueIn.default)(null, DATA);
153
147
  expect(result).toEqual(null);
154
148
  });
155
- it('Should return null when data is invalid', function () {
156
- var CONFIG = {
149
+ it('Should return null when data is invalid', () => {
150
+ const CONFIG = {
157
151
  target: 'arrayOfValues',
158
152
  value: 'cde'
159
153
  };
160
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, null);
154
+ const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, null);
161
155
  expect(result).toEqual(null);
162
156
  });
163
157
  });
@@ -5,9 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _runPageOperations = _interopRequireDefault(require("./runPageOperations"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- var Operate = {
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ const Operate = {
10
10
  runPageOperations: _runPageOperations.default
11
11
  };
12
- var _default = Operate;
13
- exports.default = _default;
12
+ var _default = exports.default = Operate;
@@ -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,13 +18,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
18
18
  * @param {object} data The page's formData.
19
19
  * @param {function} onChange The page's onChange handler.
20
20
  */
21
- var persistValueInFormData = function persistValueInFormData(config, data, onChange) {
22
- var value;
23
- if (config !== null && config !== void 0 && config.field) {
24
- var fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
21
+ const persistValueInFormData = (config, data, onChange) => {
22
+ let value;
23
+ if (config?.field) {
24
+ const fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
25
25
  value = (0, _getSourceData.default)(data, fieldPath);
26
26
  } else {
27
- value = config === null || config === void 0 ? void 0 : config.value;
27
+ value = config?.value;
28
28
  }
29
29
  /* eslint-disable object-shorthand */
30
30
  if (value != null && config.name && data[config.name] !== value) {
@@ -36,5 +36,4 @@ var persistValueInFormData = function persistValueInFormData(config, data, onCha
36
36
  });
37
37
  }
38
38
  };
39
- var _default = persistValueInFormData;
40
- exports.default = _default;
39
+ var _default = exports.default = persistValueInFormData;
@@ -1,20 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  var _persistValueInFormData = _interopRequireDefault(require("./persistValueInFormData"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('Utils.Operate.persistValueInFormData', function () {
6
- var DATA = {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('Utils.Operate.persistValueInFormData', () => {
6
+ let DATA = {
7
7
  alpha: 'abc',
8
8
  beta: 'charlie',
9
9
  charlie: '123'
10
10
  };
11
- var ON_CHANGE_COUNT = 0;
12
- var ON_CHANGE = function ON_CHANGE(_ref) {
13
- var target = _ref.target;
11
+ let ON_CHANGE_COUNT = 0;
12
+ const ON_CHANGE = _ref => {
13
+ let {
14
+ target
15
+ } = _ref;
14
16
  DATA[target.name] = target.value;
15
17
  ON_CHANGE_COUNT += 1;
16
18
  };
17
- beforeEach(function () {
19
+ beforeEach(() => {
18
20
  DATA = {
19
21
  alpha: 'abc',
20
22
  beta: 'charlie',
@@ -22,8 +24,8 @@ describe('Utils.Operate.persistValueInFormData', function () {
22
24
  };
23
25
  ON_CHANGE_COUNT = 0;
24
26
  });
25
- it('Should trigger a change correctly', function () {
26
- var CONFIG = {
27
+ it('Should trigger a change correctly', () => {
28
+ const CONFIG = {
27
29
  name: 'alpha',
28
30
  value: 'bcd'
29
31
  };
@@ -35,8 +37,8 @@ describe('Utils.Operate.persistValueInFormData', function () {
35
37
  });
36
38
  expect(ON_CHANGE_COUNT).toEqual(1);
37
39
  });
38
- it('Should trigger a change correctly with boolean false', function () {
39
- var CONFIG = {
40
+ it('Should trigger a change correctly with boolean false', () => {
41
+ const CONFIG = {
40
42
  name: 'alpha',
41
43
  value: false
42
44
  };
@@ -48,8 +50,8 @@ describe('Utils.Operate.persistValueInFormData', function () {
48
50
  });
49
51
  expect(ON_CHANGE_COUNT).toEqual(1);
50
52
  });
51
- it('Should not call onChange when value is unchanged', function () {
52
- var CONFIG = {
53
+ it('Should not call onChange when value is unchanged', () => {
54
+ const CONFIG = {
53
55
  name: 'alpha',
54
56
  value: 'abc'
55
57
  };
@@ -61,8 +63,8 @@ describe('Utils.Operate.persistValueInFormData', function () {
61
63
  });
62
64
  expect(ON_CHANGE_COUNT).toEqual(0);
63
65
  });
64
- it('Should not call onChange if no value or field is given', function () {
65
- var CONFIG = {
66
+ it('Should not call onChange if no value or field is given', () => {
67
+ const CONFIG = {
66
68
  name: 'alpha'
67
69
  };
68
70
  (0, _persistValueInFormData.default)(CONFIG, DATA, ON_CHANGE);
@@ -73,8 +75,8 @@ describe('Utils.Operate.persistValueInFormData', function () {
73
75
  });
74
76
  expect(ON_CHANGE_COUNT).toEqual(0);
75
77
  });
76
- it('Should not call onChange if no name is given', function () {
77
- var CONFIG = {
78
+ it('Should not call onChange if no name is given', () => {
79
+ const CONFIG = {
78
80
  field: 'charlie'
79
81
  };
80
82
  (0, _persistValueInFormData.default)(CONFIG, DATA, ON_CHANGE);
@@ -85,8 +87,8 @@ describe('Utils.Operate.persistValueInFormData', function () {
85
87
  });
86
88
  expect(ON_CHANGE_COUNT).toEqual(0);
87
89
  });
88
- it('Should not call onChange if field cannot be found', function () {
89
- var CONFIG = {
90
+ it('Should not call onChange if field cannot be found', () => {
91
+ const CONFIG = {
90
92
  name: 'alpha',
91
93
  field: 'delta'
92
94
  };
@@ -98,9 +100,9 @@ describe('Utils.Operate.persistValueInFormData', function () {
98
100
  });
99
101
  expect(ON_CHANGE_COUNT).toEqual(0);
100
102
  });
101
- it('Should correctly interpolate a field value', function () {
103
+ it('Should correctly interpolate a field value', () => {
102
104
  // eslint-disable-next-line no-template-curly-in-string
103
- var CONFIG = {
105
+ const CONFIG = {
104
106
  name: 'alpha',
105
107
  field: '${beta}'
106
108
  };
@@ -12,20 +12,20 @@ var _setValueInFormData = _interopRequireDefault(require("./setValueInFormData")
12
12
  var _shouldRun = _interopRequireDefault(require("./shouldRun"));
13
13
  var _setDataItem = _interopRequireDefault(require("../Data/setDataItem"));
14
14
  var _getFirstOf = _interopRequireDefault(require("./getFirstOf"));
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
16
  // Global imports.
17
17
 
18
18
  // Local imports.
19
19
 
20
- var functions = {
20
+ const functions = {
21
21
  checkValueIsTruthy: _checkValueIsTruthy.default,
22
22
  getIndexOfMatchingValueIn: _getIndexOfMatchingValueIn.default,
23
23
  persistValueInFormData: _persistValueInFormData.default,
24
24
  setValueInFormData: _setValueInFormData.default,
25
25
  getFirstOf: _getFirstOf.default
26
26
  };
27
- var doOperation = function doOperation(config, data, onChange) {
28
- var fn = functions[config.function];
27
+ const doOperation = (config, data, onChange) => {
28
+ const fn = functions[config.function];
29
29
  if (typeof fn === 'function') {
30
30
  return fn(config, data, onChange);
31
31
  }
@@ -49,15 +49,15 @@ var doOperation = function doOperation(config, data, onChange) {
49
49
  * @param {function} onChange The page's onChange handler.
50
50
  * @returns data with the results of any operations included.
51
51
  */
52
- var runPageOperations = function runPageOperations(config, data, onChange) {
53
- if (config !== null && config !== void 0 && config.operations && data) {
54
- config.operations.forEach(function (op) {
52
+ const runPageOperations = (config, data, onChange) => {
53
+ if (config?.operations && data) {
54
+ config.operations.forEach(op => {
55
55
  if ((0, _shouldRun.default)(op.run_when, data)) {
56
- var result = doOperation(op, data, onChange);
56
+ const result = doOperation(op, data, onChange);
57
57
  if (op.output) {
58
58
  // Remove array indexers and replace them with dot separators. This ensures that outputPath will
59
59
  // work with setDataItem.
60
- var outputPath = _copReactComponents.Utils.interpolateString(op.output, data).replace('[', '.').replace(']', '');
60
+ const outputPath = _copReactComponents.Utils.interpolateString(op.output, data).replace('[', '.').replace(']', '');
61
61
  (0, _setDataItem.default)(data, outputPath, result);
62
62
  }
63
63
  }
@@ -65,5 +65,4 @@ var runPageOperations = function runPageOperations(config, data, onChange) {
65
65
  }
66
66
  return data;
67
67
  };
68
- var _default = runPageOperations;
69
- exports.default = _default;
68
+ var _default = exports.default = runPageOperations;
@@ -1,41 +1,36 @@
1
1
  "use strict";
2
2
 
3
3
  var _runPageOperations = _interopRequireDefault(require("./runPageOperations"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- 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); }
6
- 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; }
7
- 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; }
8
- 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; }
9
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10
- 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); }
11
- describe('Utils.Operate.runPageOperations', function () {
12
- var DATA = {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('Utils.Operate.runPageOperations', () => {
6
+ const DATA = {
13
7
  alpha: 'abc',
14
8
  bravo: ['bcd', 'cde', 'charlie'],
15
9
  charlie: 'def',
16
10
  delta: 'root',
17
11
  array: ['123', '234', '456']
18
12
  };
19
- it('Should return an empty object when no operations are specified', function () {
20
- var PAGE = {};
21
- var result = (0, _runPageOperations.default)(PAGE, DATA);
13
+ it('Should return an empty object when no operations are specified', () => {
14
+ const PAGE = {};
15
+ const result = (0, _runPageOperations.default)(PAGE, DATA);
22
16
  expect(result).toEqual(DATA);
23
17
  });
24
- it('Should handle a single operation correctly', function () {
25
- var PAGE = {
18
+ it('Should handle a single operation correctly', () => {
19
+ const PAGE = {
26
20
  operations: [{
27
21
  output: 'firstOpResult',
28
22
  function: 'setValueInFormData',
29
23
  field: 'alpha'
30
24
  }]
31
25
  };
32
- var result = (0, _runPageOperations.default)(PAGE, DATA);
33
- expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
26
+ const result = (0, _runPageOperations.default)(PAGE, DATA);
27
+ expect(result).toEqual({
28
+ ...DATA,
34
29
  firstOpResult: 'abc'
35
- }));
30
+ });
36
31
  });
37
- it('Should handle a multiple operations correctly', function () {
38
- var PAGE = {
32
+ it('Should handle a multiple operations correctly', () => {
33
+ const PAGE = {
39
34
  operations: [{
40
35
  output: 'firstOpResult',
41
36
  function: 'setValueInFormData',
@@ -46,14 +41,15 @@ describe('Utils.Operate.runPageOperations', function () {
46
41
  field: 'bravo[1]'
47
42
  }]
48
43
  };
49
- var result = (0, _runPageOperations.default)(PAGE, DATA);
50
- expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
44
+ const result = (0, _runPageOperations.default)(PAGE, DATA);
45
+ expect(result).toEqual({
46
+ ...DATA,
51
47
  firstOpResult: 'abc',
52
48
  secondOpResult: 'cde'
53
- }));
49
+ });
54
50
  });
55
- it('Should handle chained operations correctly', function () {
56
- var PAGE = {
51
+ it('Should handle chained operations correctly', () => {
52
+ const PAGE = {
57
53
  operations: [{
58
54
  output: 'firstOpResult',
59
55
  function: 'setValueInFormData',
@@ -65,14 +61,15 @@ describe('Utils.Operate.runPageOperations', function () {
65
61
  field: '${firstOpResult}'
66
62
  }]
67
63
  };
68
- var result = (0, _runPageOperations.default)(PAGE, DATA);
69
- expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
64
+ const result = (0, _runPageOperations.default)(PAGE, DATA);
65
+ expect(result).toEqual({
66
+ ...DATA,
70
67
  firstOpResult: 'charlie',
71
68
  secondOpResult: 'def'
72
- }));
69
+ });
73
70
  });
74
- it('Should handle an interpolated output string correctly', function () {
75
- var PAGE = {
71
+ it('Should handle an interpolated output string correctly', () => {
72
+ const PAGE = {
76
73
  operations: [{
77
74
  function: 'setValueInFormData',
78
75
  value: 'leaf',
@@ -80,26 +77,28 @@ describe('Utils.Operate.runPageOperations', function () {
80
77
  output: '${delta}.trunk.branch'
81
78
  }]
82
79
  };
83
- var result = (0, _runPageOperations.default)(PAGE, DATA);
84
- expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
80
+ const result = (0, _runPageOperations.default)(PAGE, DATA);
81
+ expect(result).toEqual({
82
+ ...DATA,
85
83
  root: {
86
84
  trunk: {
87
85
  branch: 'leaf'
88
86
  }
89
87
  }
90
- }));
88
+ });
91
89
  });
92
- it('Should handle an output string with array indeces in', function () {
93
- var PAGE = {
90
+ it('Should handle an output string with array indeces in', () => {
91
+ const PAGE = {
94
92
  operations: [{
95
93
  function: 'setValueInFormData',
96
94
  value: '000',
97
95
  output: 'array[1]'
98
96
  }]
99
97
  };
100
- var result = (0, _runPageOperations.default)(PAGE, DATA);
101
- expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
98
+ const result = (0, _runPageOperations.default)(PAGE, DATA);
99
+ expect(result).toEqual({
100
+ ...DATA,
102
101
  array: ['123', '000', '456']
103
- }));
102
+ });
104
103
  });
105
104
  });
@@ -6,17 +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 setValueInFormData = function setValueInFormData(config, data) {
15
- if (config !== null && config !== void 0 && config.field) {
16
- var fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
14
+ const setValueInFormData = (config, data) => {
15
+ if (config?.field) {
16
+ const fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
17
17
  return (0, _getSourceData.default)(data, fieldPath) || null;
18
18
  }
19
- return (config === null || config === void 0 ? void 0 : config.value) || null;
19
+ return config?.value || null;
20
20
  };
21
- var _default = setValueInFormData;
22
- exports.default = _default;
21
+ var _default = exports.default = setValueInFormData;
@@ -1,44 +1,44 @@
1
1
  "use strict";
2
2
 
3
3
  var _setValueInFormData = _interopRequireDefault(require("./setValueInFormData"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('Utils.Operate.setValueInFormData', function () {
6
- var DATA = {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('Utils.Operate.setValueInFormData', () => {
6
+ const DATA = {
7
7
  a: '1',
8
8
  b: ['2', '3'],
9
9
  indexOfThree: 1
10
10
  };
11
- it('Should return the value provided in config if no field is specified', function () {
12
- var CONFIG = {
11
+ it('Should return the value provided in config if no field is specified', () => {
12
+ const CONFIG = {
13
13
  value: '2'
14
14
  };
15
- var result = (0, _setValueInFormData.default)(CONFIG, DATA);
15
+ const result = (0, _setValueInFormData.default)(CONFIG, DATA);
16
16
  expect(result).toEqual(CONFIG.value);
17
17
  });
18
- it('Should return the value of the field given in config, if it exists', function () {
19
- var CONFIG = {
18
+ it('Should return the value of the field given in config, if it exists', () => {
19
+ const CONFIG = {
20
20
  field: 'a'
21
21
  };
22
- var result = (0, _setValueInFormData.default)(CONFIG, DATA);
22
+ const result = (0, _setValueInFormData.default)(CONFIG, DATA);
23
23
  expect(result).toEqual(DATA.a);
24
24
  });
25
- it('Should handle interpolated field strings', function () {
25
+ it('Should handle interpolated field strings', () => {
26
26
  // eslint-disable-next-line no-template-curly-in-string
27
- var CONFIG = {
27
+ const CONFIG = {
28
28
  field: 'b[${indexOfThree}]'
29
29
  };
30
- var result = (0, _setValueInFormData.default)(CONFIG, DATA);
30
+ const result = (0, _setValueInFormData.default)(CONFIG, DATA);
31
31
  expect(result).toEqual(DATA.b[1]);
32
32
  });
33
- it('Should return null when an invalid config is used', function () {
34
- var result = (0, _setValueInFormData.default)(null, DATA);
33
+ it('Should return null when an invalid config is used', () => {
34
+ const result = (0, _setValueInFormData.default)(null, DATA);
35
35
  expect(result).toEqual(null);
36
36
  });
37
- it('Should return null when invalid data is used', function () {
38
- var CONFIG = {
37
+ it('Should return null when invalid data is used', () => {
38
+ const CONFIG = {
39
39
  field: 'a'
40
40
  };
41
- var result = (0, _setValueInFormData.default)(CONFIG, null);
41
+ const result = (0, _setValueInFormData.default)(CONFIG, null);
42
42
  expect(result).toEqual(null);
43
43
  });
44
44
  });