@dwp/govuk-casa 8.15.0 → 9.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 (201) hide show
  1. package/README.md +9 -9
  2. package/dist/assets/css/casa.css +2 -1
  3. package/dist/assets/css/casa.css.map +1 -0
  4. package/dist/casa.d.ts +122 -99
  5. package/dist/casa.js +120 -88
  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 +38 -40
  11. package/dist/lib/JourneyContext.js +89 -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 +24 -29
  40. package/dist/lib/field.js +41 -70
  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 +12 -17
  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 -26
  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 +3 -3
  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 -20
  139. package/dist/routes/static.js.map +1 -1
  140. package/package.json +17 -16
  141. package/src/casa.js +134 -102
  142. package/src/lib/CasaTemplateLoader.js +24 -19
  143. package/src/lib/JourneyContext.js +147 -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 +74 -78
  154. package/src/lib/index.js +12 -12
  155. package/src/lib/logger.js +9 -9
  156. package/src/lib/mount.js +70 -80
  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 -40
  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 +7 -9
  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 -30
  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/partials/scripts.njk +5 -3
  200. package/views/casa/partials/styles.njk +1 -4
  201. package/dist/assets/css/casa-ie8.css +0 -1
@@ -40,51 +40,51 @@ const ValidationError_js_1 = __importDefault(require("./ValidationError.js"));
40
40
  const logger_js_1 = __importDefault(require("./logger.js"));
41
41
  const utils_js_1 = require("./utils.js");
42
42
  const context_id_generators_js_1 = require("./context-id-generators.js");
43
- const { isPlainObject, isObject, has, isEqual, } = lodash_1.default; // CommonJS
44
- const log = (0, logger_js_1.default)('lib:journey-context');
43
+ const { isPlainObject, isObject, has, isEqual } = lodash_1.default; // CommonJS
44
+ const log = (0, logger_js_1.default)("lib:journey-context");
45
45
  const uuid = (0, context_id_generators_js_1.uuid)();
46
46
  /**
47
+ * @typedef {import("../casa").ContextEventUserInfo} ContextEventUserInfo
47
48
  * @access private
48
- * @typedef {import('../casa').ContextEventUserInfo} ContextEventUserInfo
49
49
  */
50
50
  /**
51
+ * @typedef {import("../casa").Page} Page
51
52
  * @access private
52
- * @typedef {import('../casa').Page} Page
53
53
  */
54
54
  /**
55
+ * @typedef {import("../casa").ContextEventHandler} ContextEventHandler
55
56
  * @access private
56
- * @typedef {import('../casa').ContextEventHandler} ContextEventHandler
57
57
  */
58
58
  /**
59
+ * @typedef {import("../casa").ContextEvent} ContextEvent
59
60
  * @access private
60
- * @typedef {import('../casa').ContextEvent} ContextEvent
61
61
  */
62
62
  /**
63
+ * @typedef {import("../casa").JourneyContextObject} JourneyContextObject
63
64
  * @access private
64
- * @typedef {import('../casa').JourneyContextObject} JourneyContextObject
65
65
  */
66
66
  /**
67
+ * @typedef {import("express").Request} ExpressRequest
67
68
  * @access private
68
- * @typedef {import('express').Request} ExpressRequest
69
69
  */
70
- function validateObjectKey(key = '') {
70
+ function validateObjectKey(key = "") {
71
71
  const keyLower = String.prototype.toLowerCase.call(key);
72
- if (keyLower === 'prototype' || keyLower === '__proto__' || keyLower === 'constructor') {
72
+ if (keyLower === "prototype" ||
73
+ keyLower === "__proto__" ||
74
+ keyLower === "constructor") {
73
75
  throw new SyntaxError(`Invalid object key used, ${key}`);
74
76
  }
75
77
  return String(key);
76
78
  }
77
79
  exports.validateObjectKey = validateObjectKey;
78
- /**
79
- * @memberof module:@dwp/govuk-casa
80
- */
80
+ /** @memberof module:@dwp/govuk-casa */
81
81
  class JourneyContext {
82
82
  /**
83
83
  * Constructor.
84
84
  *
85
85
  * `data` is the "single source of truth" for all data gathered during the
86
86
  * user's journey. This is referred to as the "canonical data model".
87
- * Page-specific "views" of this data are generated at runtime in order to
87
+ * Page-specific "views" of this data are generated at runtime in order to
88
88
  * populate/validate specific form fields.
89
89
  *
90
90
  * `validation` holds the results of form field validation carried out when
@@ -97,10 +97,11 @@ class JourneyContext {
97
97
  * `identity` holds information that helps uniquely identify this context
98
98
  * among a group of contexts stored in the session.
99
99
  *
100
- * @param {Record<string,any>} data Entire journey data.
100
+ * @param {Record<string, any>} data Entire journey data.
101
101
  * @param {object} validation Page errors (indexed by waypoint id).
102
102
  * @param {object} nav Navigation context.
103
- * @param {object} identity Some metadata for identifying this context among others.
103
+ * @param {object} identity Some metadata for identifying this context among
104
+ * others.
104
105
  */
105
106
  constructor(data = {}, validation = {}, nav = {}, identity = {}) {
106
107
  // Private properties
@@ -143,7 +144,7 @@ class JourneyContext {
143
144
  for (const [waypoint, errors] of Object.entries(validation)) {
144
145
  let dErrors = errors;
145
146
  if (Array.isArray(errors)) {
146
- dErrors = errors.map((e) => (e instanceof ValidationError_js_1.default ? e : new ValidationError_js_1.default(e)));
147
+ dErrors = errors.map((e) => e instanceof ValidationError_js_1.default ? e : new ValidationError_js_1.default(e));
147
148
  }
148
149
  deserialisedValidation[(0, utils_js_1.notProto)(waypoint)] = dErrors;
149
150
  }
@@ -167,12 +168,12 @@ class JourneyContext {
167
168
  /**
168
169
  * Get data context for a specific a specific page.
169
170
  *
170
- * @param {string | Page} page Page waypoint ID, or Page object.
171
+ * @param {string | Page} page Page waypoint ID, or Page object.
171
172
  * @returns {object} Page data.
172
173
  * @throws {TypeError} When page is invalid.
173
174
  */
174
175
  getDataForPage(page) {
175
- if (typeof page === 'string') {
176
+ if (typeof page === "string") {
176
177
  return __classPrivateFieldGet(this, _JourneyContext_data, "f")[validateObjectKey(page)];
177
178
  }
178
179
  if (isPlainObject(page)) {
@@ -207,7 +208,7 @@ class JourneyContext {
207
208
  * @throws {TypeError} When page is invalid.
208
209
  */
209
210
  setDataForPage(page, webFormData) {
210
- if (typeof page === 'string') {
211
+ if (typeof page === "string") {
211
212
  __classPrivateFieldGet(this, _JourneyContext_data, "f")[validateObjectKey(page)] = webFormData;
212
213
  }
213
214
  else if (isPlainObject(page)) {
@@ -267,7 +268,7 @@ class JourneyContext {
267
268
  }
268
269
  errors.forEach((error) => {
269
270
  if (!(error instanceof ValidationError_js_1.default)) {
270
- throw new SyntaxError('Field errors must be a ValidationError');
271
+ throw new SyntaxError("Field errors must be a ValidationError");
271
272
  }
272
273
  });
273
274
  __classPrivateFieldGet(this, _JourneyContext_validation, "f")[validateObjectKey(pageId)] = errors;
@@ -285,12 +286,13 @@ class JourneyContext {
285
286
  return (_a = __classPrivateFieldGet(this, _JourneyContext_validation, "f")[validateObjectKey(pageId)]) !== null && _a !== void 0 ? _a : [];
286
287
  }
287
288
  /**
288
- * Same as `getValidationErrorsForPage()`, but the return value is
289
- * an object whose keys are the field names, and values are the list of errors
289
+ * Same as `getValidationErrorsForPage()`, but the return value is an object
290
+ * whose keys are the field names, and values are the list of errors
290
291
  * associated with that particular field.
291
292
  *
292
293
  * @param {string} pageId Page ID.
293
- * @returns {object} Object indexed by field names; values containing list of errors
294
+ * @returns {object} Object indexed by field names; values containing list of
295
+ * errors
294
296
  */
295
297
  getValidationErrorsForPageByField(pageId) {
296
298
  const errors = this.getValidationErrorsForPage(pageId);
@@ -323,7 +325,7 @@ class JourneyContext {
323
325
  * @param {string} language Language to set (ISO 639-1 2-letter code).
324
326
  * @returns {JourneyContext} Chain.
325
327
  */
326
- setNavigationLanguage(language = 'en') {
328
+ setNavigationLanguage(language = "en") {
327
329
  __classPrivateFieldGet(this, _JourneyContext_nav, "f").language = language;
328
330
  return this;
329
331
  }
@@ -370,8 +372,8 @@ class JourneyContext {
370
372
  }
371
373
  }
372
374
  /**
373
- * Event listeners are transient. They are not stored in session, and generally
374
- * only apply for the current request.
375
+ * Event listeners are transient. They are not stored in session, and
376
+ * generally only apply for the current request.
375
377
  *
376
378
  * They also only act on a fixed snapshot of this context's state, which is
377
379
  * taken at the point of attaching the listeners (in the "data" middleware).
@@ -395,7 +397,7 @@ class JourneyContext {
395
397
  * @param {object} params Params
396
398
  * @param {string} params.event Event (waypoint-change | context-change)
397
399
  * @param {object} params.session Session
398
- * @param {ContextEventUserInfo|object} [params.userInfo] Pass-through info
400
+ * @param {ContextEventUserInfo | object} [params.userInfo] Pass-through info
399
401
  * @returns {JourneyContext} Chain
400
402
  */
401
403
  applyEventListeners({ event, session, userInfo }) {
@@ -414,16 +416,20 @@ class JourneyContext {
414
416
  let logMessage;
415
417
  let runHandler = false;
416
418
  if (!waypoint && !field) {
417
- logMessage = 'Calling generic event handler';
419
+ logMessage = "Calling generic event handler";
418
420
  runHandler = true;
419
421
  }
420
422
  else if (waypoint && !field) {
421
423
  logMessage = `Calling waypoint-specific event handler on "${waypoint}"`;
422
- runHandler = ((_a = previousContext.data) === null || _a === void 0 ? void 0 : _a[waypoint]) !== undefined && !isEqual((_b = this.data) === null || _b === void 0 ? void 0 : _b[waypoint], (_c = previousContext.data) === null || _c === void 0 ? void 0 : _c[waypoint]);
424
+ runHandler =
425
+ ((_a = previousContext.data) === null || _a === void 0 ? void 0 : _a[waypoint]) !== undefined &&
426
+ !isEqual((_b = this.data) === null || _b === void 0 ? void 0 : _b[waypoint], (_c = previousContext.data) === null || _c === void 0 ? void 0 : _c[waypoint]);
423
427
  }
424
428
  else if (waypoint && field) {
425
429
  logMessage = `Calling field-specific event handler on "${waypoint} : ${field}"`;
426
- runHandler = ((_e = (_d = previousContext.data) === null || _d === void 0 ? void 0 : _d[waypoint]) === null || _e === void 0 ? void 0 : _e[field]) !== undefined && !isEqual((_g = (_f = this.data) === null || _f === void 0 ? void 0 : _f[waypoint]) === null || _g === void 0 ? void 0 : _g[field], (_j = (_h = previousContext.data) === null || _h === void 0 ? void 0 : _h[waypoint]) === null || _j === void 0 ? void 0 : _j[field]);
430
+ runHandler =
431
+ ((_e = (_d = previousContext.data) === null || _d === void 0 ? void 0 : _d[waypoint]) === null || _e === void 0 ? void 0 : _e[field]) !== undefined &&
432
+ !isEqual((_g = (_f = this.data) === null || _f === void 0 ? void 0 : _f[waypoint]) === null || _g === void 0 ? void 0 : _g[field], (_j = (_h = previousContext.data) === null || _h === void 0 ? void 0 : _h[waypoint]) === null || _j === void 0 ? void 0 : _j[field]);
427
433
  }
428
434
  if (runHandler) {
429
435
  log.trace(logMessage);
@@ -466,7 +472,7 @@ class JourneyContext {
466
472
  */
467
473
  static fromContext(context, req) {
468
474
  if (!(context instanceof JourneyContext)) {
469
- throw new TypeError('Source context must be a JourneyContext');
475
+ throw new TypeError("Source context must be a JourneyContext");
470
476
  }
471
477
  const newContextObj = context.toObject();
472
478
  newContextObj.identity.id = JourneyContext.generateContextId(req);
@@ -491,13 +497,13 @@ class JourneyContext {
491
497
  // being remodelled as an array, we need to convert the "legacy" structure
492
498
  // into an equivalent array.
493
499
  if (isPlainObject(session === null || session === void 0 ? void 0 : session.journeyContextList)) {
494
- log.trace('Session context list already initialised as an object (legacy structure). Will convert from object to array.');
500
+ log.trace("Session context list already initialised as an object (legacy structure). Will convert from object to array.");
495
501
  /* eslint-disable-next-line no-param-reassign */
496
502
  session.journeyContextList = Object.entries(session.journeyContextList);
497
503
  }
498
504
  // Initialise new context list in the session
499
- if (!has(session, 'journeyContextList')) {
500
- log.trace('Initialising session with a default journey context list');
505
+ if (!has(session, "journeyContextList")) {
506
+ log.trace("Initialising session with a default journey context list");
501
507
  /* eslint-disable-next-line no-param-reassign */
502
508
  session.journeyContextList = [];
503
509
  const defaultContext = new JourneyContext();
@@ -507,6 +513,7 @@ class JourneyContext {
507
513
  }
508
514
  /**
509
515
  * Validate the format of a context ID:
516
+ *
510
517
  * - Between 1 and 64 characters
511
518
  * - Contain only the characters a-z, 0-9, -
512
519
  *
@@ -519,17 +526,17 @@ class JourneyContext {
519
526
  if (id === JourneyContext.DEFAULT_CONTEXT_ID) {
520
527
  return JourneyContext.DEFAULT_CONTEXT_ID;
521
528
  }
522
- if (typeof id !== 'string') {
523
- throw new TypeError('Context ID must be a string');
529
+ if (typeof id !== "string") {
530
+ throw new TypeError("Context ID must be a string");
524
531
  }
525
532
  else if (!id.match(/^[a-z0-9-]{1,64}$/)) {
526
- throw new SyntaxError('Context ID is not in the correct format');
533
+ throw new SyntaxError("Context ID is not in the correct format");
527
534
  }
528
535
  return id;
529
536
  }
530
537
  /**
531
- * Generate a new context ID, validate it, and throw if the ID has already been
532
- * generated during this request lifecycle. This may happen if an ID was
538
+ * Generate a new context ID, validate it, and throw if the ID has already
539
+ * been generated during this request lifecycle. This may happen if an ID was
533
540
  * generated, but never used to store a new context in the session. Therefore
534
541
  * it is important for user code to always call `putContext()` before
535
542
  * generating another ID.
@@ -543,8 +550,16 @@ class JourneyContext {
543
550
  // Can't generate custom ID when no request object is provided, because the
544
551
  // custom generator function itself exists on that object.
545
552
  if (!req) {
546
- log.warn('Generating a context ID without a given request object. Reverting to uuid().');
547
- return uuid();
553
+ throw new Error("Missing required request object.");
554
+ }
555
+ // Define a default context ID generator if required
556
+ if (!Object.hasOwn(req, JourneyContext.ID_GENERATOR_REQ_KEY)) {
557
+ log.warn("A context ID generator is not present in the request. Reverting to uuid().");
558
+ Object.defineProperty(req, JourneyContext.ID_GENERATOR_REQ_KEY, {
559
+ value: uuid,
560
+ enumerable: false,
561
+ writable: false,
562
+ });
548
563
  }
549
564
  // Collate a list of context IDs already in use, either from existing
550
565
  // contexts in the session, or generated during this request lifecycle.
@@ -606,7 +621,7 @@ class JourneyContext {
606
621
  static getContextByName(session, name) {
607
622
  if (session) {
608
623
  const list = new Map(session === null || session === void 0 ? void 0 : session.journeyContextList);
609
- const context = [...list.values()].find((c) => (c.identity.name === name));
624
+ const context = [...list.values()].find((c) => c.identity.name === name);
610
625
  if (context) {
611
626
  return JourneyContext.fromObject(context);
612
627
  }
@@ -618,12 +633,14 @@ class JourneyContext {
618
633
  *
619
634
  * @param {object} session Request session
620
635
  * @param {string} tag Context tag
621
- * @returns {Array<JourneyContext>} The discovered JourneyContext instance
636
+ * @returns {JourneyContext[]} The discovered JourneyContext instance
622
637
  */
623
638
  static getContextsByTag(session, tag) {
624
639
  if (session) {
625
640
  const list = new Map(session === null || session === void 0 ? void 0 : session.journeyContextList);
626
- return [...list.values()].filter((c) => { var _a; return ((_a = c.identity.tags) === null || _a === void 0 ? void 0 : _a.includes(tag)); }).map((c) => (JourneyContext.fromObject(c)));
641
+ return [...list.values()]
642
+ .filter((c) => { var _a; return (_a = c.identity.tags) === null || _a === void 0 ? void 0 : _a.includes(tag); })
643
+ .map((c) => JourneyContext.fromObject(c));
627
644
  }
628
645
  return undefined;
629
646
  }
@@ -634,8 +651,8 @@ class JourneyContext {
634
651
  * @returns {Array} Array of contexts
635
652
  */
636
653
  static getContexts(session) {
637
- if (has(session, 'journeyContextList')) {
638
- return session.journeyContextList.map(([, contextObj]) => (JourneyContext.fromObject(contextObj)));
654
+ if (has(session, "journeyContextList")) {
655
+ return session.journeyContextList.map(([, contextObj]) => JourneyContext.fromObject(contextObj));
639
656
  }
640
657
  return [];
641
658
  }
@@ -645,33 +662,34 @@ class JourneyContext {
645
662
  * @param {object} session Request session
646
663
  * @param {JourneyContext} context Context
647
664
  * @param {object} options Options
648
- * @param {ContextEventUserInfo|object} [options.userInfo] Pass-through event info
665
+ * @param {ContextEventUserInfo | object} [options.userInfo] Pass-through
666
+ * event info
649
667
  * @returns {void}
650
668
  * @throws {TypeError} When session is not a valid type, or context has no ID
651
669
  */
652
670
  static putContext(session, context, options = {}) {
653
671
  if (!isObject(session)) {
654
- throw new TypeError('Session must be an object');
672
+ throw new TypeError("Session must be an object");
655
673
  }
656
674
  else if (!(context instanceof JourneyContext)) {
657
- throw new TypeError('Context must be a valid JourneyContext');
675
+ throw new TypeError("Context must be a valid JourneyContext");
658
676
  }
659
677
  else if (context.identity.id === undefined) {
660
- throw new TypeError('Context must have an ID before storing in session');
678
+ throw new TypeError("Context must have an ID before storing in session");
661
679
  }
662
680
  // Initialise the session if necessary
663
- if (!has(session, 'journeyContextList')) {
681
+ if (!has(session, "journeyContextList")) {
664
682
  JourneyContext.initContextStore(session);
665
683
  }
666
684
  // Apply context events
667
685
  const { userInfo = undefined } = options;
668
686
  context.applyEventListeners({
669
- event: 'waypoint-change',
687
+ event: "waypoint-change",
670
688
  session,
671
689
  userInfo,
672
690
  });
673
691
  context.applyEventListeners({
674
- event: 'context-change',
692
+ event: "context-change",
675
693
  session,
676
694
  userInfo,
677
695
  });
@@ -738,9 +756,9 @@ class JourneyContext {
738
756
  /**
739
757
  * Extract the Journey Context referred to in the incoming request.
740
758
  *
741
- * This will look in `req.params`, `req.query` and
742
- * `req.body` for a `contextid` parameter, and use that
743
- * to load the correct Journey Context from the session.
759
+ * This will look in `req.params`, `req.query` and `req.body` for a
760
+ * `contextid` parameter, and use that to load the correct Journey Context
761
+ * from the session.
744
762
  *
745
763
  * @param {ExpressRequest} req ExpressJS incoming request
746
764
  * @returns {JourneyContext} The Journey Context
@@ -748,46 +766,42 @@ class JourneyContext {
748
766
  static extractContextFromRequest(req) {
749
767
  JourneyContext.initContextStore(req.session);
750
768
  let contextId;
751
- if (has(req === null || req === void 0 ? void 0 : req.params, 'contextid')) {
752
- log.trace('Context ID found in req.params.contextid');
769
+ if (has(req === null || req === void 0 ? void 0 : req.params, "contextid")) {
770
+ log.trace("Context ID found in req.params.contextid");
753
771
  contextId = String(req.params.contextid);
754
772
  }
755
- else if (has(req.query, 'contextid')) {
756
- log.trace('Context ID found in req.query.contextid');
773
+ else if (has(req.query, "contextid")) {
774
+ log.trace("Context ID found in req.query.contextid");
757
775
  contextId = String(req.query.contextid);
758
776
  }
759
- else if (has(req === null || req === void 0 ? void 0 : req.body, 'contextid')) {
760
- log.trace('Context ID found in req.body.contextid');
777
+ else if (has(req === null || req === void 0 ? void 0 : req.body, "contextid")) {
778
+ log.trace("Context ID found in req.body.contextid");
761
779
  contextId = String(req.body.contextid);
762
780
  }
763
781
  else {
764
- log.trace('Context ID not specified or not found; will attempt to use default');
782
+ log.trace("Context ID not specified or not found; will attempt to use default");
765
783
  contextId = JourneyContext.DEFAULT_CONTEXT_ID;
766
784
  }
767
785
  try {
768
786
  contextId = JourneyContext.validateContextId(contextId);
769
787
  const context = JourneyContext.getContextById(req.session, contextId);
770
788
  if (!context) {
771
- throw (new Error(`Could not find a context with id, ${contextId}`));
789
+ throw new Error(`Could not find a context with id, ${contextId}`);
772
790
  }
773
791
  return context;
774
792
  }
775
793
  catch (err) {
776
794
  log.debug(err.message);
777
- log.trace('Falling back to default context');
795
+ log.trace("Falling back to default context");
778
796
  return JourneyContext.getContextById(req.session, JourneyContext.DEFAULT_CONTEXT_ID);
779
797
  }
780
798
  }
781
799
  }
782
800
  _JourneyContext_data = new WeakMap(), _JourneyContext_validation = new WeakMap(), _JourneyContext_nav = new WeakMap(), _JourneyContext_identity = new WeakMap(), _JourneyContext_eventListeners = new WeakMap(), _JourneyContext_eventListenerPreState = new WeakMap();
783
- JourneyContext.DEFAULT_CONTEXT_ID = 'default';
784
- /**
785
- * @type {symbol}
786
- */
787
- JourneyContext.ID_GENERATOR_REQ_LOG = Symbol('generatedContextIds');
788
- /**
789
- * @type {symbol}
790
- */
791
- JourneyContext.ID_GENERATOR_REQ_KEY = Symbol('generateContextId');
801
+ JourneyContext.DEFAULT_CONTEXT_ID = "default";
802
+ /** @type {symbol} */
803
+ JourneyContext.ID_GENERATOR_REQ_LOG = Symbol("generatedContextIds");
804
+ /** @type {symbol} */
805
+ JourneyContext.ID_GENERATOR_REQ_KEY = Symbol("generateContextId");
792
806
  exports.default = JourneyContext;
793
807
  //# sourceMappingURL=JourneyContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JourneyContext.js","sourceRoot":"","sources":["../../src/lib/JourneyContext.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JourneyContext.js","sourceRoot":"","sources":["../../src/lib/JourneyContext.js"],"names":[],"mappings":"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"}