@planning-inspectorate/dynamic-forms 3.3.4 → 3.4.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 (262) hide show
  1. package/.azure/pipelines/azure-pipelines-pr.yml +4 -0
  2. package/.azure/pipelines/release.yml +4 -0
  3. package/README.md +20 -9
  4. package/package.json +9 -3
  5. package/src/components/address/question.js +1 -10
  6. package/src/components/boolean/question.js +1 -1
  7. package/src/components/checkbox/question.js +2 -6
  8. package/src/components/date/question.js +1 -8
  9. package/src/components/date-period/question.js +1 -8
  10. package/src/components/email/question.js +4 -4
  11. package/src/components/multi-field-input/question.js +3 -3
  12. package/src/components/multi-field-input/question.test.js +1 -1
  13. package/src/components/number-entry/question.js +1 -5
  14. package/src/components/radio/question.js +1 -1
  15. package/src/components/select/question.js +1 -1
  16. package/src/components/single-line-input/question.js +0 -8
  17. package/src/components/text-entry/question.js +4 -4
  18. package/src/components/text-entry-redact/question.js +6 -16
  19. package/src/components/unit-option-entry/question.js +4 -11
  20. package/src/components/utils/component-types.js +18 -0
  21. package/src/index.js +72 -25
  22. package/src/middleware/redirect-to-unanswered-question.test.js +1 -1
  23. package/src/questions/options-question.js +5 -12
  24. package/src/questions/question-types.d.ts +3 -3
  25. package/src/questions/question.js +6 -6
  26. package/src/questions/questions.js +1 -1
  27. package/tsconfig.json +9 -1
  28. package/types/commitlint.config.d.ts +7 -0
  29. package/types/commitlint.config.d.ts.map +1 -0
  30. package/types/eslint.config.d.ts +95 -0
  31. package/types/eslint.config.d.ts.map +1 -0
  32. package/types/src/components/address/question.d.ts +31 -0
  33. package/types/src/components/address/question.d.ts.map +1 -0
  34. package/types/src/components/address/question.test.d.ts +2 -0
  35. package/types/src/components/address/question.test.d.ts.map +1 -0
  36. package/types/src/components/boolean/question.d.ts +47 -0
  37. package/types/src/components/boolean/question.d.ts.map +1 -0
  38. package/types/src/components/boolean/question.test.d.ts +2 -0
  39. package/types/src/components/boolean/question.test.d.ts.map +1 -0
  40. package/types/src/components/checkbox/question.d.ts +49 -0
  41. package/types/src/components/checkbox/question.d.ts.map +1 -0
  42. package/types/src/components/checkbox/question.test.d.ts +2 -0
  43. package/types/src/components/checkbox/question.test.d.ts.map +1 -0
  44. package/types/src/components/date/question.d.ts +22 -0
  45. package/types/src/components/date/question.d.ts.map +1 -0
  46. package/types/src/components/date/question.test.d.ts +2 -0
  47. package/types/src/components/date/question.test.d.ts.map +1 -0
  48. package/types/src/components/date-period/question.d.ts +29 -0
  49. package/types/src/components/date-period/question.d.ts.map +1 -0
  50. package/types/src/components/date-period/question.test.d.ts +2 -0
  51. package/types/src/components/date-period/question.test.d.ts.map +1 -0
  52. package/types/src/components/date-time/question.d.ts +24 -0
  53. package/types/src/components/date-time/question.d.ts.map +1 -0
  54. package/types/src/components/date-time/question.test.d.ts +2 -0
  55. package/types/src/components/date-time/question.test.d.ts.map +1 -0
  56. package/types/src/components/email/question.d.ts +30 -0
  57. package/types/src/components/email/question.d.ts.map +1 -0
  58. package/types/src/components/email/question.test.d.ts +2 -0
  59. package/types/src/components/email/question.test.d.ts.map +1 -0
  60. package/types/src/components/identifier/question.d.ts +15 -0
  61. package/types/src/components/identifier/question.d.ts.map +1 -0
  62. package/types/src/components/identifier/question.test.d.ts +2 -0
  63. package/types/src/components/identifier/question.test.d.ts.map +1 -0
  64. package/types/src/components/manage-list/manage-list-section.d.ts +16 -0
  65. package/types/src/components/manage-list/manage-list-section.d.ts.map +1 -0
  66. package/types/src/components/manage-list/manage-list-section.test.d.ts +2 -0
  67. package/types/src/components/manage-list/manage-list-section.test.d.ts.map +1 -0
  68. package/types/src/components/manage-list/question.d.ts +41 -0
  69. package/types/src/components/manage-list/question.d.ts.map +1 -0
  70. package/types/src/components/manage-list/question.test.d.ts +2 -0
  71. package/types/src/components/manage-list/question.test.d.ts.map +1 -0
  72. package/types/src/components/manage-list/utils.d.ts +18 -0
  73. package/types/src/components/manage-list/utils.d.ts.map +1 -0
  74. package/types/src/components/manage-list/utils.test.d.ts +2 -0
  75. package/types/src/components/manage-list/utils.test.d.ts.map +1 -0
  76. package/types/src/components/multi-field-input/question.d.ts +106 -0
  77. package/types/src/components/multi-field-input/question.d.ts.map +1 -0
  78. package/types/src/components/multi-field-input/question.test.d.ts +2 -0
  79. package/types/src/components/multi-field-input/question.test.d.ts.map +1 -0
  80. package/types/src/components/number-entry/question.d.ts +37 -0
  81. package/types/src/components/number-entry/question.d.ts.map +1 -0
  82. package/types/src/components/radio/question.d.ts +53 -0
  83. package/types/src/components/radio/question.d.ts.map +1 -0
  84. package/types/src/components/radio/question.test.d.ts +2 -0
  85. package/types/src/components/radio/question.test.d.ts.map +1 -0
  86. package/types/src/components/select/question.d.ts +51 -0
  87. package/types/src/components/select/question.d.ts.map +1 -0
  88. package/types/src/components/select/question.test.d.ts +2 -0
  89. package/types/src/components/select/question.test.d.ts.map +1 -0
  90. package/types/src/components/single-line-input/question.d.ts +18 -0
  91. package/types/src/components/single-line-input/question.d.ts.map +1 -0
  92. package/types/src/components/single-line-input/question.test.d.ts +2 -0
  93. package/types/src/components/single-line-input/question.test.d.ts.map +1 -0
  94. package/types/src/components/text-entry/question.d.ts +34 -0
  95. package/types/src/components/text-entry/question.d.ts.map +1 -0
  96. package/types/src/components/text-entry/question.test.d.ts +2 -0
  97. package/types/src/components/text-entry/question.test.d.ts.map +1 -0
  98. package/types/src/components/text-entry-redact/question.d.ts +42 -0
  99. package/types/src/components/text-entry-redact/question.d.ts.map +1 -0
  100. package/types/src/components/text-entry-redact/question.test.d.ts +2 -0
  101. package/types/src/components/text-entry-redact/question.test.d.ts.map +1 -0
  102. package/types/src/components/unit-option-entry/question.d.ts +83 -0
  103. package/types/src/components/unit-option-entry/question.d.ts.map +1 -0
  104. package/types/src/components/unit-option-entry/question.test.d.ts +2 -0
  105. package/types/src/components/unit-option-entry/question.test.d.ts.map +1 -0
  106. package/types/src/components/utils/component-types.d.ts +19 -0
  107. package/types/src/components/utils/component-types.d.ts.map +1 -0
  108. package/types/src/components/utils/persisted-number-answer.d.ts +2 -0
  109. package/types/src/components/utils/persisted-number-answer.d.ts.map +1 -0
  110. package/types/src/components/utils/question-has-answer.d.ts +17 -0
  111. package/types/src/components/utils/question-has-answer.d.ts.map +1 -0
  112. package/types/src/components/utils/question-has-answer.test.d.ts +2 -0
  113. package/types/src/components/utils/question-has-answer.test.d.ts.map +1 -0
  114. package/types/src/components/utils/question-utils.d.ts +15 -0
  115. package/types/src/components/utils/question-utils.d.ts.map +1 -0
  116. package/types/src/components/utils/question-utils.test.d.ts +2 -0
  117. package/types/src/components/utils/question-utils.test.d.ts.map +1 -0
  118. package/types/src/controller.d.ts +78 -0
  119. package/types/src/controller.d.ts.map +1 -0
  120. package/types/src/controller.test.d.ts +2 -0
  121. package/types/src/controller.test.d.ts.map +1 -0
  122. package/types/src/index.d.ts +54 -0
  123. package/types/src/index.d.ts.map +1 -0
  124. package/types/src/journey/journey-response.d.ts +32 -0
  125. package/types/src/journey/journey-response.d.ts.map +1 -0
  126. package/types/src/journey/journey-response.test.d.ts +2 -0
  127. package/types/src/journey/journey-response.test.d.ts.map +1 -0
  128. package/types/src/journey/journey.d.ts +144 -0
  129. package/types/src/journey/journey.d.ts.map +1 -0
  130. package/types/src/journey/journey.test.d.ts +2 -0
  131. package/types/src/journey/journey.test.d.ts.map +1 -0
  132. package/types/src/lib/address-utils.d.ts +6 -0
  133. package/types/src/lib/address-utils.d.ts.map +1 -0
  134. package/types/src/lib/address-utils.test.d.ts +2 -0
  135. package/types/src/lib/address-utils.test.d.ts.map +1 -0
  136. package/types/src/lib/address.d.ts +43 -0
  137. package/types/src/lib/address.d.ts.map +1 -0
  138. package/types/src/lib/address.test.d.ts +2 -0
  139. package/types/src/lib/address.test.d.ts.map +1 -0
  140. package/types/src/lib/date-utils.d.ts +60 -0
  141. package/types/src/lib/date-utils.d.ts.map +1 -0
  142. package/types/src/lib/date-utils.test.d.ts +2 -0
  143. package/types/src/lib/date-utils.test.d.ts.map +1 -0
  144. package/types/src/lib/session-answer-store.d.ts +84 -0
  145. package/types/src/lib/session-answer-store.d.ts.map +1 -0
  146. package/types/src/lib/session-answer-store.test.d.ts +2 -0
  147. package/types/src/lib/session-answer-store.test.d.ts.map +1 -0
  148. package/types/src/lib/utils.d.ts +19 -0
  149. package/types/src/lib/utils.d.ts.map +1 -0
  150. package/types/src/lib/utils.test.d.ts +2 -0
  151. package/types/src/lib/utils.test.d.ts.map +1 -0
  152. package/types/src/lib/uuid.d.ts +7 -0
  153. package/types/src/lib/uuid.d.ts.map +1 -0
  154. package/types/src/lib/uuid.test.d.ts +2 -0
  155. package/types/src/lib/uuid.test.d.ts.map +1 -0
  156. package/types/src/middleware/build-get-journey.d.ts +6 -0
  157. package/types/src/middleware/build-get-journey.d.ts.map +1 -0
  158. package/types/src/middleware/redirect-to-unanswered-question.d.ts +12 -0
  159. package/types/src/middleware/redirect-to-unanswered-question.d.ts.map +1 -0
  160. package/types/src/middleware/redirect-to-unanswered-question.test.d.ts +2 -0
  161. package/types/src/middleware/redirect-to-unanswered-question.test.d.ts.map +1 -0
  162. package/types/src/questions/create-questions.d.ts +21 -0
  163. package/types/src/questions/create-questions.d.ts.map +1 -0
  164. package/types/src/questions/options-question.d.ts +74 -0
  165. package/types/src/questions/options-question.d.ts.map +1 -0
  166. package/types/src/questions/options-question.test.d.ts +2 -0
  167. package/types/src/questions/options-question.test.d.ts.map +1 -0
  168. package/types/src/questions/question.d.ts +274 -0
  169. package/types/src/questions/question.d.ts.map +1 -0
  170. package/types/src/questions/question.test.d.ts +2 -0
  171. package/types/src/questions/question.test.d.ts.map +1 -0
  172. package/types/src/questions/questions.d.ts +3 -0
  173. package/types/src/questions/questions.d.ts.map +1 -0
  174. package/types/src/section.d.ts +107 -0
  175. package/types/src/section.d.ts.map +1 -0
  176. package/types/src/section.test.d.ts +2 -0
  177. package/types/src/section.test.d.ts.map +1 -0
  178. package/types/src/validator/address-validator.d.ts +41 -0
  179. package/types/src/validator/address-validator.d.ts.map +1 -0
  180. package/types/src/validator/address-validator.test.d.ts +2 -0
  181. package/types/src/validator/address-validator.test.d.ts.map +1 -0
  182. package/types/src/validator/base-validator.d.ts +11 -0
  183. package/types/src/validator/base-validator.d.ts.map +1 -0
  184. package/types/src/validator/base-validator.test.d.ts +2 -0
  185. package/types/src/validator/base-validator.test.d.ts.map +1 -0
  186. package/types/src/validator/conditional-required-validator.d.ts +24 -0
  187. package/types/src/validator/conditional-required-validator.d.ts.map +1 -0
  188. package/types/src/validator/conditional-required-validator.test.d.ts +2 -0
  189. package/types/src/validator/conditional-required-validator.test.d.ts.map +1 -0
  190. package/types/src/validator/confirmation-checkbox-validator.d.ts +27 -0
  191. package/types/src/validator/confirmation-checkbox-validator.d.ts.map +1 -0
  192. package/types/src/validator/confirmation-checkbox-validator.test.d.ts +2 -0
  193. package/types/src/validator/confirmation-checkbox-validator.test.d.ts.map +1 -0
  194. package/types/src/validator/coordinates-validator.d.ts +22 -0
  195. package/types/src/validator/coordinates-validator.d.ts.map +1 -0
  196. package/types/src/validator/coordinates-validator.test.d.ts +2 -0
  197. package/types/src/validator/coordinates-validator.test.d.ts.map +1 -0
  198. package/types/src/validator/date-period-validator.d.ts +63 -0
  199. package/types/src/validator/date-period-validator.d.ts.map +1 -0
  200. package/types/src/validator/date-period-validator.test.d.ts +2 -0
  201. package/types/src/validator/date-period-validator.test.d.ts.map +1 -0
  202. package/types/src/validator/date-time-validator.d.ts +26 -0
  203. package/types/src/validator/date-time-validator.d.ts.map +1 -0
  204. package/types/src/validator/date-time-validator.test.d.ts +2 -0
  205. package/types/src/validator/date-time-validator.test.d.ts.map +1 -0
  206. package/types/src/validator/date-validator.d.ts +48 -0
  207. package/types/src/validator/date-validator.d.ts.map +1 -0
  208. package/types/src/validator/date-validator.test.d.ts +2 -0
  209. package/types/src/validator/date-validator.test.d.ts.map +1 -0
  210. package/types/src/validator/document-upload-validator.d.ts +10 -0
  211. package/types/src/validator/document-upload-validator.d.ts.map +1 -0
  212. package/types/src/validator/document-upload-validator.test.d.ts +2 -0
  213. package/types/src/validator/document-upload-validator.test.d.ts.map +1 -0
  214. package/types/src/validator/email-validator.d.ts +73 -0
  215. package/types/src/validator/email-validator.d.ts.map +1 -0
  216. package/types/src/validator/email-validator.test.d.ts +2 -0
  217. package/types/src/validator/email-validator.test.d.ts.map +1 -0
  218. package/types/src/validator/multi-field-input-validator.d.ts +70 -0
  219. package/types/src/validator/multi-field-input-validator.d.ts.map +1 -0
  220. package/types/src/validator/multi-field-input-validator.test.d.ts +2 -0
  221. package/types/src/validator/multi-field-input-validator.test.d.ts.map +1 -0
  222. package/types/src/validator/numeric-validator.d.ts +49 -0
  223. package/types/src/validator/numeric-validator.d.ts.map +1 -0
  224. package/types/src/validator/numeric-validator.test.d.ts +2 -0
  225. package/types/src/validator/numeric-validator.test.d.ts.map +1 -0
  226. package/types/src/validator/required-validator.d.ts +22 -0
  227. package/types/src/validator/required-validator.d.ts.map +1 -0
  228. package/types/src/validator/required-validator.test.d.ts +2 -0
  229. package/types/src/validator/required-validator.test.d.ts.map +1 -0
  230. package/types/src/validator/same-answer-validator.d.ts +18 -0
  231. package/types/src/validator/same-answer-validator.d.ts.map +1 -0
  232. package/types/src/validator/same-answer-validator.test.d.ts +2 -0
  233. package/types/src/validator/same-answer-validator.test.d.ts.map +1 -0
  234. package/types/src/validator/string-validator.d.ts +58 -0
  235. package/types/src/validator/string-validator.d.ts.map +1 -0
  236. package/types/src/validator/string-validator.test.d.ts +2 -0
  237. package/types/src/validator/string-validator.test.d.ts.map +1 -0
  238. package/types/src/validator/unit-option-entry-validator.d.ts +40 -0
  239. package/types/src/validator/unit-option-entry-validator.d.ts.map +1 -0
  240. package/types/src/validator/unit-option-entry-validator.test.d.ts +2 -0
  241. package/types/src/validator/unit-option-entry-validator.test.d.ts.map +1 -0
  242. package/types/src/validator/valid-option-validator.d.ts +22 -0
  243. package/types/src/validator/valid-option-validator.d.ts.map +1 -0
  244. package/types/src/validator/valid-option-validator.test.d.ts +2 -0
  245. package/types/src/validator/valid-option-validator.test.d.ts.map +1 -0
  246. package/types/src/validator/validation-error-handler.d.ts +20 -0
  247. package/types/src/validator/validation-error-handler.d.ts.map +1 -0
  248. package/types/src/validator/validation-error-handler.test.d.ts +2 -0
  249. package/types/src/validator/validation-error-handler.test.d.ts.map +1 -0
  250. package/types/src/validator/validator.d.ts +5 -0
  251. package/types/src/validator/validator.d.ts.map +1 -0
  252. package/types/src/validator/validator.test.d.ts +2 -0
  253. package/types/src/validator/validator.test.d.ts.map +1 -0
  254. package/types/test/mock/journey.d.ts +3 -0
  255. package/types/test/mock/journey.d.ts.map +1 -0
  256. package/types/test/mock/uuid.d.ts +7 -0
  257. package/types/test/mock/uuid.d.ts.map +1 -0
  258. package/types/test/utils/nunjucks.d.ts +2 -0
  259. package/types/test/utils/nunjucks.d.ts.map +1 -0
  260. package/types/test/utils/utils.d.ts +32 -0
  261. package/types/test/utils/utils.d.ts.map +1 -0
  262. package/src/lib/address.d.ts +0 -7
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @typedef {Object} MinLength
3
+ * @property {Number} minLength
4
+ * @property {String} minLengthMessage
5
+ */
6
+ /**
7
+ * @typedef {Object} MaxLength
8
+ * @property {Number} maxLength
9
+ * @property {String} maxLengthMessage
10
+ */
11
+ /**
12
+ * @typedef {Object} Regex
13
+ * @property {String | RegExp} regex
14
+ * @property {String} regexMessage
15
+ */
16
+ export default class StringValidator extends BaseValidator {
17
+ /**
18
+ * @param {Object} params
19
+ * @param {MinLength} [params.minLength]
20
+ * @param {MaxLength} [params.maxLength]
21
+ * @param {Regex} [params.regex]
22
+ * @param {string} [params.fieldName]
23
+ */
24
+ constructor({ minLength, maxLength, regex, fieldName }?: {
25
+ minLength?: MinLength | undefined;
26
+ maxLength?: MaxLength | undefined;
27
+ regex?: Regex | undefined;
28
+ fieldName?: string | undefined;
29
+ });
30
+ minLength: {
31
+ minLength: number;
32
+ minLengthMessage: string;
33
+ };
34
+ maxLength: {
35
+ maxLength: number;
36
+ maxLengthMessage: string;
37
+ };
38
+ regex: {
39
+ regex: string;
40
+ regexMessage: string;
41
+ };
42
+ fieldName: string | undefined;
43
+ validate(questionObj: any): import("express-validator").ValidationChain;
44
+ }
45
+ export type MinLength = {
46
+ minLength: number;
47
+ minLengthMessage: string;
48
+ };
49
+ export type MaxLength = {
50
+ maxLength: number;
51
+ maxLengthMessage: string;
52
+ };
53
+ export type Regex = {
54
+ regex: string | RegExp;
55
+ regexMessage: string;
56
+ };
57
+ import BaseValidator from './base-validator.js';
58
+ //# sourceMappingURL=string-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-validator.d.ts","sourceRoot":"","sources":["../../../src/validator/string-validator.js"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;IAcC;;;;;;OAMG;IACH,yDALG;QAA2B,SAAS;QACT,SAAS;QACb,KAAK;QACJ,SAAS;KAAC,EAmBpC;IArCD;;;MAGE;IACF;;;MAGE;IACF;;;MAGE;IAyBD,8BAA0B;IAG3B,wEAkBC;CACD;;;;;;;;;;WA/Da,SAAS,MAAM;;;0BAfH,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=string-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-validator.test.d.ts","sourceRoot":"","sources":["../../../src/validator/string-validator.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @typedef {import('../questions/question.js')} Question
3
+ */
4
+ /**
5
+ * enforces a field is not empty when condition is satisfied
6
+ * @class
7
+ */
8
+ export default class UnitOptionEntryValidator extends BaseValidator {
9
+ /**
10
+ * @param {Object} params
11
+ * @param {string} [params.errorMessage]
12
+ * @param {string} [params.unit]
13
+ * @param {number} [params.min]
14
+ * @param {number} [params.max]
15
+ * @param {Regex} [params.regex]
16
+ * @param {string} [params.regexMessage]
17
+ */
18
+ constructor({ errorMessage, unit, min, max, regex, regexMessage }?: {
19
+ errorMessage?: string | undefined;
20
+ unit?: string | undefined;
21
+ min?: number | undefined;
22
+ max?: number | undefined;
23
+ regex?: any;
24
+ regexMessage?: string | undefined;
25
+ });
26
+ unit: string;
27
+ min: number | undefined;
28
+ max: number | undefined;
29
+ regex: any;
30
+ regexMessage: string;
31
+ /**
32
+ * validates the response body, checking the questionObj's fieldname
33
+ * @param {Question} questionObj
34
+ */
35
+ validate(questionObj: Question): any;
36
+ isValueIncluded(questionObj: any, value: any): import("express-validator").ValidationChain;
37
+ }
38
+ export type Question = typeof import("../questions/question.js");
39
+ import BaseValidator from './base-validator.js';
40
+ //# sourceMappingURL=unit-option-entry-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit-option-entry-validator.d.ts","sourceRoot":"","sources":["../../../src/validator/unit-option-entry-validator.js"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH;IACC;;;;;;;;OAQG;IAEH,oEARG;QAAwB,YAAY;QACZ,IAAI;QACJ,GAAG;QACH,GAAG;QACJ,KAAK;QACJ,YAAY;KAAC,EAWvC;IALA,aAA2B;IAC3B,wBAAc;IACd,wBAAc;IACd,WAAkB;IAClB,qBAA0D;IAG3D;;;OAGG;IACH,sBAFW,QAAQ,OA4ClB;IAED,2FAKC;CACD;;0BArFyB,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=unit-option-entry-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit-option-entry-validator.test.d.ts","sourceRoot":"","sources":["../../../src/validator/unit-option-entry-validator.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @typedef {import('../questions/options-question.js')} OptionsQuestion
3
+ */
4
+ /**
5
+ * enforces a field is within the question's predefined list of options
6
+ * @class
7
+ */
8
+ export default class ValidOptionValidator extends BaseValidator {
9
+ /**
10
+ * creates an instance of a RequiredValidator
11
+ * @param {string} [errorMessage] - custom error message to show on validation failure
12
+ */
13
+ constructor(errorMessage?: string);
14
+ /**
15
+ * validates the response body, checking the value sent for the questionObj's fieldname is within the predefined list of options
16
+ * @param {OptionsQuestion} questionObj
17
+ */
18
+ validate(questionObj: OptionsQuestion): import("express-validator").ValidationChain;
19
+ }
20
+ export type OptionsQuestion = typeof import("../questions/options-question.js");
21
+ import BaseValidator from './base-validator.js';
22
+ //# sourceMappingURL=valid-option-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valid-option-validator.d.ts","sourceRoot":"","sources":["../../../src/validator/valid-option-validator.js"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH;IACC;;;OAGG;IACH,2BAFW,MAAM,EAUhB;IAED;;;OAGG;IACH,sBAFW,eAAe,+CAUzB;CACD;;0BAtCyB,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=valid-option-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valid-option-validator.test.d.ts","sourceRoot":"","sources":["../../../src/validator/valid-option-validator.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @typedef {{text: string, href: string}[]} GovUkErrorList
3
+ * @typedef {Object<string, import('express-validator').ValidationError>} ExpressValidationErrors
4
+ * @typedef {(errors: ExpressValidationErrors) => GovUkErrorList} ToErrorSummary
5
+ */
6
+ /**
7
+ * @type {ToErrorSummary}
8
+ */
9
+ export const expressValidationErrorsToGovUkErrorList: ToErrorSummary;
10
+ export function buildValidationErrorHandler(validate?: import("express-validator").ResultFactory<import("express-validator").ValidationError>, toErrorSummary?: ToErrorSummary): any;
11
+ export const validationErrorHandler: any;
12
+ export type GovUkErrorList = {
13
+ text: string;
14
+ href: string;
15
+ }[];
16
+ export type ExpressValidationErrors = {
17
+ [x: string]: import("express-validator").ValidationError;
18
+ };
19
+ export type ToErrorSummary = (errors: ExpressValidationErrors) => GovUkErrorList;
20
+ //# sourceMappingURL=validation-error-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-error-handler.d.ts","sourceRoot":"","sources":["../../../src/validator/validation-error-handler.js"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH;;GAEG;AACH,sDAFU,cAAc,CAkBtB;AAQK,uDAJI,OAAO,mBAAmB,EAAE,aAAa,CAAC,OAAO,mBAAmB,EAAE,eAAe,CAAC,mBACtF,cAAc,OA4BxB;AAED,yCAAoE;6BA3DvD;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,EAAE;;;;6BAE9B,CAAC,MAAM,EAAE,uBAAuB,KAAK,cAAc"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=validation-error-handler.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-error-handler.test.d.ts","sourceRoot":"","sources":["../../../src/validator/validation-error-handler.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export function buildValidateBody(questions: any): (req: any, res: any, next: any) => Promise<any>;
2
+ export default validate;
3
+ /** @type {import('express').Handler} */
4
+ declare const validate: any;
5
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/validator/validator.js"],"names":[],"mappings":"AA4BA,oDACe,QAAG,EAAE,QAAG,EAAE,SAAI,kBAM5B;;AAjCD,wCAAwC;AACxC,4BAqBE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.test.d.ts","sourceRoot":"","sources":["../../../src/validator/validator.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export function mockJourney(): Journey;
2
+ import { Journey } from '#src/journey/journey.js';
3
+ //# sourceMappingURL=journey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journey.d.ts","sourceRoot":"","sources":["../../../test/mock/journey.js"],"names":[],"mappings":"AAEA,uCAcC;wBAhBuB,yBAAyB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ *
3
+ * @param {import('node:test').TestContext} ctx
4
+ * @param {string} [uuid]
5
+ */
6
+ export function mockRandomUUID(ctx: import("node:test").TestContext, uuid?: string): void;
7
+ //# sourceMappingURL=uuid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../../test/mock/uuid.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,oCAHW,OAAO,WAAW,EAAE,WAAW,SAC/B,MAAM,QAOhB"}
@@ -0,0 +1,2 @@
1
+ export function configureNunjucksTestEnv(): any;
2
+ //# sourceMappingURL=nunjucks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nunjucks.d.ts","sourceRoot":"","sources":["../../../test/utils/nunjucks.js"],"names":[],"mappings":"AAKA,gDAcC"}
@@ -0,0 +1,32 @@
1
+ export function testDir(): string;
2
+ export function snapshotsDir(): string;
3
+ /**
4
+ * @param {import('node:test').TestContext} ctx
5
+ * @param {string} content
6
+ * @param {string} name
7
+ */
8
+ export function assertSnapshot(ctx: import("node:test").TestContext, content: string, name: string): void;
9
+ /**
10
+ * @returns {import('pino').BaseLogger}
11
+ */
12
+ export function mockLogger(): any;
13
+ /**
14
+ * escapes all RegExp meta-characters in a string
15
+ * @param {string} s
16
+ * @returns {string}
17
+ */
18
+ export function escapeForRegExp(s: string): string;
19
+ export function mockReq(): {
20
+ log: any;
21
+ params: {};
22
+ body: {};
23
+ originalUrl: string;
24
+ };
25
+ export function mockRes(): {
26
+ locals: {};
27
+ redirect: import("node:test").Mock<(...args: any[]) => undefined>;
28
+ status: import("node:test").Mock<(...args: any[]) => undefined>;
29
+ render: import("node:test").Mock<(...args: any[]) => undefined>;
30
+ send: import("node:test").Mock<(...args: any[]) => undefined>;
31
+ };
32
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../test/utils/utils.js"],"names":[],"mappings":"AAGA,kCAEC;AAED,uCAEC;AAED;;;;GAIG;AACH,oCAJW,OAAO,WAAW,EAAE,WAAW,WAC/B,MAAM,QACN,MAAM,QAUhB;AAED;;GAEG;AACH,kCAWC;AAsBD;;;;GAIG;AACH,mCAHW,MAAM,GACJ,MAAM,CAIlB;AA3BM;;;;;EAKL;AACK;;;;;;EAYN"}
@@ -1,7 +0,0 @@
1
- export interface Address {
2
- addressLine1?: string;
3
- addressLine2?: string;
4
- townCity?: string;
5
- county?: string;
6
- postcode?: string;
7
- }