@ukhomeoffice/cop-react-form-renderer 5.45.1 → 5.45.2-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +12 -12
  2. package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +464 -769
  5. package/dist/components/CollectionPage/CollectionPage.js +66 -58
  6. package/dist/components/CollectionPage/CollectionPage.test.js +300 -342
  7. package/dist/components/CollectionSummary/BannerStrip.js +12 -12
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +63 -59
  9. package/dist/components/CollectionSummary/CollectionSummary.js +60 -75
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +102 -96
  11. package/dist/components/CollectionSummary/Confirmation.js +14 -12
  12. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  13. package/dist/components/CollectionSummary/SummaryCard.js +93 -133
  14. package/dist/components/CollectionSummary/SummaryCard.test.js +902 -924
  15. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +23 -29
  16. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +61 -73
  17. package/dist/components/FormComponent/Collection.js +73 -107
  18. package/dist/components/FormComponent/Collection.test.js +809 -945
  19. package/dist/components/FormComponent/Container.js +40 -38
  20. package/dist/components/FormComponent/Container.test.js +314 -345
  21. package/dist/components/FormComponent/FormComponent.js +67 -70
  22. package/dist/components/FormComponent/FormComponent.test.js +284 -342
  23. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  24. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  25. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  26. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  27. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  28. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  29. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  30. package/dist/components/FormComponent/helpers/index.js +4 -4
  31. package/dist/components/FormPage/FormPage.js +65 -80
  32. package/dist/components/FormPage/FormPage.test.js +127 -163
  33. package/dist/components/FormRenderer/FormRenderer.js +142 -178
  34. package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
  35. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  36. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  37. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  38. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  39. package/dist/components/FormRenderer/handlers/index.js +1 -1
  40. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  41. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  42. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  43. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +9 -9
  44. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  45. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
  46. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
  47. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  48. package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
  49. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  50. package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
  51. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  52. package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
  53. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  54. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  55. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  56. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  57. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  58. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  59. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -91
  60. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
  61. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -73
  62. package/dist/components/FormRenderer/helpers/index.js +1 -1
  63. package/dist/components/FormRenderer/onCYAAction.js +59 -51
  64. package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
  65. package/dist/components/FormRenderer/onPageAction.js +43 -39
  66. package/dist/components/FormRenderer/onPageAction.test.js +223 -206
  67. package/dist/components/FormRenderer/onTaskAction.js +9 -13
  68. package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
  69. package/dist/components/PageActions/ActionButton.js +12 -15
  70. package/dist/components/PageActions/ActionButton.test.js +56 -78
  71. package/dist/components/PageActions/PageActions.js +10 -10
  72. package/dist/components/PageActions/PageActions.test.js +86 -115
  73. package/dist/components/SummaryList/GroupAction.js +9 -17
  74. package/dist/components/SummaryList/GroupAction.test.js +37 -33
  75. package/dist/components/SummaryList/RowAction.js +11 -16
  76. package/dist/components/SummaryList/RowAction.test.js +37 -33
  77. package/dist/components/SummaryList/SummaryList.js +21 -26
  78. package/dist/components/SummaryList/SummaryList.test.js +143 -166
  79. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
  80. package/dist/components/SummaryList/SummaryListRow.js +6 -4
  81. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
  82. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  83. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  84. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  85. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  86. package/dist/components/SummaryList/helpers/index.js +1 -1
  87. package/dist/components/TaskList/Task.js +19 -29
  88. package/dist/components/TaskList/Task.test.js +83 -76
  89. package/dist/components/TaskList/TaskList.js +45 -71
  90. package/dist/components/TaskList/TaskList.test.js +113 -111
  91. package/dist/components/TaskList/TaskState.js +7 -5
  92. package/dist/components/TaskList/TaskState.test.js +52 -45
  93. package/dist/components/index.js +7 -7
  94. package/dist/context/HooksContext/HooksContext.js +58 -79
  95. package/dist/context/HooksContext/HooksContext.test.js +26 -35
  96. package/dist/context/HooksContext/index.js +3 -4
  97. package/dist/context/ValidationContext/ValidationContext.js +32 -72
  98. package/dist/context/ValidationContext/ValidationContext.test.js +47 -59
  99. package/dist/context/ValidationContext/index.js +3 -4
  100. package/dist/context/index.js +2 -2
  101. package/dist/hooks/index.js +9 -10
  102. package/dist/hooks/useAxios.js +14 -40
  103. package/dist/hooks/useGetRequest.js +61 -97
  104. package/dist/hooks/useHooks.js +1 -3
  105. package/dist/hooks/useRefData.js +26 -39
  106. package/dist/hooks/useValidation.js +1 -3
  107. package/dist/index.js +13 -14
  108. package/dist/models/CollectionLabels.js +1 -1
  109. package/dist/models/ComponentTypes.js +25 -25
  110. package/dist/models/EventTypes.js +4 -4
  111. package/dist/models/FormPages.js +4 -4
  112. package/dist/models/FormTypes.js +8 -8
  113. package/dist/models/HubFormats.js +3 -3
  114. package/dist/models/PageAction.js +44 -38
  115. package/dist/models/TaskStates.js +30 -28
  116. package/dist/models/index.js +9 -9
  117. package/dist/setupTests.js +30 -31
  118. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  119. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
  120. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
  121. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
  122. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
  123. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
  124. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  125. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  126. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
  127. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
  128. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
  129. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -60
  130. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +79 -88
  131. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +146 -124
  132. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
  133. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
  134. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
  135. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
  136. package/dist/utils/CheckYourAnswers/index.js +1 -1
  137. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  138. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +24 -24
  139. package/dist/utils/CollectionPage/addCollectionPageEntry.js +1 -1
  140. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  141. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  142. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -17
  143. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +9 -18
  144. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +27 -22
  145. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  146. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  147. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  148. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  149. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  150. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  151. package/dist/utils/CollectionPage/getQuickEditPage.js +19 -19
  152. package/dist/utils/CollectionPage/getQuickEditPage.test.js +12 -16
  153. package/dist/utils/CollectionPage/index.js +1 -1
  154. package/dist/utils/CollectionPage/mergeCollectionPages.js +29 -30
  155. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +17 -17
  156. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
  157. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  158. package/dist/utils/CollectionPage/setCollectionPageData.js +8 -12
  159. package/dist/utils/CollectionPage/setCollectionPageData.test.js +17 -17
  160. package/dist/utils/Component/addShowWhen.js +4 -8
  161. package/dist/utils/Component/addShowWhen.test.js +37 -37
  162. package/dist/utils/Component/applyToComponentTree.js +18 -18
  163. package/dist/utils/Component/applyToComponentTree.test.js +27 -32
  164. package/dist/utils/Component/cleanAttributes.js +10 -13
  165. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  166. package/dist/utils/Component/elevateNestedComponents.js +5 -5
  167. package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
  168. package/dist/utils/Component/getComponent.js +88 -94
  169. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
  170. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
  171. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
  172. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
  173. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
  174. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
  175. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
  176. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
  177. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
  178. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
  179. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
  180. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
  181. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  182. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
  183. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
  184. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -70
  185. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
  186. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
  187. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
  188. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
  189. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  190. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
  191. package/dist/utils/Component/getDefaultValue.js +6 -8
  192. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  193. package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
  194. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  195. package/dist/utils/Component/index.js +1 -1
  196. package/dist/utils/Component/isEditable.js +2 -4
  197. package/dist/utils/Component/isEditable.test.js +14 -15
  198. package/dist/utils/Component/optionIsSelected.js +1 -1
  199. package/dist/utils/Component/optionIsSelected.test.js +9 -9
  200. package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
  201. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  202. package/dist/utils/Component/showComponent.js +1 -1
  203. package/dist/utils/Component/showComponent.test.js +28 -28
  204. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  205. package/dist/utils/Condition/index.js +1 -1
  206. package/dist/utils/Condition/meetsAllConditions.js +7 -7
  207. package/dist/utils/Condition/meetsAllConditions.test.js +17 -17
  208. package/dist/utils/Condition/meetsCondition.js +14 -17
  209. package/dist/utils/Condition/meetsCondition.test.js +376 -376
  210. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  211. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  212. package/dist/utils/Condition/setupConditions.js +13 -18
  213. package/dist/utils/Condition/setupConditions.test.js +7 -7
  214. package/dist/utils/Container/getEditableComponents.js +3 -5
  215. package/dist/utils/Container/getEditableComponents.test.js +43 -45
  216. package/dist/utils/Container/index.js +1 -1
  217. package/dist/utils/Container/setupNesting.js +16 -20
  218. package/dist/utils/Container/setupNesting.test.js +27 -30
  219. package/dist/utils/Container/showContainer.js +3 -7
  220. package/dist/utils/Container/showContainer.test.js +30 -30
  221. package/dist/utils/Data/applyFormula.js +38 -48
  222. package/dist/utils/Data/applyFormula.test.js +20 -20
  223. package/dist/utils/Data/getAutocompleteSource.js +18 -26
  224. package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
  225. package/dist/utils/Data/getDataPath.js +18 -28
  226. package/dist/utils/Data/getDataPath.test.js +12 -12
  227. package/dist/utils/Data/getOptions.js +19 -25
  228. package/dist/utils/Data/getOptions.test.js +20 -20
  229. package/dist/utils/Data/getSourceData.js +6 -19
  230. package/dist/utils/Data/getSourceData.test.js +84 -80
  231. package/dist/utils/Data/index.js +1 -1
  232. package/dist/utils/Data/refDataToOptions.js +10 -13
  233. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  234. package/dist/utils/Data/setDataItem.js +7 -8
  235. package/dist/utils/Data/setDataItem.test.js +37 -37
  236. package/dist/utils/Data/setupFormData.js +13 -21
  237. package/dist/utils/Data/setupFormData.test.js +51 -50
  238. package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
  239. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  240. package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
  241. package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
  242. package/dist/utils/FormPage/getFormPage.js +15 -16
  243. package/dist/utils/FormPage/getFormPage.test.js +47 -46
  244. package/dist/utils/FormPage/getFormPages.js +7 -12
  245. package/dist/utils/FormPage/getFormPages.test.js +20 -23
  246. package/dist/utils/FormPage/getPageActions.js +9 -15
  247. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  248. package/dist/utils/FormPage/getPageTitle.js +2 -2
  249. package/dist/utils/FormPage/getPageTitle.test.js +22 -22
  250. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  251. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  252. package/dist/utils/FormPage/index.js +1 -1
  253. package/dist/utils/FormPage/showFormPage.js +3 -7
  254. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  255. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  256. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  257. package/dist/utils/FormPage/useComponent.js +21 -28
  258. package/dist/utils/FormPage/useComponent.test.js +78 -79
  259. package/dist/utils/Format/formatData.js +1 -1
  260. package/dist/utils/Format/formatData.test.js +18 -18
  261. package/dist/utils/Format/formatDataForComponent.js +5 -6
  262. package/dist/utils/Format/formatDataForComponent.test.js +50 -77
  263. package/dist/utils/Format/formatDataForForm.js +6 -8
  264. package/dist/utils/Format/formatDataForForm.test.js +13 -15
  265. package/dist/utils/Format/formatDataForPage.js +4 -5
  266. package/dist/utils/Format/formatDataForPage.test.js +20 -23
  267. package/dist/utils/Format/index.js +1 -1
  268. package/dist/utils/Hub/getFormHub.js +1 -1
  269. package/dist/utils/Hub/getFormHub.test.js +28 -31
  270. package/dist/utils/Hub/index.js +1 -1
  271. package/dist/utils/Meta/constants.js +2 -2
  272. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  273. package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
  274. package/dist/utils/Meta/documents/index.js +1 -1
  275. package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
  276. package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
  277. package/dist/utils/Meta/index.js +1 -1
  278. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  279. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  280. package/dist/utils/Operate/getFirstOf.js +5 -5
  281. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  282. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  283. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -46
  284. package/dist/utils/Operate/index.js +1 -1
  285. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  286. package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
  287. package/dist/utils/Operate/runPageOperations.js +7 -7
  288. package/dist/utils/Operate/runPageOperations.test.js +35 -36
  289. package/dist/utils/Operate/setValueInFormData.js +2 -2
  290. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  291. package/dist/utils/Operate/shouldRun.js +6 -6
  292. package/dist/utils/Operate/shouldRun.test.js +21 -26
  293. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  294. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  295. package/dist/utils/Validate/additional/index.js +6 -6
  296. package/dist/utils/Validate/additional/index.test.js +12 -12
  297. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  298. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  299. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  300. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  301. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
  302. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
  303. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  304. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  305. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  306. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  307. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  308. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  309. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  310. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  311. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  312. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  313. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  314. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  315. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  316. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  317. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  318. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
  319. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  320. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  321. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  322. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  323. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  324. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
  325. package/dist/utils/Validate/additional/utils.js +9 -22
  326. package/dist/utils/Validate/index.js +1 -1
  327. package/dist/utils/Validate/validateCollection.js +19 -25
  328. package/dist/utils/Validate/validateCollection.test.js +74 -66
  329. package/dist/utils/Validate/validateComponent.js +17 -15
  330. package/dist/utils/Validate/validateComponent.test.js +167 -146
  331. package/dist/utils/Validate/validateContainer.js +14 -19
  332. package/dist/utils/Validate/validateContainer.test.js +49 -45
  333. package/dist/utils/Validate/validateDate.js +11 -17
  334. package/dist/utils/Validate/validateDate.test.js +28 -29
  335. package/dist/utils/Validate/validateEmail.js +6 -8
  336. package/dist/utils/Validate/validateEmail.test.js +25 -25
  337. package/dist/utils/Validate/validateMultifile.js +5 -7
  338. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  339. package/dist/utils/Validate/validatePage.js +17 -18
  340. package/dist/utils/Validate/validatePage.test.js +185 -182
  341. package/dist/utils/Validate/validateRegex.js +3 -5
  342. package/dist/utils/Validate/validateRegex.test.js +14 -14
  343. package/dist/utils/Validate/validateRequired.js +4 -6
  344. package/dist/utils/Validate/validateRequired.test.js +18 -18
  345. package/dist/utils/Validate/validateTextArea.js +4 -6
  346. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  347. package/dist/utils/Validate/validateTime.js +7 -14
  348. package/dist/utils/Validate/validateTime.test.js +14 -14
  349. package/dist/utils/index.js +7 -9
  350. package/package.json +1 -1
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -8,99 +7,79 @@ exports.default = exports.HooksContext = exports.ALLOWED_HOOKS = void 0;
8
7
  var _react = _interopRequireWildcard(require("react"));
9
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
- 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; }
14
- 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; }
15
- 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; }
16
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
17
- 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); }
18
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
19
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
20
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
22
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
23
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /* eslint-disable no-unused-vars, react/jsx-no-constructed-context-values, react/function-component-definition */ // Global imports
24
- var DEFAULT_HOOKS = {
25
- onAction: function onAction(formData, patch) {
26
- return {
27
- formData: formData,
28
- patch: patch
29
- };
30
- },
31
- onChange: function onChange(data) {},
32
- onFormComplete: function onFormComplete() {},
33
- onFormLoad: function onFormLoad(setCurrentTask) {},
34
- onGetComponent: function onGetComponent(config, wrap) {
35
- return null;
36
- },
37
- onGetCYA: function onGetCYA(config) {
38
- return null;
39
- },
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ /* eslint-disable no-unused-vars, react/jsx-no-constructed-context-values, react/function-component-definition */
13
+ // Global imports
14
+
15
+ const DEFAULT_HOOKS = {
16
+ onAction: (formData, patch) => ({
17
+ formData,
18
+ patch
19
+ }),
20
+ onChange: data => {},
21
+ onFormComplete: () => {},
22
+ onFormLoad: setCurrentTask => {},
23
+ onGetComponent: (config, wrap) => null,
24
+ onGetCYA: config => null,
40
25
  // onGetCYARows should return either a single row, or an array of rows for the given component.
41
26
  // If it returns null then Form Renderer will attempt to get the default rows for the component.
42
- onGetCYARows: function onGetCYARows(page, component, onAction) {
43
- return null;
44
- },
45
- onGoingBack: function onGoingBack() {},
46
- onPageChange: function onPageChange(pageId, state) {
47
- return pageId;
48
- },
49
- onRequest: function onRequest(req) {
50
- return req;
51
- },
52
- onSubmit: function onSubmit(type, payload, onSuccess, onError) {
27
+ onGetCYARows: (page, component, onAction) => null,
28
+ onGoingBack: () => {},
29
+ onPageChange: (pageId, state) => pageId,
30
+ onRequest: req => req,
31
+ onSubmit: (type, payload, onSuccess, onError) => {
53
32
  if (typeof onSuccess === 'function') onSuccess();
54
33
  },
55
- onValidate: function onValidate(page, errors) {
56
- return errors;
57
- },
34
+ onValidate: (page, errors) => errors,
58
35
  // Returns the list of errors already found in FR by default.
59
- onCancel: function onCancel(data) {} // Consuming application must provide function to action, else this does nothing.
36
+ onCancel: data => {} // Consuming application must provide function to action, else this does nothing.
60
37
  };
61
38
 
62
- var ALLOWED_HOOKS = exports.ALLOWED_HOOKS = Object.keys(DEFAULT_HOOKS);
63
- var HooksContext = exports.HooksContext = /*#__PURE__*/(0, _react.createContext)();
64
- var HooksContextProvider = function HooksContextProvider(_ref) {
65
- var overrides = _ref.overrides,
66
- children = _ref.children;
67
- var _useState = (0, _react.useState)({
68
- onAction: (overrides === null || overrides === void 0 ? void 0 : overrides.onAction) || DEFAULT_HOOKS.onAction,
69
- onChange: (overrides === null || overrides === void 0 ? void 0 : overrides.onChange) || DEFAULT_HOOKS.onChange,
70
- onFormComplete: (overrides === null || overrides === void 0 ? void 0 : overrides.onFormComplete) || DEFAULT_HOOKS.onFormComplete,
71
- onFormLoad: (overrides === null || overrides === void 0 ? void 0 : overrides.onFormLoad) || DEFAULT_HOOKS.onFormLoad,
72
- onGetComponent: (overrides === null || overrides === void 0 ? void 0 : overrides.onGetComponent) || DEFAULT_HOOKS.onGetComponent,
73
- onGetCYA: (overrides === null || overrides === void 0 ? void 0 : overrides.onGetCYA) || DEFAULT_HOOKS.onGetCYA,
74
- onGetCYARows: (overrides === null || overrides === void 0 ? void 0 : overrides.onGetCYARows) || DEFAULT_HOOKS.onGetCYARows,
75
- onGoingBack: (overrides === null || overrides === void 0 ? void 0 : overrides.onGoingBack) || DEFAULT_HOOKS.onGoingBack,
76
- onPageChange: (overrides === null || overrides === void 0 ? void 0 : overrides.onPageChange) || DEFAULT_HOOKS.onPageChange,
77
- onRequest: (overrides === null || overrides === void 0 ? void 0 : overrides.onRequest) || DEFAULT_HOOKS.onRequest,
78
- onSubmit: (overrides === null || overrides === void 0 ? void 0 : overrides.onSubmit) || DEFAULT_HOOKS.onSubmit,
79
- onValidate: (overrides === null || overrides === void 0 ? void 0 : overrides.onValidate) || DEFAULT_HOOKS.onValidate,
80
- onCancel: (overrides === null || overrides === void 0 ? void 0 : overrides.onCancel) || DEFAULT_HOOKS.onCancel
81
- }),
82
- _useState2 = _slicedToArray(_useState, 2),
83
- hooks = _useState2[0],
84
- setHooks = _useState2[1];
85
- var addHook = function addHook(name, hook) {
39
+ const ALLOWED_HOOKS = exports.ALLOWED_HOOKS = Object.keys(DEFAULT_HOOKS);
40
+ const HooksContext = exports.HooksContext = /*#__PURE__*/(0, _react.createContext)();
41
+ const HooksContextProvider = _ref => {
42
+ let {
43
+ overrides,
44
+ children
45
+ } = _ref;
46
+ const [hooks, setHooks] = (0, _react.useState)({
47
+ onAction: (overrides === null || overrides === void 0 ? void 0 : overrides.onAction) || DEFAULT_HOOKS.onAction,
48
+ onChange: (overrides === null || overrides === void 0 ? void 0 : overrides.onChange) || DEFAULT_HOOKS.onChange,
49
+ onFormComplete: (overrides === null || overrides === void 0 ? void 0 : overrides.onFormComplete) || DEFAULT_HOOKS.onFormComplete,
50
+ onFormLoad: (overrides === null || overrides === void 0 ? void 0 : overrides.onFormLoad) || DEFAULT_HOOKS.onFormLoad,
51
+ onGetComponent: (overrides === null || overrides === void 0 ? void 0 : overrides.onGetComponent) || DEFAULT_HOOKS.onGetComponent,
52
+ onGetCYA: (overrides === null || overrides === void 0 ? void 0 : overrides.onGetCYA) || DEFAULT_HOOKS.onGetCYA,
53
+ onGetCYARows: (overrides === null || overrides === void 0 ? void 0 : overrides.onGetCYARows) || DEFAULT_HOOKS.onGetCYARows,
54
+ onGoingBack: (overrides === null || overrides === void 0 ? void 0 : overrides.onGoingBack) || DEFAULT_HOOKS.onGoingBack,
55
+ onPageChange: (overrides === null || overrides === void 0 ? void 0 : overrides.onPageChange) || DEFAULT_HOOKS.onPageChange,
56
+ onRequest: (overrides === null || overrides === void 0 ? void 0 : overrides.onRequest) || DEFAULT_HOOKS.onRequest,
57
+ onSubmit: (overrides === null || overrides === void 0 ? void 0 : overrides.onSubmit) || DEFAULT_HOOKS.onSubmit,
58
+ onValidate: (overrides === null || overrides === void 0 ? void 0 : overrides.onValidate) || DEFAULT_HOOKS.onValidate,
59
+ onCancel: (overrides === null || overrides === void 0 ? void 0 : overrides.onCancel) || DEFAULT_HOOKS.onCancel
60
+ });
61
+ const addHook = (name, hook) => {
86
62
  if (ALLOWED_HOOKS.includes(name)) {
87
- setHooks(function (prev) {
88
- return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, name, hook || DEFAULT_HOOKS[name]));
89
- });
63
+ setHooks(prev => ({
64
+ ...prev,
65
+ [name]: hook || DEFAULT_HOOKS[name] // Don't allow it to be undefined.
66
+ }));
90
67
  }
91
68
  };
92
- var removeHook = function removeHook(name) {
69
+
70
+ const removeHook = name => {
93
71
  if (ALLOWED_HOOKS.includes(name)) {
94
- setHooks(function (prev) {
95
- return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, name, DEFAULT_HOOKS[name]));
96
- });
72
+ setHooks(prev => ({
73
+ ...prev,
74
+ [name]: DEFAULT_HOOKS[name]
75
+ }));
97
76
  }
98
77
  };
99
78
  return /*#__PURE__*/_react.default.createElement(HooksContext.Provider, {
100
79
  value: {
101
- hooks: hooks,
102
- addHook: addHook,
103
- removeHook: removeHook
80
+ hooks,
81
+ addHook,
82
+ removeHook
104
83
  }
105
84
  }, children);
106
85
  };
@@ -1,45 +1,36 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
3
  var _react = require("@testing-library/react");
5
4
  var _react2 = _interopRequireDefault(require("react"));
6
5
  var _hooks = require("../../hooks");
7
6
  var _HooksContext = _interopRequireWildcard(require("./HooksContext"));
8
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
9
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
7
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
8
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
12
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
13
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } // Global imports
10
+ // Global imports
11
+
14
12
  // Local imports
15
- var TestComponent = function TestComponent() {
16
- var _useHooks = (0, _hooks.useHooks)(),
17
- hooks = _useHooks.hooks,
18
- addHook = _useHooks.addHook,
19
- removeHook = _useHooks.removeHook;
20
- return /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, typeof addHook === 'function' && /*#__PURE__*/_react2.default.createElement("span", null, "addHook is a function"), typeof removeHook === 'function' && /*#__PURE__*/_react2.default.createElement("span", null, "removeHook is a function"), Object.keys(hooks).map(function (key) {
21
- return typeof hooks[key] === 'function' && /*#__PURE__*/_react2.default.createElement("span", {
22
- key: key
23
- }, key, " is a function");
24
- }));
13
+
14
+ const TestComponent = () => {
15
+ const {
16
+ hooks,
17
+ addHook,
18
+ removeHook
19
+ } = (0, _hooks.useHooks)();
20
+ return /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, typeof addHook === 'function' && /*#__PURE__*/_react2.default.createElement("span", null, "addHook is a function"), typeof removeHook === 'function' && /*#__PURE__*/_react2.default.createElement("span", null, "removeHook is a function"), Object.keys(hooks).map(key => typeof hooks[key] === 'function' && /*#__PURE__*/_react2.default.createElement("span", {
21
+ key: key
22
+ }, key, " is a function")));
25
23
  };
26
- describe('context.ValidationContext', function () {
27
- it('should appropriately set up the context', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
28
- var _render, container;
29
- return _regeneratorRuntime().wrap(function _callee$(_context) {
30
- while (1) switch (_context.prev = _context.next) {
31
- case 0:
32
- _render = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_HooksContext.default, null, /*#__PURE__*/_react2.default.createElement(TestComponent, null))), container = _render.container;
33
- expect(container.childNodes.length).toEqual(2 + _HooksContext.ALLOWED_HOOKS.length);
34
- expect(container.textContent).toContain('addHook is a function');
35
- expect(container.textContent).toContain('removeHook is a function');
36
- _HooksContext.ALLOWED_HOOKS.forEach(function (hook) {
37
- expect(container.textContent).toContain("".concat(hook, " is a function"));
38
- });
39
- case 5:
40
- case "end":
41
- return _context.stop();
42
- }
43
- }, _callee);
44
- })));
24
+ describe('context.ValidationContext', () => {
25
+ it('should appropriately set up the context', async () => {
26
+ const {
27
+ container
28
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_HooksContext.default, null, /*#__PURE__*/_react2.default.createElement(TestComponent, null)));
29
+ expect(container.childNodes.length).toEqual(2 + _HooksContext.ALLOWED_HOOKS.length);
30
+ expect(container.textContent).toContain('addHook is a function');
31
+ expect(container.textContent).toContain('removeHook is a function');
32
+ _HooksContext.ALLOWED_HOOKS.forEach(hook => {
33
+ expect(container.textContent).toContain("".concat(hook, " is a function"));
34
+ });
35
+ });
45
36
  });
@@ -1,17 +1,16 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  Object.defineProperty(exports, "HooksContext", {
8
7
  enumerable: true,
9
- get: function get() {
8
+ get: function () {
10
9
  return _HooksContext.HooksContext;
11
10
  }
12
11
  });
13
12
  exports.default = void 0;
14
13
  var _HooksContext = _interopRequireWildcard(require("./HooksContext"));
15
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
16
  var _default = exports.default = _HooksContext.default;
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -10,87 +9,48 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
10
9
  var _utils = _interopRequireDefault(require("../../utils"));
11
10
  var _hooks = require("../../hooks");
12
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
16
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
17
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
18
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
19
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
20
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
22
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
23
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /* eslint-disable react/jsx-no-constructed-context-values, no-shadow */ // Global imports
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ /* eslint-disable react/jsx-no-constructed-context-values, no-shadow */
15
+ // Global imports
16
+
24
17
  // Local imports
25
- var ValidationContext = exports.ValidationContext = /*#__PURE__*/(0, _react.createContext)();
26
- var ValidationContextProvider = function ValidationContextProvider(_ref) {
27
- var children = _ref.children;
28
- var _useHooks = (0, _hooks.useHooks)(),
29
- hooks = _useHooks.hooks;
30
- var _useState = (0, _react.useState)([]),
31
- _useState2 = _slicedToArray(_useState, 2),
32
- errors = _useState2[0],
33
- setErrors = _useState2[1];
34
- var addErrors = /*#__PURE__*/function () {
35
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(errors) {
36
- return _regeneratorRuntime().wrap(function _callee$(_context) {
37
- while (1) switch (_context.prev = _context.next) {
38
- case 0:
39
- setErrors(function (prev) {
40
- return [].concat(prev, errors).filter(function (e) {
41
- return !!e;
42
- });
43
- });
44
- case 1:
45
- case "end":
46
- return _context.stop();
47
- }
48
- }, _callee);
49
- }));
50
- return function addErrors(_x) {
51
- return _ref2.apply(this, arguments);
52
- };
53
- }();
54
- var clearErrors = /*#__PURE__*/function () {
55
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
56
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
57
- while (1) switch (_context2.prev = _context2.next) {
58
- case 0:
59
- setErrors([]);
60
- case 1:
61
- case "end":
62
- return _context2.stop();
63
- }
64
- }, _callee2);
65
- }));
66
- return function clearErrors() {
67
- return _ref3.apply(this, arguments);
68
- };
69
- }();
70
- var validate = {
71
- page: function page(_page) {
72
- var pageErrors = _utils.default.Validate.page(_page);
73
- var allErrors = hooks.onValidate(_page, pageErrors);
18
+
19
+ const ValidationContext = exports.ValidationContext = /*#__PURE__*/(0, _react.createContext)();
20
+ const ValidationContextProvider = _ref => {
21
+ let {
22
+ children
23
+ } = _ref;
24
+ const {
25
+ hooks
26
+ } = (0, _hooks.useHooks)();
27
+ const [errors, setErrors] = (0, _react.useState)([]);
28
+ const addErrors = async errors => {
29
+ setErrors(prev => [].concat(prev, errors).filter(e => !!e));
30
+ };
31
+ const clearErrors = async () => {
32
+ setErrors([]);
33
+ };
34
+ const validate = {
35
+ page: page => {
36
+ const pageErrors = _utils.default.Validate.page(page);
37
+ const allErrors = hooks.onValidate(page, pageErrors);
74
38
  setErrors(allErrors);
75
39
  return allErrors;
76
40
  },
77
- pages: function pages(_pages) {
78
- var allPagesErrors = _pages.map(function (page) {
79
- return _utils.default.Validate.page(page);
80
- });
81
- var allErrors = _pages.flatMap(function (page, index) {
82
- return hooks.onValidate(page, allPagesErrors[index]);
83
- });
41
+ pages: pages => {
42
+ const allPagesErrors = pages.map(page => _utils.default.Validate.page(page));
43
+ const allErrors = pages.flatMap((page, index) => hooks.onValidate(page, allPagesErrors[index]));
84
44
  setErrors(allErrors);
85
45
  return allErrors;
86
46
  }
87
47
  };
88
48
  return /*#__PURE__*/_react.default.createElement(ValidationContext.Provider, {
89
49
  value: {
90
- errors: errors,
91
- addErrors: addErrors,
92
- clearErrors: clearErrors,
93
- validate: validate
50
+ errors,
51
+ addErrors,
52
+ clearErrors,
53
+ validate
94
54
  }
95
55
  }, children);
96
56
  };
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
3
  var _react = require("@testing-library/react");
5
4
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
6
5
  var _react2 = _interopRequireWildcard(require("react"));
@@ -9,20 +8,23 @@ var _hooks = require("../../hooks");
9
8
  var _ValidationContext = _interopRequireDefault(require("./ValidationContext"));
10
9
  var _HooksContext = _interopRequireDefault(require("../HooksContext"));
11
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
13
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
15
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
16
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } // Global imports
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ // Global imports
14
+
17
15
  // Local imports
18
- var TestComponent = function TestComponent(_ref) {
19
- var customErrors = _ref.customErrors;
20
- var _useValidation = (0, _hooks.useValidation)(),
21
- addErrors = _useValidation.addErrors,
22
- clearErrors = _useValidation.clearErrors,
23
- errors = _useValidation.errors,
24
- validate = _useValidation.validate;
25
- (0, _react2.useEffect)(function () {
16
+
17
+ const TestComponent = _ref => {
18
+ let {
19
+ customErrors
20
+ } = _ref;
21
+ const {
22
+ addErrors,
23
+ clearErrors,
24
+ errors,
25
+ validate
26
+ } = (0, _hooks.useValidation)();
27
+ (0, _react2.useEffect)(() => {
26
28
  if (customErrors) {
27
29
  addErrors(customErrors);
28
30
  }
@@ -31,51 +33,37 @@ var TestComponent = function TestComponent(_ref) {
31
33
  errors: errors
32
34
  }));
33
35
  };
34
- describe('context.ValidationContext', function () {
35
- it('should appropriately set up the context', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
36
- var _render, container;
37
- return _regeneratorRuntime().wrap(function _callee$(_context) {
38
- while (1) switch (_context.prev = _context.next) {
39
- case 0:
40
- _render = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_HooksContext.default, null, /*#__PURE__*/_react2.default.createElement(_ValidationContext.default, null, /*#__PURE__*/_react2.default.createElement(TestComponent, null)))), container = _render.container;
41
- expect(container.childNodes.length).toEqual(4);
42
- expect(container.textContent).toContain('addErrors is a function');
43
- expect(container.textContent).toContain('clearErrors is a function');
44
- expect(container.textContent).toContain('validate.page is a function');
45
- expect(container.textContent).toContain('errors is an array of length 0');
46
- case 6:
47
- case "end":
48
- return _context.stop();
49
- }
50
- }, _callee);
51
- })));
52
- it('should appropriately handle errors', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
53
- var CUSTOM_ERRORS, _render2, container, errorSummary;
54
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
55
- while (1) switch (_context2.prev = _context2.next) {
56
- case 0:
57
- CUSTOM_ERRORS = [{
58
- id: 'alpha',
59
- error: 'Alpha is required'
60
- }];
61
- _render2 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_HooksContext.default, null, /*#__PURE__*/_react2.default.createElement(_ValidationContext.default, null, /*#__PURE__*/_react2.default.createElement(TestComponent, {
62
- customErrors: CUSTOM_ERRORS
63
- })))), container = _render2.container;
64
- expect(container.childNodes.length).toEqual(5);
65
- expect(container.textContent).toContain('addErrors is a function');
66
- expect(container.textContent).toContain('clearErrors is a function');
67
- expect(container.textContent).toContain('validate.page is a function');
68
- expect(container.textContent).toContain('errors is an array of length 1');
69
- errorSummary = container.childNodes[4];
70
- expect(errorSummary.tagName).toEqual('DIV');
71
- expect(errorSummary.classList).toContain('govuk-error-summary');
72
- expect(errorSummary.textContent).toContain(CUSTOM_ERRORS[0].error);
73
- case 11:
74
- case "end":
75
- return _context2.stop();
76
- }
77
- }, _callee2);
78
- })));
36
+ describe('context.ValidationContext', () => {
37
+ it('should appropriately set up the context', async () => {
38
+ const {
39
+ container
40
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_HooksContext.default, null, /*#__PURE__*/_react2.default.createElement(_ValidationContext.default, null, /*#__PURE__*/_react2.default.createElement(TestComponent, null))));
41
+ expect(container.childNodes.length).toEqual(4);
42
+ expect(container.textContent).toContain('addErrors is a function');
43
+ expect(container.textContent).toContain('clearErrors is a function');
44
+ expect(container.textContent).toContain('validate.page is a function');
45
+ expect(container.textContent).toContain('errors is an array of length 0');
46
+ });
47
+ it('should appropriately handle errors', async () => {
48
+ const CUSTOM_ERRORS = [{
49
+ id: 'alpha',
50
+ error: 'Alpha is required'
51
+ }];
52
+ const {
53
+ container
54
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_HooksContext.default, null, /*#__PURE__*/_react2.default.createElement(_ValidationContext.default, null, /*#__PURE__*/_react2.default.createElement(TestComponent, {
55
+ customErrors: CUSTOM_ERRORS
56
+ }))));
57
+ expect(container.childNodes.length).toEqual(5);
58
+ expect(container.textContent).toContain('addErrors is a function');
59
+ expect(container.textContent).toContain('clearErrors is a function');
60
+ expect(container.textContent).toContain('validate.page is a function');
61
+ expect(container.textContent).toContain('errors is an array of length 1');
62
+ const errorSummary = container.childNodes[4];
63
+ expect(errorSummary.tagName).toEqual('DIV');
64
+ expect(errorSummary.classList).toContain('govuk-error-summary');
65
+ expect(errorSummary.textContent).toContain(CUSTOM_ERRORS[0].error);
66
+ });
79
67
  });
80
68
  TestComponent.propTypes = {
81
69
  customErrors: _propTypes.default.arrayOf(_propTypes.default.shape({}))