@defra/forms-engine-plugin 4.7.2 → 4.8.0

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 (407) hide show
  1. package/.public/javascripts/shared.min.js +1 -1
  2. package/.public/javascripts/shared.min.js.map +1 -1
  3. package/.server/client/javascripts/geospatial-map.d.ts +6 -6
  4. package/.server/client/javascripts/geospatial-map.js +3 -3
  5. package/.server/client/javascripts/location-map.d.ts +1 -1
  6. package/.server/client/javascripts/location-map.js +1 -1
  7. package/.server/client/javascripts/map.d.ts +5 -1
  8. package/.server/client/javascripts/map.js +10 -2
  9. package/.server/client/javascripts/map.js.map +1 -1
  10. package/.server/client/javascripts/shared.d.ts +7 -7
  11. package/.server/server/index.d.ts +1 -1
  12. package/.server/server/plugins/crumb.d.ts +1 -1
  13. package/.server/server/plugins/engine/beta/form-context.d.ts +6 -6
  14. package/.server/server/plugins/engine/components/AutocompleteField.d.ts +4 -4
  15. package/.server/server/plugins/engine/components/CheckboxesField.d.ts +2 -2
  16. package/.server/server/plugins/engine/components/CheckboxesField.js +2 -2
  17. package/.server/server/plugins/engine/components/CheckboxesField.js.map +1 -1
  18. package/.server/server/plugins/engine/components/ComponentBase.d.ts +5 -5
  19. package/.server/server/plugins/engine/components/ComponentCollection.d.ts +8 -8
  20. package/.server/server/plugins/engine/components/DatePartsField.d.ts +11 -11
  21. package/.server/server/plugins/engine/components/DeclarationField.d.ts +3 -3
  22. package/.server/server/plugins/engine/components/Details.d.ts +1 -1
  23. package/.server/server/plugins/engine/components/EastingNorthingField.d.ts +22 -22
  24. package/.server/server/plugins/engine/components/EmailAddressField.d.ts +4 -4
  25. package/.server/server/plugins/engine/components/FileUploadField.d.ts +3 -3
  26. package/.server/server/plugins/engine/components/FormComponent.d.ts +10 -10
  27. package/.server/server/plugins/engine/components/GeospatialField.d.ts +6 -6
  28. package/.server/server/plugins/engine/components/HiddenField.d.ts +2 -2
  29. package/.server/server/plugins/engine/components/Html.d.ts +1 -1
  30. package/.server/server/plugins/engine/components/InsetText.d.ts +1 -1
  31. package/.server/server/plugins/engine/components/LatLongField.d.ts +22 -22
  32. package/.server/server/plugins/engine/components/List.d.ts +8 -8
  33. package/.server/server/plugins/engine/components/ListFormComponent.d.ts +10 -10
  34. package/.server/server/plugins/engine/components/LocationFieldBase.d.ts +6 -6
  35. package/.server/server/plugins/engine/components/LocationFieldHelpers.d.ts +14 -14
  36. package/.server/server/plugins/engine/components/Markdown.d.ts +1 -1
  37. package/.server/server/plugins/engine/components/MonthYearField.d.ts +11 -11
  38. package/.server/server/plugins/engine/components/MultilineTextField.d.ts +5 -5
  39. package/.server/server/plugins/engine/components/NationalGridFieldNumberField.d.ts +1 -1
  40. package/.server/server/plugins/engine/components/NumberField.d.ts +3 -3
  41. package/.server/server/plugins/engine/components/OsGridRefField.d.ts +1 -1
  42. package/.server/server/plugins/engine/components/PaymentField.d.ts +12 -12
  43. package/.server/server/plugins/engine/components/RadiosField.d.ts +1 -1
  44. package/.server/server/plugins/engine/components/SelectField.d.ts +4 -4
  45. package/.server/server/plugins/engine/components/SelectionControlField.d.ts +10 -10
  46. package/.server/server/plugins/engine/components/TelephoneNumberField.d.ts +4 -4
  47. package/.server/server/plugins/engine/components/TextField.d.ts +2 -2
  48. package/.server/server/plugins/engine/components/UkAddressField.d.ts +11 -11
  49. package/.server/server/plugins/engine/components/YesNoField.d.ts +2 -2
  50. package/.server/server/plugins/engine/components/helpers/__stubs__/geospatial.d.ts +1 -1
  51. package/.server/server/plugins/engine/components/helpers/components.d.ts +5 -5
  52. package/.server/server/plugins/engine/components/helpers/geospatial.d.ts +1 -1
  53. package/.server/server/plugins/engine/components/index.d.ts +27 -27
  54. package/.server/server/plugins/engine/components/types.d.ts +1 -1
  55. package/.server/server/plugins/engine/configureEnginePlugin.d.ts +4 -4
  56. package/.server/server/plugins/engine/date-helper.d.ts +1 -1
  57. package/.server/server/plugins/engine/helpers.d.ts +8 -8
  58. package/.server/server/plugins/engine/index.d.ts +5 -5
  59. package/.server/server/plugins/engine/models/FormModel.d.ts +6 -6
  60. package/.server/server/plugins/engine/models/SummaryViewModel.d.ts +6 -6
  61. package/.server/server/plugins/engine/models/index.d.ts +2 -2
  62. package/.server/server/plugins/engine/models/types.d.ts +4 -4
  63. package/.server/server/plugins/engine/options.d.ts +1 -1
  64. package/.server/server/plugins/engine/options.js +1 -1
  65. package/.server/server/plugins/engine/options.test.js +1 -1
  66. package/.server/server/plugins/engine/outputFormatters/adapter/v1.d.ts +4 -4
  67. package/.server/server/plugins/engine/outputFormatters/human/v1.d.ts +4 -4
  68. package/.server/server/plugins/engine/outputFormatters/index.d.ts +5 -5
  69. package/.server/server/plugins/engine/outputFormatters/machine/v1.d.ts +4 -4
  70. package/.server/server/plugins/engine/outputFormatters/machine/v2.d.ts +4 -4
  71. package/.server/server/plugins/engine/pageControllers/FileUploadPageController.d.ts +8 -8
  72. package/.server/server/plugins/engine/pageControllers/PageController.d.ts +6 -6
  73. package/.server/server/plugins/engine/pageControllers/QuestionPageController.d.ts +8 -8
  74. package/.server/server/plugins/engine/pageControllers/RepeatPageController.d.ts +5 -5
  75. package/.server/server/plugins/engine/pageControllers/StartPageController.d.ts +4 -4
  76. package/.server/server/plugins/engine/pageControllers/StatusPageController.d.ts +4 -4
  77. package/.server/server/plugins/engine/pageControllers/SummaryPageController.d.ts +5 -5
  78. package/.server/server/plugins/engine/pageControllers/TerminalPageController.d.ts +3 -3
  79. package/.server/server/plugins/engine/pageControllers/__stubs__/request.d.ts +2 -2
  80. package/.server/server/plugins/engine/pageControllers/errors.d.ts +1 -1
  81. package/.server/server/plugins/engine/pageControllers/helpers/pages.d.ts +2 -2
  82. package/.server/server/plugins/engine/pageControllers/helpers/state.d.ts +5 -5
  83. package/.server/server/plugins/engine/pageControllers/helpers/state.js +1 -1
  84. package/.server/server/plugins/engine/pageControllers/helpers/state.js.map +1 -1
  85. package/.server/server/plugins/engine/pageControllers/helpers/submission.d.ts +1 -1
  86. package/.server/server/plugins/engine/pageControllers/index.d.ts +7 -7
  87. package/.server/server/plugins/engine/plugin.d.ts +1 -1
  88. package/.server/server/plugins/engine/routes/file-upload.d.ts +1 -1
  89. package/.server/server/plugins/engine/routes/index.d.ts +3 -3
  90. package/.server/server/plugins/engine/routes/payment-helper.d.ts +3 -3
  91. package/.server/server/plugins/engine/routes/payment-helper.js +2 -2
  92. package/.server/server/plugins/engine/routes/payment.js +5 -5
  93. package/.server/server/plugins/engine/routes/payment.test.js +1 -1
  94. package/.server/server/plugins/engine/routes/questions.d.ts +2 -2
  95. package/.server/server/plugins/engine/routes/repeaters/item-delete.d.ts +2 -2
  96. package/.server/server/plugins/engine/routes/repeaters/summary.d.ts +2 -2
  97. package/.server/server/plugins/engine/services/index.d.ts +3 -3
  98. package/.server/server/plugins/engine/services/notifyService.d.ts +4 -4
  99. package/.server/server/plugins/engine/services/uploadService.d.ts +2 -2
  100. package/.server/server/plugins/engine/services/uploadService.js +1 -1
  101. package/.server/server/plugins/engine/types/index.d.ts +10 -10
  102. package/.server/server/plugins/engine/types/schema.d.ts +1 -1
  103. package/.server/server/plugins/engine/types.d.ts +25 -16
  104. package/.server/server/plugins/engine/types.js.map +1 -1
  105. package/.server/server/plugins/engine/validationHelpers.d.ts +2 -2
  106. package/.server/server/plugins/engine/vision.d.ts +1 -1
  107. package/.server/server/plugins/map/index.d.ts +1 -1
  108. package/.server/server/plugins/map/index.js +1 -1
  109. package/.server/server/plugins/map/routes/get-os-token.d.ts +11 -1
  110. package/.server/server/plugins/map/routes/get-os-token.js +12 -2
  111. package/.server/server/plugins/map/routes/get-os-token.js.map +1 -1
  112. package/.server/server/plugins/map/routes/index.d.ts +4 -4
  113. package/.server/server/plugins/map/routes/index.js +3 -2
  114. package/.server/server/plugins/map/routes/index.js.map +1 -1
  115. package/.server/server/plugins/map/routes/vts/esri-aerial.json +23 -0
  116. package/.server/server/plugins/map/service.d.ts +1 -1
  117. package/.server/server/plugins/map/service.js +5 -2
  118. package/.server/server/plugins/map/service.js.map +1 -1
  119. package/.server/server/plugins/map/test/__stubs__/find.d.ts +1 -1
  120. package/.server/server/plugins/map/test/__stubs__/find.js +1 -1
  121. package/.server/server/plugins/nunjucks/context.d.ts +2 -2
  122. package/.server/server/plugins/nunjucks/context.js +2 -2
  123. package/.server/server/plugins/nunjucks/context.test.js +1 -1
  124. package/.server/server/plugins/nunjucks/enviroment.test.js +1 -1
  125. package/.server/server/plugins/nunjucks/environment.d.ts +3 -3
  126. package/.server/server/plugins/nunjucks/environment.js +3 -3
  127. package/.server/server/plugins/nunjucks/filters/answer.d.ts +1 -1
  128. package/.server/server/plugins/nunjucks/filters/answer.js +2 -2
  129. package/.server/server/plugins/nunjucks/filters/answer.test.js +1 -1
  130. package/.server/server/plugins/nunjucks/filters/evaluate.d.ts +1 -1
  131. package/.server/server/plugins/nunjucks/filters/evaluate.js +1 -1
  132. package/.server/server/plugins/nunjucks/filters/field.d.ts +1 -1
  133. package/.server/server/plugins/nunjucks/filters/field.js +1 -1
  134. package/.server/server/plugins/nunjucks/filters/field.test.js +1 -1
  135. package/.server/server/plugins/nunjucks/filters/href.d.ts +1 -1
  136. package/.server/server/plugins/nunjucks/filters/href.js +1 -1
  137. package/.server/server/plugins/nunjucks/filters/href.test.js +1 -1
  138. package/.server/server/plugins/nunjucks/filters/index.d.ts +8 -8
  139. package/.server/server/plugins/nunjucks/filters/page.d.ts +1 -1
  140. package/.server/server/plugins/nunjucks/filters/page.js +1 -1
  141. package/.server/server/plugins/nunjucks/filters/page.test.js +1 -1
  142. package/.server/server/plugins/nunjucks/index.d.ts +3 -3
  143. package/.server/server/plugins/nunjucks/render.d.ts +2 -2
  144. package/.server/server/plugins/nunjucks/render.js +1 -1
  145. package/.server/server/plugins/nunjucks/types.d.ts +1 -1
  146. package/.server/server/plugins/nunjucks/types.js +1 -1
  147. package/.server/server/plugins/payment/helper.d.ts +2 -2
  148. package/.server/server/plugins/payment/helper.js +1 -1
  149. package/.server/server/plugins/payment/service.d.ts +3 -3
  150. package/.server/server/plugins/payment/service.js +1 -1
  151. package/.server/server/plugins/postcode-lookup/index.d.ts +1 -1
  152. package/.server/server/plugins/postcode-lookup/index.js +1 -1
  153. package/.server/server/plugins/postcode-lookup/models/index.d.ts +6 -6
  154. package/.server/server/plugins/postcode-lookup/models/index.js +1 -1
  155. package/.server/server/plugins/postcode-lookup/routes/index.d.ts +6 -6
  156. package/.server/server/plugins/postcode-lookup/routes/index.js +15 -15
  157. package/.server/server/plugins/postcode-lookup/routes/index.js.map +1 -1
  158. package/.server/server/plugins/postcode-lookup/service.d.ts +1 -1
  159. package/.server/server/plugins/postcode-lookup/service.js +5 -2
  160. package/.server/server/plugins/postcode-lookup/service.js.map +1 -1
  161. package/.server/server/plugins/postcode-lookup/types.js +1 -1
  162. package/.server/server/routes/index.d.ts +2 -2
  163. package/.server/server/routes/types.d.ts +1 -1
  164. package/.server/server/schemas/index.d.ts +2 -2
  165. package/.server/server/services/cacheService.d.ts +8 -8
  166. package/.server/server/services/cacheService.js +2 -5
  167. package/.server/server/services/cacheService.js.map +1 -1
  168. package/.server/server/services/httpService.test.js +1 -1
  169. package/.server/server/services/index.d.ts +1 -1
  170. package/.server/server/types.d.ts +7 -7
  171. package/.server/server/utils/file-form-service.d.ts +2 -2
  172. package/.server/server/utils/file-form-service.js +1 -1
  173. package/package.json +8 -4
  174. package/src/client/javascripts/application.js +1 -1
  175. package/src/client/javascripts/geospatial-map.js +4 -4
  176. package/src/client/javascripts/location-map.js +2 -2
  177. package/src/client/javascripts/map.js +13 -4
  178. package/src/client/javascripts/shared.js +7 -7
  179. package/src/index.ts +3 -3
  180. package/src/server/common/helpers/logging/logger-options.ts +1 -1
  181. package/src/server/common/helpers/logging/logger.ts +1 -1
  182. package/src/server/common/helpers/logging/request-logger.ts +1 -1
  183. package/src/server/common/helpers/logging/request-tracing.js +1 -1
  184. package/src/server/common/helpers/redis-client.js +2 -2
  185. package/src/server/index.ts +13 -13
  186. package/src/server/plugins/crumb.ts +2 -2
  187. package/src/server/plugins/engine/beta/form-context.ts +9 -9
  188. package/src/server/plugins/engine/components/AutocompleteField.ts +3 -3
  189. package/src/server/plugins/engine/components/CheckboxesField.ts +7 -8
  190. package/src/server/plugins/engine/components/ComponentBase.ts +5 -5
  191. package/src/server/plugins/engine/components/ComponentCollection.ts +9 -9
  192. package/src/server/plugins/engine/components/DatePartsField.ts +8 -8
  193. package/src/server/plugins/engine/components/DeclarationField.ts +3 -3
  194. package/src/server/plugins/engine/components/Details.ts +1 -1
  195. package/src/server/plugins/engine/components/EastingNorthingField.ts +9 -9
  196. package/src/server/plugins/engine/components/EmailAddressField.ts +3 -3
  197. package/src/server/plugins/engine/components/FileUploadField.ts +6 -6
  198. package/src/server/plugins/engine/components/FormComponent.ts +4 -4
  199. package/src/server/plugins/engine/components/GeospatialField.ts +5 -5
  200. package/src/server/plugins/engine/components/HiddenField.ts +4 -4
  201. package/src/server/plugins/engine/components/Html.ts +1 -1
  202. package/src/server/plugins/engine/components/InsetText.ts +1 -1
  203. package/src/server/plugins/engine/components/LatLongField.ts +9 -9
  204. package/src/server/plugins/engine/components/List.ts +2 -2
  205. package/src/server/plugins/engine/components/ListFormComponent.ts +4 -4
  206. package/src/server/plugins/engine/components/LocationFieldBase.ts +5 -5
  207. package/src/server/plugins/engine/components/LocationFieldHelpers.ts +5 -5
  208. package/src/server/plugins/engine/components/Markdown.ts +1 -1
  209. package/src/server/plugins/engine/components/MonthYearField.ts +8 -8
  210. package/src/server/plugins/engine/components/MultilineTextField.ts +4 -4
  211. package/src/server/plugins/engine/components/NationalGridFieldNumberField.ts +2 -2
  212. package/src/server/plugins/engine/components/NumberField.ts +3 -3
  213. package/src/server/plugins/engine/components/OsGridRefField.ts +2 -2
  214. package/src/server/plugins/engine/components/PaymentField.ts +8 -8
  215. package/src/server/plugins/engine/components/RadiosField.ts +1 -1
  216. package/src/server/plugins/engine/components/SelectField.ts +2 -2
  217. package/src/server/plugins/engine/components/SelectionControlField.ts +4 -4
  218. package/src/server/plugins/engine/components/TelephoneNumberField.ts +4 -4
  219. package/src/server/plugins/engine/components/TextField.ts +3 -3
  220. package/src/server/plugins/engine/components/UkAddressField.ts +7 -7
  221. package/src/server/plugins/engine/components/YesNoField.ts +5 -5
  222. package/src/server/plugins/engine/components/helpers/__stubs__/geospatial.ts +1 -1
  223. package/src/server/plugins/engine/components/helpers/components.ts +8 -8
  224. package/src/server/plugins/engine/components/helpers/geospatial.ts +1 -1
  225. package/src/server/plugins/engine/components/index.ts +27 -27
  226. package/src/server/plugins/engine/components/types.ts +1 -1
  227. package/src/server/plugins/engine/configureEnginePlugin.ts +10 -10
  228. package/src/server/plugins/engine/date-helper.ts +1 -1
  229. package/src/server/plugins/engine/helpers.ts +8 -8
  230. package/src/server/plugins/engine/index.ts +8 -8
  231. package/src/server/plugins/engine/models/FormModel.ts +15 -15
  232. package/src/server/plugins/engine/models/SummaryViewModel.ts +10 -10
  233. package/src/server/plugins/engine/models/index.ts +2 -2
  234. package/src/server/plugins/engine/models/types.ts +4 -4
  235. package/src/server/plugins/engine/options.js +3 -3
  236. package/src/server/plugins/engine/outputFormatters/adapter/v1.ts +6 -6
  237. package/src/server/plugins/engine/outputFormatters/human/v1.ts +9 -9
  238. package/src/server/plugins/engine/outputFormatters/index.ts +8 -8
  239. package/src/server/plugins/engine/outputFormatters/machine/v1.ts +7 -7
  240. package/src/server/plugins/engine/outputFormatters/machine/v2.ts +6 -6
  241. package/src/server/plugins/engine/pageControllers/FileUploadPageController.ts +9 -9
  242. package/src/server/plugins/engine/pageControllers/PageController.ts +7 -7
  243. package/src/server/plugins/engine/pageControllers/QuestionPageController.ts +13 -13
  244. package/src/server/plugins/engine/pageControllers/RepeatPageController.ts +6 -6
  245. package/src/server/plugins/engine/pageControllers/StartPageController.ts +3 -3
  246. package/src/server/plugins/engine/pageControllers/StatusPageController.ts +5 -5
  247. package/src/server/plugins/engine/pageControllers/SummaryPageController.ts +12 -12
  248. package/src/server/plugins/engine/pageControllers/TerminalPageController.ts +3 -3
  249. package/src/server/plugins/engine/pageControllers/__stubs__/request.ts +3 -3
  250. package/src/server/plugins/engine/pageControllers/__stubs__/server.ts +2 -2
  251. package/src/server/plugins/engine/pageControllers/errors.ts +1 -1
  252. package/src/server/plugins/engine/pageControllers/helpers/pages.ts +2 -2
  253. package/src/server/plugins/engine/pageControllers/helpers/state.ts +9 -9
  254. package/src/server/plugins/engine/pageControllers/helpers/submission.ts +5 -5
  255. package/src/server/plugins/engine/pageControllers/index.ts +7 -7
  256. package/src/server/plugins/engine/pageControllers/validationOptions.ts +1 -1
  257. package/src/server/plugins/engine/plugin.ts +14 -14
  258. package/src/server/plugins/engine/routes/file-upload.ts +2 -2
  259. package/src/server/plugins/engine/routes/index.ts +10 -10
  260. package/src/server/plugins/engine/routes/payment-helper.js +4 -4
  261. package/src/server/plugins/engine/routes/payment.js +9 -9
  262. package/src/server/plugins/engine/routes/questions.ts +10 -10
  263. package/src/server/plugins/engine/routes/repeaters/item-delete.ts +6 -6
  264. package/src/server/plugins/engine/routes/repeaters/summary.ts +5 -5
  265. package/src/server/plugins/engine/services/formSubmissionService.js +2 -2
  266. package/src/server/plugins/engine/services/index.js +3 -3
  267. package/src/server/plugins/engine/services/localFormsService.js +2 -2
  268. package/src/server/plugins/engine/services/notifyService.ts +9 -9
  269. package/src/server/plugins/engine/services/uploadService.js +3 -3
  270. package/src/server/plugins/engine/types/index.ts +10 -10
  271. package/src/server/plugins/engine/types/schema.ts +2 -2
  272. package/src/server/plugins/engine/types.ts +22 -17
  273. package/src/server/plugins/engine/validationHelpers.ts +3 -3
  274. package/src/server/plugins/engine/vision.ts +3 -3
  275. package/src/server/plugins/map/index.js +2 -2
  276. package/src/server/plugins/map/routes/get-os-token.js +15 -3
  277. package/src/server/plugins/map/routes/index.js +7 -5
  278. package/src/server/plugins/map/routes/vts/esri-aerial.json +23 -0
  279. package/src/server/plugins/map/service.js +7 -4
  280. package/src/server/plugins/map/test/__stubs__/find.js +1 -1
  281. package/src/server/plugins/nunjucks/context.js +5 -5
  282. package/src/server/plugins/nunjucks/environment.js +6 -6
  283. package/src/server/plugins/nunjucks/filters/answer.js +3 -3
  284. package/src/server/plugins/nunjucks/filters/evaluate.js +2 -2
  285. package/src/server/plugins/nunjucks/filters/field.js +1 -1
  286. package/src/server/plugins/nunjucks/filters/href.js +2 -2
  287. package/src/server/plugins/nunjucks/filters/index.js +8 -8
  288. package/src/server/plugins/nunjucks/filters/page.js +1 -1
  289. package/src/server/plugins/nunjucks/index.js +3 -3
  290. package/src/server/plugins/nunjucks/plugin.js +3 -3
  291. package/src/server/plugins/nunjucks/render.js +2 -2
  292. package/src/server/plugins/nunjucks/types.js +1 -1
  293. package/src/server/plugins/payment/helper.js +2 -2
  294. package/src/server/plugins/payment/service.js +4 -4
  295. package/src/server/plugins/postcode-lookup/index.js +2 -2
  296. package/src/server/plugins/postcode-lookup/models/index.js +3 -3
  297. package/src/server/plugins/postcode-lookup/routes/index.js +24 -14
  298. package/src/server/plugins/postcode-lookup/service.js +7 -4
  299. package/src/server/plugins/postcode-lookup/types.js +1 -1
  300. package/src/server/plugins/session.ts +1 -1
  301. package/src/server/routes/index.ts +2 -2
  302. package/src/server/routes/public.ts +1 -1
  303. package/src/server/routes/types.ts +1 -1
  304. package/src/server/schemas/index.ts +2 -2
  305. package/src/server/secure-context.js +1 -1
  306. package/src/server/services/cacheService.ts +13 -18
  307. package/src/server/services/httpService.ts +1 -1
  308. package/src/server/services/index.ts +1 -1
  309. package/src/server/types.ts +7 -7
  310. package/src/server/utils/notify.ts +2 -2
  311. package/src/server/utils/utils.js +1 -1
  312. package/src/typings/hapi/index.d.ts +4 -4
  313. package/src/typings/joi/index.d.ts +1 -1
  314. package/src/server/common/helpers/logging/logger-options.test.ts +0 -50
  315. package/src/server/index.test.ts +0 -644
  316. package/src/server/plugins/engine/beta/form-context.test.ts +0 -373
  317. package/src/server/plugins/engine/components/AutocompleteField.test.ts +0 -362
  318. package/src/server/plugins/engine/components/CheckboxesField.test.ts +0 -486
  319. package/src/server/plugins/engine/components/DatePartsField.test.ts +0 -927
  320. package/src/server/plugins/engine/components/DeclarationField.test.ts +0 -560
  321. package/src/server/plugins/engine/components/Details.test.ts +0 -49
  322. package/src/server/plugins/engine/components/EastingNorthingField.test.ts +0 -727
  323. package/src/server/plugins/engine/components/EmailAddressField.test.ts +0 -445
  324. package/src/server/plugins/engine/components/FileUploadField.test.ts +0 -1079
  325. package/src/server/plugins/engine/components/GeospatialField.test.ts +0 -380
  326. package/src/server/plugins/engine/components/HiddenField.test.ts +0 -188
  327. package/src/server/plugins/engine/components/Html.test.ts +0 -48
  328. package/src/server/plugins/engine/components/InsetText.test.ts +0 -48
  329. package/src/server/plugins/engine/components/LatLongField.test.ts +0 -898
  330. package/src/server/plugins/engine/components/List.test.ts +0 -79
  331. package/src/server/plugins/engine/components/LocationFieldBase.test.ts +0 -253
  332. package/src/server/plugins/engine/components/LocationFieldHelpers.test.ts +0 -743
  333. package/src/server/plugins/engine/components/Markdown.test.ts +0 -48
  334. package/src/server/plugins/engine/components/MonthYearField.test.ts +0 -617
  335. package/src/server/plugins/engine/components/MultilineTextField.test.ts +0 -647
  336. package/src/server/plugins/engine/components/NationalGridFieldNumberField.test.ts +0 -449
  337. package/src/server/plugins/engine/components/NumberField.test.ts +0 -723
  338. package/src/server/plugins/engine/components/OsGridRefField.test.ts +0 -460
  339. package/src/server/plugins/engine/components/PaymentField.test.ts +0 -745
  340. package/src/server/plugins/engine/components/RadiosField.test.ts +0 -297
  341. package/src/server/plugins/engine/components/SelectField.test.ts +0 -289
  342. package/src/server/plugins/engine/components/TelephoneNumberField.test.ts +0 -384
  343. package/src/server/plugins/engine/components/TextField.test.ts +0 -521
  344. package/src/server/plugins/engine/components/UkAddressField.test.ts +0 -806
  345. package/src/server/plugins/engine/components/YesNoField.test.ts +0 -256
  346. package/src/server/plugins/engine/components/helpers/components.test.ts +0 -399
  347. package/src/server/plugins/engine/components/helpers/geospatial.test.js +0 -55
  348. package/src/server/plugins/engine/components/helpers/helpers.test.ts +0 -219
  349. package/src/server/plugins/engine/date-helper.test.ts +0 -47
  350. package/src/server/plugins/engine/helpers.test.ts +0 -868
  351. package/src/server/plugins/engine/models/FormModel.test.ts +0 -725
  352. package/src/server/plugins/engine/models/SummaryViewModel.test.ts +0 -472
  353. package/src/server/plugins/engine/options.test.js +0 -63
  354. package/src/server/plugins/engine/outputFormatters/adapter/v1.location.test.ts +0 -356
  355. package/src/server/plugins/engine/outputFormatters/adapter/v1.test.ts +0 -871
  356. package/src/server/plugins/engine/outputFormatters/human/v1.payment.test.ts +0 -147
  357. package/src/server/plugins/engine/outputFormatters/human/v1.test.ts +0 -145
  358. package/src/server/plugins/engine/outputFormatters/index.test.ts +0 -17
  359. package/src/server/plugins/engine/outputFormatters/machine/v1.test.ts +0 -268
  360. package/src/server/plugins/engine/outputFormatters/machine/v2.location.test.ts +0 -341
  361. package/src/server/plugins/engine/outputFormatters/machine/v2.payment.test.ts +0 -115
  362. package/src/server/plugins/engine/outputFormatters/machine/v2.test.ts +0 -311
  363. package/src/server/plugins/engine/pageControllers/FileUploadPageController.test.ts +0 -1372
  364. package/src/server/plugins/engine/pageControllers/PageController.test.ts +0 -246
  365. package/src/server/plugins/engine/pageControllers/QuestionPageController.test.ts +0 -1686
  366. package/src/server/plugins/engine/pageControllers/RepeatPageController.test.ts +0 -279
  367. package/src/server/plugins/engine/pageControllers/StartPageController.test.ts +0 -32
  368. package/src/server/plugins/engine/pageControllers/StatusPageController.test.ts +0 -32
  369. package/src/server/plugins/engine/pageControllers/SummaryPageController.test.ts +0 -89
  370. package/src/server/plugins/engine/pageControllers/TerminalController.test.ts +0 -37
  371. package/src/server/plugins/engine/pageControllers/errors.test.ts +0 -78
  372. package/src/server/plugins/engine/pageControllers/helpers/helpers.test.ts +0 -182
  373. package/src/server/plugins/engine/pageControllers/helpers/state.test.ts +0 -359
  374. package/src/server/plugins/engine/pageControllers/helpers/submission.test.ts +0 -373
  375. package/src/server/plugins/engine/referenceNumbers.test.ts +0 -74
  376. package/src/server/plugins/engine/routes/index.test.ts +0 -332
  377. package/src/server/plugins/engine/routes/payment-helper.test.js +0 -136
  378. package/src/server/plugins/engine/routes/payment.test.js +0 -180
  379. package/src/server/plugins/engine/routes/questions.test.ts +0 -502
  380. package/src/server/plugins/engine/routes/repeaters/item-delete.test.ts +0 -83
  381. package/src/server/plugins/engine/routes/repeaters/summary.test.ts +0 -75
  382. package/src/server/plugins/engine/services/formsService.test.js +0 -26
  383. package/src/server/plugins/engine/services/notifyService.test.ts +0 -310
  384. package/src/server/plugins/engine/types/schema.test.ts +0 -234
  385. package/src/server/plugins/engine/views/components/service-banner/template.test.js +0 -43
  386. package/src/server/plugins/engine/views/components/tag-env/template.test.js +0 -28
  387. package/src/server/plugins/engine/views/partials/preview-banner.test.js +0 -122
  388. package/src/server/plugins/map/routes/get-os-token.test.js +0 -55
  389. package/src/server/plugins/map/service.test.js +0 -144
  390. package/src/server/plugins/nunjucks/context.test.js +0 -109
  391. package/src/server/plugins/nunjucks/enviroment.test.js +0 -207
  392. package/src/server/plugins/nunjucks/filters/answer.test.js +0 -92
  393. package/src/server/plugins/nunjucks/filters/field.test.js +0 -75
  394. package/src/server/plugins/nunjucks/filters/href.test.js +0 -80
  395. package/src/server/plugins/nunjucks/filters/merge.test.js +0 -15
  396. package/src/server/plugins/nunjucks/filters/page.test.js +0 -65
  397. package/src/server/plugins/payment/helper.test.js +0 -29
  398. package/src/server/plugins/payment/service.test.js +0 -218
  399. package/src/server/plugins/postcode-lookup/service.test.js +0 -177
  400. package/src/server/postcode-lookup.test.ts +0 -64
  401. package/src/server/routes/dummy-api.test.ts +0 -97
  402. package/src/server/services/cacheService.test.ts +0 -308
  403. package/src/server/services/httpService.test.js +0 -491
  404. package/src/server/utils/file-form-service.test.js +0 -127
  405. package/src/server/utils/notify.test.ts +0 -37
  406. package/src/server/utils/secure-context/get-trust-store-certs.test.js +0 -19
  407. package/src/server/utils/utils.test.js +0 -69
@@ -1,12 +1,12 @@
1
1
  import { SchemaVersion, type ComponentDef, type ConditionWrapper, type ConditionWrapperV2, type ConditionsModelData, type Engine, type FormDefinition, type List, type Page, type Section } from '@defra/forms-model';
2
2
  import { Parser, type Value } from 'expr-eval-fork';
3
3
  import joi from 'joi';
4
- import { type Component } from '~/src/server/plugins/engine/components/helpers/components.js';
5
- import { type ExecutableCondition } from '~/src/server/plugins/engine/models/types.js';
6
- import { type PageController } from '~/src/server/plugins/engine/pageControllers/PageController.js';
7
- import { type PageControllerClass } from '~/src/server/plugins/engine/pageControllers/helpers/pages.js';
8
- import { type FormContext, type FormContextRequest, type FormState, type FormSubmissionError, type FormSubmissionState } from '~/src/server/plugins/engine/types.js';
9
- import { type Services } from '~/src/server/types.js';
4
+ import { type Component } from '../../../../server/plugins/engine/components/helpers/components.js';
5
+ import { type ExecutableCondition } from '../../../../server/plugins/engine/models/types.js';
6
+ import { type PageController } from '../../../../server/plugins/engine/pageControllers/PageController.js';
7
+ import { type PageControllerClass } from '../../../../server/plugins/engine/pageControllers/helpers/pages.js';
8
+ import { type FormContext, type FormContextRequest, type FormState, type FormSubmissionError, type FormSubmissionState } from '../../../../server/plugins/engine/types.js';
9
+ import { type Services } from '../../../../server/types.js';
10
10
  export declare class FormModel {
11
11
  /** The runtime engine that should be used */
12
12
  engine?: Engine;
@@ -1,9 +1,9 @@
1
- import { type PaymentState } from '~/src/server/plugins/engine/components/PaymentField.types.js';
2
- import { type Field } from '~/src/server/plugins/engine/components/helpers/components.js';
3
- import { type BackLink, type ComponentViewModel } from '~/src/server/plugins/engine/components/types.js';
4
- import { type Detail, type DetailItemField } from '~/src/server/plugins/engine/models/types.js';
5
- import { type PageControllerClass } from '~/src/server/plugins/engine/pageControllers/helpers/pages.js';
6
- import { type CheckAnswers, type FormContext, type FormContextRequest, type FormState, type FormSubmissionError } from '~/src/server/plugins/engine/types.js';
1
+ import { type PaymentState } from '../../../../server/plugins/engine/components/PaymentField.types.js';
2
+ import { type Field } from '../../../../server/plugins/engine/components/helpers/components.js';
3
+ import { type BackLink, type ComponentViewModel } from '../../../../server/plugins/engine/components/types.js';
4
+ import { type Detail, type DetailItemField } from '../../../../server/plugins/engine/models/types.js';
5
+ import { type PageControllerClass } from '../../../../server/plugins/engine/pageControllers/helpers/pages.js';
6
+ import { type CheckAnswers, type FormContext, type FormContextRequest, type FormState, type FormSubmissionError } from '../../../../server/plugins/engine/types.js';
7
7
  export declare class SummaryViewModel {
8
8
  /**
9
9
  * Responsible for parsing state values to the govuk-frontend summary list template
@@ -1,2 +1,2 @@
1
- export { FormModel } from '~/src/server/plugins/engine/models/FormModel.js';
2
- export { SummaryViewModel } from '~/src/server/plugins/engine/models/SummaryViewModel.js';
1
+ export { FormModel } from '../../../../server/plugins/engine/models/FormModel.js';
2
+ export { SummaryViewModel } from '../../../../server/plugins/engine/models/SummaryViewModel.js';
@@ -1,9 +1,9 @@
1
1
  import { type ConditionWrapper, type Section } from '@defra/forms-model';
2
2
  import { type Expression } from 'expr-eval-fork';
3
- import { type Field } from '~/src/server/plugins/engine/components/helpers/components.js';
4
- import { type RepeatPageController } from '~/src/server/plugins/engine/pageControllers/RepeatPageController.js';
5
- import { type PageControllerClass } from '~/src/server/plugins/engine/pageControllers/helpers/pages.js';
6
- import { type FormState, type FormSubmissionError } from '~/src/server/plugins/engine/types.js';
3
+ import { type Field } from '../../../../server/plugins/engine/components/helpers/components.js';
4
+ import { type RepeatPageController } from '../../../../server/plugins/engine/pageControllers/RepeatPageController.js';
5
+ import { type PageControllerClass } from '../../../../server/plugins/engine/pageControllers/helpers/pages.js';
6
+ import { type FormState, type FormSubmissionError } from '../../../../server/plugins/engine/types.js';
7
7
  export type ExecutableCondition = ConditionWrapper & {
8
8
  expr: Expression;
9
9
  fn: (evaluationState: FormState) => boolean;
@@ -4,4 +4,4 @@
4
4
  * @returns {PluginOptions}
5
5
  */
6
6
  export function validatePluginOptions(options: PluginOptions): PluginOptions;
7
- import type { PluginOptions } from '~/src/server/plugins/engine/types.js';
7
+ import type { PluginOptions } from '../../../server/plugins/engine/types.js';
@@ -43,6 +43,6 @@ export function validatePluginOptions(options) {
43
43
  }
44
44
 
45
45
  /**
46
- * @import { PluginOptions } from '~/src/server/plugins/engine/types.js'
46
+ * @import { PluginOptions } from '../../../server/plugins/engine/types.js'
47
47
  */
48
48
  //# sourceMappingURL=options.js.map
@@ -53,6 +53,6 @@ describe('validatePluginOptions', () => {
53
53
  });
54
54
 
55
55
  /**
56
- * @import { PluginOptions } from '~/src/server/plugins/engine/types.js'
56
+ * @import { PluginOptions } from '../../../server/plugins/engine/types.js'
57
57
  */
58
58
  //# sourceMappingURL=options.test.js.map
@@ -1,6 +1,6 @@
1
1
  import { type FormMetadata, type SubmitResponsePayload } from '@defra/forms-model';
2
- import { type checkFormStatus } from '~/src/server/plugins/engine/helpers.js';
3
- import { type FormModel } from '~/src/server/plugins/engine/models/FormModel.js';
4
- import { type DetailItem } from '~/src/server/plugins/engine/models/types.js';
5
- import { type FormContext } from '~/src/server/plugins/engine/types.js';
2
+ import { type checkFormStatus } from '../../../../../server/plugins/engine/helpers.js';
3
+ import { type FormModel } from '../../../../../server/plugins/engine/models/FormModel.js';
4
+ import { type DetailItem } from '../../../../../server/plugins/engine/models/types.js';
5
+ import { type FormContext } from '../../../../../server/plugins/engine/types.js';
6
6
  export declare function format(context: FormContext, items: DetailItem[], model: FormModel, submitResponse: SubmitResponsePayload, formStatus: ReturnType<typeof checkFormStatus>, formMetadata?: FormMetadata): string;
@@ -1,6 +1,6 @@
1
1
  import { type FormMetadata, type SubmitResponsePayload } from '@defra/forms-model';
2
- import { type checkFormStatus } from '~/src/server/plugins/engine/helpers.js';
3
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js';
4
- import { type DetailItem } from '~/src/server/plugins/engine/models/types.js';
5
- import { type FormContext } from '~/src/server/plugins/engine/types.js';
2
+ import { type checkFormStatus } from '../../../../../server/plugins/engine/helpers.js';
3
+ import { type FormModel } from '../../../../../server/plugins/engine/models/index.js';
4
+ import { type DetailItem } from '../../../../../server/plugins/engine/models/types.js';
5
+ import { type FormContext } from '../../../../../server/plugins/engine/types.js';
6
6
  export declare function format(_context: FormContext, items: DetailItem[], model: FormModel, submitResponse: SubmitResponsePayload, formStatus: ReturnType<typeof checkFormStatus>, _formMetadata?: FormMetadata): string;
@@ -1,9 +1,9 @@
1
1
  import { type FormMetadata, type SubmitResponsePayload } from '@defra/forms-model';
2
- import { type checkFormStatus } from '~/src/server/plugins/engine/helpers.js';
3
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js';
4
- import { type DetailItem } from '~/src/server/plugins/engine/models/types.js';
5
- import { format as formatAdapterV1 } from '~/src/server/plugins/engine/outputFormatters/adapter/v1.js';
6
- import { type FormContext } from '~/src/server/plugins/engine/types.js';
2
+ import { type checkFormStatus } from '../../../../server/plugins/engine/helpers.js';
3
+ import { type FormModel } from '../../../../server/plugins/engine/models/index.js';
4
+ import { type DetailItem } from '../../../../server/plugins/engine/models/types.js';
5
+ import { format as formatAdapterV1 } from '../../../../server/plugins/engine/outputFormatters/adapter/v1.js';
6
+ import { type FormContext } from '../../../../server/plugins/engine/types.js';
7
7
  type Formatter = (context: FormContext, items: DetailItem[], model: FormModel, submitResponse: SubmitResponsePayload, formStatus: ReturnType<typeof checkFormStatus>, formMetadata?: FormMetadata) => string;
8
8
  export declare function getFormatter(audience: string, version: string): Formatter | typeof formatAdapterV1;
9
9
  export {};
@@ -1,6 +1,6 @@
1
1
  import { type FormMetadata, type SubmitResponsePayload } from '@defra/forms-model';
2
- import { type checkFormStatus } from '~/src/server/plugins/engine/helpers.js';
3
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js';
4
- import { type DetailItem } from '~/src/server/plugins/engine/models/types.js';
5
- import { type FormContext } from '~/src/server/plugins/engine/types.js';
2
+ import { type checkFormStatus } from '../../../../../server/plugins/engine/helpers.js';
3
+ import { type FormModel } from '../../../../../server/plugins/engine/models/index.js';
4
+ import { type DetailItem } from '../../../../../server/plugins/engine/models/types.js';
5
+ import { type FormContext } from '../../../../../server/plugins/engine/types.js';
6
6
  export declare function format(context: FormContext, items: DetailItem[], model: FormModel, _submitResponse: SubmitResponsePayload, _formStatus: ReturnType<typeof checkFormStatus>, _formMetadata?: FormMetadata): string;
@@ -1,8 +1,8 @@
1
1
  import { type SubmitResponsePayload } from '@defra/forms-model';
2
- import { type checkFormStatus } from '~/src/server/plugins/engine/helpers.js';
3
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js';
4
- import { type DetailItem } from '~/src/server/plugins/engine/models/types.js';
5
- import { type FormContext, type RichFormValue } from '~/src/server/plugins/engine/types.js';
2
+ import { type checkFormStatus } from '../../../../../server/plugins/engine/helpers.js';
3
+ import { type FormModel } from '../../../../../server/plugins/engine/models/index.js';
4
+ import { type DetailItem } from '../../../../../server/plugins/engine/models/types.js';
5
+ import { type FormContext, type RichFormValue } from '../../../../../server/plugins/engine/types.js';
6
6
  /**
7
7
  * Payment data for the machine output format
8
8
  * Defined locally to avoid circular dependency with types.ts
@@ -1,11 +1,11 @@
1
1
  import { type PageFileUpload } from '@defra/forms-model';
2
2
  import { type ValidationErrorItem } from 'joi';
3
- import { FileUploadField } from '~/src/server/plugins/engine/components/FileUploadField.js';
4
- import { type FormComponent } from '~/src/server/plugins/engine/components/FormComponent.js';
5
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js';
6
- import { QuestionPageController } from '~/src/server/plugins/engine/pageControllers/QuestionPageController.js';
7
- import { type AnyFormRequest, type FeaturedFormPageViewModel, type FormContext, type FormContextRequest, type FormSubmissionError, type FormSubmissionState, type UploadInitiateResponse, type UploadStatusFileResponse } from '~/src/server/plugins/engine/types.js';
8
- import { type FormRequest, type FormRequestPayload, type FormResponseToolkit } from '~/src/server/routes/types.js';
3
+ import { FileUploadField } from '../../../../server/plugins/engine/components/FileUploadField.js';
4
+ import { type FormComponent } from '../../../../server/plugins/engine/components/FormComponent.js';
5
+ import { type FormModel } from '../../../../server/plugins/engine/models/index.js';
6
+ import { QuestionPageController } from '../../../../server/plugins/engine/pageControllers/QuestionPageController.js';
7
+ import { type AnyFormRequest, type FeaturedFormPageViewModel, type FormContext, type FormContextRequest, type FormSubmissionError, type FormSubmissionState, type UploadInitiateResponse, type UploadStatusFileResponse } from '../../../../server/plugins/engine/types.js';
8
+ import { type FormRequest, type FormRequestPayload, type FormResponseToolkit } from '../../../../server/routes/types.js';
9
9
  export declare function prepareStatus(status: UploadStatusFileResponse): UploadStatusFileResponse;
10
10
  export declare class FileUploadPageController extends QuestionPageController {
11
11
  pageDef: PageFileUpload;
@@ -20,12 +20,12 @@ export declare class FileUploadPageController extends QuestionPageController {
20
20
  * or ['upload'] if no page path is available. Returns empty array for non-FileUploadField components.
21
21
  */
22
22
  getStateKeys(component: FormComponent): string[];
23
- getFormDataFromState(request: FormContextRequest | undefined, state: FormSubmissionState): import("~/src/server/plugins/engine/types.js").FormPayload;
23
+ getFormDataFromState(request: FormContextRequest | undefined, state: FormSubmissionState): import("../../../../server/plugins/engine/types.js").FormPayload;
24
24
  getState(request: AnyFormRequest): Promise<FormSubmissionState>;
25
25
  /**
26
26
  * Get the uploaded files from state.
27
27
  */
28
- getFilesFromState(state: FormSubmissionState): import("~/src/server/plugins/engine/types.js").UploadState;
28
+ getFilesFromState(state: FormSubmissionState): import("../../../../server/plugins/engine/types.js").UploadState;
29
29
  /**
30
30
  * Get the initiated upload from state.
31
31
  */
@@ -1,11 +1,11 @@
1
1
  import { type Events, type FormDefinition, type Page, type Section } from '@defra/forms-model';
2
2
  import { type Lifecycle, type RouteOptions, type Server } from '@hapi/hapi';
3
- import { type ComponentCollection } from '~/src/server/plugins/engine/components/ComponentCollection.js';
4
- import { type FormComponent } from '~/src/server/plugins/engine/components/FormComponent.js';
5
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js';
6
- import { type ExecutableCondition } from '~/src/server/plugins/engine/models/types.js';
7
- import { type FormContext, type PageViewModelBase } from '~/src/server/plugins/engine/types.js';
8
- import { type FormRequest, type FormRequestPayload, type FormRequestPayloadRefs, type FormRequestRefs, type FormResponseToolkit } from '~/src/server/routes/types.js';
3
+ import { type ComponentCollection } from '../../../../server/plugins/engine/components/ComponentCollection.js';
4
+ import { type FormComponent } from '../../../../server/plugins/engine/components/FormComponent.js';
5
+ import { type FormModel } from '../../../../server/plugins/engine/models/index.js';
6
+ import { type ExecutableCondition } from '../../../../server/plugins/engine/models/types.js';
7
+ import { type FormContext, type PageViewModelBase } from '../../../../server/plugins/engine/types.js';
8
+ import { type FormRequest, type FormRequestPayload, type FormRequestPayloadRefs, type FormRequestRefs, type FormResponseToolkit } from '../../../../server/routes/types.js';
9
9
  export declare class PageController {
10
10
  /**
11
11
  * The base class for all page controllers. Page controllers are responsible for generating the get and post route handlers when a user navigates to `/{id}/{path*}`.
@@ -1,12 +1,12 @@
1
1
  import { type Link, type Page } from '@defra/forms-model';
2
2
  import { type RouteOptions } from '@hapi/hapi';
3
3
  import { type ValidationErrorItem } from 'joi';
4
- import { ComponentCollection } from '~/src/server/plugins/engine/components/ComponentCollection.js';
5
- import { type BackLink } from '~/src/server/plugins/engine/components/types.js';
6
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js';
7
- import { PageController } from '~/src/server/plugins/engine/pageControllers/PageController.js';
8
- import { type AnyFormRequest, type FormContext, type FormContextRequest, type FormPageViewModel, type FormPayload, type FormPayloadParams, type FormState, type FormStateValue, type FormSubmissionState } from '~/src/server/plugins/engine/types.js';
9
- import { type FormRequest, type FormRequestPayload, type FormRequestPayloadRefs, type FormRequestRefs, type FormResponseToolkit } from '~/src/server/routes/types.js';
4
+ import { ComponentCollection } from '../../../../server/plugins/engine/components/ComponentCollection.js';
5
+ import { type BackLink } from '../../../../server/plugins/engine/components/types.js';
6
+ import { type FormModel } from '../../../../server/plugins/engine/models/index.js';
7
+ import { PageController } from '../../../../server/plugins/engine/pageControllers/PageController.js';
8
+ import { type AnyFormRequest, type FormContext, type FormContextRequest, type FormPageViewModel, type FormPayload, type FormPayloadParams, type FormState, type FormStateValue, type FormSubmissionState } from '../../../../server/plugins/engine/types.js';
9
+ import { type FormRequest, type FormRequestPayload, type FormRequestPayloadRefs, type FormRequestRefs, type FormResponseToolkit } from '../../../../server/routes/types.js';
10
10
  export declare class QuestionPageController extends PageController {
11
11
  collection: ComponentCollection;
12
12
  errorSummaryTitle: string;
@@ -35,11 +35,11 @@ export declare class QuestionPageController extends PageController {
35
35
  */
36
36
  getFormParams(request?: FormContextRequest): FormPayloadParams;
37
37
  getStateFromValidForm(request: FormContextRequest, state: FormSubmissionState, payload: FormPayload): FormState;
38
- getErrors(details?: ValidationErrorItem[]): import("~/src/server/plugins/engine/types.js").FormSubmissionError[] | undefined;
38
+ getErrors(details?: ValidationErrorItem[]): import("../../../../server/plugins/engine/types.js").FormSubmissionError[] | undefined;
39
39
  getState(request: AnyFormRequest): Promise<FormSubmissionState>;
40
40
  setState(request: AnyFormRequest, state: FormSubmissionState): Promise<FormSubmissionState>;
41
41
  mergeState(request: AnyFormRequest, state: FormSubmissionState, update: object): Promise<FormSubmissionState>;
42
- filterConditionalComponents(viewModel: FormPageViewModel, model: FormModel, evaluationState: Partial<Record<string, FormStateValue>>): import("~/src/server/plugins/engine/components/types.js").ComponentViewModel[];
42
+ filterConditionalComponents(viewModel: FormPageViewModel, model: FormModel, evaluationState: Partial<Record<string, FormStateValue>>): import("../../../../server/plugins/engine/components/types.js").ComponentViewModel[];
43
43
  makeGetRouteHandler(): (request: FormRequest, context: FormContext, h: FormResponseToolkit) => Promise<import("@hapi/hapi").ResponseObject>;
44
44
  hasMissingNotificationEmail(request: FormRequest, context: FormContext): Promise<boolean>;
45
45
  /**
@@ -1,8 +1,8 @@
1
1
  import { type PageRepeat, type Repeat } from '@defra/forms-model';
2
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js';
3
- import { QuestionPageController } from '~/src/server/plugins/engine/pageControllers/QuestionPageController.js';
4
- import { type FormContext, type FormContextRequest, type FormPageViewModel, type FormPayload, type FormSubmissionState, type RepeatItemState, type RepeatListState, type RepeaterSummaryPageViewModel } from '~/src/server/plugins/engine/types.js';
5
- import { FormAction, type FormRequest, type FormRequestPayload, type FormResponseToolkit } from '~/src/server/routes/types.js';
2
+ import { type FormModel } from '../../../../server/plugins/engine/models/index.js';
3
+ import { QuestionPageController } from '../../../../server/plugins/engine/pageControllers/QuestionPageController.js';
4
+ import { type FormContext, type FormContextRequest, type FormPageViewModel, type FormPayload, type FormSubmissionState, type RepeatItemState, type RepeatListState, type RepeaterSummaryPageViewModel } from '../../../../server/plugins/engine/types.js';
5
+ import { FormAction, type FormRequest, type FormRequestPayload, type FormResponseToolkit } from '../../../../server/routes/types.js';
6
6
  export declare class RepeatPageController extends QuestionPageController {
7
7
  pageDef: PageRepeat;
8
8
  listSummaryViewName: string;
@@ -11,7 +11,7 @@ export declare class RepeatPageController extends QuestionPageController {
11
11
  allowSaveAndExit: boolean;
12
12
  constructor(model: FormModel, pageDef: PageRepeat);
13
13
  get keys(): string[];
14
- getFormParams(request?: FormContextRequest): import("~/src/server/plugins/engine/types.js").FormPayloadParams;
14
+ getFormParams(request?: FormContextRequest): import("../../../../server/plugins/engine/types.js").FormPayloadParams;
15
15
  getFormDataFromState(request: FormContextRequest | undefined, state: FormSubmissionState): {
16
16
  action?: FormAction;
17
17
  confirm?: true;
@@ -1,6 +1,6 @@
1
- import { QuestionPageController } from '~/src/server/plugins/engine/pageControllers/QuestionPageController.js';
2
- import { type FormContext } from '~/src/server/plugins/engine/types.js';
3
- import { type FormRequest } from '~/src/server/routes/types.js';
1
+ import { QuestionPageController } from '../../../../server/plugins/engine/pageControllers/QuestionPageController.js';
2
+ import { type FormContext } from '../../../../server/plugins/engine/types.js';
3
+ import { type FormRequest } from '../../../../server/routes/types.js';
4
4
  export declare class StartPageController extends QuestionPageController {
5
5
  /**
6
6
  * The controller which is used when Page["controller"] is defined as "./pages/start.js"
@@ -12,7 +12,7 @@ export declare class StartPageController extends QuestionPageController {
12
12
  isStartPage: boolean;
13
13
  components: import("../components/types.js").ComponentViewModel[];
14
14
  context: FormContext;
15
- errors?: import("~/src/server/plugins/engine/types.js").FormSubmissionError[];
15
+ errors?: import("../../../../server/plugins/engine/types.js").FormSubmissionError[];
16
16
  hasMissingNotificationEmail?: boolean;
17
17
  allowSaveAndExit: boolean;
18
18
  showSubmitButton?: boolean;
@@ -1,8 +1,8 @@
1
1
  import { type PageStatus } from '@defra/forms-model';
2
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js';
3
- import { QuestionPageController } from '~/src/server/plugins/engine/pageControllers/QuestionPageController.js';
4
- import { type FormContext } from '~/src/server/plugins/engine/types.js';
5
- import { type FormRequest, type FormResponseToolkit } from '~/src/server/routes/types.js';
2
+ import { type FormModel } from '../../../../server/plugins/engine/models/index.js';
3
+ import { QuestionPageController } from '../../../../server/plugins/engine/pageControllers/QuestionPageController.js';
4
+ import { type FormContext } from '../../../../server/plugins/engine/types.js';
5
+ import { type FormRequest, type FormResponseToolkit } from '../../../../server/routes/types.js';
6
6
  export declare class StatusPageController extends QuestionPageController {
7
7
  pageDef: PageStatus;
8
8
  allowSaveAndExit: boolean;
@@ -1,10 +1,10 @@
1
1
  import { type FormMetadata, type Page } from '@defra/forms-model';
2
2
  import { type RouteOptions } from '@hapi/hapi';
3
- import { SummaryViewModel, type FormModel } from '~/src/server/plugins/engine/models/index.js';
4
- import { type Detail, type DetailItem } from '~/src/server/plugins/engine/models/types.js';
5
- import { QuestionPageController } from '~/src/server/plugins/engine/pageControllers/QuestionPageController.js';
6
- import { type FormContext, type FormContextRequest } from '~/src/server/plugins/engine/types.js';
7
- import { type FormRequest, type FormRequestPayload, type FormRequestPayloadRefs, type FormResponseToolkit } from '~/src/server/routes/types.js';
3
+ import { SummaryViewModel, type FormModel } from '../../../../server/plugins/engine/models/index.js';
4
+ import { type Detail, type DetailItem } from '../../../../server/plugins/engine/models/types.js';
5
+ import { QuestionPageController } from '../../../../server/plugins/engine/pageControllers/QuestionPageController.js';
6
+ import { type FormContext, type FormContextRequest } from '../../../../server/plugins/engine/types.js';
7
+ import { type FormRequest, type FormRequestPayload, type FormRequestPayloadRefs, type FormResponseToolkit } from '../../../../server/routes/types.js';
8
8
  export declare class SummaryPageController extends QuestionPageController {
9
9
  pageDef: Page;
10
10
  allowSaveAndExit: boolean;
@@ -1,8 +1,8 @@
1
1
  import { type PageTerminal } from '@defra/forms-model';
2
2
  import { type ResponseObject } from '@hapi/hapi';
3
- import { QuestionPageController } from '~/src/server/plugins/engine/pageControllers/QuestionPageController.js';
4
- import { type FormContext } from '~/src/server/plugins/engine/types.js';
5
- import { type FormRequestPayload, type FormResponseToolkit } from '~/src/server/routes/types.js';
3
+ import { QuestionPageController } from '../../../../server/plugins/engine/pageControllers/QuestionPageController.js';
4
+ import { type FormContext } from '../../../../server/plugins/engine/types.js';
5
+ import { type FormRequestPayload, type FormResponseToolkit } from '../../../../server/routes/types.js';
6
6
  export declare class TerminalPageController extends QuestionPageController {
7
7
  pageDef: PageTerminal;
8
8
  allowSaveAndExit: boolean;
@@ -1,4 +1,4 @@
1
- import { type FormContextRequest } from '~/src/server/plugins/engine/types.js';
2
- import { type FormRequest } from '~/src/server/routes/types.js';
1
+ import { type FormContextRequest } from '../../../../../server/plugins/engine/types.js';
2
+ import { type FormRequest } from '../../../../../server/routes/types.js';
3
3
  export declare function buildFormRequest(request: Omit<FormRequest, 'server' | 'yar'>): FormRequest;
4
4
  export declare function buildFormContextRequest(request: Omit<FormContextRequest, 'server' | 'yar'>): FormContextRequest;
@@ -1,4 +1,4 @@
1
- import { type FormComponent } from '~/src/server/plugins/engine/components/FormComponent.js';
1
+ import { type FormComponent } from '../../../../server/plugins/engine/components/FormComponent.js';
2
2
  export declare enum PaymentErrorTypes {
3
3
  PaymentExpired = "PaymentExpired",
4
4
  PaymentIncomplete = "PaymentIncomplete",
@@ -1,6 +1,6 @@
1
1
  import { type Page } from '@defra/forms-model';
2
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js';
3
- import * as PageControllers from '~/src/server/plugins/engine/pageControllers/index.js';
2
+ import { type FormModel } from '../../../../../server/plugins/engine/models/index.js';
3
+ import * as PageControllers from '../../../../../server/plugins/engine/pageControllers/index.js';
4
4
  export type PageControllerClass = InstanceType<PageControllerType>;
5
5
  export type PageControllerType = (typeof PageControllers)[keyof typeof PageControllers];
6
6
  /**
@@ -1,13 +1,13 @@
1
- import { type FormModel } from '~/src/server/plugins/engine/models/FormModel.js';
2
- import { type PageControllerClass } from '~/src/server/plugins/engine/pageControllers/helpers/pages.js';
3
- import { type AnyFormRequest, type FormContext } from '~/src/server/plugins/engine/types.js';
4
- import { type FormQuery } from '~/src/server/routes/types.js';
1
+ import { type FormModel } from '../../../../../server/plugins/engine/models/FormModel.js';
2
+ import { type PageControllerClass } from '../../../../../server/plugins/engine/pageControllers/helpers/pages.js';
3
+ import { type AnyFormRequest, type FormContext } from '../../../../../server/plugins/engine/types.js';
4
+ import { type FormQuery } from '../../../../../server/routes/types.js';
5
5
  export declare function stripParam(query: FormQuery, paramToRemove: string): FormQuery | undefined;
6
6
  /**
7
7
  * Any hidden parameters defined in the FormDefinition may be pre-filled by URL parameter values.
8
8
  * Other parameters are ignored for security reasons.
9
9
  * @param request
10
- * @param model
10
+ * @param page
11
11
  */
12
12
  export declare function prefillStateFromQueryParameters(request: AnyFormRequest, page: PageControllerClass): Promise<boolean>;
13
13
  /**
@@ -34,7 +34,7 @@ export function stripParam(query, paramToRemove) {
34
34
  * Any hidden parameters defined in the FormDefinition may be pre-filled by URL parameter values.
35
35
  * Other parameters are ignored for security reasons.
36
36
  * @param request
37
- * @param model
37
+ * @param page
38
38
  */
39
39
  export async function prefillStateFromQueryParameters(request, page) {
40
40
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","names":["ControllerType","getHiddenFields","getCacheService","CURRENT_PAGE_PATH_KEY","STATE_NOT_YET_VALIDATED","isValidUUID","GUID_LENGTH","paramLookupFunctions","formId","val","services","formTitle","meta","formsService","getFormMetadataById","title","key","value","stripParam","query","paramToRemove","params","Object","entries","keys","length","undefined","prefillStateFromQueryParameters","request","page","model","hiddenFieldNames","Set","def","map","field","name","size","has","lookupFunc","res","formData","getState","mergeState","checkSaveAndExitRepeater","context","potentiallyInvalidState","state","originalPath","repeaterPaths","pages","filter","controller","Repeat","p","basePath","path","segments","split","lastSegment","at","guidStartIndex","originalPathWithoutGuid","substring","includes","copyNotYetValidatedState","url","pathname","payload","cacheService","server","setState"],"sources":["../../../../../../src/server/plugins/engine/pageControllers/helpers/state.ts"],"sourcesContent":["import { ControllerType, getHiddenFields } from '@defra/forms-model'\n\nimport { getCacheService } from '~/src/server/plugins/engine/helpers.js'\nimport {\n CURRENT_PAGE_PATH_KEY,\n STATE_NOT_YET_VALIDATED\n} from '~/src/server/plugins/engine/index.js'\nimport { type FormModel } from '~/src/server/plugins/engine/models/FormModel.js'\nimport { type PageControllerClass } from '~/src/server/plugins/engine/pageControllers/helpers/pages.js'\nimport {\n type AnyFormRequest,\n type FormContext,\n type FormStateValue,\n type FormValue\n} from '~/src/server/plugins/engine/types.js'\nimport { type FormQuery } from '~/src/server/routes/types.js'\nimport { type Services } from '~/src/server/types.js'\nimport { isValidUUID } from '~/src/server/utils/utils.js'\n\nconst GUID_LENGTH = 36\n\n/**\n * A series of functions that can transform a pre-fill input parameter e.g lookup a form title based on form id\n */\nconst paramLookupFunctions = {\n formId: async (val: string, services: Services) => {\n let formTitle\n if (val) {\n const meta = await services.formsService.getFormMetadataById(val)\n formTitle = meta.title\n }\n return {\n key: 'formName',\n value: formTitle\n }\n }\n} as Partial<\n Record<\n string,\n (\n val: string,\n services: Services\n ) => Promise<{ key: string; value: string | undefined }>\n >\n>\n\nexport function stripParam(query: FormQuery, paramToRemove: string) {\n const params = {} as Record<string, FormStateValue | undefined>\n for (const [key, value = ''] of Object.entries(query)) {\n if (key !== paramToRemove) {\n params[key] = value\n }\n }\n return Object.keys(params).length ? (params as FormQuery) : undefined\n}\n\n/**\n * Any hidden parameters defined in the FormDefinition may be pre-filled by URL parameter values.\n * Other parameters are ignored for security reasons.\n * @param request\n * @param model\n */\nexport async function prefillStateFromQueryParameters(\n request: AnyFormRequest,\n page: PageControllerClass\n): Promise<boolean> {\n const { model } = page\n\n const hiddenFieldNames = new Set(\n getHiddenFields(model.def).map((field) => field.name)\n )\n\n if (!hiddenFieldNames.size) {\n return false\n }\n\n // Remove 'returnUrl' param\n const query = stripParam(request.query, 'returnUrl')\n\n if (!query) {\n return false\n }\n\n const params = {} as Record<string, FormStateValue | undefined>\n\n for (const [key, value = ''] of Object.entries(query)) {\n if (hiddenFieldNames.has(key)) {\n const lookupFunc = paramLookupFunctions[key]\n if (lookupFunc) {\n const res = await lookupFunc(value, model.services)\n // Store original value and result\n params[key] = value\n params[res.key] = res.value\n } else {\n params[key] = value\n }\n }\n }\n\n const formData = await page.getState(request)\n await page.mergeState(request, formData, params)\n\n return true\n}\n\n/**\n * Checks whether the save-and-exit finished on a repeater with partial state\n * @param context - the form context\n */\nexport function checkSaveAndExitRepeater(\n context: FormContext,\n model: FormModel\n) {\n const potentiallyInvalidState = context.state[STATE_NOT_YET_VALIDATED] as\n | Record<string, FormValue>\n | undefined\n if (!potentiallyInvalidState) {\n return\n }\n\n const originalPath = potentiallyInvalidState[CURRENT_PAGE_PATH_KEY]\n\n const repeaterPaths = model.def.pages\n .filter((page) => page.controller === ControllerType.Repeat)\n .map((p) => `/${model.basePath}${p.path}/`)\n\n if (typeof originalPath !== 'string') {\n return undefined\n }\n\n const segments = originalPath.split('/')\n const lastSegment = segments.at(-1) ?? ''\n\n if (!isValidUUID(lastSegment)) {\n return undefined\n }\n\n const guidStartIndex = originalPath.length - GUID_LENGTH\n const originalPathWithoutGuid = originalPath.substring(0, guidStartIndex)\n\n if (!repeaterPaths.includes(originalPathWithoutGuid)) {\n return undefined\n }\n\n return originalPath\n}\n\n/**\n * Copies any potentially invalid state into the payload, and removes those values from state\n * NOTE - this method has a side-effect on 'context.state' and 'context.payload'\n * @param request - the form request\n * @param context - the form context\n */\nexport async function copyNotYetValidatedState(\n request: AnyFormRequest,\n context: FormContext\n) {\n const potentiallyInvalidState = context.state[STATE_NOT_YET_VALIDATED] as\n | Record<string, FormValue>\n | undefined\n if (!potentiallyInvalidState) {\n return\n }\n\n const originalPath = potentiallyInvalidState[CURRENT_PAGE_PATH_KEY]\n\n if (originalPath && originalPath === request.url.pathname) {\n context.payload = {\n ...context.payload,\n ...potentiallyInvalidState,\n [CURRENT_PAGE_PATH_KEY]: undefined\n }\n\n // Remove any temporary 'not yet validated' state now it's been copied to the payload\n if (context.state[STATE_NOT_YET_VALIDATED]) {\n context.state[STATE_NOT_YET_VALIDATED] = undefined\n }\n\n const cacheService = getCacheService(request.server)\n await cacheService.setState(request, context.state)\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"state.js","names":["ControllerType","getHiddenFields","getCacheService","CURRENT_PAGE_PATH_KEY","STATE_NOT_YET_VALIDATED","isValidUUID","GUID_LENGTH","paramLookupFunctions","formId","val","services","formTitle","meta","formsService","getFormMetadataById","title","key","value","stripParam","query","paramToRemove","params","Object","entries","keys","length","undefined","prefillStateFromQueryParameters","request","page","model","hiddenFieldNames","Set","def","map","field","name","size","has","lookupFunc","res","formData","getState","mergeState","checkSaveAndExitRepeater","context","potentiallyInvalidState","state","originalPath","repeaterPaths","pages","filter","controller","Repeat","p","basePath","path","segments","split","lastSegment","at","guidStartIndex","originalPathWithoutGuid","substring","includes","copyNotYetValidatedState","url","pathname","payload","cacheService","server","setState"],"sources":["../../../../../../src/server/plugins/engine/pageControllers/helpers/state.ts"],"sourcesContent":["import { ControllerType, getHiddenFields } from '@defra/forms-model'\n\nimport { getCacheService } from '~/src/server/plugins/engine/helpers.js'\nimport {\n CURRENT_PAGE_PATH_KEY,\n STATE_NOT_YET_VALIDATED\n} from '~/src/server/plugins/engine/index.js'\nimport { type FormModel } from '~/src/server/plugins/engine/models/FormModel.js'\nimport { type PageControllerClass } from '~/src/server/plugins/engine/pageControllers/helpers/pages.js'\nimport {\n type AnyFormRequest,\n type FormContext,\n type FormStateValue,\n type FormValue\n} from '~/src/server/plugins/engine/types.js'\nimport { type FormQuery } from '~/src/server/routes/types.js'\nimport { type Services } from '~/src/server/types.js'\nimport { isValidUUID } from '~/src/server/utils/utils.js'\n\nconst GUID_LENGTH = 36\n\n/**\n * A series of functions that can transform a pre-fill input parameter e.g lookup a form title based on form id\n */\nconst paramLookupFunctions = {\n formId: async (val: string, services: Services) => {\n let formTitle\n if (val) {\n const meta = await services.formsService.getFormMetadataById(val)\n formTitle = meta.title\n }\n return {\n key: 'formName',\n value: formTitle\n }\n }\n} as Partial<\n Record<\n string,\n (\n val: string,\n services: Services\n ) => Promise<{ key: string; value: string | undefined }>\n >\n>\n\nexport function stripParam(query: FormQuery, paramToRemove: string) {\n const params = {} as Record<string, FormStateValue | undefined>\n for (const [key, value = ''] of Object.entries(query)) {\n if (key !== paramToRemove) {\n params[key] = value\n }\n }\n return Object.keys(params).length ? (params as FormQuery) : undefined\n}\n\n/**\n * Any hidden parameters defined in the FormDefinition may be pre-filled by URL parameter values.\n * Other parameters are ignored for security reasons.\n * @param request\n * @param page\n */\nexport async function prefillStateFromQueryParameters(\n request: AnyFormRequest,\n page: PageControllerClass\n): Promise<boolean> {\n const { model } = page\n\n const hiddenFieldNames = new Set(\n getHiddenFields(model.def).map((field) => field.name)\n )\n\n if (!hiddenFieldNames.size) {\n return false\n }\n\n // Remove 'returnUrl' param\n const query = stripParam(request.query, 'returnUrl')\n\n if (!query) {\n return false\n }\n\n const params = {} as Record<string, FormStateValue | undefined>\n\n for (const [key, value = ''] of Object.entries(query)) {\n if (hiddenFieldNames.has(key)) {\n const lookupFunc = paramLookupFunctions[key]\n if (lookupFunc) {\n const res = await lookupFunc(value, model.services)\n // Store original value and result\n params[key] = value\n params[res.key] = res.value\n } else {\n params[key] = value\n }\n }\n }\n\n const formData = await page.getState(request)\n await page.mergeState(request, formData, params)\n\n return true\n}\n\n/**\n * Checks whether the save-and-exit finished on a repeater with partial state\n * @param context - the form context\n */\nexport function checkSaveAndExitRepeater(\n context: FormContext,\n model: FormModel\n) {\n const potentiallyInvalidState = context.state[STATE_NOT_YET_VALIDATED] as\n | Record<string, FormValue>\n | undefined\n if (!potentiallyInvalidState) {\n return\n }\n\n const originalPath = potentiallyInvalidState[CURRENT_PAGE_PATH_KEY]\n\n const repeaterPaths = model.def.pages\n .filter((page) => page.controller === ControllerType.Repeat)\n .map((p) => `/${model.basePath}${p.path}/`)\n\n if (typeof originalPath !== 'string') {\n return undefined\n }\n\n const segments = originalPath.split('/')\n const lastSegment = segments.at(-1) ?? ''\n\n if (!isValidUUID(lastSegment)) {\n return undefined\n }\n\n const guidStartIndex = originalPath.length - GUID_LENGTH\n const originalPathWithoutGuid = originalPath.substring(0, guidStartIndex)\n\n if (!repeaterPaths.includes(originalPathWithoutGuid)) {\n return undefined\n }\n\n return originalPath\n}\n\n/**\n * Copies any potentially invalid state into the payload, and removes those values from state\n * NOTE - this method has a side-effect on 'context.state' and 'context.payload'\n * @param request - the form request\n * @param context - the form context\n */\nexport async function copyNotYetValidatedState(\n request: AnyFormRequest,\n context: FormContext\n) {\n const potentiallyInvalidState = context.state[STATE_NOT_YET_VALIDATED] as\n | Record<string, FormValue>\n | undefined\n if (!potentiallyInvalidState) {\n return\n }\n\n const originalPath = potentiallyInvalidState[CURRENT_PAGE_PATH_KEY]\n\n if (originalPath && originalPath === request.url.pathname) {\n context.payload = {\n ...context.payload,\n ...potentiallyInvalidState,\n [CURRENT_PAGE_PATH_KEY]: undefined\n }\n\n // Remove any temporary 'not yet validated' state now it's been copied to the payload\n if (context.state[STATE_NOT_YET_VALIDATED]) {\n context.state[STATE_NOT_YET_VALIDATED] = undefined\n }\n\n const cacheService = getCacheService(request.server)\n await cacheService.setState(request, context.state)\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { type SubmitPayload } from '@defra/forms-model';
2
- import { type DetailItem, type DetailItemField } from '~/src/server/plugins/engine/models/types.js';
2
+ import { type DetailItem, type DetailItemField } from '../../../../../server/plugins/engine/models/types.js';
3
3
  export interface SubmitRecord {
4
4
  name: string;
5
5
  title: string;
@@ -1,8 +1,8 @@
1
- export { StartPageController } from '~/src/server/plugins/engine/pageControllers/StartPageController.js';
1
+ export { StartPageController } from '../../../../server/plugins/engine/pageControllers/StartPageController.js';
2
2
  export { QuestionPageController, // Export alongside alias
3
- QuestionPageController as PageController } from '~/src/server/plugins/engine/pageControllers/QuestionPageController.js';
4
- export { TerminalPageController } from '~/src/server/plugins/engine/pageControllers/TerminalPageController.js';
5
- export { SummaryPageController } from '~/src/server/plugins/engine/pageControllers/SummaryPageController.js';
6
- export { StatusPageController } from '~/src/server/plugins/engine/pageControllers/StatusPageController.js';
7
- export { FileUploadPageController } from '~/src/server/plugins/engine/pageControllers/FileUploadPageController.js';
8
- export { RepeatPageController } from '~/src/server/plugins/engine/pageControllers/RepeatPageController.js';
3
+ QuestionPageController as PageController } from '../../../../server/plugins/engine/pageControllers/QuestionPageController.js';
4
+ export { TerminalPageController } from '../../../../server/plugins/engine/pageControllers/TerminalPageController.js';
5
+ export { SummaryPageController } from '../../../../server/plugins/engine/pageControllers/SummaryPageController.js';
6
+ export { StatusPageController } from '../../../../server/plugins/engine/pageControllers/StatusPageController.js';
7
+ export { FileUploadPageController } from '../../../../server/plugins/engine/pageControllers/FileUploadPageController.js';
8
+ export { RepeatPageController } from '../../../../server/plugins/engine/pageControllers/RepeatPageController.js';
@@ -1,5 +1,5 @@
1
1
  import { type Server } from '@hapi/hapi';
2
- import { type PluginOptions } from '~/src/server/plugins/engine/types.js';
2
+ import { type PluginOptions } from '../../../server/plugins/engine/types.js';
3
3
  export declare const plugin: {
4
4
  name: string;
5
5
  dependencies: string[];
@@ -1,4 +1,4 @@
1
1
  import { type ResponseToolkit, type ServerRoute } from '@hapi/hapi';
2
- import { type FormRequest, type FormRequestRefs } from '~/src/server/routes/types.js';
2
+ import { type FormRequest, type FormRequestRefs } from '../../../../server/routes/types.js';
3
3
  export declare function getHandler(request: FormRequest, h: Pick<ResponseToolkit, 'response'>): Promise<import("@hapi/hapi").ResponseObject>;
4
4
  export declare function getRoutes(): ServerRoute<FormRequestRefs>[];
@@ -1,7 +1,7 @@
1
1
  import { type ResponseObject, type ResponseToolkit, type Server } from '@hapi/hapi';
2
- import { type PageControllerClass } from '~/src/server/plugins/engine/pageControllers/helpers/pages.js';
3
- import { type AnyFormRequest, type FormContext, type OnRequestCallback, type PluginOptions } from '~/src/server/plugins/engine/types.js';
4
- import { type FormRequest, type FormResponseToolkit } from '~/src/server/routes/types.js';
2
+ import { type PageControllerClass } from '../../../../server/plugins/engine/pageControllers/helpers/pages.js';
3
+ import { type AnyFormRequest, type FormContext, type OnRequestCallback, type PluginOptions } from '../../../../server/plugins/engine/types.js';
4
+ import { type FormRequest, type FormResponseToolkit } from '../../../../server/routes/types.js';
5
5
  export declare function redirectOrMakeHandler(request: AnyFormRequest, h: FormResponseToolkit, onRequest: OnRequestCallback | undefined, makeHandler: (page: PageControllerClass, context: FormContext) => ResponseObject | Promise<ResponseObject>): Promise<symbol | ResponseObject>;
6
6
  export declare function makeLoadFormPreHandler(server: Server, options: PluginOptions): (request: AnyFormRequest, h: ResponseToolkit) => Promise<symbol>;
7
7
  export declare function dispatchHandler(request: FormRequest, h: FormResponseToolkit): ResponseObject;
@@ -33,6 +33,6 @@ export function buildPaymentInfo(action: string, outcome: string, reason: string
33
33
  */
34
34
  export function convertPenceToPounds(amount: number): string;
35
35
  import type { Request } from '@hapi/hapi';
36
- import type { FormsService } from '~/src/server/types.js';
37
- import type { PaymentSessionData } from '~/src/server/plugins/payment/types.js';
38
- import type { GetPaymentResponse } from '~/src/server/plugins/payment/types.js';
36
+ import type { FormsService } from '../../../../server/types.js';
37
+ import type { PaymentSessionData } from '../../../../server/plugins/payment/types.js';
38
+ import type { GetPaymentResponse } from '../../../../server/plugins/payment/types.js';
@@ -63,7 +63,7 @@ export function convertPenceToPounds(amount) {
63
63
 
64
64
  /**
65
65
  * @import { Request } from '@hapi/hapi'
66
- * @import { GetPaymentResponse, PaymentSessionData } from '~/src/server/plugins/payment/types.js'
67
- * @import { FormsService } from '~/src/server/types.js'
66
+ * @import { GetPaymentResponse, PaymentSessionData } from '../../../../server/plugins/payment/types.js'
67
+ * @import { FormsService } from '../../../../server/types.js'
68
68
  */
69
69
  //# sourceMappingURL=payment-helper.js.map
@@ -159,10 +159,10 @@ function getReturnRoute() {
159
159
 
160
160
  /**
161
161
  * @import { Request, ResponseToolkit, ServerRoute } from '@hapi/hapi'
162
- * @import { GetPaymentResponse, PaymentSessionData } from '~/src/server/plugins/payment/types.js'
163
- * @import { PaymentState } from '~/src/server/plugins/engine/components/PaymentField.types.js'
164
- * @import { ExternalStateAppendage, FormState } from '~/src/server/plugins/engine/types.js'
165
- * @import { PluginOptions } from '~/src/server/plugins/engine/types.js'
166
- * @import { FormsService } from '~/src/server/types.js'
162
+ * @import { GetPaymentResponse, PaymentSessionData } from '../../../../server/plugins/payment/types.js'
163
+ * @import { PaymentState } from '../../../../server/plugins/engine/components/PaymentField.types.js'
164
+ * @import { ExternalStateAppendage, FormState } from '../../../../server/plugins/engine/types.js'
165
+ * @import { PluginOptions } from '../../../../server/plugins/engine/types.js'
166
+ * @import { FormsService } from '../../../../server/types.js'
167
167
  */
168
168
  //# sourceMappingURL=payment.js.map
@@ -182,6 +182,6 @@ describe('Payment routes', () => {
182
182
 
183
183
  /**
184
184
  * @import { Server } from '@hapi/hapi'
185
- * @import { PaymentResponseState } from '~/src/server/plugins/payment/types.js'
185
+ * @import { PaymentResponseState } from '../../../../server/plugins/payment/types.js'
186
186
  */
187
187
  //# sourceMappingURL=payment.test.js.map
@@ -1,6 +1,6 @@
1
1
  import { type ResponseObject, type RouteOptions, type ServerRoute } from '@hapi/hapi';
2
- import { type OnRequestCallback, type PreparePageEventRequestOptions } from '~/src/server/plugins/engine/types.js';
3
- import { type FormRequest, type FormRequestPayload, type FormRequestPayloadRefs, type FormRequestRefs, type FormResponseToolkit } from '~/src/server/routes/types.js';
2
+ import { type OnRequestCallback, type PreparePageEventRequestOptions } from '../../../../server/plugins/engine/types.js';
3
+ import { type FormRequest, type FormRequestPayload, type FormRequestPayloadRefs, type FormRequestRefs, type FormResponseToolkit } from '../../../../server/routes/types.js';
4
4
  export declare function makeGetHandler(preparePageEventRequestOptions?: PreparePageEventRequestOptions, onRequest?: OnRequestCallback): (request: FormRequest, h: FormResponseToolkit) => ResponseObject | Promise<symbol | ResponseObject>;
5
5
  export declare function makePostHandler(preparePageEventRequestOptions?: PreparePageEventRequestOptions, onRequest?: OnRequestCallback): (request: FormRequestPayload, h: FormResponseToolkit) => Promise<symbol | ResponseObject>;
6
6
  export declare function getRoutes(getRouteOptions: RouteOptions<FormRequestRefs>, postRouteOptions: RouteOptions<FormRequestPayloadRefs>, preparePageEventRequestOptions?: PreparePageEventRequestOptions, onRequest?: OnRequestCallback): (ServerRoute<FormRequestRefs> | ServerRoute<FormRequestPayloadRefs>)[];
@@ -1,4 +1,4 @@
1
1
  import { type RouteOptions, type ServerRoute } from '@hapi/hapi';
2
- import { type OnRequestCallback } from '~/src/server/plugins/engine/types.js';
3
- import { type FormRequestPayloadRefs, type FormRequestRefs } from '~/src/server/routes/types.js';
2
+ import { type OnRequestCallback } from '../../../../../server/plugins/engine/types.js';
3
+ import { type FormRequestPayloadRefs, type FormRequestRefs } from '../../../../../server/routes/types.js';
4
4
  export declare function getRoutes(getRouteOptions: RouteOptions<FormRequestRefs>, postRouteOptions: RouteOptions<FormRequestPayloadRefs>, onRequest?: OnRequestCallback): (ServerRoute<FormRequestRefs> | ServerRoute<FormRequestPayloadRefs>)[];