@planning-inspectorate/dynamic-forms 3.3.3 → 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 (272) hide show
  1. package/.azure/pipelines/azure-pipelines-pr.yml +4 -0
  2. package/.azure/pipelines/release.yml +4 -0
  3. package/.gitattributes +2 -0
  4. package/README.md +20 -9
  5. package/package.json +13 -5
  6. package/src/components/address/question.js +1 -10
  7. package/src/components/boolean/question.js +1 -1
  8. package/src/components/checkbox/question.js +2 -6
  9. package/src/components/date/question.js +1 -8
  10. package/src/components/date-period/question.js +1 -8
  11. package/src/components/email/question.js +4 -4
  12. package/src/components/manage-list/question.test.js +4 -19
  13. package/src/components/multi-field-input/question.js +3 -3
  14. package/src/components/multi-field-input/question.test.js +1 -1
  15. package/src/components/number-entry/question.js +1 -5
  16. package/src/components/radio/question.js +1 -1
  17. package/src/components/select/question.js +1 -1
  18. package/src/components/single-line-input/question.js +0 -8
  19. package/src/components/text-entry/question.js +4 -4
  20. package/src/components/text-entry-redact/index.njk +15 -11
  21. package/src/components/text-entry-redact/question.js +6 -16
  22. package/src/components/unit-option-entry/question.js +4 -11
  23. package/src/components/utils/component-types.js +18 -0
  24. package/src/index.js +72 -25
  25. package/src/middleware/redirect-to-unanswered-question.test.js +1 -1
  26. package/src/questions/options-question.js +5 -12
  27. package/src/questions/question-types.d.ts +3 -3
  28. package/src/questions/question.js +6 -6
  29. package/src/questions/questions.js +1 -1
  30. package/test/check-your-answers.test.js +3 -8
  31. package/test/conditional-journey.test.js +431 -0
  32. package/test/questions.test.js +15 -28
  33. package/test/snapshots/secret-wish.html +15 -11
  34. package/test/utils/question-test-utils.js +52 -4
  35. package/test/utils/test-server.js +1 -0
  36. package/test/utils/utils.js +16 -1
  37. package/tsconfig.json +9 -1
  38. package/types/commitlint.config.d.ts +7 -0
  39. package/types/commitlint.config.d.ts.map +1 -0
  40. package/types/eslint.config.d.ts +95 -0
  41. package/types/eslint.config.d.ts.map +1 -0
  42. package/types/src/components/address/question.d.ts +31 -0
  43. package/types/src/components/address/question.d.ts.map +1 -0
  44. package/types/src/components/address/question.test.d.ts +2 -0
  45. package/types/src/components/address/question.test.d.ts.map +1 -0
  46. package/types/src/components/boolean/question.d.ts +47 -0
  47. package/types/src/components/boolean/question.d.ts.map +1 -0
  48. package/types/src/components/boolean/question.test.d.ts +2 -0
  49. package/types/src/components/boolean/question.test.d.ts.map +1 -0
  50. package/types/src/components/checkbox/question.d.ts +49 -0
  51. package/types/src/components/checkbox/question.d.ts.map +1 -0
  52. package/types/src/components/checkbox/question.test.d.ts +2 -0
  53. package/types/src/components/checkbox/question.test.d.ts.map +1 -0
  54. package/types/src/components/date/question.d.ts +22 -0
  55. package/types/src/components/date/question.d.ts.map +1 -0
  56. package/types/src/components/date/question.test.d.ts +2 -0
  57. package/types/src/components/date/question.test.d.ts.map +1 -0
  58. package/types/src/components/date-period/question.d.ts +29 -0
  59. package/types/src/components/date-period/question.d.ts.map +1 -0
  60. package/types/src/components/date-period/question.test.d.ts +2 -0
  61. package/types/src/components/date-period/question.test.d.ts.map +1 -0
  62. package/types/src/components/date-time/question.d.ts +24 -0
  63. package/types/src/components/date-time/question.d.ts.map +1 -0
  64. package/types/src/components/date-time/question.test.d.ts +2 -0
  65. package/types/src/components/date-time/question.test.d.ts.map +1 -0
  66. package/types/src/components/email/question.d.ts +30 -0
  67. package/types/src/components/email/question.d.ts.map +1 -0
  68. package/types/src/components/email/question.test.d.ts +2 -0
  69. package/types/src/components/email/question.test.d.ts.map +1 -0
  70. package/types/src/components/identifier/question.d.ts +15 -0
  71. package/types/src/components/identifier/question.d.ts.map +1 -0
  72. package/types/src/components/identifier/question.test.d.ts +2 -0
  73. package/types/src/components/identifier/question.test.d.ts.map +1 -0
  74. package/types/src/components/manage-list/manage-list-section.d.ts +16 -0
  75. package/types/src/components/manage-list/manage-list-section.d.ts.map +1 -0
  76. package/types/src/components/manage-list/manage-list-section.test.d.ts +2 -0
  77. package/types/src/components/manage-list/manage-list-section.test.d.ts.map +1 -0
  78. package/types/src/components/manage-list/question.d.ts +41 -0
  79. package/types/src/components/manage-list/question.d.ts.map +1 -0
  80. package/types/src/components/manage-list/question.test.d.ts +2 -0
  81. package/types/src/components/manage-list/question.test.d.ts.map +1 -0
  82. package/types/src/components/manage-list/utils.d.ts +18 -0
  83. package/types/src/components/manage-list/utils.d.ts.map +1 -0
  84. package/types/src/components/manage-list/utils.test.d.ts +2 -0
  85. package/types/src/components/manage-list/utils.test.d.ts.map +1 -0
  86. package/types/src/components/multi-field-input/question.d.ts +106 -0
  87. package/types/src/components/multi-field-input/question.d.ts.map +1 -0
  88. package/types/src/components/multi-field-input/question.test.d.ts +2 -0
  89. package/types/src/components/multi-field-input/question.test.d.ts.map +1 -0
  90. package/types/src/components/number-entry/question.d.ts +37 -0
  91. package/types/src/components/number-entry/question.d.ts.map +1 -0
  92. package/types/src/components/radio/question.d.ts +53 -0
  93. package/types/src/components/radio/question.d.ts.map +1 -0
  94. package/types/src/components/radio/question.test.d.ts +2 -0
  95. package/types/src/components/radio/question.test.d.ts.map +1 -0
  96. package/types/src/components/select/question.d.ts +51 -0
  97. package/types/src/components/select/question.d.ts.map +1 -0
  98. package/types/src/components/select/question.test.d.ts +2 -0
  99. package/types/src/components/select/question.test.d.ts.map +1 -0
  100. package/types/src/components/single-line-input/question.d.ts +18 -0
  101. package/types/src/components/single-line-input/question.d.ts.map +1 -0
  102. package/types/src/components/single-line-input/question.test.d.ts +2 -0
  103. package/types/src/components/single-line-input/question.test.d.ts.map +1 -0
  104. package/types/src/components/text-entry/question.d.ts +34 -0
  105. package/types/src/components/text-entry/question.d.ts.map +1 -0
  106. package/types/src/components/text-entry/question.test.d.ts +2 -0
  107. package/types/src/components/text-entry/question.test.d.ts.map +1 -0
  108. package/types/src/components/text-entry-redact/question.d.ts +42 -0
  109. package/types/src/components/text-entry-redact/question.d.ts.map +1 -0
  110. package/types/src/components/text-entry-redact/question.test.d.ts +2 -0
  111. package/types/src/components/text-entry-redact/question.test.d.ts.map +1 -0
  112. package/types/src/components/unit-option-entry/question.d.ts +83 -0
  113. package/types/src/components/unit-option-entry/question.d.ts.map +1 -0
  114. package/types/src/components/unit-option-entry/question.test.d.ts +2 -0
  115. package/types/src/components/unit-option-entry/question.test.d.ts.map +1 -0
  116. package/types/src/components/utils/component-types.d.ts +19 -0
  117. package/types/src/components/utils/component-types.d.ts.map +1 -0
  118. package/types/src/components/utils/persisted-number-answer.d.ts +2 -0
  119. package/types/src/components/utils/persisted-number-answer.d.ts.map +1 -0
  120. package/types/src/components/utils/question-has-answer.d.ts +17 -0
  121. package/types/src/components/utils/question-has-answer.d.ts.map +1 -0
  122. package/types/src/components/utils/question-has-answer.test.d.ts +2 -0
  123. package/types/src/components/utils/question-has-answer.test.d.ts.map +1 -0
  124. package/types/src/components/utils/question-utils.d.ts +15 -0
  125. package/types/src/components/utils/question-utils.d.ts.map +1 -0
  126. package/types/src/components/utils/question-utils.test.d.ts +2 -0
  127. package/types/src/components/utils/question-utils.test.d.ts.map +1 -0
  128. package/types/src/controller.d.ts +78 -0
  129. package/types/src/controller.d.ts.map +1 -0
  130. package/types/src/controller.test.d.ts +2 -0
  131. package/types/src/controller.test.d.ts.map +1 -0
  132. package/types/src/index.d.ts +54 -0
  133. package/types/src/index.d.ts.map +1 -0
  134. package/types/src/journey/journey-response.d.ts +32 -0
  135. package/types/src/journey/journey-response.d.ts.map +1 -0
  136. package/types/src/journey/journey-response.test.d.ts +2 -0
  137. package/types/src/journey/journey-response.test.d.ts.map +1 -0
  138. package/types/src/journey/journey.d.ts +144 -0
  139. package/types/src/journey/journey.d.ts.map +1 -0
  140. package/types/src/journey/journey.test.d.ts +2 -0
  141. package/types/src/journey/journey.test.d.ts.map +1 -0
  142. package/types/src/lib/address-utils.d.ts +6 -0
  143. package/types/src/lib/address-utils.d.ts.map +1 -0
  144. package/types/src/lib/address-utils.test.d.ts +2 -0
  145. package/types/src/lib/address-utils.test.d.ts.map +1 -0
  146. package/types/src/lib/address.d.ts +43 -0
  147. package/types/src/lib/address.d.ts.map +1 -0
  148. package/types/src/lib/address.test.d.ts +2 -0
  149. package/types/src/lib/address.test.d.ts.map +1 -0
  150. package/types/src/lib/date-utils.d.ts +60 -0
  151. package/types/src/lib/date-utils.d.ts.map +1 -0
  152. package/types/src/lib/date-utils.test.d.ts +2 -0
  153. package/types/src/lib/date-utils.test.d.ts.map +1 -0
  154. package/types/src/lib/session-answer-store.d.ts +84 -0
  155. package/types/src/lib/session-answer-store.d.ts.map +1 -0
  156. package/types/src/lib/session-answer-store.test.d.ts +2 -0
  157. package/types/src/lib/session-answer-store.test.d.ts.map +1 -0
  158. package/types/src/lib/utils.d.ts +19 -0
  159. package/types/src/lib/utils.d.ts.map +1 -0
  160. package/types/src/lib/utils.test.d.ts +2 -0
  161. package/types/src/lib/utils.test.d.ts.map +1 -0
  162. package/types/src/lib/uuid.d.ts +7 -0
  163. package/types/src/lib/uuid.d.ts.map +1 -0
  164. package/types/src/lib/uuid.test.d.ts +2 -0
  165. package/types/src/lib/uuid.test.d.ts.map +1 -0
  166. package/types/src/middleware/build-get-journey.d.ts +6 -0
  167. package/types/src/middleware/build-get-journey.d.ts.map +1 -0
  168. package/types/src/middleware/redirect-to-unanswered-question.d.ts +12 -0
  169. package/types/src/middleware/redirect-to-unanswered-question.d.ts.map +1 -0
  170. package/types/src/middleware/redirect-to-unanswered-question.test.d.ts +2 -0
  171. package/types/src/middleware/redirect-to-unanswered-question.test.d.ts.map +1 -0
  172. package/types/src/questions/create-questions.d.ts +21 -0
  173. package/types/src/questions/create-questions.d.ts.map +1 -0
  174. package/types/src/questions/options-question.d.ts +74 -0
  175. package/types/src/questions/options-question.d.ts.map +1 -0
  176. package/types/src/questions/options-question.test.d.ts +2 -0
  177. package/types/src/questions/options-question.test.d.ts.map +1 -0
  178. package/types/src/questions/question.d.ts +274 -0
  179. package/types/src/questions/question.d.ts.map +1 -0
  180. package/types/src/questions/question.test.d.ts +2 -0
  181. package/types/src/questions/question.test.d.ts.map +1 -0
  182. package/types/src/questions/questions.d.ts +3 -0
  183. package/types/src/questions/questions.d.ts.map +1 -0
  184. package/types/src/section.d.ts +107 -0
  185. package/types/src/section.d.ts.map +1 -0
  186. package/types/src/section.test.d.ts +2 -0
  187. package/types/src/section.test.d.ts.map +1 -0
  188. package/types/src/validator/address-validator.d.ts +41 -0
  189. package/types/src/validator/address-validator.d.ts.map +1 -0
  190. package/types/src/validator/address-validator.test.d.ts +2 -0
  191. package/types/src/validator/address-validator.test.d.ts.map +1 -0
  192. package/types/src/validator/base-validator.d.ts +11 -0
  193. package/types/src/validator/base-validator.d.ts.map +1 -0
  194. package/types/src/validator/base-validator.test.d.ts +2 -0
  195. package/types/src/validator/base-validator.test.d.ts.map +1 -0
  196. package/types/src/validator/conditional-required-validator.d.ts +24 -0
  197. package/types/src/validator/conditional-required-validator.d.ts.map +1 -0
  198. package/types/src/validator/conditional-required-validator.test.d.ts +2 -0
  199. package/types/src/validator/conditional-required-validator.test.d.ts.map +1 -0
  200. package/types/src/validator/confirmation-checkbox-validator.d.ts +27 -0
  201. package/types/src/validator/confirmation-checkbox-validator.d.ts.map +1 -0
  202. package/types/src/validator/confirmation-checkbox-validator.test.d.ts +2 -0
  203. package/types/src/validator/confirmation-checkbox-validator.test.d.ts.map +1 -0
  204. package/types/src/validator/coordinates-validator.d.ts +22 -0
  205. package/types/src/validator/coordinates-validator.d.ts.map +1 -0
  206. package/types/src/validator/coordinates-validator.test.d.ts +2 -0
  207. package/types/src/validator/coordinates-validator.test.d.ts.map +1 -0
  208. package/types/src/validator/date-period-validator.d.ts +63 -0
  209. package/types/src/validator/date-period-validator.d.ts.map +1 -0
  210. package/types/src/validator/date-period-validator.test.d.ts +2 -0
  211. package/types/src/validator/date-period-validator.test.d.ts.map +1 -0
  212. package/types/src/validator/date-time-validator.d.ts +26 -0
  213. package/types/src/validator/date-time-validator.d.ts.map +1 -0
  214. package/types/src/validator/date-time-validator.test.d.ts +2 -0
  215. package/types/src/validator/date-time-validator.test.d.ts.map +1 -0
  216. package/types/src/validator/date-validator.d.ts +48 -0
  217. package/types/src/validator/date-validator.d.ts.map +1 -0
  218. package/types/src/validator/date-validator.test.d.ts +2 -0
  219. package/types/src/validator/date-validator.test.d.ts.map +1 -0
  220. package/types/src/validator/document-upload-validator.d.ts +10 -0
  221. package/types/src/validator/document-upload-validator.d.ts.map +1 -0
  222. package/types/src/validator/document-upload-validator.test.d.ts +2 -0
  223. package/types/src/validator/document-upload-validator.test.d.ts.map +1 -0
  224. package/types/src/validator/email-validator.d.ts +73 -0
  225. package/types/src/validator/email-validator.d.ts.map +1 -0
  226. package/types/src/validator/email-validator.test.d.ts +2 -0
  227. package/types/src/validator/email-validator.test.d.ts.map +1 -0
  228. package/types/src/validator/multi-field-input-validator.d.ts +70 -0
  229. package/types/src/validator/multi-field-input-validator.d.ts.map +1 -0
  230. package/types/src/validator/multi-field-input-validator.test.d.ts +2 -0
  231. package/types/src/validator/multi-field-input-validator.test.d.ts.map +1 -0
  232. package/types/src/validator/numeric-validator.d.ts +49 -0
  233. package/types/src/validator/numeric-validator.d.ts.map +1 -0
  234. package/types/src/validator/numeric-validator.test.d.ts +2 -0
  235. package/types/src/validator/numeric-validator.test.d.ts.map +1 -0
  236. package/types/src/validator/required-validator.d.ts +22 -0
  237. package/types/src/validator/required-validator.d.ts.map +1 -0
  238. package/types/src/validator/required-validator.test.d.ts +2 -0
  239. package/types/src/validator/required-validator.test.d.ts.map +1 -0
  240. package/types/src/validator/same-answer-validator.d.ts +18 -0
  241. package/types/src/validator/same-answer-validator.d.ts.map +1 -0
  242. package/types/src/validator/same-answer-validator.test.d.ts +2 -0
  243. package/types/src/validator/same-answer-validator.test.d.ts.map +1 -0
  244. package/types/src/validator/string-validator.d.ts +58 -0
  245. package/types/src/validator/string-validator.d.ts.map +1 -0
  246. package/types/src/validator/string-validator.test.d.ts +2 -0
  247. package/types/src/validator/string-validator.test.d.ts.map +1 -0
  248. package/types/src/validator/unit-option-entry-validator.d.ts +40 -0
  249. package/types/src/validator/unit-option-entry-validator.d.ts.map +1 -0
  250. package/types/src/validator/unit-option-entry-validator.test.d.ts +2 -0
  251. package/types/src/validator/unit-option-entry-validator.test.d.ts.map +1 -0
  252. package/types/src/validator/valid-option-validator.d.ts +22 -0
  253. package/types/src/validator/valid-option-validator.d.ts.map +1 -0
  254. package/types/src/validator/valid-option-validator.test.d.ts +2 -0
  255. package/types/src/validator/valid-option-validator.test.d.ts.map +1 -0
  256. package/types/src/validator/validation-error-handler.d.ts +20 -0
  257. package/types/src/validator/validation-error-handler.d.ts.map +1 -0
  258. package/types/src/validator/validation-error-handler.test.d.ts +2 -0
  259. package/types/src/validator/validation-error-handler.test.d.ts.map +1 -0
  260. package/types/src/validator/validator.d.ts +5 -0
  261. package/types/src/validator/validator.d.ts.map +1 -0
  262. package/types/src/validator/validator.test.d.ts +2 -0
  263. package/types/src/validator/validator.test.d.ts.map +1 -0
  264. package/types/test/mock/journey.d.ts +3 -0
  265. package/types/test/mock/journey.d.ts.map +1 -0
  266. package/types/test/mock/uuid.d.ts +7 -0
  267. package/types/test/mock/uuid.d.ts.map +1 -0
  268. package/types/test/utils/nunjucks.d.ts +2 -0
  269. package/types/test/utils/nunjucks.d.ts.map +1 -0
  270. package/types/test/utils/utils.d.ts +32 -0
  271. package/types/test/utils/utils.d.ts.map +1 -0
  272. package/src/lib/address.d.ts +0 -7
@@ -0,0 +1,3 @@
1
+ /** @type {Record<string, import('./question').Question>} */
2
+ export const questionClasses: Record<string, any>;
3
+ //# sourceMappingURL=questions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../../src/questions/questions.js"],"names":[],"mappings":"AAsBA,4DAA4D;AAC5D,8BADW,MAAM,CAAC,MAAM,EAAE,GAA6B,CAAC,CAkBrD"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * A value indicating the final question of a section has been reached
3
+ *
4
+ * @type {Symbol}
5
+ */
6
+ export const END_OF_SECTION: Symbol;
7
+ /**
8
+ * Defines a section for a questionnaire, a set of Questions
9
+ * @class
10
+ */
11
+ export class Section {
12
+ /**
13
+ * Implementation of getNextQuestion given a list of questions
14
+ *
15
+ * @param {import('./section-types.d.ts').StaticGetNextQuestionParams} params
16
+ * @returns {Question|Symbol|null}
17
+ */
18
+ static getNextQuestion({ questions, questionFieldName, response, takeNextQuestion, reverse }: import("./section-types.d.ts").StaticGetNextQuestionParams): Question | Symbol | null;
19
+ /**
20
+ * creates an instance of a section
21
+ * @param {string} name
22
+ * @param {string} segment
23
+ */
24
+ constructor(name: string, segment: string);
25
+ /**
26
+ * @type {string} - the display name of the section shown to user
27
+ */
28
+ name: string;
29
+ /**
30
+ * @type {string} - the unique url segment for the section
31
+ */
32
+ segment: string;
33
+ /**
34
+ * @type {Array<Question>} - questions within the section
35
+ */
36
+ questions: Array<Question>;
37
+ /**
38
+ * Add a condition to all questions in this section
39
+ *
40
+ * @param {QuestionCondition} shouldIncludeSection
41
+ * @returns {Section}
42
+ */
43
+ withSectionCondition(shouldIncludeSection: QuestionCondition): Section;
44
+ /**
45
+ * Fluent API method for adding questions
46
+ * @param {import('#src/questions/question.js').Question} question
47
+ * @param {import('#src/components/manage-list/manage-list-section.js').ManageListSection} [manageListSection]
48
+ * @returns {Section}
49
+ */
50
+ addQuestion(question: import("#src/questions/question.js").Question, manageListSection?: import("#src/components/manage-list/manage-list-section.js").ManageListSection): Section;
51
+ /**
52
+ * Fluent API method for attaching conditions to the previously added question
53
+ * @param {QuestionCondition} shouldIncludeQuestion
54
+ * @returns {Section}
55
+ */
56
+ withCondition(shouldIncludeQuestion: QuestionCondition): Section;
57
+ withRequiredCondition(isQuestionMandatory: any, requiredFieldErrorMsg: any): this;
58
+ /**
59
+ * Fluent API method for starting a multi question condition
60
+ * @param {string} conditionName
61
+ * @param {QuestionCondition} shouldIncludeQuestion
62
+ * @returns {Section}
63
+ */
64
+ startMultiQuestionCondition(conditionName: string, shouldIncludeQuestion: QuestionCondition): Section;
65
+ /**
66
+ * Fluent API method for ending a multi question condition
67
+ * @param {string} conditionName
68
+ * @returns {Section}
69
+ */
70
+ endMultiQuestionCondition(conditionName: string): Section;
71
+ /**
72
+ * Get the next question in this section given a questionParam (question fieldName)
73
+ * @param {import('./section-types.d.ts').GetNextQuestionParams} params
74
+ * @returns {Question|Symbol|null}
75
+ */
76
+ getNextQuestion(params: import("./section-types.d.ts").GetNextQuestionParams): Question | Symbol | null;
77
+ /**
78
+ * checks answers on response to ensure that a answer is provided for each required question in the section
79
+ * @param {JourneyResponse} journeyResponse
80
+ * @returns {SectionStatus}
81
+ */
82
+ getStatus(journeyResponse: JourneyResponse): SectionStatus;
83
+ /**
84
+ * checks answers on response and return true if the status of the section is complete
85
+ * @param {JourneyResponse} journeyResponse
86
+ * @returns {boolean}
87
+ */
88
+ isComplete(journeyResponse: JourneyResponse): boolean;
89
+ #private;
90
+ }
91
+ export type SECTION_STATUS = SectionStatus;
92
+ /**
93
+ * @typedef {string} SectionStatus
94
+ */
95
+ /**
96
+ * @enum {SectionStatus}
97
+ */
98
+ export const SECTION_STATUS: Readonly<{
99
+ NOT_STARTED: "Not started";
100
+ IN_PROGRESS: "In progress";
101
+ COMPLETE: "Completed";
102
+ }>;
103
+ export type Question = any;
104
+ export type JourneyResponse = any;
105
+ export type QuestionCondition = ((response: JourneyResponse) => boolean);
106
+ export type SectionStatus = string;
107
+ //# sourceMappingURL=section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../src/section.js"],"names":[],"mappings":"AASA;;;;GAIG;AACH,6BAFU,MAAM,CAEuC;AAEvD;;;GAGG;AACH;IAgNC;;;;;OAKG;IACH,8FAHW,OAAO,sBAAsB,EAAE,2BAA2B,GACxD,QAAQ,GAAC,MAAM,GAAC,IAAI,CAoBhC;IAvMD;;;;OAIG;IACH,kBAHW,MAAM,WACN,MAAM,EAKhB;IAxCD;;OAEG;IACH,MAFU,MAAM,CAEX;IAEL;;OAEG;IACH,SAFU,MAAM,CAER;IAER;;OAEG;IACH,WAFU,KAAK,CAAC,QAAQ,CAAC,CAEV;IA6Bf;;;;;OAKG;IACH,2CAHW,iBAAiB,GACf,OAAO,CAcnB;IAED;;;;;OAKG;IACH,sBAJW,OAAO,4BAA4B,EAAE,QAAQ,sBAC7C,OAAO,oDAAoD,EAAE,iBAAiB,GAC5E,OAAO,CAgBnB;IA8BD;;;;OAIG;IACH,qCAHW,iBAAiB,GACf,OAAO,CAanB;IAED,kFAoBC;IAED;;;;;OAKG;IACH,2CAJW,MAAM,yBACN,iBAAiB,GACf,OAAO,CAQnB;IAED;;;;OAIG;IACH,yCAHW,MAAM,GACJ,OAAO,CAQnB;IAED;;;;OAIG;IACH,wBAHW,OAAO,sBAAsB,EAAE,qBAAqB,GAClD,QAAQ,GAAC,MAAM,GAAC,IAAI,CAuBhC;IA4BD;;;;OAIG;IACH,2BAHW,eAAe,GACb,aAAa,CAoDzB;IAED;;;;OAIG;IACH,4BAHW,eAAe,GACb,OAAO,CAInB;;CAKD;6BAOS,aAAa;AALvB;;GAEG;AAEH;;GAEG;AACH;;;;GAIG;;;gCA7UU,CAAC,CAAC,QAAQ,EAAE,eAAe,KAAK,OAAO,CAAC;4BAmUxC,MAAM"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=section.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.test.d.ts","sourceRoot":"","sources":["../../src/section.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ export function validatePostcode(postcode: any, errorMessage?: string): any;
2
+ export const addressLine1MaxLength: 250;
3
+ export const addressLine1MinLength: 0;
4
+ export const addressLine2MaxLength: 250;
5
+ export const addressLine2MinLength: 0;
6
+ export const townCityMaxLength: 250;
7
+ export const townCityMinLength: 0;
8
+ export const countyMaxLength: 250;
9
+ export const countyMinLength: 0;
10
+ export const postcodeMaxLength: 8;
11
+ export const postcodeMinLength: 5;
12
+ /**
13
+ * enforces address fields are within allowed parameters
14
+ * @class
15
+ */
16
+ export default class AddressValidator extends BaseValidator {
17
+ /**
18
+ * creates an instance of an AddressValidator
19
+ * @param {Object} opts
20
+ * @param {boolean} [opts.required]
21
+ * @param {{[key: string]: boolean}} [opts.requiredFields]
22
+ */
23
+ constructor(opts: {
24
+ required?: boolean | undefined;
25
+ requiredFields?: {
26
+ [key: string]: boolean;
27
+ } | undefined;
28
+ });
29
+ requiredFields: {
30
+ [key: string]: boolean;
31
+ } | undefined;
32
+ /**
33
+ * validates response body using questionObj fieldname
34
+ * @param {Question} questionObj
35
+ */
36
+ validate(questionObj: Question): import("express-validator").ValidationChain[];
37
+ isRequired(): boolean;
38
+ #private;
39
+ }
40
+ import BaseValidator from './base-validator.js';
41
+ //# sourceMappingURL=address-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-validator.d.ts","sourceRoot":"","sources":["../../../src/validator/address-validator.js"],"names":[],"mappings":"AAIO,4EAQN;AAGD,oCAAqC,GAAG,CAAC;AACzC,oCAAqC,CAAC,CAAC;AACvC,oCAAqC,GAAG,CAAC;AACzC,oCAAqC,CAAC,CAAC;AACvC,gCAAiC,GAAG,CAAC;AACrC,gCAAiC,CAAC,CAAC;AACnC,8BAA+B,GAAG,CAAC;AACnC,8BAA+B,CAAC,CAAC;AACjC,gCAAiC,CAAC,CAAC;AACnC,gCAAiC,CAAC,CAAC;AAEnC;;;GAGG;AACH;IACC;;;;;OAKG;IACH,kBAHG;QAAuB,QAAQ;QACS,cAAc;;;KAAC,EAKzD;IADA;;kBAA0C;IAG3C;;;OAGG;IACH,sBAFW,QAAQ,iDAYlB;IA+FD,sBAKC;;CACD;0BA3JyB,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=address-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-validator.test.d.ts","sourceRoot":"","sources":["../../../src/validator/address-validator.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @abstract
3
+ * @class BaseValidator
4
+ */
5
+ export default class BaseValidator {
6
+ /**
7
+ * @type {string} error message to display to user
8
+ */
9
+ errorMessage: string;
10
+ }
11
+ //# sourceMappingURL=base-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-validator.d.ts","sourceRoot":"","sources":["../../../src/validator/base-validator.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH;IACC;;OAEG;IACH,cAFU,MAAM,CAEH;CAOb"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=base-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-validator.test.d.ts","sourceRoot":"","sources":["../../../src/validator/base-validator.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
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 ConditionalRequiredValidator extends BaseValidator {
9
+ /**
10
+ * creates an instance of a ConditionalRequiredValidator
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 questionObj's fieldname
16
+ * @param {Question} questionObj
17
+ */
18
+ validate(questionObj: Question): any;
19
+ getConditionalFieldName(questionObj: any, option: any): string;
20
+ isValueIncluded(questionObj: any, value: any): import("express-validator").ValidationChain;
21
+ }
22
+ export type Question = typeof import("../questions/question.js");
23
+ import BaseValidator from './base-validator.js';
24
+ //# sourceMappingURL=conditional-required-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditional-required-validator.d.ts","sourceRoot":"","sources":["../../../src/validator/conditional-required-validator.js"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH;IAMC;;;OAGG;IACH,2BAFW,MAAM,EAQhB;IAED;;;OAGG;IACH,sBAFW,QAAQ,OAclB;IAED,+DAEC;IAED,2FAKC;CACD;;0BAxDyB,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=conditional-required-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditional-required-validator.test.d.ts","sourceRoot":"","sources":["../../../src/validator/conditional-required-validator.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @typedef {import('../questions/question.js')} Question
3
+ */
4
+ /**
5
+ * enforces a confirmation checkbox is checked before proceeding
6
+ * @class
7
+ */
8
+ export default class ConfirmationCheckboxValidator extends BaseValidator {
9
+ /**
10
+ * creates an instance of a ConditionalRequiredValidator
11
+ * @param {Object} params
12
+ * @param {string} params.checkboxName
13
+ * @param {string} params.errorMessage - custom error message to show on validation failure
14
+ */
15
+ constructor({ checkboxName, errorMessage }: {
16
+ checkboxName: string;
17
+ errorMessage: string;
18
+ });
19
+ checkboxName: string;
20
+ /**
21
+ * validates the response body, checking the checkbox name
22
+ */
23
+ validate(): import("express-validator").ValidationChain;
24
+ }
25
+ export type Question = typeof import("../questions/question.js");
26
+ import BaseValidator from './base-validator.js';
27
+ //# sourceMappingURL=confirmation-checkbox-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmation-checkbox-validator.d.ts","sourceRoot":"","sources":["../../../src/validator/confirmation-checkbox-validator.js"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH;IAMC;;;;;OAKG;IACH,4CAHG;QAAuB,YAAY,EAA3B,MAAM;QACS,YAAY,EAA3B,MAAM;KAChB,EAMA;IAFA,qBAAgC;IAIjC;;OAEG;IACH,wDAEC;CACD;;0BAnCyB,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=confirmation-checkbox-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmation-checkbox-validator.test.d.ts","sourceRoot":"","sources":["../../../src/validator/confirmation-checkbox-validator.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ export const requiredCoordinateLength: 6;
2
+ /**
3
+ * @typedef {Object} CoordinateField
4
+ * @property {string} title
5
+ * @property {string} fieldName
6
+ */
7
+ export default class CoordinatesValidator extends BaseValidator {
8
+ /**
9
+ * @param {CoordinateField} northing
10
+ * @param {CoordinateField} easting
11
+ */
12
+ constructor(northing: CoordinateField, easting: CoordinateField);
13
+ northing: CoordinateField;
14
+ easting: CoordinateField;
15
+ validate(): import("express-validator").ValidationChain[];
16
+ }
17
+ export type CoordinateField = {
18
+ title: string;
19
+ fieldName: string;
20
+ };
21
+ import BaseValidator from './base-validator.js';
22
+ //# sourceMappingURL=coordinates-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinates-validator.d.ts","sourceRoot":"","sources":["../../../src/validator/coordinates-validator.js"],"names":[],"mappings":"AAGA,uCAAwC,CAAC,CAAC;AAE1C;;;;GAIG;AACH;IACC;;;OAGG;IACH,sBAHW,eAAe,WACf,eAAe,EAMzB;IAFA,0BAAwB;IACxB,yBAAsB;IAGvB,0DAkCC;CACD;;WAjDa,MAAM;eACN,MAAM;;0BARM,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=coordinates-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinates-validator.test.d.ts","sourceRoot":"","sources":["../../../src/validator/coordinates-validator.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @typedef {import('../components/date/question.js')} DateQuestion
3
+ */
4
+ /**
5
+ * @typedef {Object} DateValidationSettings
6
+ * @property {Boolean} ensureFuture
7
+ * @property {Boolean} ensurePast
8
+ */
9
+ /**
10
+ * enforces a user has entered a valid date period
11
+ * @class
12
+ */
13
+ export default class DatePeriodValidator extends BaseValidator {
14
+ /**
15
+ * creates an instance of a DateValidator
16
+ * @param {string} inputLabel - string representing the field as displayed on the UI as part of an error message
17
+ * @param {DateValidationSettings} [dateValidationSettings] - object containing rules to apply
18
+ * @param {Object} [errorMessages] - object containing custom error messages to show on validation failure
19
+ */
20
+ constructor(inputLabel: string, dateValidationSettings?: DateValidationSettings, errorMessages?: Object);
21
+ /** @type {DateValidationSettings} */
22
+ dateValidationSettings: DateValidationSettings;
23
+ emptyErrorMessage: any;
24
+ noDayErrorMessage: any;
25
+ noMonthErrorMessage: any;
26
+ noYearErrorMessage: any;
27
+ noDayMonthErrorMessage: any;
28
+ noDayYearErrorMessage: any;
29
+ noMonthYearErrorMessage: any;
30
+ invalidDateErrorMessage: any;
31
+ invalidMonthErrorMessage: any;
32
+ invalidYearErrorMessage: any;
33
+ futureDateErrorMessage: any;
34
+ pastDateErrorMessage: any;
35
+ /**
36
+ * validates the response body, checking the values sent for the date are valid
37
+ * @param {DateQuestion} questionObj
38
+ */
39
+ validate(questionObj: DateQuestion): import("express-validator").ValidationChain[];
40
+ rulesForNotEmptyInput({ dayInput, monthInput, yearInput }: {
41
+ dayInput: any;
42
+ monthInput: any;
43
+ yearInput: any;
44
+ }): import("express-validator").ValidationChain[];
45
+ rulesForValidInput({ dayInput, monthInput, yearInput }: {
46
+ dayInput: any;
47
+ monthInput: any;
48
+ yearInput: any;
49
+ }): import("express-validator").ValidationChain[];
50
+ rulesForDateIsInFuture({ dayInput, monthInput, yearInput }: {
51
+ dayInput: any;
52
+ monthInput: any;
53
+ yearInput: any;
54
+ }): import("express-validator").ValidationChain[];
55
+ #private;
56
+ }
57
+ export type DateQuestion = typeof import("../components/date/question.js");
58
+ export type DateValidationSettings = {
59
+ ensureFuture: boolean;
60
+ ensurePast: boolean;
61
+ };
62
+ import BaseValidator from './base-validator.js';
63
+ //# sourceMappingURL=date-period-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-period-validator.d.ts","sourceRoot":"","sources":["../../../src/validator/date-period-validator.js"],"names":[],"mappings":"AAQA;;GAEG;AAEH;;;;GAIG;AAEH;;;GAGG;AACH;IAIC;;;;;OAKG;IACH,wBAJW,MAAM,2BACN,sBAAsB,kBACtB,MAAM,EAgChB;IAvCD,qCAAqC;IACrC,wBADW,sBAAsB,CACV;IAoBtB,uBAAmG;IACnG,uBAAmG;IACnG,yBAAyG;IACzG,wBAAsG;IACtG,4BAAkH;IAClH,2BAA+G;IAC/G,6BACuF;IACvF,6BACuF;IACvF,8BACyF;IACzF,6BACuF;IACvF,4BAAkH;IAClH,0BAA4G;IAK7G;;;OAGG;IACH,sBAFW,YAAY,iDAsBtB;IAED;;;;sDAuCC;IAED;;;;sDAwBC;IAED;;;;sDAuBC;;CA6BD;;;;;;0BA5MyB,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=date-period-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-period-validator.test.d.ts","sourceRoot":"","sources":["../../../src/validator/date-period-validator.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @typedef {import('./question.js')} DateTimeQuestion
3
+ */
4
+ /**
5
+ * enforces a user has entered a valid date
6
+ * @class
7
+ */
8
+ export default class DateTimeValidator extends DateValidator {
9
+ /**
10
+ * creates an instance of a DateTimeValidator
11
+ * @param {string} timeInputLabel - string representing the time fields as displayed on the UI as part of an error message
12
+ * @param {string} [dateInputLabel] - string representing the date fields as displayed on the UI as part of an error message
13
+ * @param {DateValidationSettings} [dateValidationSettings] - object containing rules to apply
14
+ * @param {Object} [dateErrorMessages] - object containing custom date error messages to show on validation failure
15
+ */
16
+ constructor(timeInputLabel: string, dateInputLabel?: string, dateValidationSettings?: DateValidationSettings, dateErrorMessages?: Object);
17
+ timeInputLabel: string;
18
+ /**
19
+ * validates the response body, checking the values sent for the date are valid
20
+ * @param {DateTimeQuestion} questionObj
21
+ */
22
+ validate(questionObj: DateTimeQuestion): import("express-validator").ValidationChain[];
23
+ }
24
+ export type DateTimeQuestion = any;
25
+ import DateValidator from './date-validator.js';
26
+ //# sourceMappingURL=date-time-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-time-validator.d.ts","sourceRoot":"","sources":["../../../src/validator/date-time-validator.js"],"names":[],"mappings":"AAGA;;GAEG;AAEH;;;GAGG;AACH;IACC;;;;;;OAMG;IACH,4BALW,MAAM,mBACN,MAAM,2BACN,sBAAsB,sBACtB,MAAM,EAahB;IADA,uBAAoC;IAGrC;;;OAGG;IACH,sBAFW,gBAAgB,iDAsC1B;CACD;;0BAxEyB,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=date-time-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-time-validator.test.d.ts","sourceRoot":"","sources":["../../../src/validator/date-time-validator.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @typedef {import('../components/date/question.js')} DateQuestion
3
+ */
4
+ /**
5
+ * @typedef {Object} DateValidationSettings
6
+ * @property {Boolean} ensureFuture
7
+ * @property {Boolean} ensurePast
8
+ */
9
+ /**
10
+ * enforces a user has entered a valid date
11
+ * @class
12
+ */
13
+ export default class DateValidator extends BaseValidator {
14
+ /**
15
+ * creates an instance of a DateValidator
16
+ * @param {string} inputLabel - string representing the field as displayed on the UI as part of an error message
17
+ * @param {DateValidationSettings} [dateValidationSettings] - object containing rules to apply
18
+ * @param {Object} [errorMessages] - object containing custom error messages to show on validation failure
19
+ */
20
+ constructor(inputLabel: string, dateValidationSettings?: DateValidationSettings, errorMessages?: Object);
21
+ /** @type {DateValidationSettings} */
22
+ dateValidationSettings: DateValidationSettings;
23
+ emptyErrorMessage: any;
24
+ noDayErrorMessage: any;
25
+ noMonthErrorMessage: any;
26
+ noYearErrorMessage: any;
27
+ noDayMonthErrorMessage: any;
28
+ noDayYearErrorMessage: any;
29
+ noMonthYearErrorMessage: any;
30
+ invalidDateErrorMessage: any;
31
+ invalidMonthErrorMessage: any;
32
+ invalidYearErrorMessage: any;
33
+ futureDateErrorMessage: any;
34
+ pastDateErrorMessage: any;
35
+ /**
36
+ * validates the response body, checking the values sent for the date are valid
37
+ * @param {DateQuestion} questionObj
38
+ */
39
+ validate(questionObj: DateQuestion): import("express-validator").ValidationChain[];
40
+ #private;
41
+ }
42
+ export type DateQuestion = typeof import("../components/date/question.js");
43
+ export type DateValidationSettings = {
44
+ ensureFuture: boolean;
45
+ ensurePast: boolean;
46
+ };
47
+ import BaseValidator from './base-validator.js';
48
+ //# sourceMappingURL=date-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-validator.d.ts","sourceRoot":"","sources":["../../../src/validator/date-validator.js"],"names":[],"mappings":"AAQA;;GAEG;AAEH;;;;GAIG;AAEH;;;GAGG;AACH;IAIC;;;;;OAKG;IACH,wBAJW,MAAM,2BACN,sBAAsB,kBACtB,MAAM,EAgChB;IAvCD,qCAAqC;IACrC,wBADW,sBAAsB,CACV;IAoBtB,uBAAmG;IACnG,uBAAmG;IACnG,yBAAyG;IACzG,wBAAsG;IACtG,4BAAkH;IAClH,2BAA+G;IAC/G,6BACuF;IACvF,6BACuF;IACvF,8BACyF;IACzF,6BACuF;IACvF,4BAAkH;IAClH,0BAA4G;IAK7G;;;OAGG;IACH,sBAFW,YAAY,iDAuGtB;;CA6BD;;;;;;0BAjMyB,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=date-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-validator.test.d.ts","sourceRoot":"","sources":["../../../src/validator/date-validator.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ export default class DocumentUploadValidator extends BaseValidator {
2
+ /**
3
+ * @param {string} fieldName
4
+ */
5
+ constructor(fieldName: string);
6
+ fieldName: string;
7
+ validate(): import("express-validator").ValidationChain[];
8
+ }
9
+ import BaseValidator from './base-validator.js';
10
+ //# sourceMappingURL=document-upload-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-upload-validator.d.ts","sourceRoot":"","sources":["../../../src/validator/document-upload-validator.js"],"names":[],"mappings":"AAGA;IACC;;OAEG;IACH,uBAFW,MAAM,EAKhB;IADA,kBAA0B;IAG3B,0DAYC;CACD;0BAzByB,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=document-upload-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-upload-validator.test.d.ts","sourceRoot":"","sources":["../../../src/validator/document-upload-validator.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @typedef {Object} EmailValidationOptions
3
+ * @property {boolean} [allowDisplayName] - Allow display names (e.g., "John Doe <john@example.com>")
4
+ * @property {boolean} [requireTld] - Require top-level domain
5
+ * @property {boolean} [allowUtf8LocalPart] - Allow UTF8 characters in local part
6
+ * @property {boolean} [allowIpDomain] - Allow IP addresses as domain
7
+ * @property {string} [errorMessage] - Custom error message
8
+ */
9
+ export default class EmailValidator extends BaseValidator {
10
+ /**
11
+ * @param {Object} params
12
+ * @param {EmailValidationOptions} [params.options] - Email validation options
13
+ * @param {string} [params.errorMessage] - Custom error message
14
+ * @param {string} [params.fieldName] - Field name to validate
15
+ */
16
+ constructor({ options, errorMessage, fieldName }?: {
17
+ options?: EmailValidationOptions | undefined;
18
+ errorMessage?: string | undefined;
19
+ fieldName?: string | undefined;
20
+ });
21
+ options: {
22
+ /**
23
+ * - Allow display names (e.g., "John Doe <john@example.com>")
24
+ */
25
+ allowDisplayName?: boolean | undefined;
26
+ /**
27
+ * - Require top-level domain
28
+ */
29
+ requireTld?: boolean | undefined;
30
+ /**
31
+ * - Allow UTF8 characters in local part
32
+ */
33
+ allowUtf8LocalPart?: boolean | undefined;
34
+ /**
35
+ * - Allow IP addresses as domain
36
+ */
37
+ allowIpDomain?: boolean | undefined;
38
+ /**
39
+ * - Custom error message
40
+ */
41
+ errorMessage?: string | undefined;
42
+ allow_display_name: boolean;
43
+ require_tld: boolean;
44
+ allow_utf8_local_part: boolean;
45
+ allow_ip_domain: boolean;
46
+ };
47
+ fieldName: string | undefined;
48
+ validate(questionObj: any): import("express-validator").ValidationChain;
49
+ }
50
+ export type EmailValidationOptions = {
51
+ /**
52
+ * - Allow display names (e.g., "John Doe <john@example.com>")
53
+ */
54
+ allowDisplayName?: boolean | undefined;
55
+ /**
56
+ * - Require top-level domain
57
+ */
58
+ requireTld?: boolean | undefined;
59
+ /**
60
+ * - Allow UTF8 characters in local part
61
+ */
62
+ allowUtf8LocalPart?: boolean | undefined;
63
+ /**
64
+ * - Allow IP addresses as domain
65
+ */
66
+ allowIpDomain?: boolean | undefined;
67
+ /**
68
+ * - Custom error message
69
+ */
70
+ errorMessage?: string | undefined;
71
+ };
72
+ import BaseValidator from './base-validator.js';
73
+ //# sourceMappingURL=email-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-validator.d.ts","sourceRoot":"","sources":["../../../src/validator/email-validator.js"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH;IACC;;;;;OAKG;IACH,mDAJG;QAAwC,OAAO;QACvB,YAAY;QACZ,SAAS;KACnC,EAcA;IAVA;;;;;;;;;;;;;;;;;;;;;;;;;MAMC;IAGD,8BAA0B;IAG3B,wEAIC;CACD;;;;;;;;;;;;;;;;;;;;;;;0BAtCyB,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=email-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-validator.test.d.ts","sourceRoot":"","sources":["../../../src/validator/email-validator.test.js"],"names":[],"mappings":""}