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