@ukhomeoffice/cop-react-form-renderer 5.90.0 → 5.90.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +15 -15
  2. package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +106 -142
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +563 -941
  5. package/dist/components/CheckYourAnswers/index.js +1 -1
  6. package/dist/components/CollectionPage/CollectionPage.js +76 -66
  7. package/dist/components/CollectionPage/CollectionPage.test.js +318 -369
  8. package/dist/components/CollectionPage/index.js +1 -1
  9. package/dist/components/CollectionSummary/BannerStrip.js +15 -15
  10. package/dist/components/CollectionSummary/BannerStrip.test.js +83 -79
  11. package/dist/components/CollectionSummary/CollectionSummary.js +109 -131
  12. package/dist/components/CollectionSummary/CollectionSummary.test.js +198 -180
  13. package/dist/components/CollectionSummary/Confirmation.js +15 -13
  14. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  15. package/dist/components/CollectionSummary/RenderListView.js +47 -55
  16. package/dist/components/CollectionSummary/RenderListView.test.js +82 -81
  17. package/dist/components/CollectionSummary/SummaryCard.js +121 -157
  18. package/dist/components/CollectionSummary/SummaryCard.test.js +970 -1000
  19. package/dist/components/CollectionSummary/SummaryCardDetails.js +103 -94
  20. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +187 -195
  21. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
  22. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +64 -76
  23. package/dist/components/CollectionSummary/index.js +1 -1
  24. package/dist/components/FormComponent/Collection.js +81 -117
  25. package/dist/components/FormComponent/Collection.test.js +910 -1082
  26. package/dist/components/FormComponent/Container.js +43 -38
  27. package/dist/components/FormComponent/Container.test.js +379 -411
  28. package/dist/components/FormComponent/FormComponent.js +71 -74
  29. package/dist/components/FormComponent/FormComponent.test.js +354 -415
  30. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  31. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  32. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  33. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  34. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  35. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  36. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  37. package/dist/components/FormComponent/helpers/index.js +5 -5
  38. package/dist/components/FormComponent/index.js +1 -1
  39. package/dist/components/FormPage/FormPage.js +71 -87
  40. package/dist/components/FormPage/FormPage.test.js +133 -170
  41. package/dist/components/FormPage/index.js +1 -1
  42. package/dist/components/FormRenderer/FormRenderer.js +153 -198
  43. package/dist/components/FormRenderer/FormRenderer.test.js +731 -1116
  44. package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
  45. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  46. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  47. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  48. package/dist/components/FormRenderer/handlers/index.js +2 -2
  49. package/dist/components/FormRenderer/handlers/navigate.js +4 -4
  50. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  51. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  52. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
  53. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  54. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
  55. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +27 -30
  56. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
  57. package/dist/components/FormRenderer/helpers/getCYA.js +5 -7
  58. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  59. package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
  60. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  61. package/dist/components/FormRenderer/helpers/getNextPageId.js +18 -32
  62. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  63. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  64. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  65. package/dist/components/FormRenderer/helpers/getRelevantPages.js +8 -11
  66. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  67. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +12 -13
  68. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
  69. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +65 -64
  70. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +72 -79
  71. package/dist/components/FormRenderer/helpers/index.js +2 -2
  72. package/dist/components/FormRenderer/index.js +1 -1
  73. package/dist/components/FormRenderer/onCYAAction.js +61 -54
  74. package/dist/components/FormRenderer/onCYAAction.test.js +165 -153
  75. package/dist/components/FormRenderer/onPageAction.js +45 -41
  76. package/dist/components/FormRenderer/onPageAction.test.js +225 -210
  77. package/dist/components/FormRenderer/onTaskAction.js +11 -15
  78. package/dist/components/FormRenderer/onTaskAction.test.js +94 -89
  79. package/dist/components/PageActions/ActionButton.js +13 -16
  80. package/dist/components/PageActions/ActionButton.test.js +57 -79
  81. package/dist/components/PageActions/PageActions.js +11 -11
  82. package/dist/components/PageActions/PageActions.test.js +87 -116
  83. package/dist/components/PageActions/index.js +1 -1
  84. package/dist/components/SummaryList/GroupAction.js +13 -21
  85. package/dist/components/SummaryList/GroupAction.test.js +41 -37
  86. package/dist/components/SummaryList/RowAction.js +12 -17
  87. package/dist/components/SummaryList/RowAction.test.js +41 -37
  88. package/dist/components/SummaryList/SummaryList.js +23 -28
  89. package/dist/components/SummaryList/SummaryList.test.js +179 -206
  90. package/dist/components/SummaryList/SummaryListHeadingRow.js +8 -6
  91. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
  92. package/dist/components/SummaryList/SummaryListRow.js +8 -6
  93. package/dist/components/SummaryList/SummaryListTitleRow.js +7 -5
  94. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +4 -6
  95. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
  96. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +4 -6
  97. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
  98. package/dist/components/SummaryList/helpers/index.js +2 -2
  99. package/dist/components/SummaryList/index.js +1 -1
  100. package/dist/components/TaskList/Task.js +20 -30
  101. package/dist/components/TaskList/Task.test.js +84 -77
  102. package/dist/components/TaskList/TaskList.js +53 -84
  103. package/dist/components/TaskList/TaskList.test.js +150 -150
  104. package/dist/components/TaskList/TaskState.js +8 -6
  105. package/dist/components/TaskList/TaskState.test.js +56 -49
  106. package/dist/components/TaskList/index.js +1 -1
  107. package/dist/components/index.js +8 -8
  108. package/dist/context/HooksContext/HooksContext.js +58 -81
  109. package/dist/context/HooksContext/HooksContext.test.js +27 -36
  110. package/dist/context/HooksContext/index.js +3 -4
  111. package/dist/context/ValidationContext/ValidationContext.js +44 -95
  112. package/dist/context/ValidationContext/ValidationContext.test.js +58 -70
  113. package/dist/context/ValidationContext/index.js +3 -4
  114. package/dist/context/index.js +3 -3
  115. package/dist/hooks/index.js +10 -11
  116. package/dist/hooks/useAxios.js +15 -41
  117. package/dist/hooks/useGetRequest.js +62 -98
  118. package/dist/hooks/useHooks.js +1 -3
  119. package/dist/hooks/useRefData.js +28 -41
  120. package/dist/hooks/useValidation.js +1 -3
  121. package/dist/index.js +14 -15
  122. package/dist/models/CollectionLabels.js +1 -1
  123. package/dist/models/ComponentTypes.js +25 -25
  124. package/dist/models/EventTypes.js +4 -4
  125. package/dist/models/FormPages.js +4 -4
  126. package/dist/models/FormTypes.js +8 -8
  127. package/dist/models/HubFormats.js +3 -3
  128. package/dist/models/PageAction.js +44 -38
  129. package/dist/models/TaskStates.js +29 -28
  130. package/dist/models/index.js +10 -10
  131. package/dist/setupTests.js +31 -32
  132. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  133. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
  134. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +17 -27
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +34 -36
  136. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +20 -34
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +43 -45
  138. package/dist/utils/CheckYourAnswers/getCYARow.js +8 -10
  139. package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
  140. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -25
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
  142. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +39 -45
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +72 -75
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +100 -105
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +218 -182
  146. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +26 -21
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
  148. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +15 -21
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +77 -83
  150. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
  151. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +14 -19
  152. package/dist/utils/CheckYourAnswers/index.js +2 -2
  153. package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
  155. package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
  157. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +21 -22
  159. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +15 -24
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +52 -43
  161. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
  163. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -12
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
  165. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -13
  166. package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
  167. package/dist/utils/CollectionPage/getErrorsForCollection.js +25 -26
  168. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
  169. package/dist/utils/CollectionPage/getQuickEditPage.js +37 -32
  170. package/dist/utils/CollectionPage/getQuickEditPage.test.js +18 -22
  171. package/dist/utils/CollectionPage/index.js +2 -2
  172. package/dist/utils/CollectionPage/mergeCollectionPages.js +37 -42
  173. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -22
  174. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
  176. package/dist/utils/CollectionPage/setCollectionPageData.js +13 -19
  177. package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
  178. package/dist/utils/Component/addShowWhen.js +4 -8
  179. package/dist/utils/Component/addShowWhen.test.js +38 -38
  180. package/dist/utils/Component/applyToComponentTree.js +19 -20
  181. package/dist/utils/Component/applyToComponentTree.test.js +28 -33
  182. package/dist/utils/Component/cleanAttributes.js +10 -13
  183. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  184. package/dist/utils/Component/elevateNestedComponents.js +6 -7
  185. package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
  186. package/dist/utils/Component/getComponent.js +90 -97
  187. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
  188. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +50 -63
  189. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
  190. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +30 -40
  191. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
  192. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
  193. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +22 -27
  194. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +12 -11
  195. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
  196. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
  197. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
  198. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
  199. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  200. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
  201. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
  202. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
  203. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
  204. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
  205. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +34 -41
  206. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +23 -32
  207. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  208. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
  209. package/dist/utils/Component/getDefaultValue.js +7 -9
  210. package/dist/utils/Component/getDefaultValue.test.js +13 -13
  211. package/dist/utils/Component/getDefaultValueFromConfig.js +24 -24
  212. package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
  213. package/dist/utils/Component/index.js +2 -2
  214. package/dist/utils/Component/isEditable.js +2 -4
  215. package/dist/utils/Component/isEditable.test.js +14 -15
  216. package/dist/utils/Component/optionIsSelected.js +2 -4
  217. package/dist/utils/Component/optionIsSelected.test.js +12 -12
  218. package/dist/utils/Component/setupContainerComponentsPath.js +29 -31
  219. package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
  220. package/dist/utils/Component/showComponent.js +3 -4
  221. package/dist/utils/Component/showComponent.test.js +29 -29
  222. package/dist/utils/Component/wrapInFormGroup.js +4 -4
  223. package/dist/utils/Condition/index.js +2 -2
  224. package/dist/utils/Condition/meetsAllConditions.js +9 -9
  225. package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
  226. package/dist/utils/Condition/meetsCondition.js +20 -31
  227. package/dist/utils/Condition/meetsCondition.test.js +403 -403
  228. package/dist/utils/Condition/meetsOneCondition.js +6 -6
  229. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  230. package/dist/utils/Condition/setupConditions.js +14 -19
  231. package/dist/utils/Condition/setupConditions.test.js +8 -8
  232. package/dist/utils/Container/getEditableComponents.js +4 -6
  233. package/dist/utils/Container/getEditableComponents.test.js +44 -46
  234. package/dist/utils/Container/index.js +2 -2
  235. package/dist/utils/Container/setupNesting.js +16 -22
  236. package/dist/utils/Container/setupNesting.test.js +28 -31
  237. package/dist/utils/Container/showContainer.js +4 -8
  238. package/dist/utils/Container/showContainer.test.js +31 -31
  239. package/dist/utils/Data/applyFormula.js +40 -50
  240. package/dist/utils/Data/applyFormula.test.js +26 -26
  241. package/dist/utils/Data/deleteValues.js +4 -8
  242. package/dist/utils/Data/deleteValues.test.js +11 -11
  243. package/dist/utils/Data/getAutocompleteSource.js +20 -29
  244. package/dist/utils/Data/getAutocompleteSource.test.js +81 -87
  245. package/dist/utils/Data/getDataPath.js +20 -30
  246. package/dist/utils/Data/getDataPath.test.js +20 -20
  247. package/dist/utils/Data/getOptions.js +27 -34
  248. package/dist/utils/Data/getOptions.test.js +28 -28
  249. package/dist/utils/Data/getSourceData.js +6 -19
  250. package/dist/utils/Data/getSourceData.test.js +85 -81
  251. package/dist/utils/Data/index.js +2 -2
  252. package/dist/utils/Data/nestInRefdataOptions.js +9 -16
  253. package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
  254. package/dist/utils/Data/refDataToOptions.js +11 -15
  255. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  256. package/dist/utils/Data/setDataItem.js +7 -8
  257. package/dist/utils/Data/setDataItem.test.js +38 -38
  258. package/dist/utils/Data/setupFormData.js +14 -22
  259. package/dist/utils/Data/setupFormData.test.js +52 -51
  260. package/dist/utils/Data/setupRefDataUrlForComponent.js +21 -28
  261. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
  262. package/dist/utils/FormPage/applyConditionalProperties.js +6 -10
  263. package/dist/utils/FormPage/applyConditionalProperties.test.js +16 -19
  264. package/dist/utils/FormPage/getConditionalText.js +4 -4
  265. package/dist/utils/FormPage/getConditionalText.test.js +35 -35
  266. package/dist/utils/FormPage/getFormPage.js +16 -17
  267. package/dist/utils/FormPage/getFormPage.test.js +49 -48
  268. package/dist/utils/FormPage/getFormPages.js +8 -13
  269. package/dist/utils/FormPage/getFormPages.test.js +22 -25
  270. package/dist/utils/FormPage/getPageActions.js +10 -17
  271. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  272. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  273. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  274. package/dist/utils/FormPage/index.js +3 -5
  275. package/dist/utils/FormPage/showFormPage.js +4 -8
  276. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  277. package/dist/utils/FormPage/showFormPageCYA.js +3 -3
  278. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  279. package/dist/utils/FormPage/useComponent.js +21 -28
  280. package/dist/utils/FormPage/useComponent.test.js +78 -80
  281. package/dist/utils/Format/formatData.js +1 -1
  282. package/dist/utils/Format/formatData.test.js +19 -19
  283. package/dist/utils/Format/formatDataForComponent.js +6 -7
  284. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  285. package/dist/utils/Format/formatDataForForm.js +6 -8
  286. package/dist/utils/Format/formatDataForForm.test.js +14 -17
  287. package/dist/utils/Format/formatDataForPage.js +4 -5
  288. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  289. package/dist/utils/Format/index.js +2 -2
  290. package/dist/utils/Hub/getFormHub.js +2 -2
  291. package/dist/utils/Hub/getFormHub.test.js +29 -32
  292. package/dist/utils/Hub/index.js +2 -2
  293. package/dist/utils/Meta/constants.js +2 -2
  294. package/dist/utils/Meta/documents/getDocuments.js +1 -4
  295. package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
  296. package/dist/utils/Meta/documents/index.js +2 -2
  297. package/dist/utils/Meta/documents/setDocumentsForField.js +15 -17
  298. package/dist/utils/Meta/documents/setDocumentsForField.test.js +69 -35
  299. package/dist/utils/Meta/index.js +2 -2
  300. package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
  301. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  302. package/dist/utils/Operate/deleteValueInFormData.js +3 -3
  303. package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
  304. package/dist/utils/Operate/getFirstOf.js +8 -8
  305. package/dist/utils/Operate/getFirstOf.test.js +33 -33
  306. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
  307. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
  308. package/dist/utils/Operate/getLength.js +11 -11
  309. package/dist/utils/Operate/getLength.test.js +19 -19
  310. package/dist/utils/Operate/index.js +2 -2
  311. package/dist/utils/Operate/persistValueInFormData.js +6 -6
  312. package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
  313. package/dist/utils/Operate/runPageOperations.js +9 -9
  314. package/dist/utils/Operate/runPageOperations.test.js +36 -37
  315. package/dist/utils/Operate/setValueInFormData.js +5 -5
  316. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  317. package/dist/utils/Operate/shouldRun.js +8 -8
  318. package/dist/utils/Operate/shouldRun.test.js +22 -28
  319. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
  320. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
  321. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -5
  322. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  323. package/dist/utils/Validate/additional/index.js +8 -8
  324. package/dist/utils/Validate/additional/index.test.js +22 -22
  325. package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
  326. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  327. package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
  328. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  329. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +9 -14
  330. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +38 -42
  331. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  333. package/dist/utils/Validate/additional/mustBeInTheFuture.js +4 -4
  334. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  335. package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
  336. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  337. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  338. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  339. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  340. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  341. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  342. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  343. package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
  344. package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
  345. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  346. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  347. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
  348. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +36 -40
  349. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +3 -5
  350. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
  351. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  352. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  353. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  354. package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
  355. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +3 -5
  356. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
  357. package/dist/utils/Validate/additional/utils.js +11 -24
  358. package/dist/utils/Validate/index.js +2 -2
  359. package/dist/utils/Validate/validateCollection.js +21 -27
  360. package/dist/utils/Validate/validateCollection.test.js +85 -77
  361. package/dist/utils/Validate/validateComponent.js +22 -23
  362. package/dist/utils/Validate/validateComponent.test.js +188 -165
  363. package/dist/utils/Validate/validateContainer.js +16 -21
  364. package/dist/utils/Validate/validateContainer.test.js +62 -56
  365. package/dist/utils/Validate/validateDate.js +17 -23
  366. package/dist/utils/Validate/validateDate.test.js +31 -32
  367. package/dist/utils/Validate/validateEmail.js +7 -9
  368. package/dist/utils/Validate/validateEmail.test.js +26 -26
  369. package/dist/utils/Validate/validateMultifile.js +5 -7
  370. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  371. package/dist/utils/Validate/validatePage.js +20 -24
  372. package/dist/utils/Validate/validatePage.test.js +227 -215
  373. package/dist/utils/Validate/validateRegex.js +5 -8
  374. package/dist/utils/Validate/validateRegex.test.js +17 -17
  375. package/dist/utils/Validate/validateRequired.js +5 -7
  376. package/dist/utils/Validate/validateRequired.test.js +19 -19
  377. package/dist/utils/Validate/validateTextArea.js +5 -7
  378. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  379. package/dist/utils/Validate/validateTime.js +12 -19
  380. package/dist/utils/Validate/validateTime.test.js +27 -27
  381. package/dist/utils/index.js +8 -10
  382. package/package.json +3 -2
@@ -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
  });
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _getCollectionPageActiveIndex = _interopRequireDefault(require("../CollectionPage/getCollectionPageActiveIndex"));
9
9
  var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  // Global imports.
12
12
 
13
13
  // Local imports.
@@ -21,30 +21,30 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
21
21
  * @param {object} data A page's formData.
22
22
  * @returns The length of a field if found or 0
23
23
  */
24
- var getLength = function getLength(config, data) {
24
+ const getLength = (config, data) => {
25
25
  if (!config || !data) {
26
26
  return null;
27
27
  }
28
28
 
29
29
  // Replace any instances of 'collectionName[]' with 'collectionName[activeIndex]'
30
- var pathParts = config.target.split('.');
31
- var updatedPath = '';
32
- pathParts.forEach(function (part) {
30
+ const pathParts = config.target.split('.');
31
+ let updatedPath = '';
32
+ pathParts.forEach(part => {
33
33
  if (updatedPath !== '') {
34
34
  updatedPath += '.';
35
35
  }
36
36
  if (part.slice(-2) === '[]') {
37
- var collectionName = part.slice(0, -2);
38
- var activeIndex = (0, _getCollectionPageActiveIndex.default)(collectionName, data);
39
- updatedPath += "".concat(collectionName, "[").concat(activeIndex, "]");
37
+ const collectionName = part.slice(0, -2);
38
+ const activeIndex = (0, _getCollectionPageActiveIndex.default)(collectionName, data);
39
+ updatedPath += `${collectionName}[${activeIndex}]`;
40
40
  } else {
41
41
  updatedPath += part;
42
42
  }
43
43
  });
44
44
 
45
45
  // Get the field and return its length
46
- var targetPath = _copReactComponents.Utils.interpolateString(updatedPath, data);
47
- var target = (0, _getSourceData.default)(data, targetPath);
48
- return (target === null || target === void 0 ? void 0 : target.length) || 0;
46
+ const targetPath = _copReactComponents.Utils.interpolateString(updatedPath, data);
47
+ const target = (0, _getSourceData.default)(data, targetPath);
48
+ return target?.length || 0;
49
49
  };
50
50
  var _default = exports.default = getLength;
@@ -1,28 +1,28 @@
1
1
  "use strict";
2
2
 
3
3
  var _getLength = _interopRequireDefault(require("./getLength"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('Utils.Operate.getLength', function () {
6
- it('returns null if config is not defined', function () {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('Utils.Operate.getLength', () => {
6
+ it('returns null if config is not defined', () => {
7
7
  expect((0, _getLength.default)(null, {})).toEqual(null);
8
8
  });
9
- it('returns null if data is not defined', function () {
9
+ it('returns null if data is not defined', () => {
10
10
  expect((0, _getLength.default)({}, null)).toEqual(null);
11
11
  });
12
- it('returns the length of a top level string', function () {
13
- var CONFIG = {
12
+ it('returns the length of a top level string', () => {
13
+ const CONFIG = {
14
14
  target: 'alpha'
15
15
  };
16
- var DATA = {
16
+ const DATA = {
17
17
  alpha: 'abcdef'
18
18
  };
19
19
  expect((0, _getLength.default)(CONFIG, DATA)).toEqual(6);
20
20
  });
21
- it('returns the length of a top level array', function () {
22
- var CONFIG = {
21
+ it('returns the length of a top level array', () => {
22
+ const CONFIG = {
23
23
  target: 'alpha'
24
24
  };
25
- var DATA = {
25
+ const DATA = {
26
26
  alpha: [{
27
27
  test: 'test'
28
28
  }, {
@@ -35,11 +35,11 @@ describe('Utils.Operate.getLength', function () {
35
35
  };
36
36
  expect((0, _getLength.default)(CONFIG, DATA)).toEqual(4);
37
37
  });
38
- it('returns 0 if the field cannot be found', function () {
39
- var CONFIG = {
38
+ it('returns 0 if the field cannot be found', () => {
39
+ const CONFIG = {
40
40
  target: 'alpha'
41
41
  };
42
- var DATA = {
42
+ const DATA = {
43
43
  beta: [{
44
44
  test: 'test'
45
45
  }, {
@@ -52,11 +52,11 @@ describe('Utils.Operate.getLength', function () {
52
52
  };
53
53
  expect((0, _getLength.default)(CONFIG, DATA)).toEqual(0);
54
54
  });
55
- it('returns the length of a field not on the top level', function () {
56
- var CONFIG = {
55
+ it('returns the length of a field not on the top level', () => {
56
+ const CONFIG = {
57
57
  target: 'alpha.beta'
58
58
  };
59
- var DATA = {
59
+ const DATA = {
60
60
  alphaActiveId: 3,
61
61
  alpha: {
62
62
  beta: 'qwerty'
@@ -64,11 +64,11 @@ describe('Utils.Operate.getLength', function () {
64
64
  };
65
65
  expect((0, _getLength.default)(CONFIG, DATA)).toEqual(6);
66
66
  });
67
- it('returns the length of an array nested under an array', function () {
68
- var CONFIG = {
67
+ it('returns the length of an array nested under an array', () => {
68
+ const CONFIG = {
69
69
  target: 'alpha[].beta'
70
70
  };
71
- var DATA = {
71
+ const DATA = {
72
72
  alphaActiveId: 3,
73
73
  alpha: [{
74
74
  id: 1,
@@ -5,8 +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
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) {
@@ -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
  };
@@ -14,12 +14,12 @@ var _shouldRun = _interopRequireDefault(require("./shouldRun"));
14
14
  var _setDataItem = _interopRequireDefault(require("../Data/setDataItem"));
15
15
  var _getFirstOf = _interopRequireDefault(require("./getFirstOf"));
16
16
  var _getLength = _interopRequireDefault(require("./getLength"));
17
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
18
  // Global imports.
19
19
 
20
20
  // Local imports.
21
21
 
22
- var functions = {
22
+ const functions = {
23
23
  checkValueIsTruthy: _checkValueIsTruthy.default,
24
24
  getIndexOfMatchingValueIn: _getIndexOfMatchingValueIn.default,
25
25
  persistValueInFormData: _persistValueInFormData.default,
@@ -28,8 +28,8 @@ var functions = {
28
28
  getLength: _getLength.default,
29
29
  getFirstOf: _getFirstOf.default
30
30
  };
31
- var doOperation = function doOperation(config, data, onChange) {
32
- var fn = functions[config.function];
31
+ const doOperation = (config, data, onChange) => {
32
+ const fn = functions[config.function];
33
33
  if (typeof fn === 'function') {
34
34
  return fn(config, data, onChange);
35
35
  }
@@ -53,15 +53,15 @@ var doOperation = function doOperation(config, data, onChange) {
53
53
  * @param {function} onChange The page's onChange handler.
54
54
  * @returns data with the results of any operations included.
55
55
  */
56
- var runPageOperations = function runPageOperations(config, data, onChange) {
57
- if (config !== null && config !== void 0 && config.operations && data) {
58
- config.operations.forEach(function (op) {
56
+ const runPageOperations = (config, data, onChange) => {
57
+ if (config?.operations && data) {
58
+ config.operations.forEach(op => {
59
59
  if ((0, _shouldRun.default)(op.run_when, data)) {
60
- var result = doOperation(op, data, onChange);
60
+ const result = doOperation(op, data, onChange);
61
61
  if (op.output) {
62
62
  // Remove array indexers and replace them with dot separators. This ensures that outputPath will
63
63
  // work with setDataItem.
64
- var outputPath = _copReactComponents.Utils.interpolateString(op.output, data).replace('[', '.').replace(']', '');
64
+ const outputPath = _copReactComponents.Utils.interpolateString(op.output, data).replace('[', '.').replace(']', '');
65
65
  (0, _setDataItem.default)(data, outputPath, result);
66
66
  }
67
67
  }