@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,28 +1,21 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = configure;
7
- const express_session_1 = require("express-session");
8
- const node_path_1 = require("node:path");
9
- const node_module_1 = require("node:module");
10
- const cookie_parser_1 = __importDefault(require("cookie-parser"));
11
- const dirname_cjs_1 = __importDefault(require("./dirname.cjs"));
12
- const configuration_ingestor_js_1 = __importDefault(require("./configuration-ingestor.js"));
13
- const nunjucks_js_1 = __importDefault(require("./nunjucks.js"));
14
- const mount_js_1 = __importDefault(require("./mount.js"));
15
- const static_js_1 = __importDefault(require("../routes/static.js"));
16
- const ancillary_js_1 = __importDefault(require("../routes/ancillary.js"));
17
- const journey_js_1 = __importDefault(require("../routes/journey.js"));
18
- const pre_js_1 = __importDefault(require("../middleware/pre.js"));
19
- const post_js_1 = __importDefault(require("../middleware/post.js"));
20
- const session_js_1 = __importDefault(require("../middleware/session.js"));
21
- const i18n_js_1 = __importDefault(require("../middleware/i18n.js"));
22
- const data_js_1 = __importDefault(require("../middleware/data.js"));
23
- const body_parser_js_1 = __importDefault(require("../middleware/body-parser.js"));
24
- const csrf_js_1 = __importDefault(require("../middleware/csrf.js"));
25
- const constants_js_1 = require("./constants.js");
1
+ import { MemoryStore } from "express-session";
2
+ import { resolve } from "node:path";
3
+ import { createRequire } from "node:module";
4
+ import cookieParserFactory from "cookie-parser";
5
+ import configurationIngestor from "./configuration-ingestor.js";
6
+ import nunjucks from "./nunjucks.js";
7
+ import mountFactory from "./mount.js";
8
+ import staticRoutes from "../routes/static.js";
9
+ import ancillaryRoutes from "../routes/ancillary.js";
10
+ import journeyRoutes from "../routes/journey.js";
11
+ import preMiddlewareFactory from "../middleware/pre.js";
12
+ import postMiddlewareFactory from "../middleware/post.js";
13
+ import sessionMiddlewareFactory from "../middleware/session.js";
14
+ import i18nMiddlewareFactory from "../middleware/i18n.js";
15
+ import dataMiddlewareFactory from "../middleware/data.js";
16
+ import bodyParserMiddlewareFactory from "../middleware/body-parser.js";
17
+ import csrfMiddlewareFactory from "../middleware/csrf.js";
18
+ import { CONFIG_ERROR_VISIBILITY_ONSUBMIT } from "./constants.js";
26
19
  /**
27
20
  * @typedef {import("../casa").ConfigurationOptions} ConfigurationOptions
28
21
  * @access private
@@ -38,19 +31,19 @@ const constants_js_1 = require("./constants.js");
38
31
  /**
39
32
  * Configure some middleware for use in creating a new CASA app.
40
33
  *
41
- * @memberof module:@dwp/govuk-casa
34
+ * @memberof module:"@dwp/govuk-casa"
42
35
  * @param {ConfigurationOptions} config Configuration options
43
36
  * @returns {ConfigureResult} Result
44
37
  */
45
- function configure(config = {}) {
38
+ export default function configure(config = {}) {
46
39
  // Pass the raw config through each plugin's configure phase so they can
47
40
  // optionally modify it
48
41
  for (const plugin of config.plugins ?? []) {
49
42
  plugin.configure(config);
50
43
  }
51
44
  // Extract config
52
- const ingestedConfig = (0, configuration_ingestor_js_1.default)(config);
53
- const { mountUrl, errorVisibility = constants_js_1.CONFIG_ERROR_VISIBILITY_ONSUBMIT, views = [], session = {
45
+ const ingestedConfig = configurationIngestor(config);
46
+ const { mountUrl, errorVisibility = CONFIG_ERROR_VISIBILITY_ONSUBMIT, views = [], session = {
54
47
  secret: "secret",
55
48
  name: "casasession",
56
49
  secure: false,
@@ -61,7 +54,7 @@ function configure(config = {}) {
61
54
  }, pages = [], plan = null, hooks = [], plugins = [], events = [], i18n = {
62
55
  dirs: [],
63
56
  locales: ["en", "cy"],
64
- }, helmetConfigurator = undefined, formMaxParams, formMaxBytes, contextIdGenerator, govukRebrand = false, } = ingestedConfig;
57
+ }, helmetConfigurator = undefined, formMaxParams, formMaxBytes, contextIdGenerator, } = ingestedConfig;
65
58
  // Prepare all page hooks so they are prefixed with the `journey.` scope.
66
59
  for (const page of pages) {
67
60
  if (page?.hooks) {
@@ -72,22 +65,21 @@ function configure(config = {}) {
72
65
  }
73
66
  // Prepare a Nunjucks environment for rendering all templates.
74
67
  // Resolve priority: userland templates > CASA templates > GOVUK templates > Plugin templates
75
- const nunjucksEnv = (0, nunjucks_js_1.default)({
68
+ const nunjucksEnv = nunjucks({
76
69
  views: [
77
70
  ...views,
78
- (0, node_path_1.resolve)(dirname_cjs_1.default, "../../views"),
79
- (0, node_path_1.resolve)((0, node_module_1.createRequire)(dirname_cjs_1.default).resolve("govuk-frontend"), "../../"),
71
+ resolve(import.meta.dirname, "../../views"),
72
+ resolve(createRequire(import.meta.dirname).resolve("govuk-frontend"), "../../"),
80
73
  ],
81
- govukRebrand,
82
74
  });
83
75
  // Prepare mandatory middleware
84
76
  // These _must_ be added to the ExpressJS application at the start and end
85
77
  // of all other middleware respectively.
86
- const preMiddleware = (0, pre_js_1.default)({ helmetConfigurator });
87
- const postMiddleware = (0, post_js_1.default)();
78
+ const preMiddleware = preMiddlewareFactory({ helmetConfigurator });
79
+ const postMiddleware = postMiddlewareFactory();
88
80
  // Prepare common middleware mounted prior to the ancillaryRouter
89
- const cookieParserMiddleware = (0, cookie_parser_1.default)(session.secret);
90
- const sessionMiddleware = (0, session_js_1.default)({
81
+ const cookieParserMiddleware = cookieParserFactory(session.secret);
82
+ const sessionMiddleware = sessionMiddlewareFactory({
91
83
  cookieParserMiddleware,
92
84
  secure: session.secure,
93
85
  secret: session.secret,
@@ -95,39 +87,38 @@ function configure(config = {}) {
95
87
  ttl: session.ttl,
96
88
  cookieSameSite: session.cookieSameSite,
97
89
  cookiePath: session.cookiePath,
98
- store: session.store ?? new express_session_1.MemoryStore(),
90
+ store: session.store ?? new MemoryStore(),
99
91
  });
100
- const i18nMiddleware = (0, i18n_js_1.default)({
92
+ const i18nMiddleware = i18nMiddlewareFactory({
101
93
  directories: [
102
94
  // Order is important; latter directories take precedence
103
- (0, node_path_1.resolve)(dirname_cjs_1.default, "../../locales/"),
95
+ resolve(import.meta.dirname, "../../locales/"),
104
96
  ...i18n.dirs,
105
97
  ],
106
98
  languages: i18n.locales,
107
99
  fallbackLng: i18n.fallbackLng,
108
100
  });
109
- const dataMiddleware = (0, data_js_1.default)({
101
+ const dataMiddleware = dataMiddlewareFactory({
110
102
  plan,
111
103
  events,
112
104
  contextIdGenerator,
113
- govukRebrand,
114
105
  });
115
106
  // Prepare form middleware and its constituent parts
116
107
  // These are used for any forms, including waypoint page forms.
117
- const bodyParserMiddleware = (0, body_parser_js_1.default)({
108
+ const bodyParserMiddleware = bodyParserMiddlewareFactory({
118
109
  formMaxParams,
119
110
  formMaxBytes,
120
111
  });
121
- const csrfMiddleware = (0, csrf_js_1.default)();
112
+ const csrfMiddleware = csrfMiddlewareFactory();
122
113
  // Setup router to serve up bundled static assets
123
- const staticRouter = (0, static_js_1.default)();
114
+ const staticRouter = staticRoutes();
124
115
  // Setup ancillary router default stand-alone pages.
125
- const ancillaryRouter = (0, ancillary_js_1.default)({
116
+ const ancillaryRouter = ancillaryRoutes({
126
117
  sessionTtl: session.ttl,
127
118
  });
128
119
  // Setup waypoint router, which includes routes for every defined waypoint
129
120
  const globalErrorVisibility = errorVisibility;
130
- const journeyRouter = (0, journey_js_1.default)({
121
+ const journeyRouter = journeyRoutes({
131
122
  globalHooks: hooks,
132
123
  pages,
133
124
  plan,
@@ -135,7 +126,7 @@ function configure(config = {}) {
135
126
  globalErrorVisibility,
136
127
  });
137
128
  // Create the mounting function
138
- const mount = (0, mount_js_1.default)({
129
+ const mount = mountFactory({
139
130
  nunjucksEnv,
140
131
  mountUrl,
141
132
  plan,
@@ -154,8 +145,6 @@ function configure(config = {}) {
154
145
  // Nunjucks environment, so it can be attached to other ExpressJS instances
155
146
  // using `nunjucksEnv.express(myApp); myApp.set('view engine', 'njk');`.
156
147
  nunjucksEnv,
157
- // govuk rebrand flag
158
- govukRebrand,
159
148
  // Mandatory middleware. User must add these to their ExpressJS app.
160
149
  preMiddleware,
161
150
  postMiddleware,
@@ -184,4 +173,3 @@ function configure(config = {}) {
184
173
  // Finished configuration
185
174
  return configOutput;
186
175
  }
187
- //# sourceMappingURL=configure.js.map
@@ -7,3 +7,4 @@ export const REQUEST_PHASE_REDIRECT: unique symbol;
7
7
  export const REQUEST_PHASE_RENDER: unique symbol;
8
8
  export const CONFIG_ERROR_VISIBILITY_ONSUBMIT: unique symbol;
9
9
  export const CONFIG_ERROR_VISIBILITY_ALWAYS: unique symbol;
10
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.js"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,gDAAmD;AACnD,mDAAyD;AACzD,iDAAqD;AACrD,mDAAyD;AACzD,mDAAyD;AACzD,iDAAqD;AACrD,6DAAmE;AACnE,2DAA+D"}
@@ -1,13 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CONFIG_ERROR_VISIBILITY_ALWAYS = exports.CONFIG_ERROR_VISIBILITY_ONSUBMIT = exports.REQUEST_PHASE_RENDER = exports.REQUEST_PHASE_REDIRECT = exports.REQUEST_PHASE_VALIDATE = exports.REQUEST_PHASE_GATHER = exports.REQUEST_PHASE_SANITISE = exports.REQUEST_PHASE_STEER = void 0;
4
1
  /** General-purpose references to the different request lifecycle phases. */
5
- exports.REQUEST_PHASE_STEER = Symbol("steer");
6
- exports.REQUEST_PHASE_SANITISE = Symbol("sanitise");
7
- exports.REQUEST_PHASE_GATHER = Symbol("gather");
8
- exports.REQUEST_PHASE_VALIDATE = Symbol("validate");
9
- exports.REQUEST_PHASE_REDIRECT = Symbol("redirect");
10
- exports.REQUEST_PHASE_RENDER = Symbol("render");
11
- exports.CONFIG_ERROR_VISIBILITY_ONSUBMIT = Symbol("onsubmit");
12
- exports.CONFIG_ERROR_VISIBILITY_ALWAYS = Symbol("always");
13
- //# sourceMappingURL=constants.js.map
2
+ export const REQUEST_PHASE_STEER = Symbol("steer");
3
+ export const REQUEST_PHASE_SANITISE = Symbol("sanitise");
4
+ export const REQUEST_PHASE_GATHER = Symbol("gather");
5
+ export const REQUEST_PHASE_VALIDATE = Symbol("validate");
6
+ export const REQUEST_PHASE_REDIRECT = Symbol("redirect");
7
+ export const REQUEST_PHASE_RENDER = Symbol("render");
8
+ export const CONFIG_ERROR_VISIBILITY_ONSUBMIT = Symbol("onsubmit");
9
+ export const CONFIG_ERROR_VISIBILITY_ALWAYS = Symbol("always");
@@ -23,3 +23,4 @@ export function shortGuid({ length, prefix, pool }?: {
23
23
  }): ({ reservedIds }: {
24
24
  reservedIds: any;
25
25
  }) => string;
26
+ //# sourceMappingURL=context-id-generators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-id-generators.d.ts","sourceRoot":"","sources":["../../src/lib/context-id-generators.js"],"names":[],"mappings":"iCAEc,OAAO,YAAY,EAAE,kBAAkB;AAArD,4EAA4E;AAE5E;;;;GAIG;AACH,wBAFa,kBAAkB,CAEM;AAErC;;;;;;;;GAQG;AACH,qCAFa,kBAAkB,CAkB5B;AAEH;;;;KAEG;;CAAe,YAwBf"}
@@ -1,15 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.shortGuid = exports.sequentialInteger = exports.uuid = void 0;
4
- const node_crypto_1 = require("node:crypto");
1
+ import { randomUUID } from "node:crypto";
5
2
  /** @typedef {import("../casa.js").ContextIdGenerator} ContextIdGenerator */
6
3
  /**
7
4
  * Creates an instance of a UUID generator.
8
5
  *
9
6
  * @returns {ContextIdGenerator} Generator function
10
7
  */
11
- const uuid = () => () => (0, node_crypto_1.randomUUID)();
12
- exports.uuid = uuid;
8
+ const uuid = () => () => randomUUID();
13
9
  /**
14
10
  * Returns a generator that returns the next incremental integer in a sequence.
15
11
  *
@@ -31,7 +27,6 @@ const sequentialInteger = () => ({ reservedIds }) => {
31
27
  } while (contextIds.length && Number.isNaN(lastInSequence));
32
28
  return String(!Number.isNaN(lastInSequence) ? lastInSequence + 1 : 1);
33
29
  };
34
- exports.sequentialInteger = sequentialInteger;
35
30
  const shortGuid = ({ length = 5, prefix = "", pool = "abcdefhkmnprtwxy346789" } = {}) => ({ reservedIds }) => {
36
31
  // Ambiguous characters excluded
37
32
  const poolSize = pool.length;
@@ -51,5 +46,5 @@ const shortGuid = ({ length = 5, prefix = "", pool = "abcdefhkmnprtwxy346789" }
51
46
  }
52
47
  return `${prefix}${id}`;
53
48
  };
54
- exports.shortGuid = shortGuid;
55
- //# sourceMappingURL=context-id-generators.js.map
49
+ /** @namespace ContextIdGenerators */
50
+ export { uuid, sequentialInteger, shortGuid };
@@ -6,9 +6,10 @@
6
6
  * Note: this will not remove the session from server-side storage, which will
7
7
  * instead be left up to the storage mechanism to clean up.
8
8
  *
9
- * @memberof module:@dwp/govuk-casa
9
+ * @memberof module:"@dwp/govuk-casa"
10
10
  * @param {import("express").Request} req HTTP request
11
11
  * @param {Function} next Chain
12
12
  * @returns {void}
13
13
  */
14
14
  export default function endSession(req: import("express").Request, next: Function): void;
15
+ //# sourceMappingURL=end-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"end-session.d.ts","sourceRoot":"","sources":["../../src/lib/end-session.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wCAJW,OAAO,SAAS,EAAE,OAAO,mBAEvB,IAAI,CA6BhB"}
@@ -1,11 +1,5 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = endSession;
7
- const logger_js_1 = __importDefault(require("./logger.js"));
8
- const log = (0, logger_js_1.default)("lib:end-session");
1
+ import logger from "./logger.js";
2
+ const log = logger("lib:end-session");
9
3
  /**
10
4
  * A convenience for ending the current session, but retaining some data in it,
11
5
  * like the current language. It persists an empty session before regenerating a
@@ -14,12 +8,12 @@ const log = (0, logger_js_1.default)("lib:end-session");
14
8
  * Note: this will not remove the session from server-side storage, which will
15
9
  * instead be left up to the storage mechanism to clean up.
16
10
  *
17
- * @memberof module:@dwp/govuk-casa
11
+ * @memberof module:"@dwp/govuk-casa"
18
12
  * @param {import("express").Request} req HTTP request
19
13
  * @param {Function} next Chain
20
14
  * @returns {void}
21
15
  */
22
- function endSession(req, next) {
16
+ export default function endSession(req, next) {
23
17
  const { language } = req.session;
24
18
  for (const key of Object.keys(req.session)) {
25
19
  if (!["cookie"].includes(key)) {
@@ -45,4 +39,3 @@ function endSession(req, next) {
45
39
  });
46
40
  });
47
41
  }
48
- //# sourceMappingURL=end-session.js.map
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Factory for creating PageField instances.
3
3
  *
4
- * @memberof module:@dwp/govuk-casa
4
+ * @memberof module:"@dwp/govuk-casa"
5
5
  * @param {string} name Field name
6
6
  * @param {object} [opts] Options
7
7
  * @param {boolean} [opts.optional] Whether this field is optional. Default is
@@ -172,3 +172,4 @@ export type ValidateContext = import("../casa").ValidateContext;
172
172
  export type ValidatorConditionFunction = import("../casa").ValidatorConditionFunction;
173
173
  export type FieldProcessorFunction = import("../casa").FieldProcessorFunction;
174
174
  export type ValidationError = import("./index").ValidationError;
175
+ //# sourceMappingURL=field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/lib/field.js"],"names":[],"mappings":"AA6aA;;;;;;;;;;;GAWG;AACH,oCARW,MAAM,SAEd;IAAuB,QAAQ;IAER,OAAO;CAE9B,GAAU,SAAS,CAIrB;AApZD;;;;;GAKG;AACH;IAgBE;;;;;;;;;OASG;IACH,kBAPW,MAAM,0BAEd;QAAuB,QAAQ;QAER,OAAO;KAEhC,EAwBA;IAED;;;;OAIG;IACH,SAFa,SAAS,CAmBrB;IAED;;;;;;;;OAQG;IACH,eAHW,MAAM,GACJ,GAAG,CASf;IAED;;;;;;;;;OASG;IACH,eAJW,MAAM,UACN,GAAG,GACD,GAAG,CAaf;IAID,mBAEC;IAED,mBAEC;IAED;;;;;;OAMG;IACH,aAJW,MAAM,GACJ,SAAS,CA8BrB;IAED;;;;OAIG;IACH,iBAFa,SAAS,EAAE,CAIvB;IAED;;;;;;OAMG;IACH,mBAHW,SAAS,EAAE,GACT,SAAS,CAUrB;IAED;;;;OAIG;IACH,iBAFa,sBAAsB,EAAE,CAIpC;IAED;;;;;;OAMG;IACH,mBAHW,sBAAsB,EAAE,GACtB,SAAS,CAWrB;IAED;;;;OAIG;IACH,iBAFa,0BAA0B,EAAE,CAIxC;IAED;;;;;;OAMG;IACH,mBAHW,0BAA0B,EAAE,GAC1B,SAAS,CAUrB;IAID;;;;;;OAMG;IACH,wBAJW,eAAe,GACb,eAAe,EAAE,CAyC7B;IAED;;;;;OAKG;IACH,uBAHW,GAAG,GACD,GAAG,CAsBf;IAED;;;;;OAKG;IACH,yDAHW,eAAe,GACb,OAAO,CAiBnB;IAID;;;;;OAKG;IACH,qBAHW,SAAS,GACP,SAAS,CAIrB;IAED;;;;;OAKG;IACH,qBAHW,sBAAsB,GACpB,SAAS,CAIrB;IAED;;;;;OAKG;IACH,qBAHW,0BAA0B,GACxB,SAAS,CAIrB;IAED;;;;;OAKG;IACH,YAHc,0BAA0B,EAAA,GAC3B,SAAS,CAIrB;;CACF;6BAvaY,OAAO,SAAS,EAAE,cAAc;wBAKhC,OAAO,SAAS,EAAE,SAAS;8BAK3B,OAAO,SAAS,EAAE,eAAe;yCAKjC,OAAO,SAAS,EAAE,0BAA0B;qCAK5C,OAAO,SAAS,EAAE,sBAAsB;8BAKxC,OAAO,SAAS,EAAE,eAAe"}
package/dist/lib/field.js CHANGED
@@ -1,13 +1,5 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PageField = void 0;
7
- exports.default = field;
8
- const lodash_1 = __importDefault(require("lodash"));
9
- const utils_js_1 = require("./utils.js");
10
- const { isFunction } = lodash_1.default;
1
+ import { isEmpty } from "./utils.js";
2
+ import NullObject from "./NullObject.js";
11
3
  /**
12
4
  * @typedef {import("./index").JourneyContext} JourneyContext
13
5
  * @access private
@@ -42,7 +34,7 @@ const reInvalidName = /[^a-z0-9_.\-[\]]/i;
42
34
  *
43
35
  * @class
44
36
  */
45
- class PageField {
37
+ export class PageField {
46
38
  /** @type {string} */
47
39
  #name;
48
40
  /** @type {FieldProcessorFunction[]} */
@@ -63,7 +55,7 @@ class PageField {
63
55
  * @param {boolean} [opts.persist] Whether this field will persist in
64
56
  * `req.body`. Default is `true`
65
57
  */
66
- constructor(name, { optional = false, persist = true } = Object.create(null)) {
58
+ constructor(name, { optional = false, persist = true } = new NullObject()) {
67
59
  if (!name) {
68
60
  throw new SyntaxError("A name for this field is required, i.e. \"field('myField')\".");
69
61
  }
@@ -111,7 +103,7 @@ class PageField {
111
103
  * @param {object} obj Object from which to extract the value
112
104
  * @returns {any} Value extracted from object
113
105
  */
114
- getValue(obj = Object.create(null)) {
106
+ getValue(obj = new NullObject()) {
115
107
  if (this.#meta.complex) {
116
108
  return obj[this.#meta.complexFieldName]?.[this.#meta.complexFieldProperty];
117
109
  }
@@ -127,7 +119,7 @@ class PageField {
127
119
  * @param {any} value Value to be stored
128
120
  * @returns {any} Value extracted from object
129
121
  */
130
- putValue(obj = Object.create(null), value = undefined) {
122
+ putValue(obj = new NullObject(), value = undefined) {
131
123
  if (this.#meta.complex) {
132
124
  obj[this.#meta.complexFieldName] = {
133
125
  ...(obj[this.#meta.complexFieldName] ?? {}),
@@ -247,9 +239,9 @@ class PageField {
247
239
  * @returns {ValidationError[]} Errors, or an empty array if all valid
248
240
  * @throws {TypeError} If validator does not return an array
249
241
  */
250
- runValidators(context = Object.create(null)) {
242
+ runValidators(context = new NullObject()) {
251
243
  // Skip validation if the field is empty and optional
252
- if (this.#meta.optional && (0, utils_js_1.isEmpty)(context?.fieldValue)) {
244
+ if (this.#meta.optional && isEmpty(context?.fieldValue)) {
253
245
  return [];
254
246
  }
255
247
  // Skip validation if conditions are not met
@@ -287,7 +279,7 @@ class PageField {
287
279
  // ESLint disabled as `i` is an integer
288
280
  /* eslint-disable security/detect-object-injection */
289
281
  for (let i = 0, l = this.#validators.length; i < l; i++) {
290
- if (isFunction(this.#validators[i].sanitise)) {
282
+ if (this.#validators[i].sanitise instanceof Function) {
291
283
  processedValue = this.#validators[i].sanitise(processedValue);
292
284
  }
293
285
  }
@@ -358,11 +350,10 @@ class PageField {
358
350
  return this.conditions(args);
359
351
  }
360
352
  }
361
- exports.PageField = PageField;
362
353
  /**
363
354
  * Factory for creating PageField instances.
364
355
  *
365
- * @memberof module:@dwp/govuk-casa
356
+ * @memberof module:"@dwp/govuk-casa"
366
357
  * @param {string} name Field name
367
358
  * @param {object} [opts] Options
368
359
  * @param {boolean} [opts.optional] Whether this field is optional. Default is
@@ -371,7 +362,6 @@ exports.PageField = PageField;
371
362
  * `req.body`. Default is `true`
372
363
  * @returns {PageField} A PageField
373
364
  */
374
- function field(name, opts) {
365
+ export default function field(name, opts) {
375
366
  return new PageField(name, opts);
376
367
  }
377
- //# sourceMappingURL=field.js.map
@@ -12,3 +12,4 @@ import ValidationError from "./ValidationError.js";
12
12
  import ValidatorFactory from "./ValidatorFactory.js";
13
13
  import waypointUrl from "./waypoint-url.js";
14
14
  export { CasaTemplateLoader, configure, configurationIngestor, endSession, field, PageField, JourneyContext, MutableRouter, Plan, utils, ValidationError, ValidatorFactory, waypointUrl };
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.js"],"names":[],"mappings":"+BAK+B,yBAAyB;sBAClC,gBAAgB;kCACJ,6BAA6B;uBACxC,kBAAkB;kBACR,YAAY;0BAAZ,YAAY;2BAClB,qBAAqB;0BACtB,oBAAoB;iBAC7B,WAAW;uBAIL,YAAY;4BAHP,sBAAsB;6BACrB,uBAAuB;wBAC5B,mBAAmB"}
package/dist/lib/index.js CHANGED
@@ -1,69 +1,17 @@
1
- "use strict";
2
1
  /**
3
2
  * Just used to collate type information for intellisense. This should not get
4
3
  * imported anywhere in code, other than JSDoc references.
5
4
  */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || (function () {
23
- var ownKeys = function(o) {
24
- ownKeys = Object.getOwnPropertyNames || function (o) {
25
- var ar = [];
26
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
- return ar;
28
- };
29
- return ownKeys(o);
30
- };
31
- return function (mod) {
32
- if (mod && mod.__esModule) return mod;
33
- var result = {};
34
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
- __setModuleDefault(result, mod);
36
- return result;
37
- };
38
- })();
39
- var __importDefault = (this && this.__importDefault) || function (mod) {
40
- return (mod && mod.__esModule) ? mod : { "default": mod };
41
- };
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.waypointUrl = exports.ValidatorFactory = exports.ValidationError = exports.utils = exports.Plan = exports.MutableRouter = exports.JourneyContext = exports.PageField = exports.field = exports.endSession = exports.configurationIngestor = exports.configure = exports.CasaTemplateLoader = void 0;
44
- const CasaTemplateLoader_js_1 = __importDefault(require("./CasaTemplateLoader.js"));
45
- exports.CasaTemplateLoader = CasaTemplateLoader_js_1.default;
46
- const configure_js_1 = __importDefault(require("./configure.js"));
47
- exports.configure = configure_js_1.default;
48
- const configuration_ingestor_js_1 = __importDefault(require("./configuration-ingestor.js"));
49
- exports.configurationIngestor = configuration_ingestor_js_1.default;
50
- const end_session_js_1 = __importDefault(require("./end-session.js"));
51
- exports.endSession = end_session_js_1.default;
52
- const field_js_1 = __importStar(require("./field.js"));
53
- exports.field = field_js_1.default;
54
- Object.defineProperty(exports, "PageField", { enumerable: true, get: function () { return field_js_1.PageField; } });
55
- const JourneyContext_js_1 = __importDefault(require("./JourneyContext.js"));
56
- exports.JourneyContext = JourneyContext_js_1.default;
57
- const MutableRouter_js_1 = __importDefault(require("./MutableRouter.js"));
58
- exports.MutableRouter = MutableRouter_js_1.default;
59
- const Plan_js_1 = __importDefault(require("./Plan.js"));
60
- exports.Plan = Plan_js_1.default;
61
- const ValidationError_js_1 = __importDefault(require("./ValidationError.js"));
62
- exports.ValidationError = ValidationError_js_1.default;
63
- const ValidatorFactory_js_1 = __importDefault(require("./ValidatorFactory.js"));
64
- exports.ValidatorFactory = ValidatorFactory_js_1.default;
65
- const waypoint_url_js_1 = __importDefault(require("./waypoint-url.js"));
66
- exports.waypointUrl = waypoint_url_js_1.default;
67
- const utils = __importStar(require("./utils.js"));
68
- exports.utils = utils;
69
- //# sourceMappingURL=index.js.map
5
+ import CasaTemplateLoader from "./CasaTemplateLoader.js";
6
+ import configure from "./configure.js";
7
+ import configurationIngestor from "./configuration-ingestor.js";
8
+ import endSession from "./end-session.js";
9
+ import field, { PageField } from "./field.js";
10
+ import JourneyContext from "./JourneyContext.js";
11
+ import MutableRouter from "./MutableRouter.js";
12
+ import Plan from "./Plan.js";
13
+ import ValidationError from "./ValidationError.js";
14
+ import ValidatorFactory from "./ValidatorFactory.js";
15
+ import waypointUrl from "./waypoint-url.js";
16
+ import * as utils from "./utils.js";
17
+ export { CasaTemplateLoader, configure, configurationIngestor, endSession, field, PageField, JourneyContext, MutableRouter, Plan, utils, ValidationError, ValidatorFactory, waypointUrl, };
@@ -1,10 +1,33 @@
1
- declare function _default(namespace: any): {
1
+ declare function _default(namespace: string): CASADebugLogger;
2
+ export default _default;
3
+ /**
4
+ * CASA Debug logger
5
+ */
6
+ export type CASADebugLogger = {
7
+ /**
8
+ * Trace level logger
9
+ */
2
10
  trace: debug.Debugger;
11
+ /**
12
+ * Debug level logger
13
+ */
3
14
  debug: debug.Debugger;
15
+ /**
16
+ * Info level logger
17
+ */
4
18
  info: debug.Debugger;
19
+ /**
20
+ * Warn level logger
21
+ */
5
22
  warn: debug.Debugger;
23
+ /**
24
+ * Error level logger
25
+ */
6
26
  error: debug.Debugger;
27
+ /**
28
+ * Fatal level logger
29
+ */
7
30
  fatal: debug.Debugger;
8
31
  };
9
- export default _default;
10
32
  import debug from "debug";
33
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/lib/logger.js"],"names":[],"mappings":"AAUe,qCAHJ,MAAM,GACJ,eAAe,CAa3B;;;;;;;;;WAIa,KAAK,CAAC,QAAQ;;;;WACd,KAAK,CAAC,QAAQ;;;;UACd,KAAK,CAAC,QAAQ;;;;UACd,KAAK,CAAC,QAAQ;;;;WACd,KAAK,CAAC,QAAQ;;;;WACd,KAAK,CAAC,QAAQ;;kBA9BV,OAAO"}
@@ -1,11 +1,12 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const debug_1 = __importDefault(require("debug"));
7
- const casaDebugger = (0, debug_1.default)("casa");
8
- exports.default = (namespace) => {
1
+ import debug from "debug";
2
+ const casaDebugger = debug("casa");
3
+ /**
4
+ * Get a debug logger for a given namespace
5
+ *
6
+ * @param {string} namespace Debug log namespace
7
+ * @returns {CASADebugLogger} CASA Debug logger
8
+ */
9
+ export default (namespace) => {
9
10
  const logger = casaDebugger.extend(namespace);
10
11
  return {
11
12
  trace: logger.extend("trace"),
@@ -16,4 +17,12 @@ exports.default = (namespace) => {
16
17
  fatal: logger.extend("fatal"),
17
18
  };
18
19
  };
19
- //# sourceMappingURL=logger.js.map
20
+ /**
21
+ * @typedef {object} CASADebugLogger CASA Debug logger
22
+ * @property {debug.Debugger} trace Trace level logger
23
+ * @property {debug.Debugger} debug Debug level logger
24
+ * @property {debug.Debugger} info Info level logger
25
+ * @property {debug.Debugger} warn Warn level logger
26
+ * @property {debug.Debugger} error Error level logger
27
+ * @property {debug.Debugger} fatal Fatal level logger
28
+ */
@@ -18,3 +18,4 @@ export type ExpressRequestHandler = import("express").RequestHandler;
18
18
  export type Mounter = import("../casa").Mounter;
19
19
  export type Plan = import("../casa").Plan;
20
20
  export type MutableRouter = import("../casa").MutableRouter;
21
+ //# sourceMappingURL=mount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/lib/mount.js"],"names":[],"mappings":"AAkDe,kNAfZ;IAAkC,WAAW,EAArC,mBAAmB;IAEL,QAAQ;IACV,IAAI;IACI,YAAY,EAAhC,aAAa;IACO,eAAe,EAAnC,aAAa;IACO,aAAa,EAAjC,aAAa;IACiB,aAAa,EAA3C,qBAAqB,EAAE;IACO,iBAAiB,EAA/C,qBAAqB,EAAE;IACO,cAAc,EAA5C,qBAAqB,EAAE;IACO,oBAAoB,EAAlD,qBAAqB,EAAE;IACO,cAAc,EAA5C,qBAAqB,EAAE;IACO,cAAc,EAA5C,qBAAqB,EAAE;CAC/B,GAAU,OAAO,CAoEjB;;kCA7GU,OAAO,UAAU,EAAE,WAAW;oCAK9B,OAAO,SAAS,EAAE,cAAc;sBAKhC,OAAO,SAAS,EAAE,OAAO;mBAKzB,OAAO,SAAS,EAAE,IAAI;4BAKtB,OAAO,SAAS,EAAE,aAAa"}