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

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