@dwp/govuk-casa 8.16.2 → 8.16.3
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.
- package/dist/assets/css/casa-ie8.css +1 -1
- package/dist/assets/css/casa.css +1 -1
- package/dist/casa.d.ts +13 -13
- package/dist/casa.js +17 -7
- package/dist/casa.js.map +1 -1
- package/dist/lib/CasaTemplateLoader.d.ts +1 -1
- package/dist/lib/CasaTemplateLoader.js +13 -14
- package/dist/lib/CasaTemplateLoader.js.map +1 -1
- package/dist/lib/JourneyContext.d.ts +10 -4
- package/dist/lib/JourneyContext.js +57 -47
- package/dist/lib/JourneyContext.js.map +1 -1
- package/dist/lib/MutableRouter.d.ts +1 -1
- package/dist/lib/MutableRouter.js +22 -23
- package/dist/lib/MutableRouter.js.map +1 -1
- package/dist/lib/Plan.d.ts +5 -5
- package/dist/lib/Plan.js +49 -36
- package/dist/lib/Plan.js.map +1 -1
- package/dist/lib/ValidationError.d.ts +1 -1
- package/dist/lib/ValidationError.js +9 -9
- package/dist/lib/ValidationError.js.map +1 -1
- package/dist/lib/ValidatorFactory.js +4 -7
- package/dist/lib/ValidatorFactory.js.map +1 -1
- package/dist/lib/configuration-ingestor.d.ts +75 -14
- package/dist/lib/configuration-ingestor.js +156 -64
- package/dist/lib/configuration-ingestor.js.map +1 -1
- package/dist/lib/configure.js +11 -10
- package/dist/lib/configure.js.map +1 -1
- package/dist/lib/constants.js +8 -8
- package/dist/lib/context-id-generators.d.ts +1 -1
- package/dist/lib/context-id-generators.js +7 -4
- package/dist/lib/context-id-generators.js.map +1 -1
- package/dist/lib/end-session.js +2 -2
- package/dist/lib/field.d.ts +6 -6
- package/dist/lib/field.js +15 -21
- package/dist/lib/field.js.map +1 -1
- package/dist/lib/index.d.ts +13 -13
- package/dist/lib/index.js +17 -7
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/logger.js +7 -7
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/mount.js +3 -3
- package/dist/lib/mount.js.map +1 -1
- package/dist/lib/nunjucks-filters.d.ts +5 -1
- package/dist/lib/nunjucks-filters.js +37 -23
- package/dist/lib/nunjucks-filters.js.map +1 -1
- package/dist/lib/nunjucks.d.ts +2 -2
- package/dist/lib/nunjucks.js +6 -7
- package/dist/lib/nunjucks.js.map +1 -1
- package/dist/lib/utils.js +52 -42
- package/dist/lib/utils.js.map +1 -1
- package/dist/lib/validators/dateObject.d.ts +3 -3
- package/dist/lib/validators/dateObject.js +44 -37
- package/dist/lib/validators/dateObject.js.map +1 -1
- package/dist/lib/validators/email.d.ts +2 -2
- package/dist/lib/validators/email.js +4 -5
- package/dist/lib/validators/email.js.map +1 -1
- package/dist/lib/validators/inArray.d.ts +2 -2
- package/dist/lib/validators/inArray.js +5 -6
- package/dist/lib/validators/inArray.js.map +1 -1
- package/dist/lib/validators/index.d.ts +10 -10
- package/dist/lib/validators/index.js.map +1 -1
- package/dist/lib/validators/nino.d.ts +2 -2
- package/dist/lib/validators/nino.js +10 -7
- package/dist/lib/validators/nino.js.map +1 -1
- package/dist/lib/validators/postalAddressObject.d.ts +2 -2
- package/dist/lib/validators/postalAddressObject.js +52 -39
- package/dist/lib/validators/postalAddressObject.js.map +1 -1
- package/dist/lib/validators/range.d.ts +2 -2
- package/dist/lib/validators/range.js +6 -7
- package/dist/lib/validators/range.js.map +1 -1
- package/dist/lib/validators/regex.d.ts +2 -2
- package/dist/lib/validators/regex.js +4 -5
- package/dist/lib/validators/regex.js.map +1 -1
- package/dist/lib/validators/required.d.ts +2 -2
- package/dist/lib/validators/required.js +6 -9
- package/dist/lib/validators/required.js.map +1 -1
- package/dist/lib/validators/strlen.d.ts +2 -2
- package/dist/lib/validators/strlen.js +8 -9
- package/dist/lib/validators/strlen.js.map +1 -1
- package/dist/lib/validators/wordCount.d.ts +2 -2
- package/dist/lib/validators/wordCount.js +10 -9
- package/dist/lib/validators/wordCount.js.map +1 -1
- package/dist/lib/waypoint-url.d.ts +4 -4
- package/dist/lib/waypoint-url.js +23 -23
- package/dist/lib/waypoint-url.js.map +1 -1
- package/dist/middleware/body-parser.d.ts +27 -5
- package/dist/middleware/body-parser.js +37 -6
- package/dist/middleware/body-parser.js.map +1 -1
- package/dist/middleware/csrf.d.ts +3 -0
- package/dist/middleware/csrf.js +3 -0
- package/dist/middleware/csrf.js.map +1 -1
- package/dist/middleware/data.d.ts +22 -5
- package/dist/middleware/data.js +37 -7
- package/dist/middleware/data.js.map +1 -1
- package/dist/middleware/gather-fields.d.ts +1 -1
- package/dist/middleware/gather-fields.js +4 -3
- package/dist/middleware/gather-fields.js.map +1 -1
- package/dist/middleware/i18n.d.ts +11 -2
- package/dist/middleware/i18n.js +26 -17
- package/dist/middleware/i18n.js.map +1 -1
- package/dist/middleware/post.d.ts +3 -1
- package/dist/middleware/post.js +35 -18
- package/dist/middleware/post.js.map +1 -1
- package/dist/middleware/pre.d.ts +1 -1
- package/dist/middleware/pre.js +44 -21
- package/dist/middleware/pre.js.map +1 -1
- package/dist/middleware/progress-journey.d.ts +1 -1
- package/dist/middleware/progress-journey.js +5 -5
- package/dist/middleware/progress-journey.js.map +1 -1
- package/dist/middleware/sanitise-fields.d.ts +2 -2
- package/dist/middleware/sanitise-fields.js +13 -11
- package/dist/middleware/sanitise-fields.js.map +1 -1
- package/dist/middleware/serve-first-waypoint.d.ts +1 -1
- package/dist/middleware/serve-first-waypoint.js +6 -4
- package/dist/middleware/serve-first-waypoint.js.map +1 -1
- package/dist/middleware/session.d.ts +27 -8
- package/dist/middleware/session.js +53 -25
- package/dist/middleware/session.js.map +1 -1
- package/dist/middleware/skip-waypoint.d.ts +1 -1
- package/dist/middleware/skip-waypoint.js +3 -3
- package/dist/middleware/skip-waypoint.js.map +1 -1
- package/dist/middleware/steer-journey.d.ts +1 -1
- package/dist/middleware/steer-journey.js +15 -13
- package/dist/middleware/steer-journey.js.map +1 -1
- package/dist/middleware/strip-proxy-path.d.ts +1 -1
- package/dist/middleware/strip-proxy-path.js +3 -3
- package/dist/middleware/strip-proxy-path.js.map +1 -1
- package/dist/middleware/validate-fields.d.ts +2 -2
- package/dist/middleware/validate-fields.js +2 -5
- package/dist/middleware/validate-fields.js.map +1 -1
- package/dist/routes/ancillary.d.ts +2 -2
- package/dist/routes/ancillary.js +3 -3
- package/dist/routes/ancillary.js.map +1 -1
- package/dist/routes/journey.d.ts +1 -1
- package/dist/routes/journey.js +85 -31
- package/dist/routes/journey.js.map +1 -1
- package/dist/routes/static.d.ts +2 -2
- package/dist/routes/static.js +18 -18
- package/dist/routes/static.js.map +1 -1
- package/package.json +33 -36
- package/src/casa.js +13 -13
- package/src/lib/CasaTemplateLoader.js +21 -17
- package/src/lib/JourneyContext.js +118 -79
- package/src/lib/MutableRouter.js +30 -26
- package/src/lib/Plan.js +109 -62
- package/src/lib/ValidationError.js +13 -10
- package/src/lib/ValidatorFactory.js +7 -8
- package/src/lib/configuration-ingestor.js +200 -74
- package/src/lib/configure.js +31 -30
- package/src/lib/constants.js +8 -8
- package/src/lib/context-id-generators.js +39 -38
- package/src/lib/end-session.js +3 -3
- package/src/lib/field.js +48 -32
- package/src/lib/index.js +12 -12
- package/src/lib/logger.js +9 -9
- package/src/lib/mount.js +68 -73
- package/src/lib/nunjucks-filters.js +57 -44
- package/src/lib/nunjucks.js +20 -16
- package/src/lib/utils.js +69 -44
- package/src/lib/validators/dateObject.js +57 -48
- package/src/lib/validators/email.js +8 -9
- package/src/lib/validators/inArray.js +8 -9
- package/src/lib/validators/index.js +11 -11
- package/src/lib/validators/nino.js +25 -12
- package/src/lib/validators/postalAddressObject.js +73 -55
- package/src/lib/validators/range.js +9 -11
- package/src/lib/validators/regex.js +7 -8
- package/src/lib/validators/required.js +13 -14
- package/src/lib/validators/strlen.js +11 -12
- package/src/lib/validators/wordCount.js +17 -12
- package/src/lib/waypoint-url.js +48 -33
- package/src/middleware/body-parser.js +44 -10
- package/src/middleware/csrf.js +4 -1
- package/src/middleware/data.js +62 -25
- package/src/middleware/gather-fields.js +8 -8
- package/src/middleware/i18n.js +49 -39
- package/src/middleware/post.js +47 -21
- package/src/middleware/pre.js +60 -35
- package/src/middleware/progress-journey.js +32 -18
- package/src/middleware/sanitise-fields.js +43 -20
- package/src/middleware/serve-first-waypoint.js +12 -10
- package/src/middleware/session.js +97 -65
- package/src/middleware/skip-waypoint.js +7 -9
- package/src/middleware/steer-journey.js +39 -27
- package/src/middleware/strip-proxy-path.js +8 -7
- package/src/middleware/validate-fields.js +5 -12
- package/src/routes/ancillary.js +4 -6
- package/src/routes/journey.js +158 -78
- package/src/routes/static.js +61 -28
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/lib/validators/email.js"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/lib/validators/email.js"],"names":[],"mappings":";;;;;AAAA,0DAAqC;AACrC,+EAAoD;AACpD,iFAAsD;AACtD,0CAA6C;AAE7C,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAY,CAAC,CAAC,WAAW;AAE7C;;;GAGG;AAEH;;;GAGG;AAEH;;;;;;;;;GASG;AACH,MAAqB,KAAM,SAAQ,6BAAgB;IAAnD;;QACE,uDAAuD;QACvD,SAAI,GAAG,OAAO,CAAC;IAwBjB,CAAC;IAtBC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,EAAE;QAC9B,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI;YACvC,OAAO,EAAE,+BAA+B;YACxC,MAAM,EAAE,8BAA8B;SACvC,CAAC;QAEF,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,4BAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,QAAQ,CAAC,KAAK;QACZ,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAA,yBAAc,EAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA1BD,wBA0BC"}
|
|
@@ -35,5 +35,5 @@ export type ArrayConfigOptions = {
|
|
|
35
35
|
*/
|
|
36
36
|
source: string[];
|
|
37
37
|
};
|
|
38
|
-
import ValidatorFactory from
|
|
39
|
-
import ValidationError from
|
|
38
|
+
import ValidatorFactory from "../ValidatorFactory.js";
|
|
39
|
+
import ValidationError from "../ValidationError.js";
|
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
/* eslint-disable class-methods-use-this */
|
|
7
6
|
/**
|
|
8
7
|
* Test if a value is present in an array.
|
|
9
8
|
*
|
|
@@ -40,16 +39,16 @@ class InArray extends ValidatorFactory_js_1.default {
|
|
|
40
39
|
constructor() {
|
|
41
40
|
super(...arguments);
|
|
42
41
|
/** @property {string} name Validator name ("inArray") */
|
|
43
|
-
this.name =
|
|
42
|
+
this.name = "inArray";
|
|
44
43
|
}
|
|
45
44
|
validate(value, dataContext = {}) {
|
|
46
45
|
let valid = false;
|
|
47
46
|
const source = this.config.source || [];
|
|
48
47
|
const errorMsg = this.config.errorMsg || {
|
|
49
|
-
inline:
|
|
50
|
-
summary:
|
|
48
|
+
inline: "validation:rule.inArray.inline",
|
|
49
|
+
summary: "validation:rule.inArray.summary",
|
|
51
50
|
};
|
|
52
|
-
if (value !== null && typeof value !==
|
|
51
|
+
if (value !== null && typeof value !== "undefined") {
|
|
53
52
|
const search = Array.isArray(value) ? value : [value];
|
|
54
53
|
for (let i = 0, l = search.length; i < l; i += 1) {
|
|
55
54
|
if (source.indexOf(search[parseInt(i, 10)]) > -1) {
|
|
@@ -64,7 +63,7 @@ class InArray extends ValidatorFactory_js_1.default {
|
|
|
64
63
|
return valid ? [] : [ValidationError_js_1.default.make({ errorMsg, dataContext })];
|
|
65
64
|
}
|
|
66
65
|
sanitise(value) {
|
|
67
|
-
const coerce = (val) => (
|
|
66
|
+
const coerce = (val) => (0, utils_js_1.stringifyInput)(val, undefined);
|
|
68
67
|
// Basic stringable
|
|
69
68
|
if ((0, utils_js_1.isStringable)(value)) {
|
|
70
69
|
return (0, utils_js_1.stringifyInput)(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inArray.js","sourceRoot":"","sources":["../../../src/lib/validators/inArray.js"],"names":[],"mappings":";;;;;AAAA
|
|
1
|
+
{"version":3,"file":"inArray.js","sourceRoot":"","sources":["../../../src/lib/validators/inArray.js"],"names":[],"mappings":";;;;;AAAA;;;;;;;;GAQG;AACH,+EAAoD;AACpD,iFAAsD;AACtD,0CAA2D;AAE3D;;;GAGG;AAEH;;;;GAIG;AAEH;;;;;;;;;;GAUG;AACH,MAAqB,OAAQ,SAAQ,6BAAgB;IAArD;;QACE,yDAAyD;QACzD,SAAI,GAAG,SAAS,CAAC;IA0CnB,CAAC;IAxCC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,EAAE;QAC9B,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI;YACvC,MAAM,EAAE,gCAAgC;YACxC,OAAO,EAAE,iCAAiC;SAC3C,CAAC;QAEF,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACjD,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,KAAK,CAAC;oBACd,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,4BAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,QAAQ,CAAC,KAAK;QACZ,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,yBAAc,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAEvD,mBAAmB;QACnB,IAAI,IAAA,uBAAY,EAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,IAAA,yBAAc,EAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,kCAAkC;QAClC,qEAAqE;QACrE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QAED,oBAAoB;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA5CD,0BA4CC"}
|
|
@@ -11,13 +11,13 @@ declare namespace _default {
|
|
|
11
11
|
export { wordCount };
|
|
12
12
|
}
|
|
13
13
|
export default _default;
|
|
14
|
-
import dateObject from
|
|
15
|
-
import email from
|
|
16
|
-
import inArray from
|
|
17
|
-
import nino from
|
|
18
|
-
import postalAddressObject from
|
|
19
|
-
import regex from
|
|
20
|
-
import required from
|
|
21
|
-
import strlen from
|
|
22
|
-
import range from
|
|
23
|
-
import wordCount from
|
|
14
|
+
import dateObject from "./dateObject.js";
|
|
15
|
+
import email from "./email.js";
|
|
16
|
+
import inArray from "./inArray.js";
|
|
17
|
+
import nino from "./nino.js";
|
|
18
|
+
import postalAddressObject from "./postalAddressObject.js";
|
|
19
|
+
import regex from "./regex.js";
|
|
20
|
+
import required from "./required.js";
|
|
21
|
+
import strlen from "./strlen.js";
|
|
22
|
+
import range from "./range.js";
|
|
23
|
+
import wordCount from "./wordCount.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/validators/index.js"],"names":[],"mappings":";;;;;AAAA,oEAAyC;AACzC,0DAA+B;AAC/B,8DAAmC;AACnC,wDAA6B;AAC7B,sFAA2D;AAC3D,0DAA+B;AAC/B,gEAAqC;AACrC,4DAAiC;AACjC,0DAA+B;AAC/B,kEAAuC;AAEvC;;GAEG;AACH,kBAAe;IACb,UAAU,EAAV,uBAAU;IACV,KAAK,EAAL,kBAAK;IACL,OAAO,EAAP,oBAAO;IACP,IAAI,EAAJ,iBAAI;IACJ,mBAAmB,EAAnB,gCAAmB;IACnB,KAAK,EAAL,kBAAK;IACL,QAAQ,EAAR,qBAAQ;IACR,MAAM,EAAN,mBAAM;IACN,KAAK,EAAL,kBAAK;IACL,SAAS,EAAT,sBAAS;CACV,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/validators/index.js"],"names":[],"mappings":";;;;;AAAA,oEAAyC;AACzC,0DAA+B;AAC/B,8DAAmC;AACnC,wDAA6B;AAC7B,sFAA2D;AAC3D,0DAA+B;AAC/B,gEAAqC;AACrC,4DAAiC;AACjC,0DAA+B;AAC/B,kEAAuC;AAEvC;;GAEG;AACH,kBAAe;IACb,UAAU,EAAV,uBAAU;IACV,KAAK,EAAL,kBAAK;IACL,OAAO,EAAP,oBAAO;IACP,IAAI,EAAJ,iBAAI;IACJ,mBAAmB,EAAnB,gCAAmB;IACnB,KAAK,EAAL,kBAAK;IACL,QAAQ,EAAR,qBAAQ;IACR,MAAM,EAAN,mBAAM;IACN,KAAK,EAAL,kBAAK;IACL,SAAS,EAAT,sBAAS;CACV,CAAC"}
|
|
@@ -35,5 +35,5 @@ export type NinoConfigOptions = {
|
|
|
35
35
|
*/
|
|
36
36
|
allowWhitespace: boolean;
|
|
37
37
|
};
|
|
38
|
-
import ValidatorFactory from
|
|
39
|
-
import ValidationError from
|
|
38
|
+
import ValidatorFactory from "../ValidatorFactory.js";
|
|
39
|
+
import ValidationError from "../ValidationError.js";
|
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
/* eslint-disable class-methods-use-this */
|
|
7
6
|
const ValidationError_js_1 = __importDefault(require("../ValidationError.js"));
|
|
8
7
|
const ValidatorFactory_js_1 = __importDefault(require("../ValidatorFactory.js"));
|
|
9
8
|
const utils_js_1 = require("../utils.js");
|
|
@@ -31,18 +30,22 @@ const utils_js_1 = require("../utils.js");
|
|
|
31
30
|
class Nino extends ValidatorFactory_js_1.default {
|
|
32
31
|
constructor() {
|
|
33
32
|
super(...arguments);
|
|
34
|
-
this.name =
|
|
33
|
+
this.name = "nino";
|
|
35
34
|
}
|
|
36
35
|
validate(value, dataContext = {}) {
|
|
37
36
|
const { allowWhitespace, errorMsg = {
|
|
38
|
-
inline:
|
|
39
|
-
summary:
|
|
37
|
+
inline: "validation:rule.nino.inline",
|
|
38
|
+
summary: "validation:rule.nino.summary",
|
|
40
39
|
}, } = this.config;
|
|
41
|
-
if (typeof allowWhitespace !==
|
|
40
|
+
if (typeof allowWhitespace !== "undefined" &&
|
|
41
|
+
typeof allowWhitespace !== "boolean") {
|
|
42
42
|
throw new TypeError(`NINO validation rule option "allowWhitespace" must been a boolean. received ${typeof allowWhitespace}`);
|
|
43
43
|
}
|
|
44
|
-
const valid = typeof value ===
|
|
45
|
-
|
|
44
|
+
const valid = typeof value === "string" &&
|
|
45
|
+
value
|
|
46
|
+
.replace(typeof allowWhitespace !== "undefined" && allowWhitespace
|
|
47
|
+
? /\u0020/g
|
|
48
|
+
: "", "")
|
|
46
49
|
.match(/^(?!BG|GB|NK|KN|TN|NT|ZZ)[ABCEGHJ-PRSTW-Z][ABCEGHJ-NPRSTW-Z]\d{6}[A-D]$/i);
|
|
47
50
|
return valid ? [] : [ValidationError_js_1.default.make({ errorMsg, dataContext })];
|
|
48
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nino.js","sourceRoot":"","sources":["../../../src/lib/validators/nino.js"],"names":[],"mappings":";;;;;AAAA
|
|
1
|
+
{"version":3,"file":"nino.js","sourceRoot":"","sources":["../../../src/lib/validators/nino.js"],"names":[],"mappings":";;;;;AAAA,+EAAoD;AACpD,iFAAsD;AACtD,0CAA6C;AAE7C;;;GAGG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;GAWG;AACH,MAAqB,IAAK,SAAQ,6BAAgB;IAAlD;;QACE,SAAI,GAAG,MAAM,CAAC;IAyChB,CAAC;IAvCC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,EAAE;QAC9B,MAAM,EACJ,eAAe,EACf,QAAQ,GAAG;YACT,MAAM,EAAE,6BAA6B;YACrC,OAAO,EAAE,8BAA8B;SACxC,GACF,GAAG,IAAI,CAAC,MAAM,CAAC;QAEhB,IACE,OAAO,eAAe,KAAK,WAAW;YACtC,OAAO,eAAe,KAAK,SAAS,EACpC,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,+EAA+E,OAAO,eAAe,EAAE,CACxG,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GACT,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK;iBACF,OAAO,CACN,OAAO,eAAe,KAAK,WAAW,IAAI,eAAe;gBACvD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,EAAE,EACN,EAAE,CACH;iBACA,KAAK,CACJ,0EAA0E,CAC3E,CAAC;QAEN,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,4BAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,QAAQ,CAAC,KAAK;QACZ,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAA,yBAAc,EAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA1CD,uBA0CC"}
|
|
@@ -68,5 +68,5 @@ export type PostalAddressObjectConfigOptions = {
|
|
|
68
68
|
*/
|
|
69
69
|
requiredFields?: string[] | undefined;
|
|
70
70
|
};
|
|
71
|
-
import ValidatorFactory from
|
|
72
|
-
import ValidationError from
|
|
71
|
+
import ValidatorFactory from "../ValidatorFactory.js";
|
|
72
|
+
import ValidationError from "../ValidationError.js";
|
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
/* eslint-disable class-methods-use-this */
|
|
7
6
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
7
|
const ValidationError_js_1 = __importDefault(require("../ValidationError.js"));
|
|
9
8
|
const ValidatorFactory_js_1 = __importDefault(require("../ValidatorFactory.js"));
|
|
@@ -41,58 +40,66 @@ const { isPlainObject } = lodash_1.default; // CommonjS
|
|
|
41
40
|
class PostalAddressObject extends ValidatorFactory_js_1.default {
|
|
42
41
|
constructor() {
|
|
43
42
|
super(...arguments);
|
|
44
|
-
this.name =
|
|
43
|
+
this.name = "postalAddressObject";
|
|
45
44
|
}
|
|
46
45
|
validate(value, dataContext = {}) {
|
|
47
|
-
const cfg = Object.assign({ requiredFields: [
|
|
48
|
-
inline:
|
|
49
|
-
summary:
|
|
50
|
-
focusSuffix:
|
|
46
|
+
const cfg = Object.assign({ requiredFields: ["address1", "address3", "postcode"], strlenmax: undefined, errorMsgAddress1: {
|
|
47
|
+
inline: "validation:rule.postalAddressObject.address1.inline",
|
|
48
|
+
summary: "validation:rule.postalAddressObject.address1.summary",
|
|
49
|
+
focusSuffix: "[address1]",
|
|
51
50
|
}, errorMsgAddress2: {
|
|
52
|
-
inline:
|
|
53
|
-
summary:
|
|
54
|
-
focusSuffix:
|
|
51
|
+
inline: "validation:rule.postalAddressObject.address2.inline",
|
|
52
|
+
summary: "validation:rule.postalAddressObject.address2.summary",
|
|
53
|
+
focusSuffix: "[address2]",
|
|
55
54
|
}, errorMsgAddress3: {
|
|
56
|
-
inline:
|
|
57
|
-
summary:
|
|
58
|
-
focusSuffix:
|
|
55
|
+
inline: "validation:rule.postalAddressObject.address3.inline",
|
|
56
|
+
summary: "validation:rule.postalAddressObject.address3.summary",
|
|
57
|
+
focusSuffix: "[address3]",
|
|
59
58
|
}, errorMsgAddress4: {
|
|
60
|
-
inline:
|
|
61
|
-
summary:
|
|
62
|
-
focusSuffix:
|
|
59
|
+
inline: "validation:rule.postalAddressObject.address4.inline",
|
|
60
|
+
summary: "validation:rule.postalAddressObject.address4.summary",
|
|
61
|
+
focusSuffix: "[address4]",
|
|
63
62
|
}, errorMsgPostcode: {
|
|
64
|
-
inline:
|
|
65
|
-
summary:
|
|
66
|
-
focusSuffix:
|
|
63
|
+
inline: "validation:rule.postalAddressObject.postcode.inline",
|
|
64
|
+
summary: "validation:rule.postalAddressObject.postcode.summary",
|
|
65
|
+
focusSuffix: "[postcode]",
|
|
67
66
|
}, errorMsg: {
|
|
68
|
-
inline:
|
|
69
|
-
summary:
|
|
70
|
-
focusSuffix:
|
|
67
|
+
inline: "validation:rule.postalAddressObject.group.inline",
|
|
68
|
+
summary: "validation:rule.postalAddressObject.group.summary",
|
|
69
|
+
focusSuffix: "[address1]",
|
|
71
70
|
} }, this.config);
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
71
|
+
const objectifyError = (err) => typeof err === "string"
|
|
72
|
+
? {
|
|
73
|
+
inline: err,
|
|
74
|
+
summary: err,
|
|
75
|
+
}
|
|
76
|
+
: err;
|
|
77
77
|
// Work out required/optional parts based on config
|
|
78
78
|
const reqF = Object.create(null);
|
|
79
79
|
const reqC = cfg.requiredFields;
|
|
80
|
-
[
|
|
80
|
+
["address1", "address2", "address3", "address4", "postcode"].forEach((k) => {
|
|
81
81
|
// ESLint disabled as `k` is a known value from a constant list
|
|
82
82
|
/* eslint-disable-next-line security/detect-object-injection */
|
|
83
83
|
reqF[k] = reqC.indexOf(k) > -1;
|
|
84
84
|
});
|
|
85
85
|
let valid = true;
|
|
86
86
|
const errorMsgs = [];
|
|
87
|
-
if (typeof value ===
|
|
88
|
-
const reAddr = /^[
|
|
89
|
-
const reAddrLine1 =
|
|
87
|
+
if (typeof value === "object") {
|
|
88
|
+
const reAddr = /^[a-z0-9\-,.&#()/\\:;'" ]{2,}$/i;
|
|
89
|
+
const reAddrLine1 = /^(\d+|[a-z0-9\-,.&#()/\\:;'" ]{2,})$/i;
|
|
90
90
|
// UK Postcode regex taken from the dwp java pc checker
|
|
91
91
|
// https://github.com/dwp/postcode-format-validation
|
|
92
|
-
|
|
92
|
+
/* eslint-disable sonarjs/regex-complexity */
|
|
93
|
+
const rePostcode = /^(?![QVX])[A-Z]((?![IJZ])[A-Z]\d((\d?)|([ABEHMNPRVWXY]?))|(\d(\d?|[ABCDEFGHJKPSTUW]?))) ?\d((?![CIKMOV])[A-Z]){2}$|^(BFPO) ?\d{1,4}$/i;
|
|
94
|
+
/* eslint-enable sonarjs/regex-complexity */
|
|
93
95
|
// [required, regex, strlenmax, error message]
|
|
94
96
|
const attributes = {
|
|
95
|
-
address1: [
|
|
97
|
+
address1: [
|
|
98
|
+
reqF.address1,
|
|
99
|
+
reAddrLine1,
|
|
100
|
+
cfg.strlenmax,
|
|
101
|
+
cfg.errorMsgAddress1,
|
|
102
|
+
],
|
|
96
103
|
address2: [reqF.address2, reAddr, cfg.strlenmax, cfg.errorMsgAddress2],
|
|
97
104
|
address3: [reqF.address3, reAddr, cfg.strlenmax, cfg.errorMsgAddress3],
|
|
98
105
|
address4: [reqF.address4, reAddr, cfg.strlenmax, cfg.errorMsgAddress4],
|
|
@@ -104,10 +111,8 @@ class PostalAddressObject extends ValidatorFactory_js_1.default {
|
|
|
104
111
|
const attr = attributes[k];
|
|
105
112
|
const hasProperty = Object.prototype.hasOwnProperty.call(value, k);
|
|
106
113
|
const hasContent = hasProperty && value[k].length > 0;
|
|
107
|
-
const condMissingOrRegexMismatch = (attr[0] || hasContent)
|
|
108
|
-
|
|
109
|
-
const condExceedStrlen = attr[2] > 0 && hasContent
|
|
110
|
-
&& String(value[k]).length > attr[2];
|
|
114
|
+
const condMissingOrRegexMismatch = (attr[0] || hasContent) && (!hasProperty || !value[k].match(attr[1]));
|
|
115
|
+
const condExceedStrlen = attr[2] > 0 && hasContent && String(value[k]).length > attr[2];
|
|
111
116
|
if (condMissingOrRegexMismatch || condExceedStrlen) {
|
|
112
117
|
valid = false;
|
|
113
118
|
errorMsgs.push(Object.assign(Object.create(null), objectifyError(attr[3]), {
|
|
@@ -122,7 +127,7 @@ class PostalAddressObject extends ValidatorFactory_js_1.default {
|
|
|
122
127
|
errorMsgs.push(cfg.errorMsg);
|
|
123
128
|
}
|
|
124
129
|
// Build ValidationErrorGroup
|
|
125
|
-
const errorGroup = errorMsgs.map((err) =>
|
|
130
|
+
const errorGroup = errorMsgs.map((err) => ValidationError_js_1.default.make({ errorMsg: err, dataContext }));
|
|
126
131
|
return valid ? [] : [...errorGroup];
|
|
127
132
|
}
|
|
128
133
|
sanitise(value) {
|
|
@@ -131,8 +136,16 @@ class PostalAddressObject extends ValidatorFactory_js_1.default {
|
|
|
131
136
|
return Object.create(null);
|
|
132
137
|
}
|
|
133
138
|
// Prune unrecognised attributes, and coerce to Strings
|
|
134
|
-
const validKeys = [
|
|
135
|
-
|
|
139
|
+
const validKeys = [
|
|
140
|
+
"address1",
|
|
141
|
+
"address2",
|
|
142
|
+
"address3",
|
|
143
|
+
"address4",
|
|
144
|
+
"postcode",
|
|
145
|
+
];
|
|
146
|
+
const pruned = Object.fromEntries(Object.entries(value)
|
|
147
|
+
.filter(([k]) => validKeys.includes(k))
|
|
148
|
+
.map(([k, v]) => [k, (0, utils_js_1.stringifyInput)(v)]));
|
|
136
149
|
return Object.assign(Object.create(null), pruned);
|
|
137
150
|
}
|
|
138
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postalAddressObject.js","sourceRoot":"","sources":["../../../src/lib/validators/postalAddressObject.js"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"postalAddressObject.js","sourceRoot":"","sources":["../../../src/lib/validators/postalAddressObject.js"],"names":[],"mappings":"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"}
|
|
@@ -41,5 +41,5 @@ export type RangeConfigOptions = {
|
|
|
41
41
|
*/
|
|
42
42
|
min: number;
|
|
43
43
|
};
|
|
44
|
-
import ValidatorFactory from
|
|
45
|
-
import ValidationError from
|
|
44
|
+
import ValidatorFactory from "../ValidatorFactory.js";
|
|
45
|
+
import ValidationError from "../ValidationError.js";
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* eslint-disable class-methods-use-this */
|
|
3
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
4
|
};
|
|
@@ -29,15 +28,15 @@ const utils_js_1 = require("../utils.js");
|
|
|
29
28
|
class Range extends ValidatorFactory_js_1.default {
|
|
30
29
|
constructor() {
|
|
31
30
|
super(...arguments);
|
|
32
|
-
this.name =
|
|
31
|
+
this.name = "range";
|
|
33
32
|
}
|
|
34
33
|
validate(inputValue, dataContext = {}) {
|
|
35
34
|
const { errorMsgMax = {
|
|
36
|
-
inline:
|
|
37
|
-
summary:
|
|
35
|
+
inline: "validation:rule.range.max.inline",
|
|
36
|
+
summary: "validation:rule.range.max.summary",
|
|
38
37
|
}, errorMsgMin = {
|
|
39
|
-
inline:
|
|
40
|
-
summary:
|
|
38
|
+
inline: "validation:rule.range.min.inline",
|
|
39
|
+
summary: "validation:rule.range.min.summary",
|
|
41
40
|
}, min = Number.MIN_VALUE, max = Number.MAX_VALUE, } = this.config;
|
|
42
41
|
let errorMsg;
|
|
43
42
|
let valid = true;
|
|
@@ -55,7 +54,7 @@ class Range extends ValidatorFactory_js_1.default {
|
|
|
55
54
|
var _a;
|
|
56
55
|
// treat an empty string as undefined
|
|
57
56
|
// when user submits empty form, it stores an empty string
|
|
58
|
-
if (value !==
|
|
57
|
+
if (value !== "" && value !== undefined) {
|
|
59
58
|
// add to custom validator docs to ensure not to return a falsy value as
|
|
60
59
|
// it doesn't show on screen
|
|
61
60
|
return (_a = (0, utils_js_1.coerceInputToInteger)(value)) === null || _a === void 0 ? void 0 : _a.toString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/lib/validators/range.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/lib/validators/range.js"],"names":[],"mappings":";;;;;AAAA,iFAAsD;AACtD,+EAAoD;AACpD,0CAAmD;AAEnD;;;GAGG;AAEH;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,MAAqB,KAAM,SAAQ,6BAAgB;IAAnD;;QACE,SAAI,GAAG,OAAO,CAAC;IA0CjB,CAAC;IAxCC,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,EAAE;QACnC,MAAM,EACJ,WAAW,GAAG;YACZ,MAAM,EAAE,kCAAkC;YAC1C,OAAO,EAAE,mCAAmC;SAC7C,EACD,WAAW,GAAG;YACZ,MAAM,EAAE,kCAAkC;YAC1C,OAAO,EAAE,mCAAmC;SAC7C,EACD,GAAG,GAAG,MAAM,CAAC,SAAS,EACtB,GAAG,GAAG,MAAM,CAAC,SAAS,GACvB,GAAG,IAAI,CAAC,MAAM,CAAC;QAEhB,IAAI,QAAQ,CAAC;QACb,IAAI,KAAK,GAAG,IAAI,CAAC;QAEjB,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YACrB,KAAK,GAAG,KAAK,CAAC;YACd,QAAQ,GAAG,WAAW,CAAC;QACzB,CAAC;QAED,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YACrB,KAAK,GAAG,KAAK,CAAC;YACd,QAAQ,GAAG,WAAW,CAAC;QACzB,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,4BAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,QAAQ,CAAC,KAAK;;QACZ,qCAAqC;QACrC,0DAA0D;QAC1D,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,wEAAwE;YACxE,4BAA4B;YAC5B,OAAO,MAAA,IAAA,+BAAoB,EAAC,KAAK,CAAC,0CAAE,QAAQ,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA3CD,wBA2CC"}
|
|
@@ -36,5 +36,5 @@ export type RegexConfigOptions = {
|
|
|
36
36
|
*/
|
|
37
37
|
invert: boolean;
|
|
38
38
|
};
|
|
39
|
-
import ValidatorFactory from
|
|
40
|
-
import ValidationError from
|
|
39
|
+
import ValidatorFactory from "../ValidatorFactory.js";
|
|
40
|
+
import ValidationError from "../ValidationError.js";
|
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
/* eslint-disable class-methods-use-this */
|
|
7
6
|
const ValidatorFactory_js_1 = __importDefault(require("../ValidatorFactory.js"));
|
|
8
7
|
const ValidationError_js_1 = __importDefault(require("../ValidationError.js"));
|
|
9
8
|
const utils_js_1 = require("../utils.js");
|
|
@@ -28,15 +27,15 @@ const utils_js_1 = require("../utils.js");
|
|
|
28
27
|
class Regex extends ValidatorFactory_js_1.default {
|
|
29
28
|
constructor() {
|
|
30
29
|
super(...arguments);
|
|
31
|
-
this.name =
|
|
30
|
+
this.name = "regex";
|
|
32
31
|
}
|
|
33
|
-
validate(value =
|
|
32
|
+
validate(value = "", dataContext = {}) {
|
|
34
33
|
const invert = this.config.invert || false;
|
|
35
34
|
const match = value.match(this.config.pattern || /.*/);
|
|
36
35
|
const valid = invert ? !match : match;
|
|
37
36
|
const errorMsg = this.config.errorMsg || {
|
|
38
|
-
inline:
|
|
39
|
-
summary:
|
|
37
|
+
inline: "validation:rule.regex.inline",
|
|
38
|
+
summary: "validation:rule.regex.summary",
|
|
40
39
|
};
|
|
41
40
|
return valid ? [] : [ValidationError_js_1.default.make({ errorMsg, dataContext })];
|
|
42
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regex.js","sourceRoot":"","sources":["../../../src/lib/validators/regex.js"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"regex.js","sourceRoot":"","sources":["../../../src/lib/validators/regex.js"],"names":[],"mappings":";;;;;AAAA,iFAAsD;AACtD,+EAAoD;AACpD,0CAA6C;AAE7C;;;GAGG;AAEH;;;;;GAKG;AAEH;;;;;;;GAOG;AACH,MAAqB,KAAM,SAAQ,6BAAgB;IAAnD;;QACE,SAAI,GAAG,OAAO,CAAC;IAqBjB,CAAC;IAnBC,QAAQ,CAAC,KAAK,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI;YACvC,MAAM,EAAE,8BAA8B;YACtC,OAAO,EAAE,+BAA+B;SACzC,CAAC;QAEF,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,4BAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,QAAQ,CAAC,KAAK;QACZ,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAA,yBAAc,EAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAtBD,wBAsBC"}
|
|
@@ -31,5 +31,5 @@ export type RequiredConfigOptions = {
|
|
|
31
31
|
*/
|
|
32
32
|
errorMsg: ErrorMessageConfig;
|
|
33
33
|
};
|
|
34
|
-
import ValidatorFactory from
|
|
35
|
-
import ValidationError from
|
|
34
|
+
import ValidatorFactory from "../ValidatorFactory.js";
|
|
35
|
+
import ValidationError from "../ValidationError.js";
|
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
/* eslint-disable class-methods-use-this */
|
|
7
6
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
7
|
const utils_js_1 = require("../utils.js");
|
|
9
8
|
const ValidatorFactory_js_1 = __importDefault(require("../ValidatorFactory.js"));
|
|
@@ -31,24 +30,22 @@ const { isPlainObject } = lodash_1.default; // CommonJS
|
|
|
31
30
|
class Required extends ValidatorFactory_js_1.default {
|
|
32
31
|
constructor() {
|
|
33
32
|
super(...arguments);
|
|
34
|
-
this.name =
|
|
33
|
+
this.name = "required";
|
|
35
34
|
}
|
|
36
35
|
validate(value, dataContext = {}) {
|
|
37
36
|
const { errorMsg = {
|
|
38
|
-
inline:
|
|
39
|
-
summary:
|
|
37
|
+
inline: "validation:rule.required.inline",
|
|
38
|
+
summary: "validation:rule.required.summary",
|
|
40
39
|
}, } = this.config;
|
|
41
40
|
if (!(0, utils_js_1.isEmpty)(value)) {
|
|
42
41
|
return [];
|
|
43
42
|
}
|
|
44
|
-
return [
|
|
45
|
-
ValidationError_js_1.default.make({ errorMsg, dataContext }),
|
|
46
|
-
];
|
|
43
|
+
return [ValidationError_js_1.default.make({ errorMsg, dataContext })];
|
|
47
44
|
}
|
|
48
45
|
sanitise(value) {
|
|
49
46
|
const coerce = (val) => {
|
|
50
47
|
const s = (0, utils_js_1.stringifyInput)(val, undefined);
|
|
51
|
-
return s === undefined ? undefined : s.replace(/^\s+$/,
|
|
48
|
+
return s === undefined ? undefined : s.replace(/^\s+$/, "");
|
|
52
49
|
};
|
|
53
50
|
if ((0, utils_js_1.isStringable)(value)) {
|
|
54
51
|
return coerce(value);
|
|
@@ -61,7 +58,7 @@ class Required extends ValidatorFactory_js_1.default {
|
|
|
61
58
|
// Coerce all elements to Strings.
|
|
62
59
|
// This only supports a one dimensional object, with stringable elements.
|
|
63
60
|
if (isPlainObject(value)) {
|
|
64
|
-
return Object.fromEntries(Object.entries(value).map(([k, v]) =>
|
|
61
|
+
return Object.fromEntries(Object.entries(value).map(([k, v]) => [k, coerce(v)]));
|
|
65
62
|
}
|
|
66
63
|
return undefined;
|
|
67
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"required.js","sourceRoot":"","sources":["../../../src/lib/validators/required.js"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"required.js","sourceRoot":"","sources":["../../../src/lib/validators/required.js"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,0CAAoE;AACpE,iFAAsD;AACtD,+EAAoD;AAEpD,MAAM,EAAE,aAAa,EAAE,GAAG,gBAAM,CAAC,CAAC,WAAW;AAE7C;;;GAGG;AAEH;;;GAGG;AAEH;;;;;;;;;;GAUG;AACH,MAAqB,QAAS,SAAQ,6BAAgB;IAAtD;;QACE,SAAI,GAAG,UAAU,CAAC;IA2CpB,CAAC;IAzCC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,EAAE;QAC9B,MAAM,EACJ,QAAQ,GAAG;YACT,MAAM,EAAE,iCAAiC;YACzC,OAAO,EAAE,kCAAkC;SAC5C,GACF,GAAG,IAAI,CAAC,MAAM,CAAC;QAEhB,IAAI,CAAC,IAAA,kBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,CAAC,4BAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,QAAQ,CAAC,KAAK;QACZ,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE;YACrB,MAAM,CAAC,GAAG,IAAA,yBAAc,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACzC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC;QAEF,IAAI,IAAA,uBAAY,EAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,kCAAkC;QAClC,qEAAqE;QACrE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QAED,kCAAkC;QAClC,yEAAyE;QACzE,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA5CD,2BA4CC"}
|
|
@@ -41,5 +41,5 @@ export type StrlenConfigOptions = {
|
|
|
41
41
|
*/
|
|
42
42
|
min: number;
|
|
43
43
|
};
|
|
44
|
-
import ValidatorFactory from
|
|
45
|
-
import ValidationError from
|
|
44
|
+
import ValidatorFactory from "../ValidatorFactory.js";
|
|
45
|
+
import ValidationError from "../ValidationError.js";
|
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
/* eslint-disable class-methods-use-this */
|
|
7
6
|
const ValidatorFactory_js_1 = __importDefault(require("../ValidatorFactory.js"));
|
|
8
7
|
const ValidationError_js_1 = __importDefault(require("../ValidationError.js"));
|
|
9
8
|
const utils_js_1 = require("../utils.js");
|
|
@@ -29,23 +28,23 @@ const utils_js_1 = require("../utils.js");
|
|
|
29
28
|
class Strlen extends ValidatorFactory_js_1.default {
|
|
30
29
|
constructor() {
|
|
31
30
|
super(...arguments);
|
|
32
|
-
this.name =
|
|
31
|
+
this.name = "strlen";
|
|
33
32
|
}
|
|
34
|
-
validate(inputValue =
|
|
33
|
+
validate(inputValue = "", dataContext = {}) {
|
|
35
34
|
const { errorMsgMax = {
|
|
36
|
-
inline:
|
|
37
|
-
summary:
|
|
35
|
+
inline: "validation:rule.strlen.max.inline",
|
|
36
|
+
summary: "validation:rule.strlen.max.summary",
|
|
38
37
|
}, errorMsgMin = {
|
|
39
|
-
inline:
|
|
40
|
-
summary:
|
|
38
|
+
inline: "validation:rule.strlen.min.inline",
|
|
39
|
+
summary: "validation:rule.strlen.min.summary",
|
|
41
40
|
}, min, max, } = this.config;
|
|
42
41
|
let errorMsg;
|
|
43
42
|
let valid = true;
|
|
44
|
-
if (typeof max !==
|
|
43
|
+
if (typeof max !== "undefined" && inputValue.length > max) {
|
|
45
44
|
valid = false;
|
|
46
45
|
errorMsg = errorMsgMax;
|
|
47
46
|
}
|
|
48
|
-
if (typeof min !==
|
|
47
|
+
if (typeof min !== "undefined" && inputValue.length < min) {
|
|
49
48
|
valid = false;
|
|
50
49
|
errorMsg = errorMsgMin;
|
|
51
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strlen.js","sourceRoot":"","sources":["../../../src/lib/validators/strlen.js"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"strlen.js","sourceRoot":"","sources":["../../../src/lib/validators/strlen.js"],"names":[],"mappings":";;;;;AAAA,iFAAsD;AACtD,+EAAoD;AACpD,0CAA6C;AAE7C;;;GAGG;AAEH;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,MAAqB,MAAO,SAAQ,6BAAgB;IAApD;;QACE,SAAI,GAAG,QAAQ,CAAC;IAsClB,CAAC;IApCC,QAAQ,CAAC,UAAU,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE;QACxC,MAAM,EACJ,WAAW,GAAG;YACZ,MAAM,EAAE,mCAAmC;YAC3C,OAAO,EAAE,oCAAoC;SAC9C,EACD,WAAW,GAAG;YACZ,MAAM,EAAE,mCAAmC;YAC3C,OAAO,EAAE,oCAAoC;SAC9C,EACD,GAAG,EACH,GAAG,GACJ,GAAG,IAAI,CAAC,MAAM,CAAC;QAEhB,IAAI,QAAQ,CAAC;QACb,IAAI,KAAK,GAAG,IAAI,CAAC;QAEjB,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC1D,KAAK,GAAG,KAAK,CAAC;YACd,QAAQ,GAAG,WAAW,CAAC;QACzB,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC1D,KAAK,GAAG,KAAK,CAAC;YACd,QAAQ,GAAG,WAAW,CAAC;QACzB,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,4BAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,QAAQ,CAAC,KAAK;QACZ,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAA,yBAAc,EAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAvCD,yBAuCC"}
|
|
@@ -42,5 +42,5 @@ export type WordcountConfigOptions = {
|
|
|
42
42
|
*/
|
|
43
43
|
min: number;
|
|
44
44
|
};
|
|
45
|
-
import ValidatorFactory from
|
|
46
|
-
import ValidationError from
|
|
45
|
+
import ValidatorFactory from "../ValidatorFactory.js";
|
|
46
|
+
import ValidationError from "../ValidationError.js";
|