structure-verifier 0.0.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 +186 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/src/config/validatorConfig.d.ts +3 -0
- package/dist/src/config/validatorConfig.js +8 -0
- package/dist/src/config/validatorConfig.js.map +1 -0
- package/dist/src/error/v_error.d.ts +11 -0
- package/dist/src/error/v_error.js +28 -0
- package/dist/src/error/v_error.js.map +1 -0
- package/dist/src/interfaces/types.d.ts +28 -0
- package/dist/src/interfaces/types.js +3 -0
- package/dist/src/interfaces/types.js.map +1 -0
- package/dist/src/languages/message.d.ts +10 -0
- package/dist/src/languages/message.js +30 -0
- package/dist/src/languages/message.js.map +1 -0
- package/dist/src/validators/any/v_any.d.ts +2 -0
- package/dist/src/validators/any/v_any.js +7 -0
- package/dist/src/validators/any/v_any.js.map +1 -0
- package/dist/src/validators/array/v_array.d.ts +4 -0
- package/dist/src/validators/array/v_array.js +10 -0
- package/dist/src/validators/array/v_array.js.map +1 -0
- package/dist/src/validators/boolean/v_boolean.d.ts +15 -0
- package/dist/src/validators/boolean/v_boolean.js +48 -0
- package/dist/src/validators/boolean/v_boolean.js.map +1 -0
- package/dist/src/validators/boolean/v_boolean.test.d.ts +1 -0
- package/dist/src/validators/boolean/v_boolean.test.js +61 -0
- package/dist/src/validators/boolean/v_boolean.test.js.map +1 -0
- package/dist/src/validators/date/v_date.d.ts +0 -0
- package/dist/src/validators/date/v_date.js +2 -0
- package/dist/src/validators/date/v_date.js.map +1 -0
- package/dist/src/validators/number/v_number.d.ts +33 -0
- package/dist/src/validators/number/v_number.js +122 -0
- package/dist/src/validators/number/v_number.js.map +1 -0
- package/dist/src/validators/number/v_number.test.d.ts +1 -0
- package/dist/src/validators/number/v_number.test.js +91 -0
- package/dist/src/validators/number/v_number.test.js.map +1 -0
- package/dist/src/validators/object/v_object.d.ts +28 -0
- package/dist/src/validators/object/v_object.js +130 -0
- package/dist/src/validators/object/v_object.js.map +1 -0
- package/dist/src/validators/object/v_object.test.d.ts +1 -0
- package/dist/src/validators/object/v_object.test.js +73 -0
- package/dist/src/validators/object/v_object.test.js.map +1 -0
- package/dist/src/validators/string/v_string.d.ts +35 -0
- package/dist/src/validators/string/v_string.js +141 -0
- package/dist/src/validators/string/v_string.js.map +1 -0
- package/dist/src/validators/string/v_string.test.d.ts +1 -0
- package/dist/src/validators/string/v_string.test.js +103 -0
- package/dist/src/validators/string/v_string.test.js.map +1 -0
- package/dist/src/validators/type.d.ts +2 -0
- package/dist/src/validators/type.js +3 -0
- package/dist/src/validators/type.js.map +1 -0
- package/dist/src/validators/validator.d.ts +9 -0
- package/dist/src/validators/validator.js +44 -0
- package/dist/src/validators/validator.js.map +1 -0
- package/package.json +31 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VString = exports.VStringNotNull = void 0;
|
|
4
|
+
const v_error_1 = require("../../error/v_error");
|
|
5
|
+
const message_1 = require("../../languages/message");
|
|
6
|
+
const validator_1 = require("../validator");
|
|
7
|
+
function vString(data, badTypeMessage, conds) {
|
|
8
|
+
if (typeof data !== 'string' && (conds === null || conds === void 0 ? void 0 : conds.strictMode) === true) {
|
|
9
|
+
throw new v_error_1.ValidationError([{
|
|
10
|
+
key: "",
|
|
11
|
+
message: (0, message_1.getMessage)((conds === null || conds === void 0 ? void 0 : conds.badTypeMessage) != undefined ? conds === null || conds === void 0 ? void 0 : conds.badTypeMessage : undefined, undefined, badTypeMessage)
|
|
12
|
+
}]);
|
|
13
|
+
}
|
|
14
|
+
data = String(data);
|
|
15
|
+
if ((conds === null || conds === void 0 ? void 0 : conds.minLength) !== undefined) {
|
|
16
|
+
if (data.length < (conds === null || conds === void 0 ? void 0 : conds.minLength)) {
|
|
17
|
+
throw new v_error_1.ValidationError([{
|
|
18
|
+
key: "",
|
|
19
|
+
message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.minLength, { minLength: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.minLength) }, {
|
|
20
|
+
es: (values) => `debe tener una longitud mínima de ${values.minLength}`,
|
|
21
|
+
en: (values) => `must have a minimum length of ${values.minLength}`
|
|
22
|
+
})
|
|
23
|
+
}]);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if ((conds === null || conds === void 0 ? void 0 : conds.maxLength) !== undefined) {
|
|
27
|
+
if (data.length > (conds === null || conds === void 0 ? void 0 : conds.maxLength)) {
|
|
28
|
+
throw new v_error_1.ValidationError([{
|
|
29
|
+
key: "",
|
|
30
|
+
message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.maxLength, { maxLength: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.maxLength) }, {
|
|
31
|
+
es: (values) => `debe tener una longitud máxima de ${values.maxLength}`,
|
|
32
|
+
en: (values) => `must have a maximum length of ${values.maxLength}`
|
|
33
|
+
})
|
|
34
|
+
}]);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if ((conds === null || conds === void 0 ? void 0 : conds.regex) !== undefined) {
|
|
38
|
+
if (!(0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.regex).test(data)) {
|
|
39
|
+
throw new v_error_1.ValidationError([{
|
|
40
|
+
key: "",
|
|
41
|
+
message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.regex, { regex: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.regex) }, {
|
|
42
|
+
es: (values) => `debe cumplir con el patrón ${values.regex}`,
|
|
43
|
+
en: (values) => `must match the pattern ${values.regex}`
|
|
44
|
+
})
|
|
45
|
+
}]);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if ((conds === null || conds === void 0 ? void 0 : conds.notRegex) !== undefined) {
|
|
49
|
+
if ((0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.notRegex).test(data)) {
|
|
50
|
+
throw new v_error_1.ValidationError([{
|
|
51
|
+
key: "",
|
|
52
|
+
message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.notRegex, { notRegex: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.notRegex) }, {
|
|
53
|
+
es: (values) => `no debe cumplir con el patrón ${values.notRegex}`,
|
|
54
|
+
en: (values) => `must not match the pattern ${values.notRegex}`
|
|
55
|
+
})
|
|
56
|
+
}]);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if ((conds === null || conds === void 0 ? void 0 : conds.in) !== undefined) {
|
|
60
|
+
if ((conds === null || conds === void 0 ? void 0 : conds.ignoreCase) === true) {
|
|
61
|
+
if (!(0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.in).map(x => x.toLowerCase()).includes(data.toLowerCase())) {
|
|
62
|
+
throw new v_error_1.ValidationError([{
|
|
63
|
+
key: "",
|
|
64
|
+
message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.in, { in: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.in) }, {
|
|
65
|
+
es: (values) => `debe ser uno de los siguientes valores ${values.in.join(", ")}`,
|
|
66
|
+
en: (values) => `must be one of the following values ${values.in.join(", ")}`
|
|
67
|
+
})
|
|
68
|
+
}]);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
if (!(0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.in).includes(data)) {
|
|
73
|
+
throw new v_error_1.ValidationError([{
|
|
74
|
+
key: "",
|
|
75
|
+
message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.in, { in: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.in) }, {
|
|
76
|
+
es: (values) => `debe ser uno de los siguientes valores ${values.in.join(", ")}`,
|
|
77
|
+
en: (values) => `must be one of the following values ${values.in.join(", ")}`
|
|
78
|
+
})
|
|
79
|
+
}]);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if ((conds === null || conds === void 0 ? void 0 : conds.notIn) !== undefined) {
|
|
84
|
+
if ((conds === null || conds === void 0 ? void 0 : conds.ignoreCase) === true) {
|
|
85
|
+
if ((0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.notIn).map(x => x.toLowerCase()).includes(data.toLowerCase())) {
|
|
86
|
+
throw new v_error_1.ValidationError([{
|
|
87
|
+
key: "",
|
|
88
|
+
message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.notIn, { notIn: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.notIn) }, {
|
|
89
|
+
es: (values) => `no debe ser uno de los siguientes valores ${values.notIn.join(", ")}`,
|
|
90
|
+
en: (values) => `must not be one of the following values ${values.notIn.join(", ")}`
|
|
91
|
+
})
|
|
92
|
+
}]);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
if ((0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.notIn).includes(data)) {
|
|
97
|
+
throw new v_error_1.ValidationError([{
|
|
98
|
+
key: "",
|
|
99
|
+
message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.notIn, { notIn: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.notIn) }, {
|
|
100
|
+
es: (values) => `no debe ser uno de los siguientes valores ${values.notIn.join(", ")}`,
|
|
101
|
+
en: (values) => `must not be one of the following values ${values.notIn.join(", ")}`
|
|
102
|
+
})
|
|
103
|
+
}]);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return data;
|
|
108
|
+
}
|
|
109
|
+
class VStringNotNull extends validator_1.Validation {
|
|
110
|
+
validate(data) {
|
|
111
|
+
return vString(this.isRequired(data, true), this.badTypeMessage, this.cond);
|
|
112
|
+
}
|
|
113
|
+
constructor(cond) {
|
|
114
|
+
super(cond);
|
|
115
|
+
this.cond = cond;
|
|
116
|
+
this.badTypeMessage = {
|
|
117
|
+
es: () => `debe ser un texto`,
|
|
118
|
+
en: () => `must be a string`
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
exports.VStringNotNull = VStringNotNull;
|
|
123
|
+
class VString extends validator_1.Validation {
|
|
124
|
+
validate(data) {
|
|
125
|
+
let val = this.isRequired(data);
|
|
126
|
+
if (val === null || val === undefined) {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
return vString(val, this.badTypeMessage, this.cond);
|
|
130
|
+
}
|
|
131
|
+
constructor(cond) {
|
|
132
|
+
super(cond);
|
|
133
|
+
this.cond = cond;
|
|
134
|
+
this.badTypeMessage = {
|
|
135
|
+
es: () => `debe ser un texto`,
|
|
136
|
+
en: () => `must be a string`
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.VString = VString;
|
|
141
|
+
//# sourceMappingURL=v_string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v_string.js","sourceRoot":"","sources":["../../../../src/src/validators/string/v_string.ts"],"names":[],"mappings":";;;AAAA,iDAAsD;AAEtD,qDAAiF;AACjF,4CAA0C;AAc1C,SAAS,OAAO,CAAC,IAAS,EAAE,cAAsC,EAAE,KAAyB;IACzF,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,MAAK,IAAI,EAAE,CAAC;QACzD,MAAM,IAAI,yBAAe,CAAC,CAAC;gBACvB,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,IAAA,oBAAU,EAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,KAAI,SAAS,CAAC,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC;aACzH,CAAC,CAAC,CAAA;IACP,CAAC;IACD,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,MAAK,SAAS,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,IAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAA,EAAE,CAAC;YACjC,MAAM,IAAI,yBAAe,CAAC,CAAC;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,IAAA,oBAAU,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAC,EAAE,EAAE;wBAC7E,EAAE,EAAE,CAAC,MAA8B,EAAE,EAAE,CAAC,qCAAqC,MAAM,CAAC,SAAS,EAAE;wBAC/F,EAAE,EAAE,CAAC,MAA8B,EAAE,EAAE,CAAC,iCAAiC,MAAM,CAAC,SAAS,EAAE;qBAC9F,CAAC;iBACL,CAAC,CAAC,CAAA;QACP,CAAC;IACL,CAAC;IACD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,MAAK,SAAS,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,IAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAA,EAAE,CAAC;YACjC,MAAM,IAAI,yBAAe,CAAC,CAAC;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,IAAA,oBAAU,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAC,EAAE,EAAE;wBAC7E,EAAE,EAAE,CAAC,MAA8B,EAAE,EAAE,CAAC,qCAAqC,MAAM,CAAC,SAAS,EAAE;wBAC/F,EAAE,EAAE,CAAC,MAA8B,EAAE,EAAE,CAAC,iCAAiC,MAAM,CAAC,SAAS,EAAE;qBAC9F,CAAC;iBACL,CAAC,CAAC,CAAA;QACP,CAAC;IACL,CAAC;IACD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,MAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,yBAAe,CAAC,CAAC;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,IAAA,oBAAU,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,EAAE,EAAE;wBACjE,EAAE,EAAE,CAAC,MAA0B,EAAE,EAAE,CAAC,8BAA8B,MAAM,CAAC,KAAK,EAAE;wBAChF,EAAE,EAAE,CAAC,MAA0B,EAAE,EAAE,CAAC,0BAA0B,MAAM,CAAC,KAAK,EAAE;qBAC/E,CAAC;iBACL,CAAC,CAAC,CAAA;QACP,CAAC;IACL,CAAC;IACD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,MAAK,SAAS,EAAE,CAAC;QAChC,IAAI,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,yBAAe,CAAC,CAAC;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,IAAA,oBAAU,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,EAAE,EAAE;wBAC1E,EAAE,EAAE,CAAC,MAA6B,EAAE,EAAE,CAAC,iCAAiC,MAAM,CAAC,QAAQ,EAAE;wBACzF,EAAE,EAAE,CAAC,MAA6B,EAAE,EAAE,CAAC,8BAA8B,MAAM,CAAC,QAAQ,EAAE;qBACzF,CAAC;iBACL,CAAC,CAAC,CAAA;QACP,CAAC;IACL,CAAC;IACD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,MAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,MAAK,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC9E,MAAM,IAAI,yBAAe,CAAC,CAAC;wBACvB,GAAG,EAAE,EAAE;wBACP,OAAO,EAAE,IAAA,oBAAU,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,CAAC,EAAE,EAAE;4BACxD,EAAE,EAAE,CAAC,MAAyB,EAAE,EAAE,CAAC,0CAA0C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BACnG,EAAE,EAAE,CAAC,MAAyB,EAAE,EAAE,CAAC,uCAAuC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;yBACnG,CAAC;qBACL,CAAC,CAAC,CAAA;YACP,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,yBAAe,CAAC,CAAC;wBACvB,GAAG,EAAE,EAAE;wBACP,OAAO,EAAE,IAAA,oBAAU,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,CAAC,EAAE,EAAE;4BACxD,EAAE,EAAE,CAAC,MAAyB,EAAE,EAAE,CAAC,0CAA0C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BACnG,EAAE,EAAE,CAAC,MAAyB,EAAE,EAAE,CAAC,uCAAuC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;yBACnG,CAAC;qBACL,CAAC,CAAC,CAAA;YACP,CAAC;QACL,CAAC;IACL,CAAC;IACD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,MAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,MAAK,IAAI,EAAE,CAAC;YAC7B,IAAI,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAChF,MAAM,IAAI,yBAAe,CAAC,CAAC;wBACvB,GAAG,EAAE,EAAE;wBACP,OAAO,EAAE,IAAA,oBAAU,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,EAAE,EAAE;4BACjE,EAAE,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,6CAA6C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BAC5G,EAAE,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,2CAA2C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;yBAC7G,CAAC;qBACL,CAAC,CAAC,CAAA;YACP,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,yBAAe,CAAC,CAAC;wBACvB,GAAG,EAAE,EAAE;wBACP,OAAO,EAAE,IAAA,oBAAU,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,EAAE,EAAE;4BACjE,EAAE,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,6CAA6C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BAC5G,EAAE,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,2CAA2C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;yBAC7G,CAAC;qBACL,CAAC,CAAC,CAAA;YACP,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAEhB,CAAC;AAED,MAAa,cAAe,SAAQ,sBAAkB;IAClD,QAAQ,CAAC,IAAS;QACd,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IACD,YAAsB,IAAwB;QAC1C,KAAK,CAAC,IAAI,CAAC,CAAC;QADM,SAAI,GAAJ,IAAI,CAAoB;QAE1C,IAAI,CAAC,cAAc,GAAG;YAClB,EAAE,EAAE,GAAG,EAAE,CAAC,mBAAmB;YAC7B,EAAE,EAAE,GAAG,EAAE,CAAC,kBAAkB;SAC/B,CAAA;IACL,CAAC;CACJ;AAXD,wCAWC;AAED,MAAa,OAAQ,SAAQ,sBAAyB;IAClD,QAAQ,CAAC,IAAS;QACd,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,YAAsB,IAAwB;QAC1C,KAAK,CAAC,IAAI,CAAC,CAAC;QADM,SAAI,GAAJ,IAAI,CAAoB;QAE1C,IAAI,CAAC,cAAc,GAAG;YAClB,EAAE,EAAE,GAAG,EAAE,CAAC,mBAAmB;YAC7B,EAAE,EAAE,GAAG,EAAE,CAAC,kBAAkB;SAC/B,CAAA;IACL,CAAC;CACJ;AAfD,0BAeC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const index_1 = require("../../../index");
|
|
4
|
+
const v_error_1 = require("../../error/v_error");
|
|
5
|
+
describe('VString', () => {
|
|
6
|
+
it('should validate a string correctly', () => {
|
|
7
|
+
const validator = new index_1.Validators.VString();
|
|
8
|
+
expect(validator.validate('valid string')).toBe('valid string');
|
|
9
|
+
expect(validator.validate(null)).toBeNull();
|
|
10
|
+
});
|
|
11
|
+
it('should throw a validation error for minLength', () => {
|
|
12
|
+
const validator = new index_1.Validators.VString({ minLength: 5 });
|
|
13
|
+
expect(() => validator.validate('abc')).toThrow(v_error_1.ValidationError);
|
|
14
|
+
expect(validator.validate('abcde')).toBe('abcde');
|
|
15
|
+
});
|
|
16
|
+
it('should throw a validation error for maxLength', () => {
|
|
17
|
+
const validator = new index_1.Validators.VString({ maxLength: 5 });
|
|
18
|
+
expect(() => validator.validate('abcdef')).toThrow(v_error_1.ValidationError);
|
|
19
|
+
expect(validator.validate('abc')).toBe('abc');
|
|
20
|
+
});
|
|
21
|
+
it('should throw a validation error for regex', () => {
|
|
22
|
+
const validator = new index_1.Validators.VString({ regex: /^[a-z]+$/ });
|
|
23
|
+
expect(() => validator.validate('abc123')).toThrow(v_error_1.ValidationError);
|
|
24
|
+
expect(validator.validate('abcdef')).toBe('abcdef');
|
|
25
|
+
});
|
|
26
|
+
it('should throw a validation error for notRegex', () => {
|
|
27
|
+
const validator = new index_1.Validators.VString({ notRegex: /^[0-9]+$/ });
|
|
28
|
+
expect(() => validator.validate('123')).toThrow(v_error_1.ValidationError);
|
|
29
|
+
expect(validator.validate('abc')).toBe('abc');
|
|
30
|
+
});
|
|
31
|
+
it('should throw a validation error for in', () => {
|
|
32
|
+
const validator = new index_1.Validators.VString({ in: ['apple', 'banana', 'cherry'] });
|
|
33
|
+
expect(() => validator.validate('orange')).toThrow(v_error_1.ValidationError);
|
|
34
|
+
expect(validator.validate('apple')).toBe('apple');
|
|
35
|
+
});
|
|
36
|
+
it('should throw a validation error for notIn', () => {
|
|
37
|
+
const validator = new index_1.Validators.VString({ notIn: ['apple', 'banana', 'cherry'] });
|
|
38
|
+
expect(() => validator.validate('apple')).toThrow(v_error_1.ValidationError);
|
|
39
|
+
expect(validator.validate('orange')).toBe('orange');
|
|
40
|
+
});
|
|
41
|
+
it('should validate string in strictMode', () => {
|
|
42
|
+
const validator = new index_1.Validators.VString({ strictMode: true });
|
|
43
|
+
expect(() => validator.validate(123)).toThrow(v_error_1.ValidationError);
|
|
44
|
+
expect(validator.validate('valid string')).toBe('valid string');
|
|
45
|
+
});
|
|
46
|
+
it('should validate string with ignoreCase in in condition', () => {
|
|
47
|
+
const validator = new index_1.Validators.VString({ in: ['Apple', 'Banana', 'Cherry'], ignoreCase: true });
|
|
48
|
+
expect(validator.validate('apple')).toBe('apple');
|
|
49
|
+
expect(() => validator.validate('orange')).toThrow(v_error_1.ValidationError);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
describe('VStringNotNull', () => {
|
|
53
|
+
it('should validate a non-null string correctly', () => {
|
|
54
|
+
const validator = new index_1.Validators.VStringNotNull();
|
|
55
|
+
expect(validator.validate('valid string')).toBe('valid string');
|
|
56
|
+
});
|
|
57
|
+
it('should throw a validation error for null or undefined', () => {
|
|
58
|
+
const validator = new index_1.Validators.VStringNotNull();
|
|
59
|
+
expect(() => validator.validate(null)).toThrow(v_error_1.ValidationError);
|
|
60
|
+
expect(() => validator.validate(undefined)).toThrow(v_error_1.ValidationError);
|
|
61
|
+
});
|
|
62
|
+
it('should throw a validation error for minLength', () => {
|
|
63
|
+
const validator = new index_1.Validators.VStringNotNull({ minLength: 5 });
|
|
64
|
+
expect(() => validator.validate('abc')).toThrow(v_error_1.ValidationError);
|
|
65
|
+
expect(validator.validate('abcde')).toBe('abcde');
|
|
66
|
+
});
|
|
67
|
+
it('should throw a validation error for maxLength', () => {
|
|
68
|
+
const validator = new index_1.Validators.VStringNotNull({ maxLength: 5 });
|
|
69
|
+
expect(() => validator.validate('abcdef')).toThrow(v_error_1.ValidationError);
|
|
70
|
+
expect(validator.validate('abc')).toBe('abc');
|
|
71
|
+
});
|
|
72
|
+
it('should throw a validation error for regex', () => {
|
|
73
|
+
const validator = new index_1.Validators.VStringNotNull({ regex: /^[a-z]+$/ });
|
|
74
|
+
expect(() => validator.validate('abc123')).toThrow(v_error_1.ValidationError);
|
|
75
|
+
expect(validator.validate('abcdef')).toBe('abcdef');
|
|
76
|
+
});
|
|
77
|
+
it('should throw a validation error for notRegex', () => {
|
|
78
|
+
const validator = new index_1.Validators.VStringNotNull({ notRegex: /^[0-9]+$/ });
|
|
79
|
+
expect(() => validator.validate('123')).toThrow(v_error_1.ValidationError);
|
|
80
|
+
expect(validator.validate('abc')).toBe('abc');
|
|
81
|
+
});
|
|
82
|
+
it('should throw a validation error for in', () => {
|
|
83
|
+
const validator = new index_1.Validators.VStringNotNull({ in: ['apple', 'banana', 'cherry'] });
|
|
84
|
+
expect(() => validator.validate('orange')).toThrow(v_error_1.ValidationError);
|
|
85
|
+
expect(validator.validate('apple')).toBe('apple');
|
|
86
|
+
});
|
|
87
|
+
it('should throw a validation error for notIn', () => {
|
|
88
|
+
const validator = new index_1.Validators.VStringNotNull({ notIn: ['apple', 'banana', 'cherry'] });
|
|
89
|
+
expect(() => validator.validate('apple')).toThrow(v_error_1.ValidationError);
|
|
90
|
+
expect(validator.validate('orange')).toBe('orange');
|
|
91
|
+
});
|
|
92
|
+
it('should validate string in strictMode', () => {
|
|
93
|
+
const validator = new index_1.Validators.VStringNotNull({ strictMode: true });
|
|
94
|
+
expect(() => validator.validate(123)).toThrow(v_error_1.ValidationError);
|
|
95
|
+
expect(validator.validate('valid string')).toBe('valid string');
|
|
96
|
+
});
|
|
97
|
+
it('should validate string with ignoreCase in in condition', () => {
|
|
98
|
+
const validator = new index_1.Validators.VStringNotNull({ in: ['Apple', 'Banana', 'Cherry'], ignoreCase: true });
|
|
99
|
+
expect(validator.validate('apple')).toBe('apple');
|
|
100
|
+
expect(() => validator.validate('orange')).toThrow(v_error_1.ValidationError);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=v_string.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v_string.test.js","sourceRoot":"","sources":["../../../../src/src/validators/string/v_string.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/src/validators/type.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { VVCIsRequired } from "../interfaces/types";
|
|
2
|
+
import { IMessageLanguage } from "../languages/message";
|
|
3
|
+
export declare abstract class Validation<T> {
|
|
4
|
+
protected cond?: VVCIsRequired | undefined;
|
|
5
|
+
constructor(cond?: VVCIsRequired | undefined);
|
|
6
|
+
abstract validate(data: any): T;
|
|
7
|
+
protected badTypeMessage: IMessageLanguage<void>;
|
|
8
|
+
protected isRequired(data: any, isRequired?: boolean): T;
|
|
9
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Validation = void 0;
|
|
4
|
+
const validatorConfig_1 = require("../config/validatorConfig");
|
|
5
|
+
const v_error_1 = require("../error/v_error");
|
|
6
|
+
const message_1 = require("../languages/message");
|
|
7
|
+
class Validation {
|
|
8
|
+
constructor(cond) {
|
|
9
|
+
this.cond = cond;
|
|
10
|
+
}
|
|
11
|
+
isRequired(data, isRequired) {
|
|
12
|
+
var _a;
|
|
13
|
+
let mReq = {
|
|
14
|
+
es: () => "es requerido y",
|
|
15
|
+
en: () => "is required and"
|
|
16
|
+
};
|
|
17
|
+
let reqVal = false;
|
|
18
|
+
if (((_a = this.cond) === null || _a === void 0 ? void 0 : _a.isRequired) !== undefined) {
|
|
19
|
+
reqVal = this.cond.isRequired;
|
|
20
|
+
if (isRequired !== undefined) {
|
|
21
|
+
if (typeof reqVal === 'boolean') {
|
|
22
|
+
reqVal = isRequired;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
reqVal.val = isRequired;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
if (isRequired !== undefined) {
|
|
31
|
+
reqVal = isRequired;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (isRequired && (data === null || data === undefined)) {
|
|
35
|
+
throw new v_error_1.ValidationError([{
|
|
36
|
+
key: "",
|
|
37
|
+
message: `${(0, message_1.getMessage)(reqVal, undefined, mReq)} ${this.badTypeMessage[validatorConfig_1.ValConfig.lang]()}`
|
|
38
|
+
}]);
|
|
39
|
+
}
|
|
40
|
+
return data;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.Validation = Validation;
|
|
44
|
+
//# sourceMappingURL=validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/src/validators/validator.ts"],"names":[],"mappings":";;;AAAA,+DAAsD;AACtD,8CAAmD;AAEnD,kDAA2F;AAE3F,MAAsB,UAAU;IAC5B,YAAsB,IAAoB;QAApB,SAAI,GAAJ,IAAI,CAAgB;IAAI,CAAC;IAGrC,UAAU,CAAC,IAAS,EAAE,UAAoB;;QAChD,IAAI,IAAI,GAA2B;YAC/B,EAAE,EAAE,GAAG,EAAE,CAAC,gBAAgB;YAC1B,EAAE,EAAE,GAAG,EAAE,CAAC,iBAAiB;SAC9B,CAAA;QACD,IAAI,MAAM,GAA+B,KAAK,CAAC;QAC/C,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,UAAU,MAAK,SAAS,EAAE,CAAC;YACtC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,GAAG,UAAU,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC;gBAC5B,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,GAAG,UAAU,CAAC;YACxB,CAAC;QACL,CAAC;QACD,IAAI,UAAU,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,yBAAe,CAAC,CAAC;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,GAAG,IAAA,oBAAU,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,2BAAS,CAAC,IAAI,CAAC,EAAE,EAAE;iBAC7F,CAAC,CAAC,CAAA;QACP,CAAC;QACD,OAAO,IAAS,CAAC;IACrB,CAAC;CACJ;AAhCD,gCAgCC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "structure-verifier",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "tsc-watch --onSuccess \"node ./dist/test/test.js\"",
|
|
8
|
+
"clean": "rimraf dist/",
|
|
9
|
+
"test": "npm run clean && npx tsc && npx jest",
|
|
10
|
+
"test2": "tsc-watch --onSuccess \"node ./dist/index.test.js\"",
|
|
11
|
+
"publicar": "npm run clean && npx tsc && npx jest && npm version patch && npm publish"
|
|
12
|
+
},
|
|
13
|
+
"exports": {
|
|
14
|
+
".": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [],
|
|
17
|
+
"author": "",
|
|
18
|
+
"license": "ISC",
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@types/jest": "^29.5.12",
|
|
21
|
+
"@types/node": "^20.11.20",
|
|
22
|
+
"jest": "^29.7.0",
|
|
23
|
+
"rimraf": "^5.0.5",
|
|
24
|
+
"ts-jest": "^29.1.2",
|
|
25
|
+
"tsc-watch": "^6.0.4",
|
|
26
|
+
"typescript": "^5.3.3"
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"moment-timezone": "^0.5.45"
|
|
30
|
+
}
|
|
31
|
+
}
|