@dwp/govuk-casa 9.0.0 → 9.2.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 (199) hide show
  1. package/README.md +9 -9
  2. package/dist/assets/css/casa.css +1 -1
  3. package/dist/assets/css/casa.css.map +1 -1
  4. package/dist/casa.d.ts +122 -95
  5. package/dist/casa.js +119 -86
  6. package/dist/casa.js.map +1 -1
  7. package/dist/lib/CasaTemplateLoader.d.ts +4 -4
  8. package/dist/lib/CasaTemplateLoader.js +16 -16
  9. package/dist/lib/CasaTemplateLoader.js.map +1 -1
  10. package/dist/lib/JourneyContext.d.ts +58 -40
  11. package/dist/lib/JourneyContext.js +132 -75
  12. package/dist/lib/JourneyContext.js.map +1 -1
  13. package/dist/lib/MutableRouter.d.ts +40 -41
  14. package/dist/lib/MutableRouter.js +64 -71
  15. package/dist/lib/MutableRouter.js.map +1 -1
  16. package/dist/lib/Plan.d.ts +29 -26
  17. package/dist/lib/Plan.js +85 -71
  18. package/dist/lib/Plan.js.map +1 -1
  19. package/dist/lib/ValidationError.d.ts +16 -15
  20. package/dist/lib/ValidationError.js +21 -20
  21. package/dist/lib/ValidationError.js.map +1 -1
  22. package/dist/lib/ValidatorFactory.d.ts +15 -13
  23. package/dist/lib/ValidatorFactory.js +14 -12
  24. package/dist/lib/ValidatorFactory.js.map +1 -1
  25. package/dist/lib/configuration-ingestor.d.ts +37 -40
  26. package/dist/lib/configuration-ingestor.js +93 -93
  27. package/dist/lib/configuration-ingestor.js.map +1 -1
  28. package/dist/lib/configure.d.ts +6 -6
  29. package/dist/lib/configure.js +14 -12
  30. package/dist/lib/configure.js.map +1 -1
  31. package/dist/lib/constants.d.ts +1 -3
  32. package/dist/lib/constants.js +9 -11
  33. package/dist/lib/constants.js.map +1 -1
  34. package/dist/lib/context-id-generators.d.ts +3 -5
  35. package/dist/lib/context-id-generators.js +7 -6
  36. package/dist/lib/context-id-generators.js.map +1 -1
  37. package/dist/lib/end-session.d.ts +4 -4
  38. package/dist/lib/end-session.js +5 -5
  39. package/dist/lib/field.d.ts +20 -18
  40. package/dist/lib/field.js +35 -48
  41. package/dist/lib/field.js.map +1 -1
  42. package/dist/lib/index.d.ts +13 -13
  43. package/dist/lib/logger.d.ts +7 -6
  44. package/dist/lib/logger.js +7 -7
  45. package/dist/lib/logger.js.map +1 -1
  46. package/dist/lib/mount.d.ts +5 -5
  47. package/dist/lib/mount.js +11 -10
  48. package/dist/lib/mount.js.map +1 -1
  49. package/dist/lib/nunjucks-filters.d.ts +10 -12
  50. package/dist/lib/nunjucks-filters.js +35 -35
  51. package/dist/lib/nunjucks-filters.js.map +1 -1
  52. package/dist/lib/nunjucks.d.ts +7 -5
  53. package/dist/lib/nunjucks.js +10 -8
  54. package/dist/lib/nunjucks.js.map +1 -1
  55. package/dist/lib/utils.d.ts +19 -19
  56. package/dist/lib/utils.js +62 -55
  57. package/dist/lib/utils.js.map +1 -1
  58. package/dist/lib/validators/dateObject.d.ts +29 -22
  59. package/dist/lib/validators/dateObject.js +58 -49
  60. package/dist/lib/validators/dateObject.js.map +1 -1
  61. package/dist/lib/validators/email.d.ts +4 -4
  62. package/dist/lib/validators/email.js +4 -4
  63. package/dist/lib/validators/inArray.d.ts +4 -4
  64. package/dist/lib/validators/inArray.js +7 -8
  65. package/dist/lib/validators/inArray.js.map +1 -1
  66. package/dist/lib/validators/index.d.ts +10 -10
  67. package/dist/lib/validators/index.js +1 -3
  68. package/dist/lib/validators/index.js.map +1 -1
  69. package/dist/lib/validators/nino.d.ts +9 -8
  70. package/dist/lib/validators/nino.js +14 -10
  71. package/dist/lib/validators/nino.js.map +1 -1
  72. package/dist/lib/validators/postalAddressObject.d.ts +37 -24
  73. package/dist/lib/validators/postalAddressObject.js +65 -46
  74. package/dist/lib/validators/postalAddressObject.js.map +1 -1
  75. package/dist/lib/validators/range.d.ts +12 -8
  76. package/dist/lib/validators/range.js +11 -9
  77. package/dist/lib/validators/range.js.map +1 -1
  78. package/dist/lib/validators/regex.d.ts +4 -4
  79. package/dist/lib/validators/regex.js +5 -5
  80. package/dist/lib/validators/required.d.ts +6 -6
  81. package/dist/lib/validators/required.js +9 -11
  82. package/dist/lib/validators/required.js.map +1 -1
  83. package/dist/lib/validators/strlen.d.ts +12 -8
  84. package/dist/lib/validators/strlen.js +13 -11
  85. package/dist/lib/validators/strlen.js.map +1 -1
  86. package/dist/lib/validators/wordCount.d.ts +12 -8
  87. package/dist/lib/validators/wordCount.js +15 -11
  88. package/dist/lib/validators/wordCount.js.map +1 -1
  89. package/dist/lib/waypoint-url.d.ts +16 -13
  90. package/dist/lib/waypoint-url.js +39 -36
  91. package/dist/lib/waypoint-url.js.map +1 -1
  92. package/dist/middleware/body-parser.d.ts +1 -1
  93. package/dist/middleware/body-parser.js +6 -6
  94. package/dist/middleware/body-parser.js.map +1 -1
  95. package/dist/middleware/data.d.ts +1 -1
  96. package/dist/middleware/data.js +8 -7
  97. package/dist/middleware/data.js.map +1 -1
  98. package/dist/middleware/gather-fields.d.ts +2 -2
  99. package/dist/middleware/gather-fields.js +6 -4
  100. package/dist/middleware/gather-fields.js.map +1 -1
  101. package/dist/middleware/i18n.js +13 -15
  102. package/dist/middleware/i18n.js.map +1 -1
  103. package/dist/middleware/post.js +30 -18
  104. package/dist/middleware/post.js.map +1 -1
  105. package/dist/middleware/pre.d.ts +2 -2
  106. package/dist/middleware/pre.js +46 -27
  107. package/dist/middleware/pre.js.map +1 -1
  108. package/dist/middleware/progress-journey.d.ts +1 -1
  109. package/dist/middleware/progress-journey.js +5 -5
  110. package/dist/middleware/progress-journey.js.map +1 -1
  111. package/dist/middleware/sanitise-fields.d.ts +1 -1
  112. package/dist/middleware/sanitise-fields.js +13 -11
  113. package/dist/middleware/sanitise-fields.js.map +1 -1
  114. package/dist/middleware/serve-first-waypoint.d.ts +3 -3
  115. package/dist/middleware/serve-first-waypoint.js +8 -6
  116. package/dist/middleware/serve-first-waypoint.js.map +1 -1
  117. package/dist/middleware/session.js +14 -11
  118. package/dist/middleware/session.js.map +1 -1
  119. package/dist/middleware/skip-waypoint.d.ts +1 -1
  120. package/dist/middleware/skip-waypoint.js +5 -9
  121. package/dist/middleware/skip-waypoint.js.map +1 -1
  122. package/dist/middleware/steer-journey.d.ts +1 -1
  123. package/dist/middleware/steer-journey.js +16 -14
  124. package/dist/middleware/steer-journey.js.map +1 -1
  125. package/dist/middleware/strip-proxy-path.d.ts +1 -1
  126. package/dist/middleware/strip-proxy-path.js +3 -3
  127. package/dist/middleware/strip-proxy-path.js.map +1 -1
  128. package/dist/middleware/validate-fields.d.ts +1 -1
  129. package/dist/middleware/validate-fields.js +2 -5
  130. package/dist/middleware/validate-fields.js.map +1 -1
  131. package/dist/routes/ancillary.d.ts +3 -3
  132. package/dist/routes/ancillary.js +4 -4
  133. package/dist/routes/ancillary.js.map +1 -1
  134. package/dist/routes/journey.d.ts +2 -2
  135. package/dist/routes/journey.js +91 -39
  136. package/dist/routes/journey.js.map +1 -1
  137. package/dist/routes/static.d.ts +7 -5
  138. package/dist/routes/static.js +20 -19
  139. package/dist/routes/static.js.map +1 -1
  140. package/package.json +20 -19
  141. package/src/casa.js +133 -100
  142. package/src/lib/CasaTemplateLoader.js +24 -19
  143. package/src/lib/JourneyContext.js +190 -107
  144. package/src/lib/MutableRouter.js +72 -74
  145. package/src/lib/Plan.js +145 -97
  146. package/src/lib/ValidationError.js +25 -21
  147. package/src/lib/ValidatorFactory.js +17 -13
  148. package/src/lib/configuration-ingestor.js +147 -110
  149. package/src/lib/configure.js +34 -32
  150. package/src/lib/constants.js +9 -11
  151. package/src/lib/context-id-generators.js +40 -43
  152. package/src/lib/end-session.js +6 -6
  153. package/src/lib/field.js +69 -58
  154. package/src/lib/index.js +12 -12
  155. package/src/lib/logger.js +9 -9
  156. package/src/lib/mount.js +70 -74
  157. package/src/lib/nunjucks-filters.js +56 -59
  158. package/src/lib/nunjucks.js +23 -18
  159. package/src/lib/utils.js +78 -57
  160. package/src/lib/validators/dateObject.js +71 -60
  161. package/src/lib/validators/email.js +8 -8
  162. package/src/lib/validators/inArray.js +10 -11
  163. package/src/lib/validators/index.js +12 -14
  164. package/src/lib/validators/nino.js +29 -15
  165. package/src/lib/validators/postalAddressObject.js +87 -63
  166. package/src/lib/validators/range.js +14 -12
  167. package/src/lib/validators/regex.js +8 -8
  168. package/src/lib/validators/required.js +16 -16
  169. package/src/lib/validators/strlen.js +16 -14
  170. package/src/lib/validators/wordCount.js +22 -14
  171. package/src/lib/waypoint-url.js +64 -46
  172. package/src/middleware/body-parser.js +10 -10
  173. package/src/middleware/csrf.js +1 -1
  174. package/src/middleware/data.js +28 -24
  175. package/src/middleware/gather-fields.js +10 -9
  176. package/src/middleware/i18n.js +35 -37
  177. package/src/middleware/post.js +41 -21
  178. package/src/middleware/pre.js +62 -41
  179. package/src/middleware/progress-journey.js +32 -18
  180. package/src/middleware/sanitise-fields.js +43 -20
  181. package/src/middleware/serve-first-waypoint.js +14 -12
  182. package/src/middleware/session.js +74 -61
  183. package/src/middleware/skip-waypoint.js +8 -15
  184. package/src/middleware/steer-journey.js +40 -28
  185. package/src/middleware/strip-proxy-path.js +8 -7
  186. package/src/middleware/validate-fields.js +5 -12
  187. package/src/routes/ancillary.js +5 -7
  188. package/src/routes/journey.js +159 -85
  189. package/src/routes/static.js +62 -29
  190. package/views/casa/components/character-count/README.md +2 -2
  191. package/views/casa/components/checkboxes/README.md +6 -6
  192. package/views/casa/components/date-input/README.md +7 -7
  193. package/views/casa/components/input/README.md +2 -2
  194. package/views/casa/components/journey-form/README.md +33 -14
  195. package/views/casa/components/postal-address-object/README.md +4 -4
  196. package/views/casa/components/radios/README.md +6 -6
  197. package/views/casa/components/select/README.md +6 -6
  198. package/views/casa/components/textarea/README.md +2 -2
  199. package/views/casa/layouts/main.njk +2 -1
@@ -1,6 +1,4 @@
1
- /**
2
- * General-purpose references to the different request lifecycle phases.
3
- */
1
+ /** General-purpose references to the different request lifecycle phases. */
4
2
  export const REQUEST_PHASE_STEER: unique symbol;
5
3
  export const REQUEST_PHASE_SANITISE: unique symbol;
6
4
  export const REQUEST_PHASE_GATHER: unique symbol;
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
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
- /**
5
- * General-purpose references to the different request lifecycle phases.
6
- */
7
- exports.REQUEST_PHASE_STEER = Symbol('steer');
8
- exports.REQUEST_PHASE_SANITISE = Symbol('sanitise');
9
- exports.REQUEST_PHASE_GATHER = Symbol('gather');
10
- exports.REQUEST_PHASE_VALIDATE = Symbol('validate');
11
- exports.REQUEST_PHASE_REDIRECT = Symbol('redirect');
12
- exports.REQUEST_PHASE_RENDER = Symbol('render');
13
- exports.CONFIG_ERROR_VISIBILITY_ONSUBMIT = Symbol('onsubmit');
14
- exports.CONFIG_ERROR_VISIBILITY_ALWAYS = Symbol('always');
4
+ /** 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");
15
13
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.js"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AACtC,QAAA,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5C,QAAA,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxC,QAAA,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5C,QAAA,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5C,QAAA,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxC,QAAA,gCAAgC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACtD,QAAA,8BAA8B,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.js"],"names":[],"mappings":";;;AAAA,4EAA4E;AAC/D,QAAA,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AACtC,QAAA,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5C,QAAA,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxC,QAAA,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5C,QAAA,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5C,QAAA,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxC,QAAA,gCAAgC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACtD,QAAA,8BAA8B,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC"}
@@ -1,7 +1,5 @@
1
- export type ContextIdGenerator = import('../casa.js').ContextIdGenerator;
2
- /**
3
- * @typedef {import('../casa.js').ContextIdGenerator} ContextIdGenerator
4
- */
1
+ export type ContextIdGenerator = import("../casa.js").ContextIdGenerator;
2
+ /** @typedef {import("../casa.js").ContextIdGenerator} ContextIdGenerator */
5
3
  /**
6
4
  * Creates an instance of a UUID generator.
7
5
  *
@@ -18,7 +16,7 @@ export function uuid(): ContextIdGenerator;
18
16
  * @returns {ContextIdGenerator} Generator function
19
17
  */
20
18
  export function sequentialInteger(): ContextIdGenerator;
21
- export function shortGuid({ length, prefix, pool, }?: {
19
+ export function shortGuid({ length, prefix, pool }?: {
22
20
  length?: number | undefined;
23
21
  prefix?: string | undefined;
24
22
  pool?: string | undefined;
@@ -3,9 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.shortGuid = exports.sequentialInteger = exports.uuid = void 0;
4
4
  /* eslint-disable import/no-cycle */
5
5
  const node_crypto_1 = require("node:crypto");
6
- /**
7
- * @typedef {import('../casa.js').ContextIdGenerator} ContextIdGenerator
8
- */
6
+ /** @typedef {import("../casa.js").ContextIdGenerator} ContextIdGenerator */
9
7
  /**
10
8
  * Creates an instance of a UUID generator.
11
9
  *
@@ -25,7 +23,7 @@ exports.uuid = uuid;
25
23
  const sequentialInteger = () => ({ reservedIds }) => {
26
24
  const contextIds = Array.from(reservedIds).sort();
27
25
  if (!contextIds.length) {
28
- return '1';
26
+ return "1";
29
27
  }
30
28
  // Find the first numeric ID that we can increment
31
29
  let lastInSequence;
@@ -35,14 +33,17 @@ const sequentialInteger = () => ({ reservedIds }) => {
35
33
  return String(!Number.isNaN(lastInSequence) ? lastInSequence + 1 : 1);
36
34
  };
37
35
  exports.sequentialInteger = sequentialInteger;
38
- const shortGuid = ({ length = 5, prefix = '', pool = 'abcdefhkmnprtwxy346789', } = {}) => ({ reservedIds }) => {
36
+ const shortGuid = ({ length = 5, prefix = "", pool = "abcdefhkmnprtwxy346789" } = {}) => ({ reservedIds }) => {
39
37
  // Ambiguous characters excluded
40
38
  const poolSize = pool.length;
41
39
  const maxAttempts = 10;
42
40
  let attempts = maxAttempts;
43
41
  let id;
44
42
  do {
45
- id = Array(length).fill(0).map(() => pool.charAt(Math.floor(Math.random() * poolSize))).join('');
43
+ id = Array(length)
44
+ .fill(0)
45
+ .map(() => pool.charAt(Math.floor(Math.random() * poolSize)))
46
+ .join("");
46
47
  attempts--;
47
48
  } while (attempts > 0 && reservedIds.includes(id));
48
49
  if (attempts === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"context-id-generators.js","sourceRoot":"","sources":["../../src/lib/context-id-generators.js"],"names":[],"mappings":";;;AAAA,oCAAoC;AACpC,6CAAyC;AAEzC;;GAEG;AAEH;;;;GAIG;AACH,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAA,wBAAU,GAAE,CAAC;AAuDpC,oBAAI;AArDN;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;IAClD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IAElD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,kDAAkD;IAClD,IAAI,cAAc,CAAC;IACnB,GAAG,CAAC;QACF,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC,QAAQ,UAAU,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;IAE5D,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC;AA+BA,8CAAiB;AA7BnB,MAAM,SAAS,GAAG,CAAC,EACjB,MAAM,GAAG,CAAC,EACV,MAAM,GAAG,EAAE,EACX,IAAI,GAAG,wBAAwB,GAChC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;IAC7B,gCAAgC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;IAE7B,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,IAAI,QAAQ,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,CAAC;IAEP,GAAG,CAAC;QACF,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjG,QAAQ,EAAE,CAAC;IACb,CAAC,QAAQ,QAAQ,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;IAEnD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,iCAAiC,WAAW,aAAa,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC;AAC1B,CAAC,CAAA;AAQC,8BAAS"}
1
+ {"version":3,"file":"context-id-generators.js","sourceRoot":"","sources":["../../src/lib/context-id-generators.js"],"names":[],"mappings":";;;AAAA,oCAAoC;AACpC,6CAAyC;AAEzC,4EAA4E;AAE5E;;;;GAIG;AACH,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAA,wBAAU,GAAE,CAAC;AAyD7B,oBAAI;AAvDb;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GACrB,GAAG,EAAE,CACL,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;IAClB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IAElD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,kDAAkD;IAClD,IAAI,cAAc,CAAC;IACnB,GAAG,CAAC;QACF,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC,QAAQ,UAAU,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;IAE5D,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC;AA8BW,8CAAiB;AA5BhC,MAAM,SAAS,GACb,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,GAAG,wBAAwB,EAAE,GAAG,EAAE,EAAE,EAAE,CACtE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;IAClB,gCAAgC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;IAE7B,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,IAAI,QAAQ,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,CAAC;IAEP,GAAG,CAAC;QACF,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;aACf,IAAI,CAAC,CAAC,CAAC;aACP,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;aAC5D,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,QAAQ,EAAE,CAAC;IACb,CAAC,QAAQ,QAAQ,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;IAEnD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,iCAAiC,WAAW,aAAa,CAC1D,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC;AAC1B,CAAC,CAAC;AAG8B,8BAAS"}
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * A convenience for ending the current session, but retaining some data in it,
3
- * like the current language. It persists an empty session before regenerating
4
- * a new ID.
3
+ * like the current language. It persists an empty session before regenerating a
4
+ * new ID.
5
5
  *
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
9
  * @memberof module:@dwp/govuk-casa
10
- * @param {import('express').Request} req HTTP request
10
+ * @param {import("express").Request} req HTTP request
11
11
  * @param {Function} next Chain
12
12
  * @returns {void}
13
13
  */
14
- export default function endSession(req: import('express').Request, next: Function): void;
14
+ export default function endSession(req: import("express").Request, next: Function): void;
@@ -4,24 +4,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const logger_js_1 = __importDefault(require("./logger.js"));
7
- const log = (0, logger_js_1.default)('lib:end-session');
7
+ const log = (0, logger_js_1.default)("lib:end-session");
8
8
  /**
9
9
  * A convenience for ending the current session, but retaining some data in it,
10
- * like the current language. It persists an empty session before regenerating
11
- * a new ID.
10
+ * like the current language. It persists an empty session before regenerating a
11
+ * new ID.
12
12
  *
13
13
  * Note: this will not remove the session from server-side storage, which will
14
14
  * instead be left up to the storage mechanism to clean up.
15
15
  *
16
16
  * @memberof module:@dwp/govuk-casa
17
- * @param {import('express').Request} req HTTP request
17
+ * @param {import("express").Request} req HTTP request
18
18
  * @param {Function} next Chain
19
19
  * @returns {void}
20
20
  */
21
21
  function endSession(req, next) {
22
22
  const { language } = req.session;
23
23
  Object.entries(req.session).forEach(([k]) => {
24
- if (!['cookie'].includes(k)) {
24
+ if (!["cookie"].includes(k)) {
25
25
  // ESLint disabled as `Object.entries()` returns "own" properties, and
26
26
  // all values are being null'd, so not assigned any user-controlled values
27
27
  /* eslint-disable-next-line security/detect-object-injection */
@@ -4,8 +4,10 @@
4
4
  * @memberof module:@dwp/govuk-casa
5
5
  * @param {string} name Field name
6
6
  * @param {object} [opts] Options
7
- * @param {boolean} [opts.optional=false] Whether this field is optional
8
- * @param {boolean} [opts.persist=true] Whether this field will persist in `req.body`
7
+ * @param {boolean} [opts.optional=false] Whether this field is optional.
8
+ * Default is `false`
9
+ * @param {boolean} [opts.persist=true] Whether this field will persist in
10
+ * `req.body`. Default is `true`
9
11
  * @returns {PageField} A PageField
10
12
  */
11
13
  export default function field(name: string, opts?: {
@@ -24,8 +26,10 @@ export class PageField {
24
26
  *
25
27
  * @param {string} name Field name
26
28
  * @param {object} [opts] Options
27
- * @param {boolean} [opts.optional=false] Whether this field is optional
28
- * @param {boolean} [opts.persist=true] Whether this field will persist in `req.body`
29
+ * @param {boolean} [opts.optional=false] Whether this field is optional.
30
+ * Default is `false`
31
+ * @param {boolean} [opts.persist=true] Whether this field will persist in
32
+ * `req.body`. Default is `true`
29
33
  */
30
34
  constructor(name: string, { optional, persist }?: {
31
35
  optional?: boolean | undefined;
@@ -75,9 +79,8 @@ export class PageField {
75
79
  */
76
80
  getValidators(): Validator[];
77
81
  /**
78
- * Add value validators
79
- * Some validators will include a `sanitise()` method which will be run at the
80
- * same time as other "processors".
82
+ * Add value validators Some validators will include a `sanitise()` method
83
+ * which will be run at the same time as other "processors".
81
84
  *
82
85
  * @param {Validator[]} items Validation functions
83
86
  * @returns {PageField} Chain
@@ -90,8 +93,8 @@ export class PageField {
90
93
  */
91
94
  getProcessors(): FieldProcessorFunction[];
92
95
  /**
93
- * Add value pre-processors
94
- * This is most often used to sanitise values to a particular data type.
96
+ * Add value pre-processors This is most often used to sanitise values to a
97
+ * particular data type.
95
98
  *
96
99
  * @param {FieldProcessorFunction[]} items Processor functions
97
100
  * @returns {PageField} Chain
@@ -104,9 +107,8 @@ export class PageField {
104
107
  */
105
108
  getConditions(): ValidatorConditionFunction[];
106
109
  /**
107
- * Add conditions
108
- * All conditions must be met in order for this field to be considered
109
- * "actionable".
110
+ * Add conditions All conditions must be met in order for this field to be
111
+ * considered "actionable".
110
112
  *
111
113
  * @param {ValidatorConditionFunction[]} items Condition functions
112
114
  * @returns {PageField} Chain
@@ -164,9 +166,9 @@ export class PageField {
164
166
  if(...args: ValidatorConditionFunction[]): PageField;
165
167
  #private;
166
168
  }
167
- export type JourneyContext = import('./index').JourneyContext;
168
- export type Validator = import('../casa').Validator;
169
- export type ValidateContext = import('../casa').ValidateContext;
170
- export type ValidatorConditionFunction = import('../casa').ValidatorConditionFunction;
171
- export type FieldProcessorFunction = import('../casa').FieldProcessorFunction;
172
- export type ValidationError = import('./index').ValidationError;
169
+ export type JourneyContext = import("./index").JourneyContext;
170
+ export type Validator = import("../casa").Validator;
171
+ export type ValidateContext = import("../casa").ValidateContext;
172
+ export type ValidatorConditionFunction = import("../casa").ValidatorConditionFunction;
173
+ export type FieldProcessorFunction = import("../casa").FieldProcessorFunction;
174
+ export type ValidationError = import("./index").ValidationError;
package/dist/lib/field.js CHANGED
@@ -18,32 +18,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.PageField = void 0;
19
19
  const lodash_1 = __importDefault(require("lodash"));
20
20
  const utils_js_1 = require("./utils.js");
21
- const logger_js_1 = __importDefault(require("./logger.js"));
22
- const log = (0, logger_js_1.default)('lib:field');
23
21
  const { isFunction } = lodash_1.default;
24
22
  /**
23
+ * @typedef {import("./index").JourneyContext} JourneyContext
25
24
  * @access private
26
- * @typedef {import('./index').JourneyContext} JourneyContext
27
25
  */
28
26
  /**
27
+ * @typedef {import("../casa").Validator} Validator
29
28
  * @access private
30
- * @typedef {import('../casa').Validator} Validator
31
29
  */
32
30
  /**
31
+ * @typedef {import("../casa").ValidateContext} ValidateContext
33
32
  * @access private
34
- * @typedef {import('../casa').ValidateContext} ValidateContext
35
33
  */
36
34
  /**
35
+ * @typedef {import("../casa").ValidatorConditionFunction} ValidatorConditionFunction
37
36
  * @access private
38
- * @typedef {import('../casa').ValidatorConditionFunction} ValidatorConditionFunction
39
37
  */
40
38
  /**
39
+ * @typedef {import("../casa").FieldProcessorFunction} FieldProcessorFunction
41
40
  * @access private
42
- * @typedef {import('../casa').FieldProcessorFunction} FieldProcessorFunction
43
41
  */
44
42
  /**
43
+ * @typedef {import("./index").ValidationError} ValidationError
45
44
  * @access private
46
- * @typedef {import('./index').ValidationError} ValidationError
47
45
  */
48
46
  // Quick check to see if the field name corresponds to a non-primitive complex
49
47
  // type. For example, `my_field[nested]`.
@@ -61,32 +59,24 @@ class PageField {
61
59
  *
62
60
  * @param {string} name Field name
63
61
  * @param {object} [opts] Options
64
- * @param {boolean} [opts.optional=false] Whether this field is optional
65
- * @param {boolean} [opts.persist=true] Whether this field will persist in `req.body`
62
+ * @param {boolean} [opts.optional=false] Whether this field is optional.
63
+ * Default is `false`
64
+ * @param {boolean} [opts.persist=true] Whether this field will persist in
65
+ * `req.body`. Default is `true`
66
66
  */
67
67
  constructor(name, { optional = false, persist = true } = Object.create(null)) {
68
- /**
69
- * @type {string}
70
- */
68
+ /** @type {string} */
71
69
  _PageField_name.set(this, void 0);
72
- /**
73
- * @type {FieldProcessorFunction[]}
74
- */
70
+ /** @type {FieldProcessorFunction[]} */
75
71
  _PageField_processors.set(this, void 0);
76
- /**
77
- * @type {Validator[]}
78
- */
72
+ /** @type {Validator[]} */
79
73
  _PageField_validators.set(this, void 0);
80
- /**
81
- * @type {ValidatorConditionFunction[]}
82
- */
74
+ /** @type {ValidatorConditionFunction[]} */
83
75
  _PageField_conditions.set(this, void 0);
84
- /**
85
- * @type {object}
86
- */
76
+ /** @type {object} */
87
77
  _PageField_meta.set(this, void 0);
88
78
  if (!name) {
89
- throw new SyntaxError('A name for this field is required, i.e. "field(\'myField\')".');
79
+ throw new SyntaxError("A name for this field is required, i.e. \"field('myField')\".");
90
80
  }
91
81
  __classPrivateFieldSet(this, _PageField_name, undefined, "f");
92
82
  __classPrivateFieldSet(this, _PageField_validators, [], "f");
@@ -185,7 +175,7 @@ class PageField {
185
175
  // early to aid developer.
186
176
  const isComplex = reComplexType.test(name);
187
177
  if (isComplex && name.match(/\[/g).length > 1) {
188
- throw new SyntaxError('Complex field names are only supported to 1 property depth. E.g. a[b] is ok, a[b][c] is not');
178
+ throw new SyntaxError("Complex field names are only supported to 1 property depth. E.g. a[b] is ok, a[b][c] is not");
189
179
  }
190
180
  __classPrivateFieldSet(this, _PageField_name, String(name), "f");
191
181
  __classPrivateFieldGet(this, _PageField_meta, "f").complex = isComplex;
@@ -205,18 +195,17 @@ class PageField {
205
195
  return __classPrivateFieldGet(this, _PageField_validators, "f");
206
196
  }
207
197
  /**
208
- * Add value validators
209
- * Some validators will include a `sanitise()` method which will be run at the
210
- * same time as other "processors".
198
+ * Add value validators Some validators will include a `sanitise()` method
199
+ * which will be run at the same time as other "processors".
211
200
  *
212
201
  * @param {Validator[]} items Validation functions
213
202
  * @returns {PageField} Chain
214
203
  */
215
204
  validators(items = []) {
216
205
  if (!items.length) {
217
- throw new Error('Calling validators() to get all validators is no longer supported, please use getValidators()');
206
+ throw new Error("Calling validators() to get all validators is no longer supported, please use getValidators()");
218
207
  }
219
- __classPrivateFieldSet(this, _PageField_validators, [...__classPrivateFieldGet(this, _PageField_validators, "f"), ...(items.flat())], "f");
208
+ __classPrivateFieldSet(this, _PageField_validators, [...__classPrivateFieldGet(this, _PageField_validators, "f"), ...items.flat()], "f");
220
209
  return this;
221
210
  }
222
211
  /**
@@ -228,17 +217,17 @@ class PageField {
228
217
  return __classPrivateFieldGet(this, _PageField_processors, "f");
229
218
  }
230
219
  /**
231
- * Add value pre-processors
232
- * This is most often used to sanitise values to a particular data type.
220
+ * Add value pre-processors This is most often used to sanitise values to a
221
+ * particular data type.
233
222
  *
234
223
  * @param {FieldProcessorFunction[]} items Processor functions
235
224
  * @returns {PageField} Chain
236
225
  */
237
226
  processors(items = []) {
238
227
  if (!items.length) {
239
- throw new Error('Calling processors() to get all processors is no longer supported, please use getProcessors()');
228
+ throw new Error("Calling processors() to get all processors is no longer supported, please use getProcessors()");
240
229
  }
241
- __classPrivateFieldSet(this, _PageField_processors, [...__classPrivateFieldGet(this, _PageField_processors, "f"), ...(items.flat())], "f");
230
+ __classPrivateFieldSet(this, _PageField_processors, [...__classPrivateFieldGet(this, _PageField_processors, "f"), ...items.flat()], "f");
242
231
  return this;
243
232
  }
244
233
  /**
@@ -250,18 +239,17 @@ class PageField {
250
239
  return __classPrivateFieldGet(this, _PageField_conditions, "f");
251
240
  }
252
241
  /**
253
- * Add conditions
254
- * All conditions must be met in order for this field to be considered
255
- * "actionable".
242
+ * Add conditions All conditions must be met in order for this field to be
243
+ * considered "actionable".
256
244
  *
257
245
  * @param {ValidatorConditionFunction[]} items Condition functions
258
246
  * @returns {PageField} Chain
259
247
  */
260
248
  conditions(items = []) {
261
249
  if (!items.length) {
262
- throw new Error('Calling conditions() to get all conditions is no longer supported, please use getConditions()');
250
+ throw new Error("Calling conditions() to get all conditions is no longer supported, please use getConditions()");
263
251
  }
264
- __classPrivateFieldSet(this, _PageField_conditions, [...__classPrivateFieldGet(this, _PageField_conditions, "f"), ...(items.flat())], "f");
252
+ __classPrivateFieldSet(this, _PageField_conditions, [...__classPrivateFieldGet(this, _PageField_conditions, "f"), ...items.flat()], "f");
265
253
  return this;
266
254
  }
267
255
  /* ---------------------------------------------------------------- execute */
@@ -289,14 +277,11 @@ class PageField {
289
277
  let fieldErrors = __classPrivateFieldGet(this, _PageField_validators, "f")[i].validate(context.fieldValue, context);
290
278
  if (!Array.isArray(fieldErrors)) {
291
279
  // Friendly message for developer
292
- throw new TypeError(`The validator at index ${i} (name: ${__classPrivateFieldGet(this, _PageField_validators, "f")[i].name || 'unknown'}) for field '${__classPrivateFieldGet(this, _PageField_name, "f")}' did not return an array`);
280
+ throw new TypeError(`The validator at index ${i} (name: ${__classPrivateFieldGet(this, _PageField_validators, "f")[i].name || "unknown"}) for field '${__classPrivateFieldGet(this, _PageField_name, "f")}' did not return an array`);
293
281
  }
294
282
  fieldErrors = fieldErrors.map((e) => e.withContext(Object.assign(Object.assign({}, context), { validator: __classPrivateFieldGet(this, _PageField_validators, "f")[i].name })));
295
283
  /* eslint-enable security/detect-object-injection */
296
- errors = [
297
- ...errors,
298
- ...(fieldErrors !== null && fieldErrors !== void 0 ? fieldErrors : []),
299
- ];
284
+ errors = [...errors, ...(fieldErrors !== null && fieldErrors !== void 0 ? fieldErrors : [])];
300
285
  }
301
286
  return errors;
302
287
  }
@@ -392,8 +377,10 @@ _PageField_name = new WeakMap(), _PageField_processors = new WeakMap(), _PageFie
392
377
  * @memberof module:@dwp/govuk-casa
393
378
  * @param {string} name Field name
394
379
  * @param {object} [opts] Options
395
- * @param {boolean} [opts.optional=false] Whether this field is optional
396
- * @param {boolean} [opts.persist=true] Whether this field will persist in `req.body`
380
+ * @param {boolean} [opts.optional=false] Whether this field is optional.
381
+ * Default is `false`
382
+ * @param {boolean} [opts.persist=true] Whether this field will persist in
383
+ * `req.body`. Default is `true`
397
384
  * @returns {PageField} A PageField
398
385
  */
399
386
  function field(name, opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/lib/field.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/lib/field.js"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import CasaTemplateLoader from './CasaTemplateLoader.js';
2
- import configure from './configure.js';
3
- import configurationIngestor from './configuration-ingestor.js';
4
- import endSession from './end-session.js';
5
- import field from './field.js';
6
- import { PageField } from './field.js';
7
- import JourneyContext from './JourneyContext.js';
8
- import MutableRouter from './MutableRouter.js';
9
- import Plan from './Plan.js';
10
- import * as utils from './utils.js';
11
- import ValidationError from './ValidationError.js';
12
- import ValidatorFactory from './ValidatorFactory.js';
13
- import waypointUrl from './waypoint-url.js';
1
+ import CasaTemplateLoader from "./CasaTemplateLoader.js";
2
+ import configure from "./configure.js";
3
+ import configurationIngestor from "./configuration-ingestor.js";
4
+ import endSession from "./end-session.js";
5
+ import field from "./field.js";
6
+ import { PageField } from "./field.js";
7
+ import JourneyContext from "./JourneyContext.js";
8
+ import MutableRouter from "./MutableRouter.js";
9
+ import Plan from "./Plan.js";
10
+ import * as utils from "./utils.js";
11
+ import ValidationError from "./ValidationError.js";
12
+ import ValidatorFactory from "./ValidatorFactory.js";
13
+ import waypointUrl from "./waypoint-url.js";
14
14
  export { CasaTemplateLoader, configure, configurationIngestor, endSession, field, PageField, JourneyContext, MutableRouter, Plan, utils, ValidationError, ValidatorFactory, waypointUrl };
@@ -1,9 +1,10 @@
1
1
  declare function _default(namespace: any): {
2
- trace: any;
3
- debug: any;
4
- info: any;
5
- warn: any;
6
- error: any;
7
- fatal: any;
2
+ trace: debug.Debugger;
3
+ debug: debug.Debugger;
4
+ info: debug.Debugger;
5
+ warn: debug.Debugger;
6
+ error: debug.Debugger;
7
+ fatal: debug.Debugger;
8
8
  };
9
9
  export default _default;
10
+ import debug from "debug";
@@ -4,16 +4,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const debug_1 = __importDefault(require("debug"));
7
- const casaDebugger = (0, debug_1.default)('casa');
7
+ const casaDebugger = (0, debug_1.default)("casa");
8
8
  exports.default = (namespace) => {
9
9
  const logger = casaDebugger.extend(namespace);
10
10
  return {
11
- trace: logger.extend('trace'),
12
- debug: logger.extend('debug'),
13
- info: logger.extend('info'),
14
- warn: logger.extend('warn'),
15
- error: logger.extend('error'),
16
- fatal: logger.extend('fatal'),
11
+ trace: logger.extend("trace"),
12
+ debug: logger.extend("debug"),
13
+ info: logger.extend("info"),
14
+ warn: logger.extend("warn"),
15
+ error: logger.extend("error"),
16
+ fatal: logger.extend("fatal"),
17
17
  };
18
18
  };
19
19
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.js"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,MAAM,YAAY,GAAG,IAAA,eAAK,EAAC,MAAM,CAAC,CAAC;AAEnC,kBAAe,CAAC,SAAS,EAAE,EAAE;IAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE9C,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;KAC9B,CAAC;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.js"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,MAAM,YAAY,GAAG,IAAA,eAAK,EAAC,MAAM,CAAC,CAAC;AAEnC,kBAAe,CAAC,SAAS,EAAE,EAAE;IAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE9C,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;KAC9B,CAAC;AACJ,CAAC,CAAC"}
@@ -13,8 +13,8 @@ declare function _default({ nunjucksEnv, mountUrl, plan, staticRouter, ancillary
13
13
  postMiddleware: ExpressRequestHandler[];
14
14
  }): Mounter;
15
15
  export default _default;
16
- export type NunjucksEnvironment = import('nunjucks').Environment;
17
- export type ExpressRequestHandler = import('express').RequestHandler;
18
- export type Mounter = import('../casa').Mounter;
19
- export type Plan = import('../casa').Plan;
20
- export type MutableRouter = import('../casa').MutableRouter;
16
+ export type NunjucksEnvironment = import("nunjucks").Environment;
17
+ export type ExpressRequestHandler = import("express").RequestHandler;
18
+ export type Mounter = import("../casa").Mounter;
19
+ export type Plan = import("../casa").Plan;
20
+ export type MutableRouter = import("../casa").MutableRouter;
package/dist/lib/mount.js CHANGED
@@ -8,30 +8,31 @@ const path_to_regexp_1 = require("path-to-regexp");
8
8
  const strip_proxy_path_js_1 = __importDefault(require("../middleware/strip-proxy-path.js"));
9
9
  const serve_first_waypoint_js_1 = __importDefault(require("../middleware/serve-first-waypoint.js"));
10
10
  /**
11
+ * @typedef {import("nunjucks").Environment} NunjucksEnvironment
11
12
  * @access private
12
- * @typedef {import('nunjucks').Environment} NunjucksEnvironment
13
13
  */
14
14
  /**
15
+ * @typedef {import("express").RequestHandler} ExpressRequestHandler
15
16
  * @access private
16
- * @typedef {import('express').RequestHandler} ExpressRequestHandler
17
17
  */
18
18
  /**
19
+ * @typedef {import("../casa").Mounter} Mounter
19
20
  * @access private
20
- * @typedef {import('../casa').Mounter} Mounter
21
21
  */
22
22
  /**
23
+ * @typedef {import("../casa").Plan} Plan
23
24
  * @access private
24
- * @typedef {import('../casa').Plan} Plan
25
25
  */
26
26
  /**
27
+ * @typedef {import("../casa").MutableRouter} MutableRouter
27
28
  * @access private
28
- * @typedef {import('../casa').MutableRouter} MutableRouter
29
29
  */
30
30
  /**
31
31
  * Mounting function factory.
32
32
  *
33
33
  * @param {object} args Arguments
34
- * @param {NunjucksEnvironment} args.nunjucksEnv Pre-configured Nunjucks environment
34
+ * @param {NunjucksEnvironment} args.nunjucksEnv Pre-configured Nunjucks
35
+ * environment
35
36
  * @param {string} [args.mountUrl] Mount URL
36
37
  * @param {Plan} [args.plan] CASA Plan
37
38
  * @param {MutableRouter} args.staticRouter Router for all static assets
@@ -43,11 +44,11 @@ const serve_first_waypoint_js_1 = __importDefault(require("../middleware/serve-f
43
44
  * @param {ExpressRequestHandler[]} args.bodyParserMiddleware Middleware
44
45
  * @param {ExpressRequestHandler[]} args.dataMiddleware Middleware
45
46
  * @param {ExpressRequestHandler[]} args.postMiddleware Middleware
46
- * @returns {Mounter} mount
47
+ * @returns {Mounter} Mount
47
48
  */
48
- exports.default = ({ nunjucksEnv, mountUrl, plan, staticRouter, ancillaryRouter, journeyRouter, preMiddleware, sessionMiddleware, i18nMiddleware, bodyParserMiddleware, dataMiddleware, postMiddleware, }) => (app, { route = '/', serveFirstWaypoint = false, } = {}) => {
49
+ exports.default = ({ nunjucksEnv, mountUrl, plan, staticRouter, ancillaryRouter, journeyRouter, preMiddleware, sessionMiddleware, i18nMiddleware, bodyParserMiddleware, dataMiddleware, postMiddleware, }) => (app, { route = "/", serveFirstWaypoint = false } = {}) => {
49
50
  nunjucksEnv.express(app);
50
- app.set('view engine', 'njk');
51
+ app.set("view engine", "njk");
51
52
  // If a `mountUrl` has been defined, then we're potentially in "proxy mode",
52
53
  // in which we strip the proxy path prefix from the incoming request URLs.
53
54
  if (mountUrl) {
@@ -56,7 +57,7 @@ exports.default = ({ nunjucksEnv, mountUrl, plan, staticRouter, ancillaryRouter,
56
57
  // Attach a handler to redirect requests for `/` to the first waypoint in
57
58
  // the plan
58
59
  if (serveFirstWaypoint && plan) {
59
- const re = (0, path_to_regexp_1.pathToRegexp)(`${route}`.replace(/\/+/g, '/'));
60
+ const re = (0, path_to_regexp_1.pathToRegexp)(`${route}`.replace(/\/+/g, "/"));
60
61
  app.use(re, (0, serve_first_waypoint_js_1.default)({ plan }));
61
62
  }
62
63
  // Capture the mount path of this CASA app, before any parameterised path