@decaf-ts/decorator-validation 1.10.5 → 1.11.1
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/README.md +1 -1
- package/dist/decorator-validation.cjs +1 -1
- package/dist/decorator-validation.cjs.map +1 -1
- package/dist/decorator-validation.js +1 -1
- package/dist/decorator-validation.js.map +1 -1
- package/lib/esm/index.d.ts +2 -1
- package/lib/esm/index.js +2 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/model/Builder.d.ts +84 -0
- package/lib/esm/model/Builder.js +395 -129
- package/lib/esm/model/Builder.js.map +1 -1
- package/lib/esm/model/Model.d.ts +21 -19
- package/lib/esm/model/Model.js +112 -105
- package/lib/esm/model/Model.js.map +1 -1
- package/lib/esm/model/constants.d.ts +8 -8
- package/lib/esm/model/constants.js +8 -9
- package/lib/esm/model/constants.js.map +1 -1
- package/lib/esm/model/decorators.d.ts +2 -12
- package/lib/esm/model/decorators.js +5 -39
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/model/index.d.ts +1 -0
- package/lib/esm/model/index.js +1 -0
- package/lib/esm/model/index.js.map +1 -1
- package/lib/esm/model/types.d.ts +9 -12
- package/lib/esm/model/utils.d.ts +0 -3
- package/lib/esm/model/utils.js +0 -10
- package/lib/esm/model/utils.js.map +1 -1
- package/lib/esm/model/validation.d.ts +4 -37
- package/lib/esm/model/validation.js +30 -106
- package/lib/esm/model/validation.js.map +1 -1
- package/lib/esm/overrides/Metadata.d.ts +128 -0
- package/lib/esm/overrides/Metadata.js +2 -0
- package/lib/esm/overrides/Metadata.js.map +1 -0
- package/lib/esm/overrides/index.d.ts +3 -0
- package/lib/esm/overrides/index.js +4 -0
- package/lib/esm/overrides/index.js.map +1 -0
- package/lib/esm/overrides/overrides.d.ts +1 -0
- package/lib/esm/overrides/overrides.js +79 -0
- package/lib/esm/overrides/overrides.js.map +1 -0
- package/lib/esm/overrides/types.d.ts +9 -0
- package/lib/esm/overrides/types.js +2 -0
- package/lib/esm/overrides/types.js.map +1 -0
- package/lib/esm/types/validation.d.ts +4 -2
- package/lib/esm/utils/constants.d.ts +4 -18
- package/lib/esm/utils/constants.js +4 -17
- package/lib/esm/utils/constants.js.map +1 -1
- package/lib/esm/utils/dates.d.ts +0 -1
- package/lib/esm/utils/dates.js +0 -1
- package/lib/esm/utils/dates.js.map +1 -1
- package/lib/esm/utils/equality.d.ts +56 -0
- package/lib/esm/utils/equality.js +160 -0
- package/lib/esm/utils/equality.js.map +1 -0
- package/lib/esm/utils/index.d.ts +1 -2
- package/lib/esm/utils/index.js +1 -2
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/esm/utils/registry.d.ts +1 -1
- package/lib/esm/utils/serialization.d.ts +2 -2
- package/lib/esm/utils/serialization.js +10 -2
- package/lib/esm/utils/serialization.js.map +1 -1
- package/lib/esm/utils/types.d.ts +0 -102
- package/lib/esm/validation/Validation.d.ts +2 -3
- package/lib/esm/validation/Validation.js +11 -6
- package/lib/esm/validation/Validation.js.map +1 -1
- package/lib/esm/validation/Validators/BaseValidator.js +7 -3
- package/lib/esm/validation/Validators/BaseValidator.js.map +1 -1
- package/lib/esm/validation/Validators/DiffValidator.js +1 -1
- package/lib/esm/validation/Validators/DiffValidator.js.map +1 -1
- package/lib/esm/validation/Validators/EqualsValidator.js +1 -1
- package/lib/esm/validation/Validators/EqualsValidator.js.map +1 -1
- package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js +1 -1
- package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js.map +1 -1
- package/lib/esm/validation/Validators/LessThanOrEqualValidator.js +1 -1
- package/lib/esm/validation/Validators/LessThanOrEqualValidator.js.map +1 -1
- package/lib/esm/validation/Validators/ListValidator.js +4 -4
- package/lib/esm/validation/Validators/ListValidator.js.map +1 -1
- package/lib/esm/validation/Validators/MaxLengthValidator.js +3 -2
- package/lib/esm/validation/Validators/MaxLengthValidator.js.map +1 -1
- package/lib/esm/validation/Validators/MaxValidator.js +1 -1
- package/lib/esm/validation/Validators/MaxValidator.js.map +1 -1
- package/lib/esm/validation/Validators/MinLengthValidator.js +3 -2
- package/lib/esm/validation/Validators/MinLengthValidator.js.map +1 -1
- package/lib/esm/validation/Validators/MinValidator.js +1 -1
- package/lib/esm/validation/Validators/MinValidator.js.map +1 -1
- package/lib/esm/validation/Validators/OptionValidator.d.ts +29 -0
- package/lib/esm/validation/Validators/OptionValidator.js +61 -0
- package/lib/esm/validation/Validators/OptionValidator.js.map +1 -0
- package/lib/esm/validation/Validators/TypeValidator.js +2 -2
- package/lib/esm/validation/Validators/TypeValidator.js.map +1 -1
- package/lib/esm/validation/Validators/constants.d.ts +2 -1
- package/lib/esm/validation/Validators/constants.js +3 -2
- package/lib/esm/validation/Validators/constants.js.map +1 -1
- package/lib/esm/validation/Validators/decorators.d.ts +1 -1
- package/lib/esm/validation/Validators/decorators.js +2 -2
- package/lib/esm/validation/Validators/decorators.js.map +1 -1
- package/lib/esm/validation/Validators/index.d.ts +1 -0
- package/lib/esm/validation/Validators/index.js +1 -0
- package/lib/esm/validation/Validators/index.js.map +1 -1
- package/lib/esm/validation/Validators/utils.d.ts +33 -0
- package/lib/esm/validation/Validators/utils.js +62 -0
- package/lib/esm/validation/Validators/utils.js.map +1 -1
- package/lib/esm/validation/decorators.d.ts +28 -17
- package/lib/esm/validation/decorators.js +138 -55
- package/lib/esm/validation/decorators.js.map +1 -1
- package/lib/esm/validation/types.d.ts +15 -5
- package/lib/esm/validation/types.js.map +1 -1
- package/lib/index.cjs +2 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js.map +1 -1
- package/lib/model/Builder.cjs +399 -128
- package/lib/model/Builder.d.ts +84 -0
- package/lib/model/Builder.js.map +1 -1
- package/lib/model/Model.cjs +114 -107
- package/lib/model/Model.d.ts +21 -19
- package/lib/model/Model.js.map +1 -1
- package/lib/model/constants.cjs +8 -9
- package/lib/model/constants.d.ts +8 -8
- package/lib/model/constants.js.map +1 -1
- package/lib/model/decorators.cjs +4 -39
- package/lib/model/decorators.d.ts +2 -12
- package/lib/model/decorators.js.map +1 -1
- package/lib/model/index.cjs +1 -0
- package/lib/model/index.d.ts +1 -0
- package/lib/model/index.js.map +1 -1
- package/lib/model/types.d.ts +9 -12
- package/lib/model/utils.cjs +0 -12
- package/lib/model/utils.d.ts +0 -3
- package/lib/model/utils.js.map +1 -1
- package/lib/model/validation.cjs +30 -108
- package/lib/model/validation.d.ts +4 -37
- package/lib/model/validation.js.map +1 -1
- package/lib/overrides/Metadata.cjs +3 -0
- package/lib/overrides/Metadata.d.ts +128 -0
- package/lib/overrides/Metadata.js.map +1 -0
- package/lib/overrides/index.cjs +20 -0
- package/lib/overrides/index.d.ts +3 -0
- package/lib/overrides/index.js.map +1 -0
- package/lib/overrides/overrides.cjs +81 -0
- package/lib/overrides/overrides.d.ts +1 -0
- package/lib/overrides/overrides.js.map +1 -0
- package/lib/overrides/types.cjs +3 -0
- package/lib/overrides/types.d.ts +9 -0
- package/lib/overrides/types.js.map +1 -0
- package/lib/types/validation.d.ts +4 -2
- package/lib/utils/constants.cjs +5 -18
- package/lib/utils/constants.d.ts +4 -18
- package/lib/utils/constants.js.map +1 -1
- package/lib/utils/dates.cjs +0 -1
- package/lib/utils/dates.d.ts +0 -1
- package/lib/utils/dates.js.map +1 -1
- package/lib/utils/equality.cjs +163 -0
- package/lib/utils/equality.d.ts +56 -0
- package/lib/utils/equality.js.map +1 -0
- package/lib/utils/index.cjs +1 -2
- package/lib/utils/index.d.ts +1 -2
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/registry.d.ts +1 -1
- package/lib/utils/serialization.cjs +10 -2
- package/lib/utils/serialization.d.ts +2 -2
- package/lib/utils/serialization.js.map +1 -1
- package/lib/utils/types.d.ts +0 -102
- package/lib/validation/Validation.cjs +11 -6
- package/lib/validation/Validation.d.ts +2 -3
- package/lib/validation/Validation.js.map +1 -1
- package/lib/validation/Validators/BaseValidator.cjs +7 -3
- package/lib/validation/Validators/BaseValidator.js.map +1 -1
- package/lib/validation/Validators/DiffValidator.cjs +2 -2
- package/lib/validation/Validators/DiffValidator.js.map +1 -1
- package/lib/validation/Validators/EqualsValidator.cjs +2 -2
- package/lib/validation/Validators/EqualsValidator.js.map +1 -1
- package/lib/validation/Validators/GreaterThanOrEqualValidator.cjs +2 -2
- package/lib/validation/Validators/GreaterThanOrEqualValidator.js.map +1 -1
- package/lib/validation/Validators/LessThanOrEqualValidator.cjs +2 -2
- package/lib/validation/Validators/LessThanOrEqualValidator.js.map +1 -1
- package/lib/validation/Validators/ListValidator.cjs +4 -4
- package/lib/validation/Validators/ListValidator.js.map +1 -1
- package/lib/validation/Validators/MaxLengthValidator.cjs +3 -2
- package/lib/validation/Validators/MaxLengthValidator.js.map +1 -1
- package/lib/validation/Validators/MaxValidator.cjs +1 -1
- package/lib/validation/Validators/MaxValidator.js.map +1 -1
- package/lib/validation/Validators/MinLengthValidator.cjs +3 -2
- package/lib/validation/Validators/MinLengthValidator.js.map +1 -1
- package/lib/validation/Validators/MinValidator.cjs +1 -1
- package/lib/validation/Validators/MinValidator.js.map +1 -1
- package/lib/validation/Validators/OptionValidator.cjs +64 -0
- package/lib/validation/Validators/OptionValidator.d.ts +29 -0
- package/lib/validation/Validators/OptionValidator.js.map +1 -0
- package/lib/validation/Validators/TypeValidator.cjs +2 -2
- package/lib/validation/Validators/TypeValidator.js.map +1 -1
- package/lib/validation/Validators/constants.cjs +5 -4
- package/lib/validation/Validators/constants.d.ts +2 -1
- package/lib/validation/Validators/constants.js.map +1 -1
- package/lib/validation/Validators/decorators.cjs +3 -3
- package/lib/validation/Validators/decorators.d.ts +1 -1
- package/lib/validation/Validators/decorators.js.map +1 -1
- package/lib/validation/Validators/index.cjs +1 -0
- package/lib/validation/Validators/index.d.ts +1 -0
- package/lib/validation/Validators/index.js.map +1 -1
- package/lib/validation/Validators/utils.cjs +66 -0
- package/lib/validation/Validators/utils.d.ts +33 -0
- package/lib/validation/Validators/utils.js.map +1 -1
- package/lib/validation/decorators.cjs +154 -69
- package/lib/validation/decorators.d.ts +28 -17
- package/lib/validation/decorators.js.map +1 -1
- package/lib/validation/types.d.ts +15 -5
- package/lib/validation/types.js.map +1 -1
- package/package.json +2 -3
- package/lib/esm/utils/Decoration.d.ts +0 -135
- package/lib/esm/utils/Decoration.js +0 -227
- package/lib/esm/utils/Decoration.js.map +0 -1
- package/lib/esm/utils/decorators.d.ts +0 -38
- package/lib/esm/utils/decorators.js +0 -64
- package/lib/esm/utils/decorators.js.map +0 -1
- package/lib/utils/Decoration.cjs +0 -231
- package/lib/utils/Decoration.d.ts +0 -135
- package/lib/utils/Decoration.js.map +0 -1
- package/lib/utils/decorators.cjs +0 -68
- package/lib/utils/decorators.d.ts +0 -38
- package/lib/utils/decorators.js.map +0 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ValidatorRegistry } from "./Validators/ValidatorRegistry.js";
|
|
2
2
|
import { ValidationKeys } from "./Validators/constants.js";
|
|
3
|
+
import { ModelKeys } from "./../utils/index.js";
|
|
4
|
+
import { Metadata } from "@decaf-ts/decoration";
|
|
3
5
|
/**
|
|
4
6
|
* @summary Static class acting as a namespace for the Validation
|
|
5
7
|
*
|
|
@@ -10,7 +12,6 @@ import { ValidationKeys } from "./Validators/constants.js";
|
|
|
10
12
|
*/
|
|
11
13
|
export class Validation {
|
|
12
14
|
static { this.actingValidatorRegistry = undefined; }
|
|
13
|
-
static { this.loadedDecorators = {}; }
|
|
14
15
|
constructor() { }
|
|
15
16
|
/**
|
|
16
17
|
* @summary Defines the acting ValidatorRegistry
|
|
@@ -70,14 +71,18 @@ export class Validation {
|
|
|
70
71
|
return this.getRegistry().getKeys();
|
|
71
72
|
}
|
|
72
73
|
static registerDecorator(key, decorator) {
|
|
73
|
-
|
|
74
|
+
const meta = Metadata["innerGet"](Symbol.for(ModelKeys.DECORATORS), Metadata.key(ValidationKeys.REFLECT, key));
|
|
75
|
+
if (meta?.[key])
|
|
74
76
|
return;
|
|
75
|
-
|
|
77
|
+
Metadata.set(ModelKeys.DECORATORS, Metadata.key(ValidationKeys.REFLECT, key), decorator);
|
|
76
78
|
}
|
|
77
79
|
static decoratorFromKey(key) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
80
|
+
try {
|
|
81
|
+
return Metadata["innerGet"](Symbol.for(ModelKeys.DECORATORS), Metadata.key(ValidationKeys.REFLECT, key));
|
|
82
|
+
}
|
|
83
|
+
catch (e) {
|
|
84
|
+
throw new Error(`No decorator registered under ${key}: ${e}`);
|
|
85
|
+
}
|
|
81
86
|
}
|
|
82
87
|
}
|
|
83
88
|
//# sourceMappingURL=Validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validation.js","sourceRoot":"","sources":["../../../src/validation/Validation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,0CAAuC;AACnE,OAAO,EAAE,cAAc,EAAE,kCAA+B;
|
|
1
|
+
{"version":3,"file":"Validation.js","sourceRoot":"","sources":["../../../src/validation/Validation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,0CAAuC;AACnE,OAAO,EAAE,cAAc,EAAE,kCAA+B;AACxD,OAAO,EAAE,SAAS,EAAE,4BAAuB;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,OAAO,UAAU;aACN,4BAAuB,GACpC,SAAS,CAAC;IAEZ,gBAAuB,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAChB,iBAAgD,EAChD,gBAAsD;QAEtD,IAAI,gBAAgB,IAAI,UAAU,CAAC,uBAAuB;YACxD,UAAU,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;gBACjE,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,SAAS;oBAAE,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QACL,UAAU,CAAC,uBAAuB,GAAG,iBAAiB,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,WAAW;QACxB,IAAI,CAAC,UAAU,CAAC,uBAAuB;YACrC,UAAU,CAAC,uBAAuB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC/D,OAAO,UAAU,CAAC,uBAAuB,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAsB,YAAoB;QAClD,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CACb,GAAG,SAAsC;QAEzC,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,GAAW;QACpB,OAAO,cAAc,CAAC,OAAO,GAAG,GAAG,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI;QACT,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,iBAAiB,CACtB,GAAW,EACX,SAAgD;QAEhD,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAC/B,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,EAChC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CACO,CAAC;QACnD,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC;YAAE,OAAO;QACxB,QAAQ,CAAC,GAAG,CACV,SAAS,CAAC,UAAU,EACpB,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,EACzC,SAAS,CACV,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,GAAW;QACjC,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,UAAU,CAAC,CACzB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,EAChC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAC1C,CAAC;QACJ,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DEFAULT_ERROR_MESSAGES } from "./constants.js";
|
|
2
2
|
import { sf } from "./../../utils/strings.js";
|
|
3
|
-
import {
|
|
3
|
+
import { checkTypes } from "./utils.js";
|
|
4
4
|
/**
|
|
5
5
|
* @description Abstract base class for all validators in the validation framework.
|
|
6
6
|
* @summary The BaseValidator class provides the foundation for all synchronous and asynchronous validator implementations.
|
|
@@ -101,8 +101,12 @@ export class BaseValidator {
|
|
|
101
101
|
return function (value, options, proxy, ...args) {
|
|
102
102
|
if (value === undefined || !this.acceptedTypes)
|
|
103
103
|
return unbound(value, options, proxy, ...args);
|
|
104
|
-
if (!
|
|
105
|
-
return this.getMessage(DEFAULT_ERROR_MESSAGES.TYPE, this.acceptedTypes.join(", "), typeof value
|
|
104
|
+
if (!checkTypes(value, this.acceptedTypes))
|
|
105
|
+
return this.getMessage(DEFAULT_ERROR_MESSAGES.TYPE, this.acceptedTypes.join(", "), typeof value !== "number"
|
|
106
|
+
? typeof value
|
|
107
|
+
: isNaN(value)
|
|
108
|
+
? "NaN"
|
|
109
|
+
: typeof value);
|
|
106
110
|
return unbound(value, options, proxy, ...args);
|
|
107
111
|
}.bind(this);
|
|
108
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/BaseValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,uBAAoB;AACrD,OAAO,EAAE,EAAE,EAAE,iCAA4B;
|
|
1
|
+
{"version":3,"file":"BaseValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/BaseValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,uBAAoB;AACrD,OAAO,EAAE,EAAE,EAAE,iCAA4B;AAIzC,OAAO,EAAE,UAAU,EAAE,mBAAgB;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,MAAM,OAAgB,aAAa;IAQjC,YACE,KAAY,EACZ,UAAkB,sBAAsB,CAAC,OAAO,EAChD,GAAG,aAAuB;QAE1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,aAAa,CAAC,MAAM;YAAE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAC7D,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,CACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAQ,CAC1B,CAAC;IACb,CAAC;IAED;;;;;;;;;;OAUG;IACO,UAAU,CAAC,OAAe,EAAE,GAAG,IAAW;QAClD,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACK,qBAAqB,CAC3B,OAKgD;QAEhD,OAAO,UAEL,KAAU,EACV,OAAU,EACV,KAAsB,EACtB,GAAG,IAAW;YAEd,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,aAAa;gBAC5C,OAAO,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC;gBACxC,OAAO,IAAI,CAAC,UAAU,CACpB,sBAAsB,CAAC,IAAI,EAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAC7B,OAAO,KAAK,KAAK,QAAQ;oBACvB,CAAC,CAAC,OAAO,KAAK;oBACd,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;wBACZ,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,OAAO,KAAK,CACnB,CAAC;YACJ,OAAO,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAyBD;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,GAAQ;QACzB,OAAO,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
import { Validator } from "./Validator.js";
|
|
11
11
|
import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants.js";
|
|
12
12
|
import { validator } from "./decorators.js";
|
|
13
|
-
import { isEqual } from "
|
|
13
|
+
import { isEqual } from "./../../utils/equality.js";
|
|
14
14
|
/**
|
|
15
15
|
* @summary Diff Validator
|
|
16
16
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiffValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/DiffValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAEzC,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DiffValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/DiffValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAEzC,OAAO,EAAE,OAAO,EAAE,kCAA6B;AAG/C;;;;;;;;;GASG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,SAA+B;IAChE,YAAY,UAAkB,sBAAsB,CAAC,IAAI;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,SAAS,CACd,KAAU,EACV,OAA6B,EAC7B,QAAwB;QAExB,IAAI,uBAA4B,CAAC;QACjC,IAAI,CAAC;YACH,uBAAuB,GAAG,QAAQ,CAAC,gBAAgB,CACjD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAC7B,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,EAAE,uBAAuB,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,UAAU,CACb,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAC/B,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAC9C;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CACF,CAAA;AAtCY,aAAa;IADzB,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;;GAClB,aAAa,CAsCzB"}
|
|
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
import { Validator } from "./Validator.js";
|
|
11
11
|
import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants.js";
|
|
12
12
|
import { validator } from "./decorators.js";
|
|
13
|
-
import { isEqual } from "
|
|
13
|
+
import { isEqual } from "./../../utils/equality.js";
|
|
14
14
|
/**
|
|
15
15
|
* @summary Equals Validator
|
|
16
16
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EqualsValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/EqualsValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAEzC,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"EqualsValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/EqualsValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAEzC,OAAO,EAAE,OAAO,EAAE,kCAA6B;AAG/C;;;;;;;;;GASG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,SAAiC;IACpE,YAAY,UAAkB,sBAAsB,CAAC,MAAM;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,SAAS,CACd,KAAU,EACV,OAA+B,EAC/B,QAAwB;QAExB,IAAI,uBAA4B,CAAC;QACjC,IAAI,CAAC;YACH,uBAAuB,GAAG,QAAQ,CAAC,gBAAgB,CACjD,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAC/B,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,EAAE,uBAAuB,CAAC;YAC5C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,UAAU,CACb,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAC/B,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAChD,CAAC;IACR,CAAC;CACF,CAAA;AAtCY,eAAe;IAD3B,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC;;GACpB,eAAe,CAsC3B;;AAED,wBAAwB;AACxB,gCAAgC;AAChC,0CAA0C;AAC1C,iBAAiB;AACjB,6BAA6B"}
|
|
@@ -11,7 +11,7 @@ import { Validator } from "./Validator.js";
|
|
|
11
11
|
import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants.js";
|
|
12
12
|
import { validator } from "./decorators.js";
|
|
13
13
|
import { isGreaterThan, isValidForGteOrLteComparison } from "./utils.js";
|
|
14
|
-
import { isEqual } from "
|
|
14
|
+
import { isEqual } from "./../../utils/equality.js";
|
|
15
15
|
/**
|
|
16
16
|
* @summary Greater Than or Equal Validator
|
|
17
17
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GreaterThanOrEqualValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/GreaterThanOrEqualValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAEzC,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,mBAAgB;AACtE,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"GreaterThanOrEqualValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/GreaterThanOrEqualValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAEzC,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,mBAAgB;AACtE,OAAO,EAAE,OAAO,EAAE,kCAA6B;AAG/C;;;;;;;;;GASG;AAEI,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,SAA6C;IAC5F,YAAY,UAAkB,sBAAsB,CAAC,qBAAqB;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,SAAS,CACd,KAAU,EACV,OAA2C,EAC3C,QAAwB;QAExB,IAAI,uBAA4B,CAAC;QACjC,IAAI,CAAC;YACH,uBAAuB,GAAG,QAAQ,CAAC,gBAAgB,CACjD,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAC9C,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC;YACH,IACE,CAAC,4BAA4B,CAAC,KAAK,EAAE,uBAAuB,CAAC;gBAC3D,OAAO,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;gBAC1C,aAAa,CAAC,KAAK,EAAE,uBAAuB,CAAC;gBAE7C,OAAO,SAAS,CAAC;YAEnB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,UAAU,CACpB,CAAC,CAAC,OAAO,EACT,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AA/CY,2BAA2B;IADvC,SAAS,CAAC,cAAc,CAAC,qBAAqB,CAAC;;GACnC,2BAA2B,CA+CvC"}
|
|
@@ -11,7 +11,7 @@ import { Validator } from "./Validator.js";
|
|
|
11
11
|
import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants.js";
|
|
12
12
|
import { validator } from "./decorators.js";
|
|
13
13
|
import { isLessThan, isValidForGteOrLteComparison } from "./utils.js";
|
|
14
|
-
import { isEqual } from "
|
|
14
|
+
import { isEqual } from "./../../utils/equality.js";
|
|
15
15
|
/**
|
|
16
16
|
* @summary Less Than or Equal Validator
|
|
17
17
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LessThanOrEqualValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/LessThanOrEqualValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAEzC,OAAO,EAAE,UAAU,EAAE,4BAA4B,EAAE,mBAAgB;AACnE,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"LessThanOrEqualValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/LessThanOrEqualValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAEzC,OAAO,EAAE,UAAU,EAAE,4BAA4B,EAAE,mBAAgB;AACnE,OAAO,EAAE,OAAO,EAAE,kCAA6B;AAG/C;;;;;;;;;GASG;AAEI,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,SAA0C;IACtF,YAAY,UAAkB,sBAAsB,CAAC,kBAAkB;QACrE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,SAAS,CACd,KAAU,EACV,OAAwC,EACxC,QAAwB;QAExB,IAAI,uBAA4B,CAAC;QACjC,IAAI,CAAC;YACH,uBAAuB,GAAG,QAAQ,CAAC,gBAAgB,CACjD,OAAO,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAC3C,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC;YACH,IACE,CAAC,4BAA4B,CAAC,KAAK,EAAE,uBAAuB,CAAC;gBAC3D,OAAO,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;gBAC1C,UAAU,CAAC,KAAK,EAAE,uBAAuB,CAAC;gBAE1C,OAAO,SAAS,CAAC;YAEnB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,UAAU,CACpB,CAAC,CAAC,OAAO,EACT,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AA/CY,wBAAwB;IADpC,SAAS,CAAC,cAAc,CAAC,kBAAkB,CAAC;;GAChC,wBAAwB,CA+CpC"}
|
|
@@ -80,20 +80,20 @@ let ListValidator = class ListValidator extends Validator {
|
|
|
80
80
|
const clazz = (Array.isArray(options.clazz) ? options.clazz : [options.clazz]).map((c) => {
|
|
81
81
|
if (typeof c === "string")
|
|
82
82
|
return c;
|
|
83
|
-
if (!c
|
|
83
|
+
if (!c?.name && typeof c === "function")
|
|
84
84
|
return c().name;
|
|
85
|
-
return c
|
|
85
|
+
return c?.name;
|
|
86
86
|
});
|
|
87
87
|
let val, isValid = true;
|
|
88
88
|
for (let i = 0; i < (Array.isArray(value) ? value.length : value.size); i++) {
|
|
89
|
-
val = value[i];
|
|
89
|
+
val = [...value][i];
|
|
90
90
|
switch (typeof val) {
|
|
91
91
|
case "object":
|
|
92
92
|
case "function":
|
|
93
93
|
isValid = clazz.includes((val ?? {}).constructor?.name); // null is an object
|
|
94
94
|
break;
|
|
95
95
|
default:
|
|
96
|
-
isValid = clazz.some((c) => typeof val === c
|
|
96
|
+
isValid = clazz.some((c) => typeof val === c?.toLowerCase());
|
|
97
97
|
break;
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/ListValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAIzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,SAA+B;IAChE,YAAY,UAAkB,sBAAsB,CAAC,IAAI;QACvD,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,SAAS,CACP,KAAuB,EACvB,OAA6B;QAE7B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO;QAE3E,MAAM,KAAK,GAAG,CACZ,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAC/D,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"ListValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/ListValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAIzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,SAA+B;IAChE,YAAY,UAAkB,sBAAsB,CAAC,IAAI;QACvD,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,SAAS,CACP,KAAuB,EACvB,OAA6B;QAE7B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO;QAE3E,MAAM,KAAK,GAAG,CACZ,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAC/D,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,OAAO,CAAC,KAAK,UAAU;gBACrC,OAAQ,CAA4B,EAAE,CAAC,IAAI,CAAC;YAC9C,OAAO,CAAC,EAAE,IAAI,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,IAAI,GAAQ,EACV,OAAO,GAAG,IAAI,CAAC;QACjB,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EACtD,CAAC,EAAE,EACH,CAAC;YACD,GAAG,GAAI,CAAC,GAAG,KAAK,CAAS,CAAC,CAAC,CAAC,CAAC;YAC7B,QAAQ,OAAO,GAAG,EAAE,CAAC;gBACnB,KAAK,QAAQ,CAAC;gBACd,KAAK,UAAU;oBACb,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAE,CAAC,GAAG,IAAI,EAAE,CAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,oBAAoB;oBACzF,MAAM;gBACR;oBACE,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;oBACrE,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,OAAO;YACZ,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AAzDY,aAAa;IADzB,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;;GAClB,aAAa,CAyDzB"}
|
|
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
import { Validator } from "./Validator.js";
|
|
11
11
|
import { ValidationKeys, DEFAULT_ERROR_MESSAGES } from "./constants.js";
|
|
12
12
|
import { validator } from "./decorators.js";
|
|
13
|
+
import { valueLength } from "./utils.js";
|
|
13
14
|
/**
|
|
14
15
|
* @summary Maximum Length Validator
|
|
15
16
|
* @description Validates strings and Arrays on their maximum length
|
|
@@ -23,7 +24,7 @@ import { validator } from "./decorators.js";
|
|
|
23
24
|
*/
|
|
24
25
|
let MaxLengthValidator = class MaxLengthValidator extends Validator {
|
|
25
26
|
constructor(message = DEFAULT_ERROR_MESSAGES.MAX_LENGTH) {
|
|
26
|
-
super(message, String.name, Array.name);
|
|
27
|
+
super(message, String.name, Array.name, Set.name, Map.name);
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
30
|
* @summary Validates a model
|
|
@@ -40,7 +41,7 @@ let MaxLengthValidator = class MaxLengthValidator extends Validator {
|
|
|
40
41
|
hasErrors(value, options) {
|
|
41
42
|
if (typeof value === "undefined")
|
|
42
43
|
return;
|
|
43
|
-
return value
|
|
44
|
+
return valueLength(value) > options.maxlength
|
|
44
45
|
? this.getMessage(options.message || this.message, options.maxlength)
|
|
45
46
|
: undefined;
|
|
46
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaxLengthValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/MaxLengthValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;
|
|
1
|
+
{"version":3,"file":"MaxLengthValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/MaxLengthValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAEzC,OAAO,EAAE,WAAW,EAAE,mBAAgB;AAEtC;;;;;;;;;;GAUG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,SAAoC;IAC1E,YAAY,UAAkB,sBAAsB,CAAC,UAAU;QAC7D,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;OAWG;IACI,SAAS,CACd,KAAqB,EACrB,OAAkC;QAElC,IAAI,OAAO,KAAK,KAAK,WAAW;YAAE,OAAO;QACzC,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS;YAC3C,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;YACrE,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CACF,CAAA;AA1BY,kBAAkB;IAD9B,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC;;GACxB,kBAAkB,CA0B9B"}
|
|
@@ -64,7 +64,7 @@ import { validator } from "./decorators.js";
|
|
|
64
64
|
*/
|
|
65
65
|
let MaxValidator = class MaxValidator extends Validator {
|
|
66
66
|
constructor(message = DEFAULT_ERROR_MESSAGES.MAX) {
|
|
67
|
-
super(message,
|
|
67
|
+
super(message, Number.name, Date.name, String.name);
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
70
|
* @description Checks if a value is less than or equal to a maximum
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaxValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/MaxValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,SAA8B;IAC9D,YAAY,UAAkB,sBAAsB,CAAC,GAAG;QACtD,KAAK,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MaxValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/MaxValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,SAA8B;IAC9D,YAAY,UAAkB,sBAAsB,CAAC,GAAG;QACtD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,SAAS,CACd,KAA6B,EAC7B,OAA4B;QAE5B,IAAI,OAAO,KAAK,KAAK,WAAW;YAAE,OAAO;QAEzC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QACtB,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC,EAAE,CAAC;YACpD,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,KAAK,GAAG,GAAG;YAChB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CACF,CAAA;AAtCY,YAAY;IADxB,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC;;GACjB,YAAY,CAsCxB"}
|
|
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
import { Validator } from "./Validator.js";
|
|
11
11
|
import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants.js";
|
|
12
12
|
import { validator } from "./decorators.js";
|
|
13
|
+
import { valueLength } from "./utils.js";
|
|
13
14
|
/**
|
|
14
15
|
* @summary Minimum Length Validator
|
|
15
16
|
* @description Validates strings and Arrays on their minimum length
|
|
@@ -23,7 +24,7 @@ import { validator } from "./decorators.js";
|
|
|
23
24
|
*/
|
|
24
25
|
let MinLengthValidator = class MinLengthValidator extends Validator {
|
|
25
26
|
constructor(message = DEFAULT_ERROR_MESSAGES.MIN_LENGTH) {
|
|
26
|
-
super(message, String.name, Array.name);
|
|
27
|
+
super(message, String.name, Array.name, Set.name, Map.name);
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
30
|
*
|
|
@@ -40,7 +41,7 @@ let MinLengthValidator = class MinLengthValidator extends Validator {
|
|
|
40
41
|
hasErrors(value, options) {
|
|
41
42
|
if (typeof value === "undefined")
|
|
42
43
|
return;
|
|
43
|
-
return value
|
|
44
|
+
return valueLength(value) < options.minlength
|
|
44
45
|
? this.getMessage(options.message || this.message, options.minlength)
|
|
45
46
|
: undefined;
|
|
46
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MinLengthValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/MinLengthValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;
|
|
1
|
+
{"version":3,"file":"MinLengthValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/MinLengthValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAEzC,OAAO,EAAE,WAAW,EAAE,mBAAgB;AAEtC;;;;;;;;;;GAUG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,SAAoC;IAC1E,YAAY,UAAkB,sBAAsB,CAAC,UAAU;QAC7D,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;OAWG;IACI,SAAS,CACd,KAAqB,EACrB,OAAkC;QAElC,IAAI,OAAO,KAAK,KAAK,WAAW;YAAE,OAAO;QACzC,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS;YAC3C,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;YACrE,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CACF,CAAA;AA1BY,kBAAkB;IAD9B,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC;;GACxB,kBAAkB,CA0B9B"}
|
|
@@ -64,7 +64,7 @@ import { validator } from "./decorators.js";
|
|
|
64
64
|
*/
|
|
65
65
|
let MinValidator = class MinValidator extends Validator {
|
|
66
66
|
constructor(message = DEFAULT_ERROR_MESSAGES.MIN) {
|
|
67
|
-
super(message,
|
|
67
|
+
super(message, Number.name, Date.name, String.name);
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
70
|
* @description Checks if a value is greater than or equal to a minimum
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MinValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/MinValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,SAA8B;IAC9D,YAAY,UAAkB,sBAAsB,CAAC,GAAG;QACtD,KAAK,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MinValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/MinValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,SAA8B;IAC9D,YAAY,UAAkB,sBAAsB,CAAC,GAAG;QACtD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,SAAS,CACd,KAA6B,EAC7B,OAA4B;QAE5B,IAAI,OAAO,KAAK,KAAK,WAAW;YAAE,OAAO;QAEzC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QACtB,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC,EAAE,CAAC;YACpD,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,KAAK,GAAG,GAAG;YAChB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CACF,CAAA;AArCY,YAAY;IADxB,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC;;GACjB,YAAY,CAqCxB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Validator } from "./Validator";
|
|
2
|
+
import { EnumValidatorOptions } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* @summary Option Validator
|
|
5
|
+
* @description Validates properties against an object or a list of accepted values
|
|
6
|
+
*
|
|
7
|
+
* @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#ENUM}
|
|
8
|
+
*
|
|
9
|
+
* @class OptionValidator
|
|
10
|
+
* @extends Validator
|
|
11
|
+
*
|
|
12
|
+
* @category Validators
|
|
13
|
+
*/
|
|
14
|
+
export declare class OptionValidator extends Validator<EnumValidatorOptions> {
|
|
15
|
+
constructor(message?: string);
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @param {any[] | Record<any, any>} value
|
|
19
|
+
* @param {EnumValidatorOptions} options
|
|
20
|
+
*
|
|
21
|
+
* @return {string | undefined}
|
|
22
|
+
*
|
|
23
|
+
* @memberOf module:decorator-validation
|
|
24
|
+
* @override
|
|
25
|
+
*
|
|
26
|
+
* @see Validator#hasErrors
|
|
27
|
+
*/
|
|
28
|
+
hasErrors(value: any, options: EnumValidatorOptions): string | undefined;
|
|
29
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Validator } from "./Validator.js";
|
|
11
|
+
import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants.js";
|
|
12
|
+
import { validator } from "./decorators.js";
|
|
13
|
+
/**
|
|
14
|
+
* @summary Option Validator
|
|
15
|
+
* @description Validates properties against an object or a list of accepted values
|
|
16
|
+
*
|
|
17
|
+
* @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#ENUM}
|
|
18
|
+
*
|
|
19
|
+
* @class OptionValidator
|
|
20
|
+
* @extends Validator
|
|
21
|
+
*
|
|
22
|
+
* @category Validators
|
|
23
|
+
*/
|
|
24
|
+
let OptionValidator = class OptionValidator extends Validator {
|
|
25
|
+
constructor(message = DEFAULT_ERROR_MESSAGES.ENUM) {
|
|
26
|
+
super(message);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @param {any[] | Record<any, any>} value
|
|
31
|
+
* @param {EnumValidatorOptions} options
|
|
32
|
+
*
|
|
33
|
+
* @return {string | undefined}
|
|
34
|
+
*
|
|
35
|
+
* @memberOf module:decorator-validation
|
|
36
|
+
* @override
|
|
37
|
+
*
|
|
38
|
+
* @see Validator#hasErrors
|
|
39
|
+
*/
|
|
40
|
+
hasErrors(value, options) {
|
|
41
|
+
if (typeof value === "undefined")
|
|
42
|
+
return;
|
|
43
|
+
if (Array.isArray(options.enum))
|
|
44
|
+
return !options.enum.includes(value)
|
|
45
|
+
? this.getMessage(options.message || this.message, options.enum)
|
|
46
|
+
: undefined;
|
|
47
|
+
if (typeof options.enum === "object") {
|
|
48
|
+
const keys = Object.keys(options.enum);
|
|
49
|
+
for (const key of keys)
|
|
50
|
+
if (options.enum[key] === value)
|
|
51
|
+
return undefined;
|
|
52
|
+
return this.getMessage(options.message || this.message, Object.values(options.enum));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
OptionValidator = __decorate([
|
|
57
|
+
validator(ValidationKeys.ENUM),
|
|
58
|
+
__metadata("design:paramtypes", [String])
|
|
59
|
+
], OptionValidator);
|
|
60
|
+
export { OptionValidator };
|
|
61
|
+
//# sourceMappingURL=OptionValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OptionValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/OptionValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAGzC;;;;;;;;;;GAUG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,SAA+B;IAClE,YAAY,UAAkB,sBAAsB,CAAC,IAAI;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,SAAS,CACd,KAAU,EACV,OAA6B;QAE7B,IAAI,OAAO,KAAK,KAAK,WAAW;YAAE,OAAO;QAEzC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;gBAChE,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvC,KAAK,MAAM,GAAG,IAAI,IAAI;gBACpB,IAAK,OAAO,CAAC,IAAY,CAAC,GAAG,CAAC,KAAK,KAAK;oBAAE,OAAO,SAAS,CAAC;YAC7D,OAAO,IAAI,CAAC,UAAU,CACpB,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAC5B,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AArCY,eAAe;IAD3B,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;;GAClB,eAAe,CAqC3B"}
|
|
@@ -12,7 +12,7 @@ import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants.js";
|
|
|
12
12
|
import { validator } from "./decorators.js";
|
|
13
13
|
import { Validation } from "./../Validation.js";
|
|
14
14
|
import { ModelKeys } from "./../../utils/constants.js";
|
|
15
|
-
import {
|
|
15
|
+
import { evaluateDesignTypes } from "./utils.js";
|
|
16
16
|
/**
|
|
17
17
|
* @description Validator for checking if a value is of the expected type(s)
|
|
18
18
|
* @summary The TypeValidator ensures that a value matches one of the specified types.
|
|
@@ -102,7 +102,7 @@ let TypeValidator = class TypeValidator extends Validator {
|
|
|
102
102
|
t = t();
|
|
103
103
|
return t.name || t;
|
|
104
104
|
});
|
|
105
|
-
if (!
|
|
105
|
+
if (!evaluateDesignTypes(value, ts))
|
|
106
106
|
return this.getMessage(message || this.message, typeof ts === "string" ? ts : Array.isArray(ts) ? ts.join(", ") : ts, typeof value);
|
|
107
107
|
}
|
|
108
108
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/TypeValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AACzC,OAAO,EAAE,UAAU,EAAE,2BAAsB;AAM3C,OAAO,EAAE,SAAS,EAAE,mCAA8B;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TypeValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/TypeValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AACzC,OAAO,EAAE,UAAU,EAAE,2BAAsB;AAM3C,OAAO,EAAE,SAAS,EAAE,mCAA8B;AAClD,OAAO,EAAE,mBAAmB,EAAE,mBAAgB;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,SAA+B;IAChE,YAAY,UAAkB,sBAAsB,CAAC,IAAI;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,SAAS,CACd,KAAU,EACV,OAA6B;QAE7B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,0CAA0C;QAE3E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAE/C,IAAI,EAAE,GAAG,WAAW,IAAI,IAAI,CAAC;QAC7B,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC;YACpC,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,CAAC,GAAI,CAAkB,EAAE,CAAC;YAClE,OAAQ,CAAS,CAAC,IAAI,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAS,CAAC;YACxC,OAAO,IAAI,CAAC,UAAU,CACpB,OAAO,IAAI,IAAI,CAAC,OAAO,EACvB,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EACpE,OAAO,KAAK,CACb,CAAC;IACN,CAAC;CACF,CAAA;AA1CY,aAAa;IADzB,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;;GAClB,aAAa,CA0CzB;;AAED;;;;;;;GAOG;AACH,UAAU,CAAC,QAAQ,CAAC;IAClB,SAAS,EAAE,aAAiC;IAC5C,aAAa,EAAE,SAAS,CAAC,IAAI;IAC7B,IAAI,EAAE,KAAK;CACW,CAAC,CAAC"}
|
|
@@ -63,7 +63,7 @@ export declare const ValidationKeys: {
|
|
|
63
63
|
readonly LESS_THAN_OR_EQUAL: "lessThanOrEqual";
|
|
64
64
|
readonly GREATER_THAN: "greaterThan";
|
|
65
65
|
readonly GREATER_THAN_OR_EQUAL: "greaterThanOrEqual";
|
|
66
|
-
readonly REFLECT: "
|
|
66
|
+
readonly REFLECT: "validation";
|
|
67
67
|
readonly DATE: "date";
|
|
68
68
|
readonly EMAIL: "email";
|
|
69
69
|
readonly FORMAT: "format";
|
|
@@ -80,6 +80,7 @@ export declare const ValidationKeys: {
|
|
|
80
80
|
readonly UNIQUE: "unique";
|
|
81
81
|
readonly URL: "url";
|
|
82
82
|
readonly VALIDATOR: "validator";
|
|
83
|
+
readonly ENUM: "enum";
|
|
83
84
|
};
|
|
84
85
|
/**
|
|
85
86
|
* @description list of month names
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ModelKeys } from "./../../utils/constants.js";
|
|
2
1
|
/**
|
|
3
2
|
* @description Object-like set of keys used for comparison-based validations.
|
|
4
3
|
* @summary Provides canonical names for validators that compare two values (equality and ordering checks).
|
|
@@ -58,7 +57,7 @@ export const ComparisonValidationKeys = {
|
|
|
58
57
|
* @type {ValidationKeysDef}
|
|
59
58
|
*/
|
|
60
59
|
export const ValidationKeys = {
|
|
61
|
-
REFLECT:
|
|
60
|
+
REFLECT: `validation`,
|
|
62
61
|
DATE: "date",
|
|
63
62
|
EMAIL: "email",
|
|
64
63
|
FORMAT: "format",
|
|
@@ -75,6 +74,7 @@ export const ValidationKeys = {
|
|
|
75
74
|
UNIQUE: "unique",
|
|
76
75
|
URL: "url",
|
|
77
76
|
VALIDATOR: "validator",
|
|
77
|
+
ENUM: "enum",
|
|
78
78
|
...ComparisonValidationKeys,
|
|
79
79
|
};
|
|
80
80
|
/**
|
|
@@ -167,6 +167,7 @@ export const DEFAULT_ERROR_MESSAGES = {
|
|
|
167
167
|
GREATER_THAN: "This field must be greater than field {0}",
|
|
168
168
|
GREATER_THAN_OR_EQUAL: "This field must be greater than or equal to field {0}",
|
|
169
169
|
UNIQUE: "Duplicate found, this field must be unique.",
|
|
170
|
+
ENUM: "Value is not allowed. Must be one of {0}",
|
|
170
171
|
};
|
|
171
172
|
/**
|
|
172
173
|
* @description Type definition for default regular expression patterns used in validation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/validation/Validators/constants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/validation/Validators/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,UAAU;IACrB,kBAAkB,EAAE,iBAAiB;IACrC,YAAY,EAAE,aAAa;IAC3B,qBAAqB,EAAE,oBAAoB;CACnC,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,UAAU,EAAE,WAAW;IACvB,GAAG,EAAE,KAAK;IACV,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,wBAAwB;CACnB,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,WAAW;IACX,SAAS;IACT,UAAU;IACV,UAAU;CACX,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,UAAU;IACV,QAAQ;IACR,UAAU;CACX,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA2B;IAC5D,QAAQ,EAAE,wBAAwB;IAClC,GAAG,EAAE,0BAA0B;IAC/B,GAAG,EAAE,0BAA0B;IAC/B,UAAU,EAAE,2BAA2B;IACvC,UAAU,EAAE,2BAA2B;IACvC,OAAO,EAAE,sCAAsC;IAC/C,KAAK,EAAE,gCAAgC;IACvC,GAAG,EAAE,8BAA8B;IACnC,IAAI,EAAE,0CAA0C;IAChD,IAAI,EAAE,kCAAkC;IACxC,IAAI,EAAE,iCAAiC;IACvC,OAAO,EAAE,mBAAmB;IAC5B,QAAQ,EACN,4HAA4H;IAC9H,IAAI,EAAE,qBAAqB;IAC3B,eAAe,EAAE,+BAA+B;IAChD,MAAM,EAAE,uCAAuC;IAC/C,IAAI,EAAE,6CAA6C;IACnD,SAAS,EAAE,wCAAwC;IACnD,kBAAkB,EAAE,oDAAoD;IACxE,YAAY,EAAE,2CAA2C;IACzD,qBAAqB,EACnB,uDAAuD;IACzD,MAAM,EAAE,6CAA6C;IACrD,IAAI,EAAE,0CAA0C;CACjD,CAAC;AAEF;;;;;;;;;GASG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,KAAK,EACH,4JAA4J;IAC9J,GAAG,EAAE,yaAAya;IAC9a,QAAQ,EAAE;QACR,iBAAiB,EACf,iFAAiF;KACpF;CACF,CAAC"}
|
|
@@ -9,4 +9,4 @@ import { Validator } from "./Validator";
|
|
|
9
9
|
*
|
|
10
10
|
* @category Class Decorators
|
|
11
11
|
*/
|
|
12
|
-
export declare function validator<T extends Validator>(...keys: string[]): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
12
|
+
export declare function validator<T extends Validator>(...keys: string[]): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor | number) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Validation } from "./../Validation.js";
|
|
2
|
+
import { apply, metadata } from "@decaf-ts/decoration";
|
|
2
3
|
import { ValidationKeys } from "./constants.js";
|
|
3
|
-
import { apply, metadata } from "@decaf-ts/reflection";
|
|
4
4
|
/**
|
|
5
5
|
* @summary Marks the class as a validator for a certain key.
|
|
6
6
|
* @description Registers the class in the {@link Validation} with the provided key
|
|
@@ -21,6 +21,6 @@ export function validator(...keys) {
|
|
|
21
21
|
});
|
|
22
22
|
});
|
|
23
23
|
return original;
|
|
24
|
-
}), metadata(
|
|
24
|
+
}), metadata(ValidationKeys.VALIDATOR, keys));
|
|
25
25
|
}
|
|
26
26
|
//# sourceMappingURL=decorators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/validation/Validators/decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,2BAAsB;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/validation/Validators/decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,2BAAsB;AAC3C,OAAO,EAAe,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,uBAAoB;AAG7C;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAsB,GAAG,IAAc;IAC9D,OAAO,KAAK,CACV,CAAC,CAAC,QAAwB,EAAE,EAAE;QAC5B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;YACzB,UAAU,CAAC,QAAQ,CAAC;gBAClB,SAAS,EAAE,QAAQ;gBACnB,aAAa,EAAE,CAAC;gBAChB,IAAI,EAAE,IAAI;aACY,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAmB,EACpB,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CACzC,CAAC;AACJ,CAAC"}
|
|
@@ -14,6 +14,7 @@ export * from "./MaxLengthValidator";
|
|
|
14
14
|
export * from "./MaxValidator";
|
|
15
15
|
export * from "./MinLengthValidator";
|
|
16
16
|
export * from "./MinValidator";
|
|
17
|
+
export * from "./OptionValidator";
|
|
17
18
|
export * from "./PasswordValidator";
|
|
18
19
|
export * from "./PatternValidator";
|
|
19
20
|
export * from "./RequiredValidator";
|
|
@@ -14,6 +14,7 @@ export * from "./MaxLengthValidator.js";
|
|
|
14
14
|
export * from "./MaxValidator.js";
|
|
15
15
|
export * from "./MinLengthValidator.js";
|
|
16
16
|
export * from "./MinValidator.js";
|
|
17
|
+
export * from "./OptionValidator.js";
|
|
17
18
|
export * from "./PasswordValidator.js";
|
|
18
19
|
export * from "./PatternValidator.js";
|
|
19
20
|
export * from "./RequiredValidator.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/validation/Validators/index.ts"],"names":[],"mappings":"AAAA,+BAA4B;AAC5B,oCAAiC;AACjC,mCAAgC;AAChC,gCAA6B;AAC7B,mCAAgC;AAChC,oCAAiC;AACjC,qCAAkC;AAClC,0CAAuC;AACvC,iDAA8C;AAC9C,uCAAoC;AACpC,8CAA2C;AAC3C,mCAAgC;AAChC,wCAAqC;AACrC,kCAA+B;AAC/B,wCAAqC;AACrC,kCAA+B;AAC/B,uCAAoC;AACpC,sCAAmC;AACnC,uCAAoC;AACpC,mCAAgC;AAChC,mCAAgC;AAChC,kCAA+B;AAC/B,+BAA4B;AAC5B,uCAAoC;AACpC,2BAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/validation/Validators/index.ts"],"names":[],"mappings":"AAAA,+BAA4B;AAC5B,oCAAiC;AACjC,mCAAgC;AAChC,gCAA6B;AAC7B,mCAAgC;AAChC,oCAAiC;AACjC,qCAAkC;AAClC,0CAAuC;AACvC,iDAA8C;AAC9C,uCAAoC;AACpC,8CAA2C;AAC3C,mCAAgC;AAChC,wCAAqC;AACrC,kCAA+B;AAC/B,wCAAqC;AACrC,kCAA+B;AAC/B,qCAAkC;AAClC,uCAAoC;AACpC,sCAAmC;AACnC,uCAAoC;AACpC,mCAAgC;AAChC,mCAAgC;AAChC,kCAA+B;AAC/B,+BAA4B;AAC5B,uCAAoC;AACpC,2BAAwB"}
|
|
@@ -40,3 +40,36 @@ export declare function isLessThan(a: any, b: any): boolean;
|
|
|
40
40
|
* @memberOf module:decorator-validation
|
|
41
41
|
*/
|
|
42
42
|
export declare function isGreaterThan(a: any, b: any): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* @description Checks if a value matches a specified type name
|
|
45
|
+
* @summary Utility function to verify if a value's type matches the provided type name
|
|
46
|
+
* @param {unknown} value - The value to check the type of
|
|
47
|
+
* @param {string} acceptedType - The type name to check against
|
|
48
|
+
* @return {boolean} Returns true if the value matches the accepted type, false otherwise
|
|
49
|
+
*/
|
|
50
|
+
export declare function checkType(value: unknown, acceptedType: string): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* @description Checks if a value matches any of the specified type names
|
|
53
|
+
* @summary Utility function to verify if a value's type matches any of the provided type names
|
|
54
|
+
* @param {unknown} value - The value to check the type of
|
|
55
|
+
* @param {string[]} acceptedTypes - Array of type names to check against
|
|
56
|
+
* @return {boolean} Returns true if the value matches any of the accepted types, false otherwise
|
|
57
|
+
*/
|
|
58
|
+
export declare function checkTypes(value: unknown, acceptedTypes: string[]): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* @description Evaluates if a value matches the specified type metadata
|
|
61
|
+
* @summary Compares a value against type metadata to determine if they match
|
|
62
|
+
* @param {unknown} value - The value to evaluate
|
|
63
|
+
* @param {string | string[] | {name: string}} types - Type metadata to check against, can be a string, array of strings, or an object with a name property
|
|
64
|
+
* @return {boolean} Returns true if the value matches the type metadata, false otherwise
|
|
65
|
+
*/
|
|
66
|
+
export declare function evaluateDesignTypes(value: unknown, types: string | string[] | {
|
|
67
|
+
name: string;
|
|
68
|
+
}): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* @description Returns the length of a value
|
|
71
|
+
* @summary Returns the length of a value
|
|
72
|
+
* @param {string | Set<any> | any[] | Map<any, any>} value - The value to evaluate
|
|
73
|
+
* @return {number} Returns the length of a value
|
|
74
|
+
*/
|
|
75
|
+
export declare function valueLength(value: string | Set<any> | any[] | Map<any, any>): number;
|