@ukhomeoffice/cop-react-form-renderer 6.0.6-peter → 6.7.0-alpha

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 (390) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +12 -12
  2. package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.scss +2 -2
  5. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
  6. package/dist/components/CollectionPage/CollectionPage.js +75 -59
  7. package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
  8. package/dist/components/CollectionSummary/BannerStrip.js +15 -14
  9. package/dist/components/CollectionSummary/BannerStrip.scss +2 -2
  10. package/dist/components/CollectionSummary/BannerStrip.test.js +98 -59
  11. package/dist/components/CollectionSummary/CollectionSummary.js +144 -135
  12. package/dist/components/CollectionSummary/CollectionSummary.scss +1 -1
  13. package/dist/components/CollectionSummary/CollectionSummary.test.js +167 -197
  14. package/dist/components/CollectionSummary/Confirmation.js +14 -12
  15. package/dist/components/CollectionSummary/Confirmation.scss +1 -1
  16. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  17. package/dist/components/CollectionSummary/RenderListView.js +54 -56
  18. package/dist/components/CollectionSummary/RenderListView.scss +10 -1
  19. package/dist/components/CollectionSummary/RenderListView.test.js +89 -78
  20. package/dist/components/CollectionSummary/SummaryCard.js +135 -145
  21. package/dist/components/CollectionSummary/SummaryCard.scss +2 -1
  22. package/dist/components/CollectionSummary/SummaryCard.test.js +943 -932
  23. package/dist/components/CollectionSummary/SummaryCardDetails.js +120 -62
  24. package/dist/components/CollectionSummary/SummaryCardDetails.scss +43 -6
  25. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +261 -120
  26. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +38 -33
  27. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -73
  28. package/dist/components/FormComponent/Collection.js +81 -108
  29. package/dist/components/FormComponent/Collection.test.js +909 -943
  30. package/dist/components/FormComponent/Container.js +40 -38
  31. package/dist/components/FormComponent/Container.test.js +314 -345
  32. package/dist/components/FormComponent/FormComponent.js +80 -71
  33. package/dist/components/FormComponent/FormComponent.test.js +353 -414
  34. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  35. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  36. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  37. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  38. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  39. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  40. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  41. package/dist/components/FormComponent/helpers/index.js +4 -4
  42. package/dist/components/FormPage/FormPage.js +65 -80
  43. package/dist/components/FormPage/FormPage.scss +1 -1
  44. package/dist/components/FormPage/FormPage.test.js +127 -163
  45. package/dist/components/FormRenderer/FormRenderer.js +150 -183
  46. package/dist/components/FormRenderer/FormRenderer.scss +1 -1
  47. package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
  48. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  49. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  50. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  51. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  52. package/dist/components/FormRenderer/handlers/index.js +1 -1
  53. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  54. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  55. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  56. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  57. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  58. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
  59. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
  60. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  61. package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
  62. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  63. package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
  64. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  65. package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
  66. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  67. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  68. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  69. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  70. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  71. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  72. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
  73. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
  74. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
  75. package/dist/components/FormRenderer/helpers/index.js +2 -4
  76. package/dist/components/FormRenderer/onCYAAction.js +59 -51
  77. package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
  78. package/dist/components/FormRenderer/onPageAction.js +50 -48
  79. package/dist/components/FormRenderer/onPageAction.test.js +241 -217
  80. package/dist/components/FormRenderer/onTaskAction.js +9 -13
  81. package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
  82. package/dist/components/PageActions/ActionButton.js +12 -15
  83. package/dist/components/PageActions/ActionButton.test.js +56 -78
  84. package/dist/components/PageActions/PageActions.js +10 -10
  85. package/dist/components/PageActions/PageActions.test.js +86 -115
  86. package/dist/components/SummaryList/GroupAction.js +9 -17
  87. package/dist/components/SummaryList/GroupAction.test.js +37 -33
  88. package/dist/components/SummaryList/RowAction.js +11 -16
  89. package/dist/components/SummaryList/RowAction.test.js +37 -33
  90. package/dist/components/SummaryList/SummaryList.js +21 -26
  91. package/dist/components/SummaryList/SummaryList.scss +2 -2
  92. package/dist/components/SummaryList/SummaryList.test.js +143 -166
  93. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
  94. package/dist/components/SummaryList/SummaryListRow.js +6 -4
  95. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
  96. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  97. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  98. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  99. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  100. package/dist/components/SummaryList/helpers/index.js +1 -1
  101. package/dist/components/TaskList/Task.js +19 -29
  102. package/dist/components/TaskList/Task.test.js +83 -76
  103. package/dist/components/TaskList/TaskList.js +45 -71
  104. package/dist/components/TaskList/TaskList.scss +1 -1
  105. package/dist/components/TaskList/TaskList.test.js +113 -111
  106. package/dist/components/TaskList/TaskState.js +7 -5
  107. package/dist/components/TaskList/TaskState.test.js +52 -45
  108. package/dist/components/index.js +7 -7
  109. package/dist/context/HooksContext/HooksContext.js +57 -80
  110. package/dist/context/HooksContext/HooksContext.test.js +26 -35
  111. package/dist/context/HooksContext/index.js +3 -4
  112. package/dist/context/ValidationContext/ValidationContext.js +65 -72
  113. package/dist/context/ValidationContext/ValidationContext.test.js +58 -61
  114. package/dist/context/ValidationContext/index.js +3 -4
  115. package/dist/context/index.js +2 -2
  116. package/dist/hooks/index.js +9 -10
  117. package/dist/hooks/useAxios.js +14 -40
  118. package/dist/hooks/useGetRequest.js +61 -97
  119. package/dist/hooks/useHooks.js +1 -3
  120. package/dist/hooks/useRefData.js +27 -40
  121. package/dist/hooks/useValidation.js +1 -3
  122. package/dist/index.js +13 -14
  123. package/dist/models/CollectionLabels.js +1 -1
  124. package/dist/models/ComponentTypes.js +25 -25
  125. package/dist/models/EventTypes.js +4 -4
  126. package/dist/models/FormPages.js +4 -4
  127. package/dist/models/FormTypes.js +8 -8
  128. package/dist/models/HubFormats.js +3 -3
  129. package/dist/models/PageAction.js +44 -38
  130. package/dist/models/TaskStates.js +29 -28
  131. package/dist/models/index.js +9 -9
  132. package/dist/setupTests.js +30 -31
  133. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  134. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
  136. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
  138. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
  139. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  140. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
  142. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
  148. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
  150. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
  151. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
  152. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
  153. package/dist/utils/CheckYourAnswers/index.js +1 -1
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -5
  155. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +29 -24
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -4
  157. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +7 -27
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  159. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +29 -19
  161. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +66 -22
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  163. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  165. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  166. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  167. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  168. package/dist/utils/CollectionPage/getErrorsForCollection.js +55 -0
  169. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +153 -0
  170. package/dist/utils/CollectionPage/getQuickEditPage.js +37 -23
  171. package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
  172. package/dist/utils/CollectionPage/index.js +3 -1
  173. package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
  174. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
  176. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  177. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -17
  178. package/dist/utils/CollectionPage/setCollectionPageData.test.js +38 -20
  179. package/dist/utils/Component/addShowWhen.js +4 -8
  180. package/dist/utils/Component/addShowWhen.test.js +37 -37
  181. package/dist/utils/Component/applyToComponentTree.js +18 -18
  182. package/dist/utils/Component/applyToComponentTree.test.js +27 -32
  183. package/dist/utils/Component/cleanAttributes.js +10 -13
  184. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  185. package/dist/utils/Component/elevateNestedComponents.js +5 -5
  186. package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
  187. package/dist/utils/Component/getComponent.js +88 -94
  188. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
  190. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
  191. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
  192. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
  193. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
  194. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
  195. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
  196. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
  197. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
  198. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
  199. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
  200. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  201. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
  202. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
  203. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
  204. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
  205. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
  206. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
  207. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
  208. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  209. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
  210. package/dist/utils/Component/getDefaultValue.js +6 -8
  211. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  212. package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
  213. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  214. package/dist/utils/Component/index.js +1 -1
  215. package/dist/utils/Component/isEditable.js +2 -4
  216. package/dist/utils/Component/isEditable.test.js +14 -15
  217. package/dist/utils/Component/optionIsSelected.js +1 -1
  218. package/dist/utils/Component/optionIsSelected.test.js +9 -9
  219. package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
  220. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  221. package/dist/utils/Component/showComponent.js +1 -1
  222. package/dist/utils/Component/showComponent.test.js +28 -28
  223. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  224. package/dist/utils/Condition/index.js +1 -1
  225. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  226. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  227. package/dist/utils/Condition/meetsCondition.js +28 -19
  228. package/dist/utils/Condition/meetsCondition.test.js +476 -376
  229. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  230. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  231. package/dist/utils/Condition/setupConditions.js +13 -18
  232. package/dist/utils/Condition/setupConditions.test.js +7 -7
  233. package/dist/utils/Container/getEditableComponents.js +3 -5
  234. package/dist/utils/Container/getEditableComponents.test.js +43 -45
  235. package/dist/utils/Container/index.js +1 -1
  236. package/dist/utils/Container/setupNesting.js +16 -20
  237. package/dist/utils/Container/setupNesting.test.js +27 -30
  238. package/dist/utils/Container/showContainer.js +3 -7
  239. package/dist/utils/Container/showContainer.test.js +30 -30
  240. package/dist/utils/Data/applyFormula.js +38 -48
  241. package/dist/utils/Data/applyFormula.test.js +20 -20
  242. package/dist/utils/Data/getAutocompleteSource.js +18 -26
  243. package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
  244. package/dist/utils/Data/getDataPath.js +18 -28
  245. package/dist/utils/Data/getDataPath.test.js +12 -12
  246. package/dist/utils/Data/getOptions.js +29 -25
  247. package/dist/utils/Data/getOptions.test.js +93 -20
  248. package/dist/utils/Data/getSourceData.js +6 -19
  249. package/dist/utils/Data/getSourceData.test.js +84 -80
  250. package/dist/utils/Data/index.js +1 -1
  251. package/dist/utils/Data/nestInRefdataOptions.js +42 -0
  252. package/dist/utils/Data/nestInRefdataOptions.test.js +236 -0
  253. package/dist/utils/Data/refDataToOptions.js +10 -13
  254. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  255. package/dist/utils/Data/setDataItem.js +7 -8
  256. package/dist/utils/Data/setDataItem.test.js +37 -37
  257. package/dist/utils/Data/setupFormData.js +13 -21
  258. package/dist/utils/Data/setupFormData.test.js +51 -50
  259. package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
  260. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  261. package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
  262. package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
  263. package/dist/utils/FormPage/getConditionalText.js +3 -3
  264. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  265. package/dist/utils/FormPage/getFormPage.js +15 -16
  266. package/dist/utils/FormPage/getFormPage.test.js +47 -46
  267. package/dist/utils/FormPage/getFormPages.js +7 -12
  268. package/dist/utils/FormPage/getFormPages.test.js +20 -23
  269. package/dist/utils/FormPage/getPageActions.js +9 -15
  270. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  271. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  272. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  273. package/dist/utils/FormPage/index.js +2 -4
  274. package/dist/utils/FormPage/showFormPage.js +3 -7
  275. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  276. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  277. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  278. package/dist/utils/FormPage/useComponent.js +21 -28
  279. package/dist/utils/FormPage/useComponent.test.js +77 -79
  280. package/dist/utils/Format/formatData.js +1 -1
  281. package/dist/utils/Format/formatData.test.js +18 -18
  282. package/dist/utils/Format/formatDataForComponent.js +5 -6
  283. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  284. package/dist/utils/Format/formatDataForForm.js +6 -8
  285. package/dist/utils/Format/formatDataForForm.test.js +13 -16
  286. package/dist/utils/Format/formatDataForPage.js +4 -5
  287. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  288. package/dist/utils/Format/index.js +1 -1
  289. package/dist/utils/Hub/getFormHub.js +1 -1
  290. package/dist/utils/Hub/getFormHub.test.js +28 -31
  291. package/dist/utils/Hub/index.js +1 -1
  292. package/dist/utils/Meta/constants.js +2 -2
  293. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  294. package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
  295. package/dist/utils/Meta/documents/index.js +1 -1
  296. package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
  297. package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
  298. package/dist/utils/Meta/index.js +1 -1
  299. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  300. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  301. package/dist/utils/Operate/getFirstOf.js +5 -5
  302. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  303. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  304. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
  305. package/dist/utils/Operate/index.js +1 -1
  306. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  307. package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
  308. package/dist/utils/Operate/runPageOperations.js +7 -7
  309. package/dist/utils/Operate/runPageOperations.test.js +35 -36
  310. package/dist/utils/Operate/setValueInFormData.js +2 -2
  311. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  312. package/dist/utils/Operate/shouldRun.js +6 -6
  313. package/dist/utils/Operate/shouldRun.test.js +21 -27
  314. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  315. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  316. package/dist/utils/Validate/additional/index.js +6 -6
  317. package/dist/utils/Validate/additional/index.test.js +12 -12
  318. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  319. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  320. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  321. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  322. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
  323. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
  324. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  325. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  326. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  327. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  328. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  329. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  330. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  331. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  332. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  333. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  334. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  335. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  336. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  337. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  338. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
  339. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
  340. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  341. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
  342. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  343. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  344. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  345. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  346. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  347. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
  348. package/dist/utils/Validate/additional/utils.js +9 -22
  349. package/dist/utils/Validate/index.js +1 -1
  350. package/dist/utils/Validate/validateCollection.js +19 -25
  351. package/dist/utils/Validate/validateCollection.test.js +74 -66
  352. package/dist/utils/Validate/validateComponent.js +17 -15
  353. package/dist/utils/Validate/validateComponent.test.js +167 -146
  354. package/dist/utils/Validate/validateContainer.js +16 -19
  355. package/dist/utils/Validate/validateContainer.test.js +84 -45
  356. package/dist/utils/Validate/validateDate.js +15 -21
  357. package/dist/utils/Validate/validateDate.test.js +31 -32
  358. package/dist/utils/Validate/validateEmail.js +6 -8
  359. package/dist/utils/Validate/validateEmail.test.js +25 -25
  360. package/dist/utils/Validate/validateMultifile.js +5 -7
  361. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  362. package/dist/utils/Validate/validatePage.js +24 -18
  363. package/dist/utils/Validate/validatePage.test.js +263 -182
  364. package/dist/utils/Validate/validateRegex.js +3 -5
  365. package/dist/utils/Validate/validateRegex.test.js +14 -14
  366. package/dist/utils/Validate/validateRequired.js +4 -6
  367. package/dist/utils/Validate/validateRequired.test.js +18 -18
  368. package/dist/utils/Validate/validateTextArea.js +4 -6
  369. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  370. package/dist/utils/Validate/validateTime.js +11 -18
  371. package/dist/utils/Validate/validateTime.test.js +16 -16
  372. package/dist/utils/index.js +7 -9
  373. package/package.json +5 -5
  374. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
  375. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
  376. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
  377. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
  378. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
  379. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
  380. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
  381. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
  382. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
  383. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
  384. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
  385. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
  386. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
  387. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -175
  388. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -113
  389. package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -20
  390. package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
@@ -1,24 +1,21 @@
1
1
  "use strict";
2
2
 
3
- 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); }
4
3
  var _models = require("../../models");
5
4
  var _formatDataForPage = _interopRequireWildcard(require("./formatDataForPage"));
6
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
7
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
5
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
6
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
8
7
  // Local imports
9
8
 
10
- describe('utils', function () {
11
- describe('Format', function () {
12
- var setupField = function setupField(fieldId, format) {
13
- return {
14
- fieldId: fieldId,
15
- format: format
16
- };
17
- };
18
- describe('formatDataForPage', function () {
19
- it('should appropriately format a page of components', function () {
20
- var EVENT_TYPE = _models.EventTypes.SUBMIT;
21
- var COMPONENTS = [setupField('alpha', {
9
+ describe('utils', () => {
10
+ describe('Format', () => {
11
+ const setupField = (fieldId, format) => ({
12
+ fieldId,
13
+ format
14
+ });
15
+ describe('formatDataForPage', () => {
16
+ it('should appropriately format a page of components', () => {
17
+ const EVENT_TYPE = _models.EventTypes.SUBMIT;
18
+ const COMPONENTS = [setupField('alpha', {
22
19
  type: 'lowercase',
23
20
  on: _models.EventTypes.SUBMIT
24
21
  }),
@@ -35,14 +32,13 @@ describe('utils', function () {
35
32
  on: _models.EventTypes.BLUR
36
33
  }) // Should not be formatted because of event type
37
34
  ];
38
-
39
- var DATA = {
35
+ const DATA = {
40
36
  alpha: 'AlPhA',
41
37
  bravo: 'bRaVo',
42
38
  charlie: 'CHArlie',
43
39
  delta: 'deLTA'
44
40
  };
45
- var PAGE = {
41
+ const PAGE = {
46
42
  components: COMPONENTS
47
43
  };
48
44
  (0, _formatDataForPage.default)(PAGE, DATA, EVENT_TYPE);
@@ -54,10 +50,10 @@ describe('utils', function () {
54
50
  });
55
51
  });
56
52
  });
57
- describe('formatDataForPages', function () {
58
- it('should appropriately format multiple pages', function () {
59
- var EVENT_TYPE = _models.EventTypes.SUBMIT;
60
- var COMPONENTS = [setupField('alpha', {
53
+ describe('formatDataForPages', () => {
54
+ it('should appropriately format multiple pages', () => {
55
+ const EVENT_TYPE = _models.EventTypes.SUBMIT;
56
+ const COMPONENTS = [setupField('alpha', {
61
57
  type: 'lowercase',
62
58
  on: _models.EventTypes.SUBMIT
63
59
  }),
@@ -74,14 +70,13 @@ describe('utils', function () {
74
70
  on: _models.EventTypes.BLUR
75
71
  }) // Should not be formatted because of event type
76
72
  ];
77
-
78
- var DATA = {
73
+ const DATA = {
79
74
  alpha: 'AlPhA',
80
75
  bravo: 'bRaVo',
81
76
  charlie: 'CHArlie',
82
77
  delta: 'deLTA'
83
78
  };
84
- var PAGES = [{
79
+ const PAGES = [{
85
80
  components: COMPONENTS.slice(0, 1)
86
81
  }, {
87
82
  components: COMPONENTS.slice(2)
@@ -11,7 +11,7 @@ var _formatDataForPage = _interopRequireDefault(require("./formatDataForPage"));
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
  // Local imports
13
13
 
14
- var Format = {
14
+ const Format = {
15
15
  component: _formatDataForComponent.default,
16
16
  data: _formatData.default,
17
17
  form: _formatDataForForm.default,
@@ -22,7 +22,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
22
22
  * The string "CYA" if the CYA screen should be used, or;
23
23
  * A page configuration object if the CYA screen should not be used and components are defined.
24
24
  */
25
- var getFormHub = function getFormHub(type, hub, components, formData) {
25
+ const getFormHub = (type, hub, components, formData) => {
26
26
  if (type === _models.FormTypes.HUB && hub) {
27
27
  if (hub.format === _models.HubFormats.CYA) {
28
28
  return _models.HubFormats.CYA;
@@ -3,16 +3,12 @@
3
3
  var _models = require("../../models");
4
4
  var _getFormHub = _interopRequireDefault(require("./getFormHub"));
5
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); } // Local imports
12
- describe('utils', function () {
13
- describe('Hub', function () {
14
- describe('getFormHub', function () {
15
- var FORM_COMPONENTS = [{
6
+ // Local imports
7
+
8
+ describe('utils', () => {
9
+ describe('Hub', () => {
10
+ describe('getFormHub', () => {
11
+ const FORM_COMPONENTS = [{
16
12
  id: 'a',
17
13
  fieldId: 'a',
18
14
  label: 'Alpha',
@@ -33,33 +29,33 @@ describe('utils', function () {
33
29
  url: '${urls.refData}/v3/charlies'
34
30
  }
35
31
  }];
36
- var FORM_DATA = {
32
+ const FORM_DATA = {
37
33
  urls: {
38
34
  refData: 'https://ho.gov.uk/ref-data/'
39
35
  }
40
36
  };
41
- [_models.FormTypes.CYA, _models.FormTypes.FORM, _models.FormTypes.WIZARD].forEach(function (formType) {
42
- describe("when the FormType is \"".concat(formType, "\""), function () {
43
- it('should return undefined', function () {
37
+ [_models.FormTypes.CYA, _models.FormTypes.FORM, _models.FormTypes.WIZARD].forEach(formType => {
38
+ describe("when the FormType is \"".concat(formType, "\""), () => {
39
+ it('should return undefined', () => {
44
40
  expect((0, _getFormHub.default)(formType, {}, FORM_COMPONENTS, FORM_DATA)).toBeUndefined();
45
41
  });
46
42
  });
47
43
  });
48
- describe("when the FormType is \"".concat(_models.FormTypes.HUB, "\""), function () {
49
- it('should return undefined when there is no hub', function () {
44
+ describe("when the FormType is \"".concat(_models.FormTypes.HUB, "\""), () => {
45
+ it('should return undefined when there is no hub', () => {
50
46
  expect((0, _getFormHub.default)(_models.FormTypes.HUB, null, FORM_COMPONENTS, FORM_DATA)).toBeUndefined();
51
47
  });
52
- it("should return undefined when the format is not \"".concat(_models.HubFormats.CYA, "\" but hub also has no components"), function () {
48
+ it("should return undefined when the format is not \"".concat(_models.HubFormats.CYA, "\" but hub also has no components"), () => {
53
49
  expect((0, _getFormHub.default)(_models.FormTypes.HUB, {}, FORM_COMPONENTS, FORM_DATA)).toBeUndefined();
54
50
  });
55
- it("should return the string \"".concat(_models.HubFormats.CYA, "\" when the format is set to \"").concat(_models.HubFormats.CYA, "\""), function () {
56
- var HUB = {
51
+ it("should return the string \"".concat(_models.HubFormats.CYA, "\" when the format is set to \"").concat(_models.HubFormats.CYA, "\""), () => {
52
+ const HUB = {
57
53
  format: _models.HubFormats.CYA
58
54
  };
59
55
  expect((0, _getFormHub.default)(_models.FormTypes.HUB, HUB, FORM_COMPONENTS, FORM_DATA)).toEqual(_models.HubFormats.CYA);
60
56
  });
61
- it("should return an appropriate page when the format is not \"".concat(_models.HubFormats.CYA, "\" and hub contains components"), function () {
62
- var HUB = {
57
+ it("should return an appropriate page when the format is not \"".concat(_models.HubFormats.CYA, "\" and hub contains components"), () => {
58
+ const HUB = {
63
59
  title: 'Hub title',
64
60
  components: ['Opening paragraph', {
65
61
  type: 'heading',
@@ -69,32 +65,33 @@ describe('utils', function () {
69
65
  use: 'a'
70
66
  }]
71
67
  };
72
- var A = FORM_COMPONENTS[0];
68
+ const A = FORM_COMPONENTS[0];
73
69
  expect((0, _getFormHub.default)(_models.FormTypes.HUB, HUB, FORM_COMPONENTS, FORM_DATA)).toEqual({
74
70
  title: HUB.title,
75
71
  components: [{
76
72
  type: 'html',
77
73
  tagName: 'p',
78
74
  content: HUB.components[0]
79
- }, _objectSpread(_objectSpread({}, HUB.components[1]), {}, {
75
+ }, {
76
+ ...HUB.components[1],
80
77
  full_path: HUB.components[1].fieldId
81
- }), {
78
+ }, {
82
79
  type: 'html',
83
80
  tagName: 'p',
84
81
  content: HUB.components[2]
85
- }, _objectSpread(_objectSpread({
86
- use: 'a'
87
- }, A), {}, {
82
+ }, {
83
+ use: 'a',
84
+ ...A,
88
85
  cya_label: A.label,
89
86
  full_path: A.fieldId
90
- })],
87
+ }],
91
88
  formData: FORM_DATA
92
89
  });
93
90
  });
94
91
  });
95
- describe("when the FormType is \"".concat(_models.FormTypes.TASK, "\""), function () {
96
- it("should return the string \"".concat(_models.HubFormats.TASK, "\" when the format is set to \"").concat(_models.HubFormats.TASK, "\""), function () {
97
- var HUB = {
92
+ describe("when the FormType is \"".concat(_models.FormTypes.TASK, "\""), () => {
93
+ it("should return the string \"".concat(_models.HubFormats.TASK, "\" when the format is set to \"").concat(_models.HubFormats.TASK, "\""), () => {
94
+ const HUB = {
98
95
  format: _models.HubFormats.TASK
99
96
  };
100
97
  expect((0, _getFormHub.default)(_models.FormTypes.TASK, HUB, FORM_COMPONENTS, FORM_DATA)).toEqual(_models.HubFormats.TASK);
@@ -8,7 +8,7 @@ var _getFormHub = _interopRequireDefault(require("./getFormHub"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
9
  // Local imports
10
10
 
11
- var Hub = {
11
+ const Hub = {
12
12
  get: _getFormHub.default
13
13
  };
14
14
  var _default = exports.default = Hub;
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.META_PROPERTY = exports.META_DOCUMENTS_PROPERTY = void 0;
7
- var META_PROPERTY = exports.META_PROPERTY = 'meta';
8
- var META_DOCUMENTS_PROPERTY = exports.META_DOCUMENTS_PROPERTY = 'documents';
7
+ const META_PROPERTY = exports.META_PROPERTY = 'meta';
8
+ const META_DOCUMENTS_PROPERTY = exports.META_DOCUMENTS_PROPERTY = 'documents';
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
  var _constants = require("../constants");
8
8
  // Local imports
9
9
 
10
- var getDocuments = function getDocuments(formData) {
10
+ const getDocuments = formData => {
11
11
  var _formData$META_PROPER;
12
12
  return (formData === null || formData === void 0 || (_formData$META_PROPER = formData[_constants.META_PROPERTY]) === null || _formData$META_PROPER === void 0 ? void 0 : _formData$META_PROPER[_constants.META_DOCUMENTS_PROPERTY]) || [];
13
13
  };
@@ -3,35 +3,43 @@
3
3
  var _constants = require("../constants");
4
4
  var _getDocuments = _interopRequireDefault(require("./getDocuments"));
5
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 () {
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
  });
@@ -10,7 +10,7 @@ var _getDocuments = _interopRequireDefault(require("./getDocuments"));
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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
@@ -7,24 +7,22 @@ exports.default = void 0;
7
7
  var _constants = require("../constants");
8
8
  var _getDocuments = _interopRequireDefault(require("./getDocuments"));
9
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
- });
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;
@@ -3,57 +3,91 @@
3
3
  var _constants = require("../constants");
4
4
  var _setDocumentsForField = _interopRequireDefault(require("./setDocumentsForField"));
5
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 = {
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
  });
@@ -9,7 +9,7 @@ var _documents = _interopRequireDefault(require("./documents"));
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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
  };
@@ -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) {
21
+ const checkValueIsTruthy = (config, data) => {
22
22
  if (config !== null && config !== void 0 && config.field) {
23
- var fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
23
+ const fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
24
24
  return !!(0, _getSourceData.default)(data, fieldPath);
25
25
  }
26
26
  return false;
@@ -2,41 +2,41 @@
2
2
 
3
3
  var _checkValueIsTruthy = _interopRequireDefault(require("./checkValueIsTruthy"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('Utils.Operate.checkValueIsTruthy', function () {
6
- var DATA = {
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
  });
@@ -11,12 +11,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
11
11
 
12
12
  // Local imports.
13
13
 
14
- var getFirstOf = function getFirstOf(config, data) {
14
+ const getFirstOf = (config, data) => {
15
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);
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;