@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.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 (385) hide show
  1. package/README.md +5 -0
  2. package/dist/components/CheckYourAnswers/Answer.js +12 -11
  3. package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
  5. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
  6. package/dist/components/CheckYourAnswers/index.js +1 -1
  7. package/dist/components/CollectionPage/CollectionPage.js +62 -60
  8. package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
  9. package/dist/components/CollectionPage/index.js +1 -1
  10. package/dist/components/CollectionSummary/BannerStrip.js +14 -14
  11. package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
  12. package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
  13. package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
  14. package/dist/components/CollectionSummary/Confirmation.js +15 -13
  15. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  16. package/dist/components/CollectionSummary/RenderListView.js +34 -47
  17. package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
  18. package/dist/components/CollectionSummary/SummaryCard.js +101 -133
  19. package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
  20. package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
  21. package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
  22. package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
  23. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
  24. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
  25. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
  26. package/dist/components/CollectionSummary/index.js +1 -1
  27. package/dist/components/FormComponent/Collection.js +63 -100
  28. package/dist/components/FormComponent/Collection.test.js +907 -1080
  29. package/dist/components/FormComponent/Container.js +35 -29
  30. package/dist/components/FormComponent/Container.test.js +378 -409
  31. package/dist/components/FormComponent/FormComponent.js +59 -63
  32. package/dist/components/FormComponent/FormComponent.test.js +354 -415
  33. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  34. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  35. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  36. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  37. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  38. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  39. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  40. package/dist/components/FormComponent/helpers/index.js +5 -5
  41. package/dist/components/FormComponent/index.js +1 -1
  42. package/dist/components/FormPage/FormPage.js +70 -93
  43. package/dist/components/FormPage/FormPage.test.js +150 -202
  44. package/dist/components/FormPage/index.js +1 -1
  45. package/dist/components/FormRenderer/FormRenderer.js +131 -173
  46. package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
  47. package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
  48. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  49. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  50. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  51. package/dist/components/FormRenderer/handlers/index.js +2 -2
  52. package/dist/components/FormRenderer/handlers/navigate.js +4 -4
  53. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  54. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  55. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
  56. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  57. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
  58. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
  59. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
  60. package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
  61. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  62. package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
  63. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  64. package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
  65. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  66. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  67. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  68. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  69. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  70. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
  71. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
  72. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
  73. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
  74. package/dist/components/FormRenderer/helpers/index.js +2 -2
  75. package/dist/components/FormRenderer/index.js +1 -1
  76. package/dist/components/FormRenderer/onCYAAction.js +43 -44
  77. package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
  78. package/dist/components/FormRenderer/onPageAction.js +26 -35
  79. package/dist/components/FormRenderer/onPageAction.test.js +177 -186
  80. package/dist/components/FormRenderer/onTaskAction.js +11 -12
  81. package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
  82. package/dist/components/PageActions/ActionButton.js +14 -14
  83. package/dist/components/PageActions/ActionButton.test.js +57 -79
  84. package/dist/components/PageActions/PageActions.js +11 -11
  85. package/dist/components/PageActions/PageActions.test.js +87 -116
  86. package/dist/components/PageActions/index.js +1 -1
  87. package/dist/components/SummaryList/GroupAction.js +10 -18
  88. package/dist/components/SummaryList/GroupAction.test.js +38 -34
  89. package/dist/components/SummaryList/RowAction.js +12 -17
  90. package/dist/components/SummaryList/RowAction.test.js +38 -34
  91. package/dist/components/SummaryList/SummaryList.js +23 -25
  92. package/dist/components/SummaryList/SummaryList.test.js +162 -189
  93. package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
  94. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
  95. package/dist/components/SummaryList/SummaryListRow.js +7 -5
  96. package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
  97. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  98. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
  99. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  100. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
  101. package/dist/components/SummaryList/helpers/index.js +2 -2
  102. package/dist/components/SummaryList/index.js +1 -1
  103. package/dist/components/TaskList/Task.js +20 -30
  104. package/dist/components/TaskList/Task.test.js +84 -77
  105. package/dist/components/TaskList/TaskList.js +56 -79
  106. package/dist/components/TaskList/TaskList.test.js +149 -149
  107. package/dist/components/TaskList/TaskState.js +8 -6
  108. package/dist/components/TaskList/TaskState.test.js +53 -46
  109. package/dist/components/TaskList/index.js +1 -1
  110. package/dist/components/index.js +8 -8
  111. package/dist/context/HooksContext/HooksContext.js +56 -79
  112. package/dist/context/HooksContext/HooksContext.test.js +27 -36
  113. package/dist/context/HooksContext/index.js +3 -4
  114. package/dist/context/ValidationContext/ValidationContext.js +44 -95
  115. package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
  116. package/dist/context/ValidationContext/index.js +3 -4
  117. package/dist/context/index.js +3 -3
  118. package/dist/hooks/index.js +10 -11
  119. package/dist/hooks/useAxios.js +15 -41
  120. package/dist/hooks/useGetRequest.js +62 -98
  121. package/dist/hooks/useHooks.js +1 -3
  122. package/dist/hooks/useRefData.js +25 -37
  123. package/dist/hooks/useValidation.js +1 -3
  124. package/dist/index.js +14 -15
  125. package/dist/models/CollectionLabels.js +1 -1
  126. package/dist/models/ComponentTypes.js +25 -25
  127. package/dist/models/EventTypes.js +4 -4
  128. package/dist/models/FormPages.js +4 -4
  129. package/dist/models/FormTypes.js +8 -8
  130. package/dist/models/HubFormats.js +3 -3
  131. package/dist/models/PageAction.js +44 -38
  132. package/dist/models/TaskStates.js +29 -28
  133. package/dist/models/index.js +10 -10
  134. package/dist/setupTests.js +30 -31
  135. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  136. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
  137. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
  138. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
  139. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
  140. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
  141. package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
  142. package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
  143. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
  144. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
  147. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
  148. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
  149. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
  150. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
  151. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
  152. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
  153. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
  154. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
  155. package/dist/utils/CheckYourAnswers/index.js +2 -2
  156. package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
  157. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
  158. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  159. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
  160. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
  161. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
  162. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
  163. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
  164. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  165. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
  166. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  167. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
  168. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  169. package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
  170. package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
  171. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
  172. package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
  173. package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
  174. package/dist/utils/CollectionPage/index.js +2 -2
  175. package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
  176. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
  177. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
  178. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
  179. package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
  180. package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
  181. package/dist/utils/Component/addShowWhen.js +5 -6
  182. package/dist/utils/Component/addShowWhen.test.js +38 -38
  183. package/dist/utils/Component/applyToComponentTree.js +12 -15
  184. package/dist/utils/Component/applyToComponentTree.test.js +28 -31
  185. package/dist/utils/Component/cleanAttributes.js +12 -11
  186. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  187. package/dist/utils/Component/elevateNestedComponents.js +6 -6
  188. package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
  189. package/dist/utils/Component/getComponent.js +79 -85
  190. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
  191. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
  192. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
  193. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
  194. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
  195. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
  196. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
  197. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
  198. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
  199. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
  200. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
  201. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
  202. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -226
  203. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
  204. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
  205. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
  206. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
  207. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
  208. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
  209. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
  210. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  211. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
  212. package/dist/utils/Component/getDefaultValue.js +7 -9
  213. package/dist/utils/Component/getDefaultValue.test.js +13 -13
  214. package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
  215. package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
  216. package/dist/utils/Component/index.js +2 -2
  217. package/dist/utils/Component/isEditable.js +2 -4
  218. package/dist/utils/Component/isEditable.test.js +14 -15
  219. package/dist/utils/Component/optionIsSelected.js +2 -4
  220. package/dist/utils/Component/optionIsSelected.test.js +12 -12
  221. package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
  222. package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
  223. package/dist/utils/Component/showComponent.js +2 -2
  224. package/dist/utils/Component/showComponent.test.js +29 -29
  225. package/dist/utils/Component/wrapInFormGroup.js +4 -4
  226. package/dist/utils/Condition/index.js +2 -2
  227. package/dist/utils/Condition/meetsAllConditions.js +9 -9
  228. package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
  229. package/dist/utils/Condition/meetsCondition.js +17 -26
  230. package/dist/utils/Condition/meetsCondition.test.js +403 -403
  231. package/dist/utils/Condition/meetsOneCondition.js +6 -6
  232. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  233. package/dist/utils/Condition/setupConditions.js +12 -15
  234. package/dist/utils/Condition/setupConditions.test.js +8 -8
  235. package/dist/utils/Container/getEditableComponents.js +4 -6
  236. package/dist/utils/Container/getEditableComponents.test.js +44 -46
  237. package/dist/utils/Container/index.js +2 -2
  238. package/dist/utils/Container/setupNesting.js +14 -15
  239. package/dist/utils/Container/setupNesting.test.js +20 -23
  240. package/dist/utils/Container/showContainer.js +4 -8
  241. package/dist/utils/Container/showContainer.test.js +31 -31
  242. package/dist/utils/Data/applyFormula.js +30 -44
  243. package/dist/utils/Data/applyFormula.test.js +21 -21
  244. package/dist/utils/Data/deleteValues.js +4 -8
  245. package/dist/utils/Data/deleteValues.test.js +11 -11
  246. package/dist/utils/Data/getAutocompleteSource.js +19 -27
  247. package/dist/utils/Data/getAutocompleteSource.test.js +76 -81
  248. package/dist/utils/Data/getDataPath.js +18 -28
  249. package/dist/utils/Data/getDataPath.test.js +13 -13
  250. package/dist/utils/Data/getOptions.js +35 -42
  251. package/dist/utils/Data/getOptions.test.js +37 -38
  252. package/dist/utils/Data/getSourceData.js +6 -19
  253. package/dist/utils/Data/getSourceData.test.js +85 -81
  254. package/dist/utils/Data/index.js +2 -2
  255. package/dist/utils/Data/nestInRefdataOptions.js +9 -12
  256. package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
  257. package/dist/utils/Data/refDataToOptions.js +9 -10
  258. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  259. package/dist/utils/Data/setDataItem.js +7 -8
  260. package/dist/utils/Data/setDataItem.test.js +38 -38
  261. package/dist/utils/Data/setupFormData.js +13 -20
  262. package/dist/utils/Data/setupFormData.test.js +48 -47
  263. package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
  264. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
  265. package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
  266. package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
  267. package/dist/utils/FormPage/getConditionalText.js +4 -4
  268. package/dist/utils/FormPage/getConditionalText.test.js +30 -30
  269. package/dist/utils/FormPage/getFormPage.js +12 -15
  270. package/dist/utils/FormPage/getFormPage.test.js +23 -24
  271. package/dist/utils/FormPage/getFormPages.js +8 -11
  272. package/dist/utils/FormPage/getFormPages.test.js +15 -16
  273. package/dist/utils/FormPage/getPageActions.js +10 -13
  274. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  275. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  276. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  277. package/dist/utils/FormPage/index.js +3 -5
  278. package/dist/utils/FormPage/showFormPage.js +4 -8
  279. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  280. package/dist/utils/FormPage/showFormPageCYA.js +2 -2
  281. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  282. package/dist/utils/FormPage/useComponent.js +15 -23
  283. package/dist/utils/FormPage/useComponent.test.js +49 -50
  284. package/dist/utils/Format/formatData.js +1 -1
  285. package/dist/utils/Format/formatData.test.js +19 -19
  286. package/dist/utils/Format/formatDataForComponent.js +6 -7
  287. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  288. package/dist/utils/Format/formatDataForForm.js +5 -6
  289. package/dist/utils/Format/formatDataForForm.test.js +14 -17
  290. package/dist/utils/Format/formatDataForPage.js +4 -5
  291. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  292. package/dist/utils/Format/index.js +2 -2
  293. package/dist/utils/Hub/getFormHub.js +2 -2
  294. package/dist/utils/Hub/getFormHub.test.js +23 -24
  295. package/dist/utils/Hub/index.js +2 -2
  296. package/dist/utils/Meta/constants.js +2 -2
  297. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  298. package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
  299. package/dist/utils/Meta/documents/index.js +2 -2
  300. package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
  301. package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
  302. package/dist/utils/Meta/index.js +2 -2
  303. package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
  304. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  305. package/dist/utils/Operate/deleteValueInFormData.js +2 -2
  306. package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
  307. package/dist/utils/Operate/getFirstOf.js +6 -6
  308. package/dist/utils/Operate/getFirstOf.test.js +32 -32
  309. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
  310. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
  311. package/dist/utils/Operate/getLength.js +9 -9
  312. package/dist/utils/Operate/getLength.test.js +19 -19
  313. package/dist/utils/Operate/index.js +2 -2
  314. package/dist/utils/Operate/persistValueInFormData.js +4 -4
  315. package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
  316. package/dist/utils/Operate/runPageOperations.js +8 -8
  317. package/dist/utils/Operate/runPageOperations.test.js +24 -25
  318. package/dist/utils/Operate/setValueInFormData.js +3 -3
  319. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  320. package/dist/utils/Operate/shouldRun.js +7 -7
  321. package/dist/utils/Operate/shouldRun.test.js +22 -24
  322. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
  323. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
  324. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  325. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  326. package/dist/utils/Validate/additional/index.js +8 -8
  327. package/dist/utils/Validate/additional/index.test.js +22 -22
  328. package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
  329. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  330. package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
  331. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  332. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
  333. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
  334. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  335. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  336. package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
  337. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  338. package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
  339. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  340. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  341. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  342. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  343. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  344. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  345. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  346. package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
  347. package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
  348. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  349. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  350. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
  351. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
  352. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  353. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
  354. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  355. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  356. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  357. package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
  358. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  359. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
  360. package/dist/utils/Validate/additional/utils.js +9 -22
  361. package/dist/utils/Validate/index.js +2 -2
  362. package/dist/utils/Validate/validateCollection.js +18 -23
  363. package/dist/utils/Validate/validateCollection.test.js +75 -67
  364. package/dist/utils/Validate/validateComponent.js +19 -19
  365. package/dist/utils/Validate/validateComponent.test.js +179 -154
  366. package/dist/utils/Validate/validateContainer.js +14 -17
  367. package/dist/utils/Validate/validateContainer.test.js +59 -53
  368. package/dist/utils/Validate/validateDate.js +16 -22
  369. package/dist/utils/Validate/validateDate.test.js +31 -32
  370. package/dist/utils/Validate/validateEmail.js +7 -9
  371. package/dist/utils/Validate/validateEmail.test.js +27 -27
  372. package/dist/utils/Validate/validateMultifile.js +5 -7
  373. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  374. package/dist/utils/Validate/validatePage.js +13 -18
  375. package/dist/utils/Validate/validatePage.test.js +198 -195
  376. package/dist/utils/Validate/validateRegex.js +3 -5
  377. package/dist/utils/Validate/validateRegex.test.js +15 -15
  378. package/dist/utils/Validate/validateRequired.js +4 -6
  379. package/dist/utils/Validate/validateRequired.test.js +19 -19
  380. package/dist/utils/Validate/validateTextArea.js +4 -6
  381. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  382. package/dist/utils/Validate/validateTime.js +12 -19
  383. package/dist/utils/Validate/validateTime.test.js +27 -27
  384. package/dist/utils/index.js +5 -6
  385. package/package.json +2 -4
@@ -1,17 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _getAutocompleteSource = _interopRequireDefault(require("./getAutocompleteSource"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- 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
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
5
  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; }
7
6
  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; }
8
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
11
- describe('utils', function () {
12
- describe('Data', function () {
7
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Local imports
10
+ describe('utils', () => {
11
+ describe('Data', () => {
13
12
  // test data
14
- var gbCurrency = {
13
+ const gbCurrency = {
15
14
  currencyName: 'Great British Pounds',
16
15
  currencyCode: 'GBP',
17
16
  hint: 'hint',
@@ -19,7 +18,7 @@ describe('utils', function () {
19
18
  label: 'GBP',
20
19
  slangTerm: 'quid'
21
20
  };
22
- var usCurrency = {
21
+ const usCurrency = {
23
22
  currencyName: 'United States Dollars',
24
23
  currencyCode: 'USD',
25
24
  hint: 'hint',
@@ -28,7 +27,7 @@ describe('utils', function () {
28
27
  slangTerm: 'bucks',
29
28
  synonyms: ['greenbacks']
30
29
  };
31
- var options = {
30
+ const options = {
32
31
  alpha: {
33
32
  value: 'a',
34
33
  label: 'Alpha',
@@ -50,30 +49,30 @@ describe('utils', function () {
50
49
  hint: 'hint'
51
50
  }
52
51
  };
53
- var testCurrencies = [gbCurrency, usCurrency];
54
- describe('getAutocompleteSource', function () {
55
- it('should handle a null config', function () {
56
- var SOURCE = (0, _getAutocompleteSource.default)(null);
52
+ const testCurrencies = [gbCurrency, usCurrency];
53
+ describe('getAutocompleteSource', () => {
54
+ it('should handle a null config', () => {
55
+ const SOURCE = (0, _getAutocompleteSource.default)(null);
57
56
  expect(typeof SOURCE === 'function').toBeTruthy();
58
- SOURCE('query', function (results) {
57
+ SOURCE('query', results => {
59
58
  expect(Array.isArray(results)).toBeTruthy();
60
59
  expect(results.length).toEqual(0);
61
60
  });
62
61
  });
63
- describe('without custom item labels', function () {
64
- it('should get any specified options from the config', function () {
65
- var CONFIG = {
62
+ describe('without custom item labels', () => {
63
+ it('should get any specified options from the config', () => {
64
+ const CONFIG = {
66
65
  data: {
67
66
  options: [options.alpha, options.bravo]
68
67
  }
69
68
  };
70
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
69
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
71
70
  expect(typeof SOURCE === 'function').toBeTruthy();
72
- SOURCE('a', function (results) {
71
+ SOURCE('a', results => {
73
72
  expect(results.length).toEqual(2);
74
73
  expect(results).toEqual([options.alpha, options.bravo]);
75
74
  });
76
- SOURCE('al', function (results) {
75
+ SOURCE('al', results => {
77
76
  expect(results.length).toEqual(1);
78
77
  expect(results).toEqual([{
79
78
  value: 'a',
@@ -82,72 +81,72 @@ describe('utils', function () {
82
81
  }]);
83
82
  });
84
83
  });
85
- it('should handle an empty query', function () {
86
- var CONFIG = {
84
+ it('should handle an empty query', () => {
85
+ const CONFIG = {
87
86
  data: {
88
87
  options: [options.alpha, options.bravo]
89
88
  }
90
89
  };
91
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
92
- SOURCE('', function (results) {
90
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
91
+ SOURCE('', results => {
93
92
  expect(results.length).toEqual(2);
94
93
  expect(results).toEqual([options.alpha, options.bravo]);
95
94
  });
96
95
  });
97
- it('should handle an undefined query', function () {
98
- var CONFIG = {
96
+ it('should handle an undefined query', () => {
97
+ const CONFIG = {
99
98
  data: {
100
99
  options: [options.alpha, options.bravo]
101
100
  }
102
101
  };
103
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
104
- SOURCE(undefined, function (results) {
102
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
103
+ SOURCE(undefined, results => {
105
104
  expect(results.length).toEqual(2);
106
105
  expect(results).toEqual([options.alpha, options.bravo]);
107
106
  });
108
107
  });
109
- it('should handle a null query', function () {
110
- var CONFIG = {
108
+ it('should handle a null query', () => {
109
+ const CONFIG = {
111
110
  data: {
112
111
  options: [options.alpha, options.bravo]
113
112
  }
114
113
  };
115
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
116
- SOURCE(null, function (results) {
114
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
115
+ SOURCE(null, results => {
117
116
  expect(results.length).toEqual(2);
118
117
  expect(results).toEqual([options.alpha, options.bravo]);
119
118
  });
120
119
  });
121
- it('should handle a missing label on an option', function () {
122
- var CONFIG = {
120
+ it('should handle a missing label on an option', () => {
121
+ const CONFIG = {
123
122
  data: {
124
123
  options: [options.alpha, {
125
124
  value: 'b'
126
125
  }]
127
126
  }
128
127
  };
129
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
128
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
130
129
  expect(typeof SOURCE === 'function').toBeTruthy();
131
- SOURCE('a', function (results) {
130
+ SOURCE('a', results => {
132
131
  expect(results.length).toEqual(1);
133
132
  expect(results).toEqual([options.alpha]);
134
133
  });
135
134
  });
136
- it('should return matches in the right order', function () {
137
- var CONFIG = {
135
+ it('should return matches in the right order', () => {
136
+ const CONFIG = {
138
137
  data: {
139
138
  options: [options.alIncluded, options.alStart, options.bravo, options.alpha]
140
139
  }
141
140
  };
142
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
141
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
143
142
  expect(typeof SOURCE === 'function').toBeTruthy();
144
- SOURCE('al', function (results) {
143
+ SOURCE('al', results => {
145
144
  expect(results.length).toEqual(3);
146
145
  expect(results).toEqual([options.alpha, options.alStart, options.alIncluded]);
147
146
  });
148
147
  });
149
- it('should match options using a defined synonym', function () {
150
- var CONFIG = {
148
+ it('should match options using a defined synonym', () => {
149
+ const CONFIG = {
151
150
  data: {
152
151
  options: [_objectSpread(_objectSpread({}, options.alpha), {}, {
153
152
  synonyms: ['first']
@@ -156,9 +155,9 @@ describe('utils', function () {
156
155
  }]
157
156
  }
158
157
  };
159
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
158
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
160
159
  expect(typeof SOURCE === 'function').toBeTruthy();
161
- SOURCE('first', function (results) {
160
+ SOURCE('first', results => {
162
161
  expect(results.length).toEqual(1);
163
162
  expect(results).toEqual([_objectSpread(_objectSpread({}, options.alpha), {}, {
164
163
  synonyms: ['first']
@@ -166,9 +165,9 @@ describe('utils', function () {
166
165
  });
167
166
  });
168
167
  });
169
- describe('with custom item labels', function () {
170
- it('should get any specified options from the config', function () {
171
- var CONFIG = {
168
+ describe('with custom item labels', () => {
169
+ it('should get any specified options from the config', () => {
170
+ const CONFIG = {
172
171
  item: {
173
172
  value: 'currencyCode',
174
173
  label: 'currencyCode',
@@ -179,19 +178,19 @@ describe('utils', function () {
179
178
  options: testCurrencies
180
179
  }
181
180
  };
182
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
181
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
183
182
  expect(typeof SOURCE === 'function').toBeTruthy();
184
- SOURCE('GB', function (results) {
183
+ SOURCE('GB', results => {
185
184
  expect(results.length).toEqual(1);
186
185
  expect(results).toEqual([gbCurrency]);
187
186
  });
188
- SOURCE(' (', function (results) {
187
+ SOURCE(' (', results => {
189
188
  expect(results.length).toEqual(2);
190
189
  expect(results).toEqual(testCurrencies);
191
190
  });
192
191
  });
193
- it('should handle an empty query', function () {
194
- var CONFIG = {
192
+ it('should handle an empty query', () => {
193
+ const CONFIG = {
195
194
  item: {
196
195
  value: 'currencyCode',
197
196
  label: 'currencyCode',
@@ -202,14 +201,14 @@ describe('utils', function () {
202
201
  options: testCurrencies
203
202
  }
204
203
  };
205
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
206
- SOURCE('', function (results) {
204
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
205
+ SOURCE('', results => {
207
206
  expect(results.length).toEqual(2);
208
207
  expect(results).toEqual(testCurrencies);
209
208
  });
210
209
  });
211
- it('should handle an undefined query', function () {
212
- var CONFIG = {
210
+ it('should handle an undefined query', () => {
211
+ const CONFIG = {
213
212
  item: {
214
213
  value: 'currencyCode',
215
214
  label: 'currencyCode',
@@ -220,14 +219,14 @@ describe('utils', function () {
220
219
  options: testCurrencies
221
220
  }
222
221
  };
223
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
224
- SOURCE(undefined, function (results) {
222
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
223
+ SOURCE(undefined, results => {
225
224
  expect(results.length).toEqual(2);
226
225
  expect(results).toEqual(testCurrencies);
227
226
  });
228
227
  });
229
- it('should handle a null query', function () {
230
- var CONFIG = {
228
+ it('should handle a null query', () => {
229
+ const CONFIG = {
231
230
  item: {
232
231
  value: 'currencyCode',
233
232
  label: 'currencyCode',
@@ -238,14 +237,14 @@ describe('utils', function () {
238
237
  options: testCurrencies
239
238
  }
240
239
  };
241
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
242
- SOURCE(null, function (results) {
240
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
241
+ SOURCE(null, results => {
243
242
  expect(results.length).toEqual(2);
244
243
  expect(results).toEqual(testCurrencies);
245
244
  });
246
245
  });
247
- it('should handle a missing label on an option', function () {
248
- var CONFIG = {
246
+ it('should handle a missing label on an option', () => {
247
+ const CONFIG = {
249
248
  item: {
250
249
  value: 'currencyCode',
251
250
  label: 'currencyCode',
@@ -261,9 +260,9 @@ describe('utils', function () {
261
260
  }]
262
261
  }
263
262
  };
264
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
263
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
265
264
  expect(typeof SOURCE === 'function').toBeTruthy();
266
- SOURCE('a', function (results) {
265
+ SOURCE('a', results => {
267
266
  // We expect 2 results here instead of 1 because defining a custom
268
267
  // format for item labels means the label is constructed upon processing
269
268
  // a query - we're not relying on the 'label' field of the option.
@@ -277,8 +276,8 @@ describe('utils', function () {
277
276
  }]);
278
277
  });
279
278
  });
280
- it('should match options using a defined synonym', function () {
281
- var CONFIG = {
279
+ it('should match options using a defined synonym', () => {
280
+ const CONFIG = {
282
281
  item: {
283
282
  value: 'currencyCode',
284
283
  label: 'currencyCode',
@@ -289,17 +288,15 @@ describe('utils', function () {
289
288
  options: testCurrencies
290
289
  }
291
290
  };
292
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
291
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
293
292
  expect(typeof SOURCE === 'function').toBeTruthy();
294
- SOURCE('greenbacks', function (results) {
293
+ SOURCE('greenbacks', results => {
295
294
  expect(results.length).toEqual(1);
296
- expect(results).toEqual(testCurrencies.filter(function (c) {
297
- return c.currencyCode === 'USD';
298
- }));
295
+ expect(results).toEqual(testCurrencies.filter(c => c.currencyCode === 'USD'));
299
296
  });
300
297
  });
301
- it('should match options using defined extra searchable fields', function () {
302
- var CONFIG = {
298
+ it('should match options using defined extra searchable fields', () => {
299
+ const CONFIG = {
303
300
  item: {
304
301
  value: 'currencyCode',
305
302
  label: 'currencyCode',
@@ -311,13 +308,11 @@ describe('utils', function () {
311
308
  options: testCurrencies
312
309
  }
313
310
  };
314
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
311
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
315
312
  expect(typeof SOURCE === 'function').toBeTruthy();
316
- SOURCE('buc', function (results) {
313
+ SOURCE('buc', results => {
317
314
  expect(results.length).toEqual(1);
318
- expect(results).toEqual(testCurrencies.filter(function (c) {
319
- return c.currencyCode === 'USD';
320
- }));
315
+ expect(results).toEqual(testCurrencies.filter(c => c.currencyCode === 'USD'));
321
316
  });
322
317
  });
323
318
  });
@@ -4,46 +4,36 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var DOT = '.';
8
- var SLASH = '/';
9
- var DOT_DOT = "".concat(DOT).concat(DOT);
10
- var PARENT_PATH = "".concat(DOT).concat(SLASH);
11
- var toPath = function toPath(arr) {
12
- return arr.join(DOT);
13
- };
14
- var toParts = function toParts(str) {
15
- var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DOT;
7
+ const DOT = '.';
8
+ const SLASH = '/';
9
+ const DOT_DOT = "".concat(DOT).concat(DOT);
10
+ const PARENT_PATH = "".concat(DOT).concat(SLASH);
11
+ const toPath = arr => arr.join(DOT);
12
+ const toParts = function (str) {
13
+ let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DOT;
16
14
  return str.split(separator);
17
15
  };
18
- var isDotDot = function isDotDot(str) {
19
- return str === DOT_DOT;
20
- };
21
- var isDotOrDotDot = function isDotOrDotDot(str) {
22
- return [DOT, DOT_DOT].indexOf(str) > -1;
23
- };
24
- var isRelativePath = function isRelativePath(path) {
25
- return path && path.indexOf(DOT) === 0;
26
- };
27
- var standardiseRelativePath = function standardiseRelativePath(path) {
16
+ const isDotDot = str => str === DOT_DOT;
17
+ const isDotOrDotDot = str => [DOT, DOT_DOT].indexOf(str) > -1;
18
+ const isRelativePath = path => path && path.indexOf(DOT) === 0;
19
+ const standardiseRelativePath = path => {
28
20
  if (path.indexOf(PARENT_PATH) === 0) {
29
21
  return path;
30
22
  }
31
23
  return "".concat(PARENT_PATH).concat(path);
32
24
  };
33
- var ascendPath = function ascendPath(startPath, ascent) {
34
- var relativePath = standardiseRelativePath(ascent);
25
+ const ascendPath = (startPath, ascent) => {
26
+ const relativePath = standardiseRelativePath(ascent);
35
27
  // Always add 1 because we're starting on a leaf node within a "directory".
36
- var stepsToClimb = toParts(relativePath, SLASH).filter(isDotDot).length + 1;
37
- var pathParts = startPath ? toParts(startPath) : [];
28
+ const stepsToClimb = toParts(relativePath, SLASH).filter(isDotDot).length + 1;
29
+ const pathParts = startPath ? toParts(startPath) : [];
38
30
  if (stepsToClimb >= pathParts.length) {
39
31
  return '';
40
32
  }
41
33
  return toPath(pathParts.slice(0, -stepsToClimb));
42
34
  };
43
- var descendPath = function descendPath(startPath, descent) {
44
- var stepsDown = toParts(descent, SLASH).filter(function (str) {
45
- return !isDotOrDotDot(str);
46
- });
35
+ const descendPath = (startPath, descent) => {
36
+ const stepsDown = toParts(descent, SLASH).filter(str => !isDotOrDotDot(str));
47
37
  return startPath ? "".concat(startPath, ".").concat(toPath(stepsDown)) : toPath(stepsDown);
48
38
  };
49
39
 
@@ -66,7 +56,7 @@ var descendPath = function descendPath(startPath, descent) {
66
56
  * getDataPath('../../relative.path', 'this.is.the.current.path');
67
57
  * // => 'this.is.relative.path'
68
58
  */
69
- var getDataPath = function getDataPath(path, currentPath) {
59
+ const getDataPath = (path, currentPath) => {
70
60
  if (isRelativePath(path)) {
71
61
  return descendPath(ascendPath(currentPath, path), path);
72
62
  }
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _getDataPath = _interopRequireDefault(require("./getDataPath"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils.Data.getDataPath', function () {
6
- var CURRENT_PATH = 'this.is.the.current.path';
7
- var RELATIVE = 'relative.path';
8
- var ABSOLUTE = 'absolute.path';
9
- var doTest = function doTest(path, currentPath, expected) {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('utils.Data.getDataPath', () => {
6
+ const CURRENT_PATH = 'this.is.the.current.path';
7
+ const RELATIVE = 'relative.path';
8
+ const ABSOLUTE = 'absolute.path';
9
+ const doTest = (path, currentPath, expected) => {
10
10
  expect((0, _getDataPath.default)(path, currentPath)).toEqual(expected);
11
11
  };
12
- it("should return an absolute path appropriately", function () {
12
+ it("should return an absolute path appropriately", () => {
13
13
  doTest(ABSOLUTE, CURRENT_PATH, ABSOLUTE);
14
14
  });
15
- it("should return an absolute path appropriately where the current path is null", function () {
15
+ it("should return an absolute path appropriately where the current path is null", () => {
16
16
  doTest(ABSOLUTE, null, ABSOLUTE);
17
17
  });
18
18
  [{
@@ -31,18 +31,18 @@ describe('utils.Data.getDataPath', function () {
31
31
  p: "../../../../../../../".concat(RELATIVE),
32
32
  e: RELATIVE,
33
33
  d: 'an inappropriately nested node'
34
- }].forEach(function (test) {
35
- it("should return ".concat(test.d, " appropriately"), function () {
34
+ }].forEach(test => {
35
+ it("should return ".concat(test.d, " appropriately"), () => {
36
36
  doTest(test.p, CURRENT_PATH, test.e);
37
37
  });
38
- it("should return ".concat(test.d, " appropriately where the current path is null"), function () {
38
+ it("should return ".concat(test.d, " appropriately where the current path is null"), () => {
39
39
  doTest(test.p, null, RELATIVE);
40
40
  });
41
41
  });
42
- it('should handle a null path and return null', function () {
42
+ it('should handle a null path and return null', () => {
43
43
  doTest(null, CURRENT_PATH, null);
44
44
  });
45
- it('should handle an undefined path and return undefined', function () {
45
+ it('should handle an undefined path and return undefined', () => {
46
46
  doTest(undefined, CURRENT_PATH, undefined);
47
47
  });
48
48
  });
@@ -7,41 +7,36 @@ exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _Condition = _interopRequireDefault(require("../Condition"));
9
9
  var _nestInRefdataOptions = _interopRequireDefault(require("./nestInRefdataOptions"));
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- 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); }
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
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; }
13
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; }
14
- 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; }
15
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
16
- 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); } // Global Imports
13
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
14
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
15
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Global Imports
17
16
  // Local Imports
18
- var interpolateOptions = function interpolateOptions(config, options) {
19
- return options.map(function (opt) {
20
- if (opt.show_when) {
21
- var result = opt.show_when.type === 'or' ? _Condition.default.meetsOne(opt, config.formData) : _Condition.default.meetsAll(opt, config.formData);
22
- if (!result) {
23
- return null;
24
- }
17
+ const interpolateOptions = (config, options) => options.map(opt => {
18
+ if (opt.show_when) {
19
+ const result = opt.show_when.type === 'or' ? _Condition.default.meetsOne(opt, config.formData) : _Condition.default.meetsAll(opt, config.formData);
20
+ if (!result) {
21
+ return null;
25
22
  }
26
- if (typeof opt === 'string') {
27
- return opt;
28
- }
29
- if (!opt.value) {
30
- return opt.label;
31
- }
32
- if (config.alternativeHintField) {
33
- // eslint-disable-next-line no-param-reassign
34
- opt.hint = opt[config.alternativeHintField];
35
- }
36
- return _objectSpread(_objectSpread({}, opt), {}, {
37
- value: _copReactComponents.Utils.interpolateString(opt.value, config.formData),
38
- label: _copReactComponents.Utils.interpolateString(opt.label, config.formData),
39
- hint: _copReactComponents.Utils.interpolateString(opt.hint, config.formData)
40
- });
41
- }).filter(function (n) {
42
- return n;
23
+ }
24
+ if (typeof opt === 'string') {
25
+ return opt;
26
+ }
27
+ if (!opt.value) {
28
+ return opt.label;
29
+ }
30
+ if (config.alternativeHintField) {
31
+ // eslint-disable-next-line no-param-reassign
32
+ opt.hint = opt[config.alternativeHintField];
33
+ }
34
+ return _objectSpread(_objectSpread({}, opt), {}, {
35
+ value: _copReactComponents.Utils.interpolateString(opt.value, config.formData),
36
+ label: _copReactComponents.Utils.interpolateString(opt.label, config.formData),
37
+ hint: _copReactComponents.Utils.interpolateString(opt.hint, config.formData)
43
38
  });
44
- };
39
+ }).filter(n => n);
45
40
 
46
41
  /**
47
42
  * Returns a list of options templated from a collection specified.
@@ -55,30 +50,28 @@ var interpolateOptions = function interpolateOptions(config, options) {
55
50
  * @param {*} collectionName
56
51
  * @returns
57
52
  */
58
- var getCollectionOptions = function getCollectionOptions(config, collectionName) {
59
- var collectionOptions = config.formData[collectionName].map(function (collection) {
60
- return {
61
- value: _copReactComponents.Utils.interpolateString(config.item.value, collection),
62
- label: _copReactComponents.Utils.interpolateString(config.item.label, collection),
63
- hint: _copReactComponents.Utils.interpolateString(config.item.hint, collection)
64
- };
65
- });
53
+ const getCollectionOptions = (config, collectionName) => {
54
+ const collectionOptions = config.formData[collectionName].map(collection => ({
55
+ value: _copReactComponents.Utils.interpolateString(config.item.value, collection),
56
+ label: _copReactComponents.Utils.interpolateString(config.item.label, collection),
57
+ hint: _copReactComponents.Utils.interpolateString(config.item.hint, collection)
58
+ }));
66
59
  if (config.data.options) {
67
60
  return [].concat(collectionOptions, config.data.options);
68
61
  }
69
62
  return collectionOptions;
70
63
  };
71
- var getOptions = function getOptions(config, callback) {
64
+ const getOptions = (config, callback) => {
72
65
  if (config) {
73
66
  var _config$data, _config$data3, _config$data4;
74
67
  if (config !== null && config !== void 0 && (_config$data = config.data) !== null && _config$data !== void 0 && _config$data.collection && config !== null && config !== void 0 && config.item) {
75
68
  var _config$data2;
76
- var combinedOptions = getCollectionOptions(config, config === null || config === void 0 || (_config$data2 = config.data) === null || _config$data2 === void 0 ? void 0 : _config$data2.collection);
69
+ const combinedOptions = getCollectionOptions(config, config === null || config === void 0 || (_config$data2 = config.data) === null || _config$data2 === void 0 ? void 0 : _config$data2.collection);
77
70
  return callback(interpolateOptions(config, combinedOptions));
78
71
  }
79
72
  if (config.options && config !== null && config !== void 0 && (_config$data3 = config.data) !== null && _config$data3 !== void 0 && _config$data3.options && config !== null && config !== void 0 && (_config$data4 = config.data) !== null && _config$data4 !== void 0 && _config$data4.url) {
80
- var _combinedOptions = (0, _nestInRefdataOptions.default)(config.options, config.data.options);
81
- return callback(interpolateOptions(config, _combinedOptions));
73
+ const combinedOptions = (0, _nestInRefdataOptions.default)(config.options, config.data.options);
74
+ return callback(interpolateOptions(config, combinedOptions));
82
75
  }
83
76
  if (config.options) {
84
77
  return callback(interpolateOptions(config, config.options));