@dwp/govuk-casa 9.7.0 → 10.1.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 (278) hide show
  1. package/dist/assets/css/casa.css +1 -1
  2. package/dist/assets/css/casa.css.map +1 -1
  3. package/dist/casa.d.ts +90 -44
  4. package/dist/casa.d.ts.map +1 -0
  5. package/dist/casa.js +85 -101
  6. package/dist/core-plugins/edit-snapshot/src/configure.d.ts +1 -0
  7. package/dist/core-plugins/edit-snapshot/src/configure.d.ts.map +1 -0
  8. package/dist/core-plugins/edit-snapshot/src/configure.js +7 -14
  9. package/dist/core-plugins/edit-snapshot/src/index.d.ts +1 -0
  10. package/dist/core-plugins/edit-snapshot/src/index.d.ts.map +1 -0
  11. package/dist/core-plugins/edit-snapshot/src/index.js +3 -9
  12. package/dist/core-plugins/edit-snapshot/src/post-steer-hook.d.ts +2 -1
  13. package/dist/core-plugins/edit-snapshot/src/post-steer-hook.d.ts.map +1 -0
  14. package/dist/core-plugins/edit-snapshot/src/post-steer-hook.js +8 -13
  15. package/dist/core-plugins/edit-snapshot/src/pre-steer-hook.d.ts +2 -1
  16. package/dist/core-plugins/edit-snapshot/src/pre-steer-hook.d.ts.map +1 -0
  17. package/dist/core-plugins/edit-snapshot/src/pre-steer-hook.js +13 -18
  18. package/dist/core-plugins/edit-snapshot/src/utils.d.ts +8 -5
  19. package/dist/core-plugins/edit-snapshot/src/utils.d.ts.map +1 -0
  20. package/dist/core-plugins/edit-snapshot/src/utils.js +37 -19
  21. package/dist/core-plugins/index.d.ts +1 -0
  22. package/dist/core-plugins/index.d.ts.map +1 -0
  23. package/dist/core-plugins/index.js +1 -9
  24. package/dist/lib/CasaTemplateLoader.d.ts +1 -0
  25. package/dist/lib/CasaTemplateLoader.d.ts.map +1 -0
  26. package/dist/lib/CasaTemplateLoader.js +2 -6
  27. package/dist/lib/JourneyContext.d.ts +22 -11
  28. package/dist/lib/JourneyContext.d.ts.map +1 -0
  29. package/dist/lib/JourneyContext.js +40 -45
  30. package/dist/lib/MutableRouter.d.ts +79 -55
  31. package/dist/lib/MutableRouter.d.ts.map +1 -0
  32. package/dist/lib/MutableRouter.js +53 -45
  33. package/dist/lib/NullObject.d.ts +3 -0
  34. package/dist/lib/NullObject.d.ts.map +1 -0
  35. package/dist/lib/NullObject.js +3 -0
  36. package/dist/lib/Plan.d.ts +2 -1
  37. package/dist/lib/Plan.d.ts.map +1 -0
  38. package/dist/lib/Plan.js +44 -62
  39. package/dist/lib/ValidationError.d.ts +2 -1
  40. package/dist/lib/ValidationError.d.ts.map +1 -0
  41. package/dist/lib/ValidationError.js +3 -11
  42. package/dist/lib/ValidatorFactory.d.ts +5 -6
  43. package/dist/lib/ValidatorFactory.d.ts.map +1 -0
  44. package/dist/lib/ValidatorFactory.js +4 -12
  45. package/dist/lib/configuration-ingestor.d.ts +10 -22
  46. package/dist/lib/configuration-ingestor.d.ts.map +1 -0
  47. package/dist/lib/configuration-ingestor.js +61 -143
  48. package/dist/lib/configure.d.ts +2 -1
  49. package/dist/lib/configure.d.ts.map +1 -0
  50. package/dist/lib/configure.js +40 -52
  51. package/dist/lib/constants.d.ts +1 -0
  52. package/dist/lib/constants.d.ts.map +1 -0
  53. package/dist/lib/constants.js +8 -12
  54. package/dist/lib/context-id-generators.d.ts +1 -0
  55. package/dist/lib/context-id-generators.d.ts.map +1 -0
  56. package/dist/lib/context-id-generators.js +4 -9
  57. package/dist/lib/end-session.d.ts +2 -1
  58. package/dist/lib/end-session.d.ts.map +1 -0
  59. package/dist/lib/end-session.js +4 -11
  60. package/dist/lib/field.d.ts +2 -1
  61. package/dist/lib/field.d.ts.map +1 -0
  62. package/dist/lib/field.js +11 -21
  63. package/dist/lib/index.d.ts +1 -0
  64. package/dist/lib/index.d.ts.map +1 -0
  65. package/dist/lib/index.js +13 -65
  66. package/dist/lib/logger.d.ts +25 -2
  67. package/dist/lib/logger.d.ts.map +1 -0
  68. package/dist/lib/logger.js +18 -9
  69. package/dist/lib/mount.d.ts +1 -0
  70. package/dist/lib/mount.d.ts.map +1 -0
  71. package/dist/lib/mount.js +10 -16
  72. package/dist/lib/nunjucks-filters.d.ts +7 -3
  73. package/dist/lib/nunjucks-filters.d.ts.map +1 -0
  74. package/dist/lib/nunjucks-filters.js +58 -71
  75. package/dist/lib/nunjucks.d.ts +4 -4
  76. package/dist/lib/nunjucks.d.ts.map +1 -0
  77. package/dist/lib/nunjucks.js +14 -26
  78. package/dist/lib/utils.d.ts +4 -2
  79. package/dist/lib/utils.d.ts.map +1 -0
  80. package/dist/lib/utils.js +14 -28
  81. package/dist/lib/validators/dateObject.d.ts +1 -0
  82. package/dist/lib/validators/dateObject.d.ts.map +1 -0
  83. package/dist/lib/validators/dateObject.js +14 -21
  84. package/dist/lib/validators/email.d.ts +1 -0
  85. package/dist/lib/validators/email.d.ts.map +1 -0
  86. package/dist/lib/validators/email.js +8 -15
  87. package/dist/lib/validators/inArray.d.ts +1 -0
  88. package/dist/lib/validators/inArray.d.ts.map +1 -0
  89. package/dist/lib/validators/inArray.js +8 -15
  90. package/dist/lib/validators/index.d.ts +1 -0
  91. package/dist/lib/validators/index.d.ts.map +1 -0
  92. package/dist/lib/validators/index.js +21 -27
  93. package/dist/lib/validators/nino.d.ts +1 -0
  94. package/dist/lib/validators/nino.d.ts.map +1 -0
  95. package/dist/lib/validators/nino.js +6 -13
  96. package/dist/lib/validators/postalAddressObject.d.ts +1 -0
  97. package/dist/lib/validators/postalAddressObject.d.ts.map +1 -0
  98. package/dist/lib/validators/postalAddressObject.js +12 -19
  99. package/dist/lib/validators/range.d.ts +1 -0
  100. package/dist/lib/validators/range.d.ts.map +1 -0
  101. package/dist/lib/validators/range.js +6 -13
  102. package/dist/lib/validators/regex.d.ts +1 -0
  103. package/dist/lib/validators/regex.d.ts.map +1 -0
  104. package/dist/lib/validators/regex.js +6 -13
  105. package/dist/lib/validators/required.d.ts +1 -0
  106. package/dist/lib/validators/required.d.ts.map +1 -0
  107. package/dist/lib/validators/required.js +9 -17
  108. package/dist/lib/validators/strlen.d.ts +1 -0
  109. package/dist/lib/validators/strlen.d.ts.map +1 -0
  110. package/dist/lib/validators/strlen.js +6 -13
  111. package/dist/lib/validators/wordCount.d.ts +1 -0
  112. package/dist/lib/validators/wordCount.d.ts.map +1 -0
  113. package/dist/lib/validators/wordCount.js +6 -13
  114. package/dist/lib/waypoint-url.d.ts +3 -2
  115. package/dist/lib/waypoint-url.d.ts.map +1 -0
  116. package/dist/lib/waypoint-url.js +12 -19
  117. package/dist/middleware/body-parser.d.ts +1 -0
  118. package/dist/middleware/body-parser.d.ts.map +1 -0
  119. package/dist/middleware/body-parser.js +4 -9
  120. package/dist/middleware/csrf.d.ts +1 -0
  121. package/dist/middleware/csrf.d.ts.map +1 -0
  122. package/dist/middleware/csrf.js +4 -8
  123. package/dist/middleware/data.d.ts +2 -3
  124. package/dist/middleware/data.d.ts.map +1 -0
  125. package/dist/middleware/data.js +23 -25
  126. package/dist/middleware/gather-fields.d.ts +3 -1
  127. package/dist/middleware/gather-fields.d.ts.map +1 -0
  128. package/dist/middleware/gather-fields.js +13 -14
  129. package/dist/middleware/i18n.d.ts +1 -0
  130. package/dist/middleware/i18n.d.ts.map +1 -0
  131. package/dist/middleware/i18n.js +26 -31
  132. package/dist/middleware/post.d.ts +4 -2
  133. package/dist/middleware/post.d.ts.map +1 -0
  134. package/dist/middleware/post.js +6 -11
  135. package/dist/middleware/pre.d.ts +2 -1
  136. package/dist/middleware/pre.d.ts.map +1 -0
  137. package/dist/middleware/pre.js +6 -12
  138. package/dist/middleware/progress-journey.d.ts +5 -3
  139. package/dist/middleware/progress-journey.d.ts.map +1 -0
  140. package/dist/middleware/progress-journey.js +20 -18
  141. package/dist/middleware/sanitise-fields.d.ts +5 -3
  142. package/dist/middleware/sanitise-fields.d.ts.map +1 -0
  143. package/dist/middleware/sanitise-fields.js +25 -17
  144. package/dist/middleware/serve-first-waypoint.d.ts +1 -0
  145. package/dist/middleware/serve-first-waypoint.d.ts.map +1 -0
  146. package/dist/middleware/serve-first-waypoint.js +3 -6
  147. package/dist/middleware/session.d.ts +15 -0
  148. package/dist/middleware/session.d.ts.map +1 -0
  149. package/dist/middleware/session.js +53 -57
  150. package/dist/middleware/skip-waypoint.d.ts +3 -2
  151. package/dist/middleware/skip-waypoint.d.ts.map +1 -0
  152. package/dist/middleware/skip-waypoint.js +15 -14
  153. package/dist/middleware/steer-journey.d.ts +2 -1
  154. package/dist/middleware/steer-journey.d.ts.map +1 -0
  155. package/dist/middleware/steer-journey.js +7 -13
  156. package/dist/middleware/strip-proxy-path.d.ts +3 -2
  157. package/dist/middleware/strip-proxy-path.d.ts.map +1 -0
  158. package/dist/middleware/strip-proxy-path.js +24 -24
  159. package/dist/middleware/validate-fields.d.ts +7 -4
  160. package/dist/middleware/validate-fields.d.ts.map +1 -0
  161. package/dist/middleware/validate-fields.js +22 -11
  162. package/dist/routes/ancillary.d.ts +1 -0
  163. package/dist/routes/ancillary.d.ts.map +1 -0
  164. package/dist/routes/ancillary.js +3 -10
  165. package/dist/routes/journey.d.ts +7 -2
  166. package/dist/routes/journey.d.ts.map +1 -0
  167. package/dist/routes/journey.js +56 -55
  168. package/dist/routes/static.d.ts +1 -0
  169. package/dist/routes/static.d.ts.map +1 -0
  170. package/dist/routes/static.js +15 -23
  171. package/package.json +30 -36
  172. package/src/casa.js +63 -31
  173. package/src/core-plugins/edit-snapshot/src/post-steer-hook.js +1 -0
  174. package/src/core-plugins/edit-snapshot/src/pre-steer-hook.js +2 -1
  175. package/src/core-plugins/edit-snapshot/src/utils.js +29 -1
  176. package/src/lib/JourneyContext.js +31 -28
  177. package/src/lib/MutableRouter.js +52 -38
  178. package/src/lib/NullObject.js +4 -0
  179. package/src/lib/Plan.js +41 -55
  180. package/src/lib/ValidationError.js +2 -4
  181. package/src/lib/ValidatorFactory.js +3 -5
  182. package/src/lib/configuration-ingestor.js +18 -38
  183. package/src/lib/configure.js +7 -10
  184. package/src/lib/end-session.js +1 -1
  185. package/src/lib/field.js +7 -12
  186. package/src/lib/logger.js +16 -0
  187. package/src/lib/mount.js +1 -1
  188. package/src/lib/nunjucks-filters.js +51 -61
  189. package/src/lib/nunjucks.js +5 -13
  190. package/src/lib/utils.js +2 -1
  191. package/src/lib/validators/dateObject.js +3 -4
  192. package/src/lib/validators/postalAddressObject.js +6 -7
  193. package/src/lib/validators/required.js +1 -3
  194. package/src/lib/waypoint-url.js +15 -19
  195. package/src/middleware/csrf.js +1 -1
  196. package/src/middleware/data.js +13 -13
  197. package/src/middleware/gather-fields.js +8 -2
  198. package/src/middleware/i18n.js +9 -6
  199. package/src/middleware/post.js +3 -1
  200. package/src/middleware/pre.js +1 -1
  201. package/src/middleware/progress-journey.js +8 -0
  202. package/src/middleware/sanitise-fields.js +17 -2
  203. package/src/middleware/session.js +53 -12
  204. package/src/middleware/skip-waypoint.js +8 -1
  205. package/src/middleware/steer-journey.js +1 -1
  206. package/src/middleware/strip-proxy-path.js +21 -16
  207. package/src/middleware/validate-fields.js +19 -0
  208. package/src/routes/journey.js +18 -8
  209. package/src/routes/static.js +5 -4
  210. package/views/casa/layouts/journey.njk +1 -1
  211. package/views/casa/layouts/main.njk +11 -21
  212. package/dist/casa.js.map +0 -1
  213. package/dist/core-plugins/edit-snapshot/src/configure.js.map +0 -1
  214. package/dist/core-plugins/edit-snapshot/src/index.js.map +0 -1
  215. package/dist/core-plugins/edit-snapshot/src/post-steer-hook.js.map +0 -1
  216. package/dist/core-plugins/edit-snapshot/src/pre-steer-hook.js.map +0 -1
  217. package/dist/core-plugins/edit-snapshot/src/utils.js.map +0 -1
  218. package/dist/core-plugins/index.js.map +0 -1
  219. package/dist/lib/CasaTemplateLoader.js.map +0 -1
  220. package/dist/lib/JourneyContext.js.map +0 -1
  221. package/dist/lib/MutableRouter.js.map +0 -1
  222. package/dist/lib/Plan.js.map +0 -1
  223. package/dist/lib/ValidationError.js.map +0 -1
  224. package/dist/lib/ValidatorFactory.js.map +0 -1
  225. package/dist/lib/configuration-ingestor.js.map +0 -1
  226. package/dist/lib/configure.js.map +0 -1
  227. package/dist/lib/constants.js.map +0 -1
  228. package/dist/lib/context-id-generators.js.map +0 -1
  229. package/dist/lib/dirname.cjs +0 -1
  230. package/dist/lib/dirname.d.cts +0 -2
  231. package/dist/lib/end-session.js.map +0 -1
  232. package/dist/lib/field.js.map +0 -1
  233. package/dist/lib/index.js.map +0 -1
  234. package/dist/lib/logger.js.map +0 -1
  235. package/dist/lib/mount.js.map +0 -1
  236. package/dist/lib/nunjucks-filters.js.map +0 -1
  237. package/dist/lib/nunjucks.js.map +0 -1
  238. package/dist/lib/utils.js.map +0 -1
  239. package/dist/lib/validators/dateObject.js.map +0 -1
  240. package/dist/lib/validators/email.js.map +0 -1
  241. package/dist/lib/validators/inArray.js.map +0 -1
  242. package/dist/lib/validators/index.js.map +0 -1
  243. package/dist/lib/validators/nino.js.map +0 -1
  244. package/dist/lib/validators/postalAddressObject.js.map +0 -1
  245. package/dist/lib/validators/range.js.map +0 -1
  246. package/dist/lib/validators/regex.js.map +0 -1
  247. package/dist/lib/validators/required.js.map +0 -1
  248. package/dist/lib/validators/strlen.js.map +0 -1
  249. package/dist/lib/validators/wordCount.js.map +0 -1
  250. package/dist/lib/waypoint-url.js.map +0 -1
  251. package/dist/middleware/body-parser.js.map +0 -1
  252. package/dist/middleware/csrf.js.map +0 -1
  253. package/dist/middleware/data.js.map +0 -1
  254. package/dist/middleware/dirname.cjs +0 -1
  255. package/dist/middleware/dirname.d.cts +0 -2
  256. package/dist/middleware/gather-fields.js.map +0 -1
  257. package/dist/middleware/i18n.js.map +0 -1
  258. package/dist/middleware/post.js.map +0 -1
  259. package/dist/middleware/pre.js.map +0 -1
  260. package/dist/middleware/progress-journey.js.map +0 -1
  261. package/dist/middleware/sanitise-fields.js.map +0 -1
  262. package/dist/middleware/serve-first-waypoint.js.map +0 -1
  263. package/dist/middleware/session.js.map +0 -1
  264. package/dist/middleware/skip-waypoint.js.map +0 -1
  265. package/dist/middleware/steer-journey.js.map +0 -1
  266. package/dist/middleware/strip-proxy-path.js.map +0 -1
  267. package/dist/middleware/validate-fields.js.map +0 -1
  268. package/dist/mjs/esm-wrapper.js +0 -20
  269. package/dist/mjs/package.json +0 -3
  270. package/dist/package.json +0 -3
  271. package/dist/routes/ancillary.js.map +0 -1
  272. package/dist/routes/dirname.cjs +0 -1
  273. package/dist/routes/dirname.d.cts +0 -2
  274. package/dist/routes/journey.js.map +0 -1
  275. package/dist/routes/static.js.map +0 -1
  276. package/src/lib/dirname.cjs +0 -1
  277. package/src/middleware/dirname.cjs +0 -1
  278. package/src/routes/dirname.cjs +0 -1
@@ -1,4 +1,4 @@
1
- /** @memberof module:@dwp/govuk-casa */
1
+ /** @memberof module:"@dwp/govuk-casa" */
2
2
  export default class MutableRouter {
3
3
  /**
4
4
  * A wrapping class to make Express routers mutable. You can append, prepend
@@ -18,149 +18,173 @@ export default class MutableRouter {
18
18
  /**
19
19
  * Prepend middleware function(s) using the `all()` method.
20
20
  *
21
- * @param {string | Function} path Route path or middleware function
22
- * @param {...Function} callbacks Additional middleware functions
21
+ * @param {PathParams | RequestHandler} path Route path or middleware function
22
+ * @param {...RequestHandler} callbacks Additional middleware functions
23
23
  * @returns {void}
24
24
  */
25
- prependAll(path: string | Function, ...callbacks: Function[]): void;
25
+ prependAll(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
26
26
  /**
27
27
  * Prepend middleware function(s) using the `get()` method.
28
28
  *
29
- * @param {string | Function} path Route path or middleware function
30
- * @param {...Function} callbacks Additional middleware functions
29
+ * @param {PathParams | RequestHandler} path Route path or middleware function
30
+ * @param {...RequestHandler} callbacks Additional middleware functions
31
31
  * @returns {void}
32
32
  */
33
- prependGet(path: string | Function, ...callbacks: Function[]): void;
33
+ prependGet(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
34
34
  /**
35
35
  * Prepend middleware function(s) using the `post()` method.
36
36
  *
37
- * @param {string | Function} path Route path or middleware function
38
- * @param {...Function} callbacks Additional middleware functions
37
+ * @param {PathParams | RequestHandler} path Route path or middleware function
38
+ * @param {...RequestHandler} callbacks Additional middleware functions
39
39
  * @returns {void}
40
40
  */
41
- prependPost(path: string | Function, ...callbacks: Function[]): void;
41
+ prependPost(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
42
42
  /**
43
43
  * Prepend middleware function(s) using the `delete()` method.
44
44
  *
45
- * @param {string | Function} path Route path or middleware function
46
- * @param {...Function} callbacks Additional middleware functions
45
+ * @param {PathParams | RequestHandler} path Route path or middleware function
46
+ * @param {...RequestHandler} callbacks Additional middleware functions
47
47
  * @returns {void}
48
48
  */
49
- prependDelete(path: string | Function, ...callbacks: Function[]): void;
49
+ prependDelete(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
50
50
  /**
51
51
  * Prepend middleware function(s) using the `put()` method.
52
52
  *
53
- * @param {string | Function} path Route path or middleware function
54
- * @param {...Function} callbacks Additional middleware functions
53
+ * @param {PathParams | RequestHandler} path Route path or middleware function
54
+ * @param {...RequestHandler} callbacks Additional middleware functions
55
55
  * @returns {void}
56
56
  */
57
- prependPut(path: string | Function, ...callbacks: Function[]): void;
57
+ prependPut(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
58
58
  /**
59
59
  * Prepend middleware function(s) using the `use()` method.
60
60
  *
61
- * @param {string | Function} path Route path or middleware function
62
- * @param {...Function} callbacks Additional middleware functions
61
+ * @param {PathParams | RequestHandlerParams} path Route path or middleware
62
+ * function
63
+ * @param {...RequestHandlerParams} callbacks Additional middleware functions
63
64
  * @returns {void}
64
65
  */
65
- prependUse(path: string | Function, ...callbacks: Function[]): void;
66
+ prependUse(path: PathParams | RequestHandlerParams, ...callbacks: RequestHandlerParams[]): void;
66
67
  /**
67
68
  * Replace middleware function(s) that were mounted using the `all()` method.
68
69
  *
69
- * @param {string | Function} path Route path or middleware function
70
- * @param {...Function} callbacks Additional middleware functions
70
+ * @param {PathParams | RequestHandler} path Route path or middleware function
71
+ * @param {...RequestHandler} callbacks Additional middleware functions
71
72
  * @returns {void}
72
73
  */
73
- replaceAll(path: string | Function, ...callbacks: Function[]): void;
74
+ replaceAll(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
74
75
  /**
75
76
  * Replace middleware function(s) that were mounted using the `get()` method.
76
77
  *
77
- * @param {string | Function} path Route path or middleware function
78
- * @param {...Function} callbacks Additional middleware functions
78
+ * @param {PathParams | RequestHandler} path Route path or middleware function
79
+ * @param {...RequestHandler} callbacks Additional middleware functions
79
80
  * @returns {void}
80
81
  */
81
- replaceGet(path: string | Function, ...callbacks: Function[]): void;
82
+ replaceGet(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
82
83
  /**
83
84
  * Replace middleware function(s) that were mounted using the `post()` method.
84
85
  *
85
- * @param {string | Function} path Route path or middleware function
86
- * @param {...Function} callbacks Additional middleware functions
86
+ * @param {PathParams | RequestHandler} path Route path or middleware function
87
+ * @param {...RequestHandler} callbacks Additional middleware functions
87
88
  * @returns {void}
88
89
  */
89
- replacePost(path: string | Function, ...callbacks: Function[]): void;
90
+ replacePost(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
90
91
  /**
91
92
  * Replace middleware function(s) that were mounted using the `delete()`
92
93
  * method.
93
94
  *
94
- * @param {string | Function} path Route path or middleware function
95
- * @param {...Function} callbacks Additional middleware functions
95
+ * @param {PathParams | RequestHandler} path Route path or middleware function
96
+ * @param {...RequestHandler} callbacks Additional middleware functions
96
97
  * @returns {void}
97
98
  */
98
- replaceDelete(path: string | Function, ...callbacks: Function[]): void;
99
+ replaceDelete(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
99
100
  /**
100
101
  * Replace middleware function(s) that were mounted using the `put()` method.
101
102
  *
102
- * @param {string | Function} path Route path or middleware function
103
- * @param {...Function} callbacks Additional middleware functions
103
+ * @param {PathParams | RequestHandler} path Route path or middleware function
104
+ * @param {...RequestHandler} callbacks Additional middleware functions
104
105
  * @returns {void}
105
106
  */
106
- replacePut(path: string | Function, ...callbacks: Function[]): void;
107
+ replacePut(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
107
108
  /**
108
109
  * Replace middleware function(s) that were mounted using the `use()` method.
109
110
  *
110
- * @param {string | Function} path Route path or middleware function
111
- * @param {...Function} callbacks Additional middleware functions
111
+ * @param {PathParams | RequestHandlerParams} path Route path or middleware
112
+ * function
113
+ * @param {...RequestHandlerParams} callbacks Additional middleware functions
112
114
  * @returns {void}
113
115
  */
114
- replaceUse(path: string | Function, ...callbacks: Function[]): void;
116
+ replaceUse(path: PathParams | RequestHandlerParams, ...callbacks: RequestHandlerParams[]): void;
115
117
  /**
116
118
  * Append middleware function(s) using the `all()` method.
117
119
  *
118
- * @param {string | Function} path Route path or middleware function
119
- * @param {...Function} callbacks Additional middleware functions
120
+ * @param {PathParams | RequestHandler} path Route path or middleware function
121
+ * @param {...RequestHandler} callbacks Additional middleware functions
120
122
  * @returns {void}
121
123
  */
122
- all(path: string | Function, ...callbacks: Function[]): void;
124
+ all(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
123
125
  /**
124
126
  * Append middleware function(s) using the `get()` method.
125
127
  *
126
- * @param {string | Function} path Route path or middleware function
127
- * @param {...Function} callbacks Additional middleware functions
128
+ * @param {PathParams | RequestHandler} path Route path or middleware function
129
+ * @param {...RequestHandler} callbacks Additional middleware functions
128
130
  * @returns {void}
129
131
  */
130
- get(path: string | Function, ...callbacks: Function[]): void;
132
+ get(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
131
133
  /**
132
134
  * Append middleware function(s) using the `post()` method.
133
135
  *
134
- * @param {string | Function} path Route path or middleware function
135
- * @param {...Function} callbacks Additional middleware functions
136
+ * @param {PathParams | RequestHandler} path Route path or middleware function
137
+ * @param {...RequestHandler} callbacks Additional middleware functions
136
138
  * @returns {void}
137
139
  */
138
- post(path: string | Function, ...callbacks: Function[]): void;
140
+ post(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
139
141
  /**
140
142
  * Append middleware function(s) using the `delete()` method.
141
143
  *
142
- * @param {string | Function} path Route path or middleware function
143
- * @param {...Function} callbacks Additional middleware functions
144
+ * @param {PathParams | RequestHandler} path Route path or middleware function
145
+ * @param {...RequestHandler} callbacks Additional middleware functions
144
146
  * @returns {void}
145
147
  */
146
- delete(path: string | Function, ...callbacks: Function[]): void;
148
+ delete(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
147
149
  /**
148
150
  * Append middleware function(s) using the `put()` method.
149
151
  *
150
- * @param {string | Function} path Route path or middleware function
151
- * @param {...Function} callbacks Additional middleware functions
152
+ * @param {PathParams | RequestHandler} path Route path or middleware function
153
+ * @param {...RequestHandler} callbacks Additional middleware functions
152
154
  * @returns {void}
153
155
  */
154
- put(path: string | Function, ...callbacks: Function[]): void;
156
+ put(path: PathParams | RequestHandler, ...callbacks: RequestHandler[]): void;
155
157
  /**
156
158
  * Append middleware function(s) using the `use()` method.
157
159
  *
158
- * @param {string | Function} path Route path or middleware function
159
- * @param {...Function} callbacks Additional middleware functions
160
+ * @param {PathParams | RequestHandlerParams} path Route path or middleware
161
+ * function
162
+ * @param {...RequestHandlerParams} callbacks Additional middleware functions
160
163
  * @returns {void}
161
164
  */
162
- use(path: string | Function, ...callbacks: Function[]): void;
165
+ use(path: PathParams | RequestHandlerParams, ...callbacks: RequestHandlerParams[]): void;
163
166
  route(): void;
164
167
  #private;
165
168
  }
169
+ export type RequestHandler = import("express").RequestHandler;
170
+ export type PathParams = import("express-serve-static-core").PathParams;
171
+ export type RequestHandlerParams = import("express-serve-static-core").RequestHandlerParams;
172
+ /**
173
+ * Stack route
174
+ */
175
+ export type StackRoute = {
176
+ /**
177
+ * HTTP request method
178
+ */
179
+ method: string;
180
+ /**
181
+ * Route path
182
+ */
183
+ path: PathParams;
184
+ /**
185
+ * Router arguments
186
+ */
187
+ args: [PathParams, ...RequestHandler[]];
188
+ };
166
189
  import { Router } from "express";
190
+ //# sourceMappingURL=MutableRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MutableRouter.d.ts","sourceRoot":"","sources":["../../src/lib/MutableRouter.js"],"names":[],"mappings":"AAEA,yCAAyC;AACzC;IAUE;;;;;;;OAOG;IACH,sBAFW,OAAO,SAAS,EAAE,aAAa,EAMzC;IAkDD;;;;OAIG;IACH,QAFa,MAAM,CAiBlB;IAID;;;;;;OAMG;IACH,iBAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;OAMG;IACH,iBAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;OAMG;IACH,kBAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;OAMG;IACH,oBAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;OAMG;IACH,iBAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;;OAOG;IACH,iBALW,UAAU,GAAG,oBAAoB,gBAE9B,oBAAoB,EAAA,GACrB,IAAI,CAIhB;IAID;;;;;;OAMG;IACH,iBAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;OAMG;IACH,iBAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;OAMG;IACH,kBAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;;OAOG;IACH,oBAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;OAMG;IACH,iBAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;;OAOG;IACH,iBALW,UAAU,GAAG,oBAAoB,gBAE9B,oBAAoB,EAAA,GACrB,IAAI,CAIhB;IAID;;;;;;OAMG;IACH,UAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;OAMG;IACH,UAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;OAMG;IACH,WAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;OAMG;IACH,aAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;OAMG;IACH,UAJW,UAAU,GAAG,cAAc,gBACxB,cAAc,EAAA,GACf,IAAI,CAIhB;IAED;;;;;;;OAOG;IACH,UALW,UAAU,GAAG,oBAAoB,gBAE9B,oBAAoB,EAAA,GACrB,IAAI,CAIhB;IAED,cAIC;;CACF;6BAEa,OAAO,SAAS,EAAE,cAAc;yBAChC,OAAO,2BAA2B,EAAE,UAAU;mCAC9C,OAAO,2BAA2B,EAAE,oBAAoB;;;;;;;;YAIxD,MAAM;;;;UACN,UAAU;;;;UACV,CAAC,UAAU,EAAE,GAAG,cAAc,EAAE,CAAC;;uBAhUxB,SAAS"}
@@ -1,9 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const express_1 = require("express");
4
- /** @memberof module:@dwp/govuk-casa */
5
- class MutableRouter {
6
- /** @type {Array} */
1
+ import { Router } from "express";
2
+ /** @memberof module:"@dwp/govuk-casa" */
3
+ export default class MutableRouter {
4
+ /** @type {StackRoute[]} */
7
5
  #stack;
8
6
  /** @type {Router} */
9
7
  #router;
@@ -18,7 +16,7 @@ class MutableRouter {
18
16
  * @param {import("express").RouterOptions} [options] Router options
19
17
  */
20
18
  constructor(options) {
21
- this.#router = (0, express_1.Router)(options);
19
+ this.#router = Router(options);
22
20
  this.#stack = [];
23
21
  this.#sealed = false;
24
22
  }
@@ -81,8 +79,8 @@ class MutableRouter {
81
79
  /**
82
80
  * Prepend middleware function(s) using the `all()` method.
83
81
  *
84
- * @param {string | Function} path Route path or middleware function
85
- * @param {...Function} callbacks Additional middleware functions
82
+ * @param {PathParams | RequestHandler} path Route path or middleware function
83
+ * @param {...RequestHandler} callbacks Additional middleware functions
86
84
  * @returns {void}
87
85
  */
88
86
  prependAll(path, ...callbacks) {
@@ -91,8 +89,8 @@ class MutableRouter {
91
89
  /**
92
90
  * Prepend middleware function(s) using the `get()` method.
93
91
  *
94
- * @param {string | Function} path Route path or middleware function
95
- * @param {...Function} callbacks Additional middleware functions
92
+ * @param {PathParams | RequestHandler} path Route path or middleware function
93
+ * @param {...RequestHandler} callbacks Additional middleware functions
96
94
  * @returns {void}
97
95
  */
98
96
  prependGet(path, ...callbacks) {
@@ -101,8 +99,8 @@ class MutableRouter {
101
99
  /**
102
100
  * Prepend middleware function(s) using the `post()` method.
103
101
  *
104
- * @param {string | Function} path Route path or middleware function
105
- * @param {...Function} callbacks Additional middleware functions
102
+ * @param {PathParams | RequestHandler} path Route path or middleware function
103
+ * @param {...RequestHandler} callbacks Additional middleware functions
106
104
  * @returns {void}
107
105
  */
108
106
  prependPost(path, ...callbacks) {
@@ -111,8 +109,8 @@ class MutableRouter {
111
109
  /**
112
110
  * Prepend middleware function(s) using the `delete()` method.
113
111
  *
114
- * @param {string | Function} path Route path or middleware function
115
- * @param {...Function} callbacks Additional middleware functions
112
+ * @param {PathParams | RequestHandler} path Route path or middleware function
113
+ * @param {...RequestHandler} callbacks Additional middleware functions
116
114
  * @returns {void}
117
115
  */
118
116
  prependDelete(path, ...callbacks) {
@@ -121,8 +119,8 @@ class MutableRouter {
121
119
  /**
122
120
  * Prepend middleware function(s) using the `put()` method.
123
121
  *
124
- * @param {string | Function} path Route path or middleware function
125
- * @param {...Function} callbacks Additional middleware functions
122
+ * @param {PathParams | RequestHandler} path Route path or middleware function
123
+ * @param {...RequestHandler} callbacks Additional middleware functions
126
124
  * @returns {void}
127
125
  */
128
126
  prependPut(path, ...callbacks) {
@@ -131,8 +129,9 @@ class MutableRouter {
131
129
  /**
132
130
  * Prepend middleware function(s) using the `use()` method.
133
131
  *
134
- * @param {string | Function} path Route path or middleware function
135
- * @param {...Function} callbacks Additional middleware functions
132
+ * @param {PathParams | RequestHandlerParams} path Route path or middleware
133
+ * function
134
+ * @param {...RequestHandlerParams} callbacks Additional middleware functions
136
135
  * @returns {void}
137
136
  */
138
137
  prependUse(path, ...callbacks) {
@@ -142,8 +141,8 @@ class MutableRouter {
142
141
  /**
143
142
  * Replace middleware function(s) that were mounted using the `all()` method.
144
143
  *
145
- * @param {string | Function} path Route path or middleware function
146
- * @param {...Function} callbacks Additional middleware functions
144
+ * @param {PathParams | RequestHandler} path Route path or middleware function
145
+ * @param {...RequestHandler} callbacks Additional middleware functions
147
146
  * @returns {void}
148
147
  */
149
148
  replaceAll(path, ...callbacks) {
@@ -152,8 +151,8 @@ class MutableRouter {
152
151
  /**
153
152
  * Replace middleware function(s) that were mounted using the `get()` method.
154
153
  *
155
- * @param {string | Function} path Route path or middleware function
156
- * @param {...Function} callbacks Additional middleware functions
154
+ * @param {PathParams | RequestHandler} path Route path or middleware function
155
+ * @param {...RequestHandler} callbacks Additional middleware functions
157
156
  * @returns {void}
158
157
  */
159
158
  replaceGet(path, ...callbacks) {
@@ -162,8 +161,8 @@ class MutableRouter {
162
161
  /**
163
162
  * Replace middleware function(s) that were mounted using the `post()` method.
164
163
  *
165
- * @param {string | Function} path Route path or middleware function
166
- * @param {...Function} callbacks Additional middleware functions
164
+ * @param {PathParams | RequestHandler} path Route path or middleware function
165
+ * @param {...RequestHandler} callbacks Additional middleware functions
167
166
  * @returns {void}
168
167
  */
169
168
  replacePost(path, ...callbacks) {
@@ -173,8 +172,8 @@ class MutableRouter {
173
172
  * Replace middleware function(s) that were mounted using the `delete()`
174
173
  * method.
175
174
  *
176
- * @param {string | Function} path Route path or middleware function
177
- * @param {...Function} callbacks Additional middleware functions
175
+ * @param {PathParams | RequestHandler} path Route path or middleware function
176
+ * @param {...RequestHandler} callbacks Additional middleware functions
178
177
  * @returns {void}
179
178
  */
180
179
  replaceDelete(path, ...callbacks) {
@@ -183,8 +182,8 @@ class MutableRouter {
183
182
  /**
184
183
  * Replace middleware function(s) that were mounted using the `put()` method.
185
184
  *
186
- * @param {string | Function} path Route path or middleware function
187
- * @param {...Function} callbacks Additional middleware functions
185
+ * @param {PathParams | RequestHandler} path Route path or middleware function
186
+ * @param {...RequestHandler} callbacks Additional middleware functions
188
187
  * @returns {void}
189
188
  */
190
189
  replacePut(path, ...callbacks) {
@@ -193,8 +192,9 @@ class MutableRouter {
193
192
  /**
194
193
  * Replace middleware function(s) that were mounted using the `use()` method.
195
194
  *
196
- * @param {string | Function} path Route path or middleware function
197
- * @param {...Function} callbacks Additional middleware functions
195
+ * @param {PathParams | RequestHandlerParams} path Route path or middleware
196
+ * function
197
+ * @param {...RequestHandlerParams} callbacks Additional middleware functions
198
198
  * @returns {void}
199
199
  */
200
200
  replaceUse(path, ...callbacks) {
@@ -204,8 +204,8 @@ class MutableRouter {
204
204
  /**
205
205
  * Append middleware function(s) using the `all()` method.
206
206
  *
207
- * @param {string | Function} path Route path or middleware function
208
- * @param {...Function} callbacks Additional middleware functions
207
+ * @param {PathParams | RequestHandler} path Route path or middleware function
208
+ * @param {...RequestHandler} callbacks Additional middleware functions
209
209
  * @returns {void}
210
210
  */
211
211
  all(path, ...callbacks) {
@@ -214,8 +214,8 @@ class MutableRouter {
214
214
  /**
215
215
  * Append middleware function(s) using the `get()` method.
216
216
  *
217
- * @param {string | Function} path Route path or middleware function
218
- * @param {...Function} callbacks Additional middleware functions
217
+ * @param {PathParams | RequestHandler} path Route path or middleware function
218
+ * @param {...RequestHandler} callbacks Additional middleware functions
219
219
  * @returns {void}
220
220
  */
221
221
  get(path, ...callbacks) {
@@ -224,8 +224,8 @@ class MutableRouter {
224
224
  /**
225
225
  * Append middleware function(s) using the `post()` method.
226
226
  *
227
- * @param {string | Function} path Route path or middleware function
228
- * @param {...Function} callbacks Additional middleware functions
227
+ * @param {PathParams | RequestHandler} path Route path or middleware function
228
+ * @param {...RequestHandler} callbacks Additional middleware functions
229
229
  * @returns {void}
230
230
  */
231
231
  post(path, ...callbacks) {
@@ -234,8 +234,8 @@ class MutableRouter {
234
234
  /**
235
235
  * Append middleware function(s) using the `delete()` method.
236
236
  *
237
- * @param {string | Function} path Route path or middleware function
238
- * @param {...Function} callbacks Additional middleware functions
237
+ * @param {PathParams | RequestHandler} path Route path or middleware function
238
+ * @param {...RequestHandler} callbacks Additional middleware functions
239
239
  * @returns {void}
240
240
  */
241
241
  delete(path, ...callbacks) {
@@ -244,8 +244,8 @@ class MutableRouter {
244
244
  /**
245
245
  * Append middleware function(s) using the `put()` method.
246
246
  *
247
- * @param {string | Function} path Route path or middleware function
248
- * @param {...Function} callbacks Additional middleware functions
247
+ * @param {PathParams | RequestHandler} path Route path or middleware function
248
+ * @param {...RequestHandler} callbacks Additional middleware functions
249
249
  * @returns {void}
250
250
  */
251
251
  put(path, ...callbacks) {
@@ -254,8 +254,9 @@ class MutableRouter {
254
254
  /**
255
255
  * Append middleware function(s) using the `use()` method.
256
256
  *
257
- * @param {string | Function} path Route path or middleware function
258
- * @param {...Function} callbacks Additional middleware functions
257
+ * @param {PathParams | RequestHandlerParams} path Route path or middleware
258
+ * function
259
+ * @param {...RequestHandlerParams} callbacks Additional middleware functions
259
260
  * @returns {void}
260
261
  */
261
262
  use(path, ...callbacks) {
@@ -265,5 +266,12 @@ class MutableRouter {
265
266
  throw new Error("route() method is not supported on MutableRouter. Use verb methods for now.");
266
267
  }
267
268
  }
268
- exports.default = MutableRouter;
269
- //# sourceMappingURL=MutableRouter.js.map
269
+ /** @typedef {import("express").RequestHandler} RequestHandler */
270
+ /** @typedef {import("express-serve-static-core").PathParams} PathParams */
271
+ /** @typedef {import("express-serve-static-core").RequestHandlerParams} RequestHandlerParams */
272
+ /**
273
+ * @typedef {object} StackRoute Stack route
274
+ * @property {string} method HTTP request method
275
+ * @property {PathParams} path Route path
276
+ * @property {[PathParams, ...RequestHandler[]]} args Router arguments
277
+ */
@@ -0,0 +1,3 @@
1
+ export default NullObject;
2
+ declare function NullObject(): void;
3
+ //# sourceMappingURL=NullObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NullObject.d.ts","sourceRoot":"","sources":["../../src/lib/NullObject.js"],"names":[],"mappings":";AAAA,oCAAiC"}
@@ -0,0 +1,3 @@
1
+ const NullObject = function () { };
2
+ NullObject.prototype = Object.create(null);
3
+ export default NullObject;
@@ -1,4 +1,4 @@
1
- /** @memberof module:@dwp/govuk-casa */
1
+ /** @memberof module:"@dwp/govuk-casa" */
2
2
  export default class Plan {
3
3
  /**
4
4
  * Waypoints using the url:// protocol are known as "exit nodes" as they
@@ -229,3 +229,4 @@ export type PlanConstructorOptions = {
229
229
  };
230
230
  import JourneyContext from "./JourneyContext.js";
231
231
  import { Graph } from "@dagrejs/graphlib";
232
+ //# sourceMappingURL=Plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plan.d.ts","sourceRoot":"","sources":["../../src/lib/Plan.js"],"names":[],"mappings":"AA+IA,yCAAyC;AACzC;IAoBE;;;;;;OAMG;IACH,wBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,mBAFW,sBAAsB,EAkBhC;IAED;;;;OAIG;IACH,cAFa,sBAAsB,CAIlC;IAED;;;;OAIG;IACH,iBAFa,MAAM,EAAE,CAIpB;IAED;;;;;OAKG;IACH,4BAHc,MAAM,EAAA,GACP,IAAI,CAKhB;IAED;;;;;OAKG;IACH,sBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,gBAFa,MAAM,EAAE,CAIpB;IAED;;;;;OAKG;IACH,2BAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,aAFa,SAAS,EAAE,CAMvB;IAED;;;;;;;OAOG;IACH,uBALW,MAAM,OACN,MAAM,QACN,MAAM,GACJ,kBAAkB,CAI9B;IAED;;;;;;;OAOG;IACH,sBAJW,MAAM,QACN,MAAM,GACJ,SAAS,EAAE,CAMvB;IAED;;;;;;;OAOG;IACH,0BAJW,MAAM,QACN,MAAM,GACJ,SAAS,EAAE,CAIvB;IAED;;;;;;OAMG;IACH,0BAHc,MAAM,EAAA,GACP,IAAI,CAShB;IAED;;;;;;;OAOG;IACH,kBALW,MAAM,OACN,MAAM,UACN,kBAAkB,GAChB,IAAI,CAIhB;IAED;;;;;;;OAOG;IACH,kBALW,MAAM,OACN,MAAM,UACN,kBAAkB,GAChB,IAAI,CAIhB;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,cANW,MAAM,OACN,MAAM,eACN,kBAAkB,eAClB,kBAAkB,GAChB,IAAI,CAuBhB;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,mBATW,MAAM,OACN,MAAM,QACN,MAAM,UAEN,kBAAkB,GAEhB,IAAI,CAqDhB;IAED;;;;;;;OAOG;IACH,kBAJW,cAAc,YACd,mBAAmB,GACjB,MAAM,EAAE,CAIpB;IAED;;;;;;;OAOG;IACH,4BAJW,cAAc,YACd,mBAAmB,GACjB,SAAS,EAAE,CAIvB;IAED;;;;;;;OAOG;IACH,4BAJW,cAAc,YACd,mBAAmB,GACjB,SAAS,EAAE,CAIvB;IAED;;;;;;;;;;;;;;;OAeG;IACH,wBALW,cAAc,YACd,mBAAmB,GACjB,SAAS,EAAE,CA0HvB;IAED;;;;;OAKG;IACH,qBAFa,KAAK,CAIjB;;CACF;wBA9nBY,OAAO,SAAS,EAAE,SAAS;iCAK3B,OAAO,SAAS,EAAE,kBAAkB;kCAKpC,OAAO,SAAS,EAAE,mBAAmB;0BAKrC,OAAO,SAAS,EAAE,WAAW;;;;;;;;;;;;;2BAtBf,qBAAqB;sBAD1B,mBAAmB"}