structure-verifier 0.0.14 → 0.0.15
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/src/verifiers/boolean/v_boolean.js +25 -16
- package/dist/src/verifiers/boolean/v_boolean.js.map +1 -1
- package/dist/src/verifiers/date/v_date.js +47 -27
- package/dist/src/verifiers/date/v_date.js.map +1 -1
- package/dist/src/verifiers/string/v_string.js +68 -42
- package/dist/src/verifiers/string/v_string.js.map +1 -1
- package/dist/src/verifiers/uuid/v_uuid.js +33 -23
- package/dist/src/verifiers/uuid/v_uuid.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,45 +7,54 @@ const verifier_1 = require("../verifier");
|
|
|
7
7
|
function vBoolean(data, badTypeMessage, conds) {
|
|
8
8
|
// Strict mode: only accept boolean type
|
|
9
9
|
if ((0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.strictMode) === true) {
|
|
10
|
-
if (typeof data !==
|
|
11
|
-
throw new v_error_1.VerificationError([
|
|
10
|
+
if (typeof data !== "boolean") {
|
|
11
|
+
throw new v_error_1.VerificationError([
|
|
12
|
+
{
|
|
12
13
|
key: "",
|
|
13
|
-
message: (0, message_1.getMessage)((conds === null || conds === void 0 ? void 0 : conds.badTypeMessage) != undefined
|
|
14
|
-
|
|
14
|
+
message: (0, message_1.getMessage)((conds === null || conds === void 0 ? void 0 : conds.badTypeMessage) != undefined
|
|
15
|
+
? conds === null || conds === void 0 ? void 0 : conds.badTypeMessage
|
|
16
|
+
: undefined, undefined, badTypeMessage),
|
|
17
|
+
},
|
|
18
|
+
]);
|
|
15
19
|
}
|
|
16
20
|
return data;
|
|
17
21
|
}
|
|
18
22
|
// Non-strict mode: accept boolean, number (1/0), or string representations
|
|
19
|
-
const acceptedValues = [true, false, 1, 0,
|
|
20
|
-
const acceptedStrings = [
|
|
23
|
+
const acceptedValues = [true, false, 1, 0, "1", "0"];
|
|
24
|
+
const acceptedStrings = ["true", "false"];
|
|
21
25
|
if (acceptedValues.includes(data)) {
|
|
22
|
-
return data === true || data === 1 || data ===
|
|
26
|
+
return data === true || data === 1 || data === "1";
|
|
23
27
|
}
|
|
24
|
-
if (typeof data ===
|
|
25
|
-
|
|
28
|
+
if (typeof data === "string" &&
|
|
29
|
+
acceptedStrings.includes(data.toLowerCase())) {
|
|
30
|
+
return data.toLowerCase() === "true";
|
|
26
31
|
}
|
|
27
|
-
throw new v_error_1.VerificationError([
|
|
32
|
+
throw new v_error_1.VerificationError([
|
|
33
|
+
{
|
|
28
34
|
key: "",
|
|
29
|
-
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)
|
|
30
|
-
}
|
|
35
|
+
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),
|
|
36
|
+
},
|
|
37
|
+
]);
|
|
31
38
|
}
|
|
32
39
|
class VBooleanNotNull extends verifier_1.Verifier {
|
|
33
40
|
check(data) {
|
|
34
|
-
|
|
41
|
+
var _a;
|
|
42
|
+
return vBoolean(this.isRequired(data, true, (_a = this.cond) === null || _a === void 0 ? void 0 : _a.defaultValue), this.badTypeMessage, this.cond);
|
|
35
43
|
}
|
|
36
44
|
constructor(cond) {
|
|
37
45
|
super(cond);
|
|
38
46
|
this.cond = cond;
|
|
39
47
|
this.badTypeMessage = {
|
|
40
48
|
es: () => `debe ser un booleano`,
|
|
41
|
-
en: () => `must be a boolean
|
|
49
|
+
en: () => `must be a boolean`,
|
|
42
50
|
};
|
|
43
51
|
}
|
|
44
52
|
}
|
|
45
53
|
exports.VBooleanNotNull = VBooleanNotNull;
|
|
46
54
|
class VBoolean extends verifier_1.Verifier {
|
|
47
55
|
check(data) {
|
|
48
|
-
|
|
56
|
+
var _a;
|
|
57
|
+
let val = this.isRequired(data, undefined, (_a = this.cond) === null || _a === void 0 ? void 0 : _a.defaultValue);
|
|
49
58
|
if (val === null || val === undefined) {
|
|
50
59
|
return null;
|
|
51
60
|
}
|
|
@@ -57,7 +66,7 @@ class VBoolean extends verifier_1.Verifier {
|
|
|
57
66
|
this.cond = cond;
|
|
58
67
|
this.badTypeMessage = {
|
|
59
68
|
es: () => `debe ser un booleano`,
|
|
60
|
-
en: () => `must be a boolean
|
|
69
|
+
en: () => `must be a boolean`,
|
|
61
70
|
};
|
|
62
71
|
}
|
|
63
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v_boolean.js","sourceRoot":"","sources":["../../../../src/src/verifiers/boolean/v_boolean.ts"],"names":[],"mappings":";;;AAAA,iDAAwD;
|
|
1
|
+
{"version":3,"file":"v_boolean.js","sourceRoot":"","sources":["../../../../src/src/verifiers/boolean/v_boolean.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,24 +8,24 @@ const datetime_1 = require("../../utils/datetime");
|
|
|
8
8
|
const dMessages = {
|
|
9
9
|
format: {
|
|
10
10
|
es: (values) => `debe tener el formato ${values.format}`,
|
|
11
|
-
en: (values) => `must have the format ${values.format}
|
|
11
|
+
en: (values) => `must have the format ${values.format}`,
|
|
12
12
|
},
|
|
13
13
|
timeZone: {
|
|
14
14
|
es: (values) => `debe tener la zona horaria ${values.timeZone}`,
|
|
15
|
-
en: (values) => `must have the time zone ${values.timeZone}
|
|
15
|
+
en: (values) => `must have the time zone ${values.timeZone}`,
|
|
16
16
|
},
|
|
17
17
|
maxDate: {
|
|
18
18
|
es: (values) => `debe ser menor o igual a ${values.maxDate.format()}`,
|
|
19
|
-
en: (values) => `must be less or equal to ${values.maxDate.format()}
|
|
19
|
+
en: (values) => `must be less or equal to ${values.maxDate.format()}`,
|
|
20
20
|
},
|
|
21
21
|
minDate: {
|
|
22
22
|
es: (values) => `debe ser mayor o igual a ${values.minDate.format()}`,
|
|
23
|
-
en: (values) => `must be greater or equal to ${values.minDate.format()}
|
|
23
|
+
en: (values) => `must be greater or equal to ${values.minDate.format()}`,
|
|
24
24
|
},
|
|
25
25
|
badTypeMessage: {
|
|
26
26
|
es: () => `debe ser una fecha`,
|
|
27
|
-
en: () => `must be a date
|
|
28
|
-
}
|
|
27
|
+
en: () => `must be a date`,
|
|
28
|
+
},
|
|
29
29
|
};
|
|
30
30
|
function haveTimezone(input) {
|
|
31
31
|
const regexDesplazamiento = /(?:UTC|GMT|[+-]\d{2}:?\d{2})$/;
|
|
@@ -37,55 +37,74 @@ function formatWithTimeZone(format) {
|
|
|
37
37
|
}
|
|
38
38
|
function vDate(data, badTypeMessage, conds) {
|
|
39
39
|
let timeZone = (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.timeZone) || "UTC";
|
|
40
|
-
if (data ===
|
|
41
|
-
|
|
40
|
+
if (data === "" ||
|
|
41
|
+
!(typeof data === "number" ||
|
|
42
|
+
typeof data === "string" ||
|
|
43
|
+
data instanceof Date ||
|
|
44
|
+
datetime_1.datetime.isDayjs(data))) {
|
|
45
|
+
throw new v_error_1.VerificationError([
|
|
46
|
+
{
|
|
42
47
|
key: "",
|
|
43
|
-
message: (0, message_1.getMessage)((conds === null || conds === void 0 ? void 0 : conds.badTypeMessage) != undefined
|
|
44
|
-
|
|
48
|
+
message: (0, message_1.getMessage)((conds === null || conds === void 0 ? void 0 : conds.badTypeMessage) != undefined
|
|
49
|
+
? conds === null || conds === void 0 ? void 0 : conds.badTypeMessage
|
|
50
|
+
: undefined, undefined, badTypeMessage),
|
|
51
|
+
},
|
|
52
|
+
]);
|
|
45
53
|
}
|
|
46
54
|
let date = (0, datetime_1.datetime)();
|
|
47
55
|
if (conds === null || conds === void 0 ? void 0 : conds.format) {
|
|
48
56
|
let format = (0, message_1.getValue)(conds.format);
|
|
49
57
|
date = (0, datetime_1.datetime)(data, format, true);
|
|
50
58
|
if (!date.isValid()) {
|
|
51
|
-
throw new v_error_1.VerificationError([
|
|
59
|
+
throw new v_error_1.VerificationError([
|
|
60
|
+
{
|
|
52
61
|
key: "",
|
|
53
|
-
message: (0, message_1.getMessage)(conds.format, { format: format }, dMessages.format)
|
|
54
|
-
}
|
|
62
|
+
message: (0, message_1.getMessage)(conds.format, { format: format }, dMessages.format),
|
|
63
|
+
},
|
|
64
|
+
]);
|
|
55
65
|
}
|
|
56
66
|
if (!formatWithTimeZone(format)) {
|
|
57
|
-
date = datetime_1.datetime.tz(date.format(
|
|
67
|
+
date = datetime_1.datetime.tz(date.format("YYYY-MM-DD HH:mm:ss"), timeZone);
|
|
58
68
|
}
|
|
59
69
|
}
|
|
60
70
|
else {
|
|
61
71
|
date = (0, datetime_1.datetime)(data);
|
|
62
|
-
if (typeof data ===
|
|
63
|
-
date = datetime_1.datetime.tz(date.format(
|
|
72
|
+
if (typeof data === "string" && !haveTimezone(data)) {
|
|
73
|
+
date = datetime_1.datetime.tz(date.format("YYYY-MM-DD HH:mm:ss"), timeZone);
|
|
64
74
|
}
|
|
65
75
|
}
|
|
66
76
|
if (!date.isValid()) {
|
|
67
|
-
throw new v_error_1.VerificationError([
|
|
77
|
+
throw new v_error_1.VerificationError([
|
|
78
|
+
{
|
|
68
79
|
key: "",
|
|
69
|
-
message: (0, message_1.getMessage)((conds === null || conds === void 0 ? void 0 : conds.badTypeMessage) != undefined
|
|
70
|
-
|
|
80
|
+
message: (0, message_1.getMessage)((conds === null || conds === void 0 ? void 0 : conds.badTypeMessage) != undefined
|
|
81
|
+
? conds === null || conds === void 0 ? void 0 : conds.badTypeMessage
|
|
82
|
+
: undefined, undefined, badTypeMessage),
|
|
83
|
+
},
|
|
84
|
+
]);
|
|
71
85
|
}
|
|
72
86
|
if ((conds === null || conds === void 0 ? void 0 : conds.maxDate) && date.isAfter((0, message_1.getValue)(conds.maxDate))) {
|
|
73
|
-
throw new v_error_1.VerificationError([
|
|
87
|
+
throw new v_error_1.VerificationError([
|
|
88
|
+
{
|
|
74
89
|
key: "",
|
|
75
|
-
message: (0, message_1.getMessage)(conds.maxDate, { maxDate: (0, message_1.getValue)(conds.maxDate) }, dMessages.maxDate)
|
|
76
|
-
}
|
|
90
|
+
message: (0, message_1.getMessage)(conds.maxDate, { maxDate: (0, message_1.getValue)(conds.maxDate) }, dMessages.maxDate),
|
|
91
|
+
},
|
|
92
|
+
]);
|
|
77
93
|
}
|
|
78
94
|
if ((conds === null || conds === void 0 ? void 0 : conds.minDate) && date.isBefore((0, message_1.getValue)(conds.minDate))) {
|
|
79
|
-
throw new v_error_1.VerificationError([
|
|
95
|
+
throw new v_error_1.VerificationError([
|
|
96
|
+
{
|
|
80
97
|
key: "",
|
|
81
|
-
message: (0, message_1.getMessage)(conds.minDate, { minDate: (0, message_1.getValue)(conds.minDate) }, dMessages.minDate)
|
|
82
|
-
}
|
|
98
|
+
message: (0, message_1.getMessage)(conds.minDate, { minDate: (0, message_1.getValue)(conds.minDate) }, dMessages.minDate),
|
|
99
|
+
},
|
|
100
|
+
]);
|
|
83
101
|
}
|
|
84
102
|
return date;
|
|
85
103
|
}
|
|
86
104
|
class VDateNotNull extends verifier_1.Verifier {
|
|
87
105
|
check(data) {
|
|
88
|
-
|
|
106
|
+
var _a;
|
|
107
|
+
return vDate(this.isRequired(data, true, (_a = this.cond) === null || _a === void 0 ? void 0 : _a.defaultValue), this.badTypeMessage, this.cond);
|
|
89
108
|
}
|
|
90
109
|
constructor(cond) {
|
|
91
110
|
super(cond);
|
|
@@ -96,7 +115,8 @@ class VDateNotNull extends verifier_1.Verifier {
|
|
|
96
115
|
exports.VDateNotNull = VDateNotNull;
|
|
97
116
|
class VDate extends verifier_1.Verifier {
|
|
98
117
|
check(data) {
|
|
99
|
-
|
|
118
|
+
var _a;
|
|
119
|
+
let val = this.isRequired(data, undefined, (_a = this.cond) === null || _a === void 0 ? void 0 : _a.defaultValue);
|
|
100
120
|
if (val === null || val === undefined) {
|
|
101
121
|
return null;
|
|
102
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v_date.js","sourceRoot":"","sources":["../../../../src/src/verifiers/date/v_date.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"v_date.js","sourceRoot":"","sources":["../../../../src/src/verifiers/date/v_date.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,102 +5,126 @@ const v_error_1 = require("../../error/v_error");
|
|
|
5
5
|
const message_1 = require("../../languages/message");
|
|
6
6
|
const verifier_1 = require("../verifier");
|
|
7
7
|
function vString(data, badTypeMessage, conds) {
|
|
8
|
-
if ((0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.strictMode) === true && typeof data !==
|
|
9
|
-
throw new v_error_1.VerificationError([
|
|
8
|
+
if ((0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.strictMode) === true && typeof data !== "string") {
|
|
9
|
+
throw new v_error_1.VerificationError([
|
|
10
|
+
{
|
|
10
11
|
key: "",
|
|
11
|
-
message: (0, message_1.getMessage)((conds === null || conds === void 0 ? void 0 : conds.badTypeMessage) != undefined
|
|
12
|
-
|
|
12
|
+
message: (0, message_1.getMessage)((conds === null || conds === void 0 ? void 0 : conds.badTypeMessage) != undefined
|
|
13
|
+
? conds === null || conds === void 0 ? void 0 : conds.badTypeMessage
|
|
14
|
+
: undefined, undefined, badTypeMessage),
|
|
15
|
+
},
|
|
16
|
+
]);
|
|
13
17
|
}
|
|
14
18
|
data = String(data);
|
|
15
19
|
if ((conds === null || conds === void 0 ? void 0 : conds.minLength) !== undefined) {
|
|
16
20
|
if (data.length < (conds === null || conds === void 0 ? void 0 : conds.minLength)) {
|
|
17
|
-
throw new v_error_1.VerificationError([
|
|
21
|
+
throw new v_error_1.VerificationError([
|
|
22
|
+
{
|
|
18
23
|
key: "",
|
|
19
24
|
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
25
|
es: (values) => `debe tener una longitud mínima de ${values.minLength}`,
|
|
21
|
-
en: (values) => `must have a minimum length of ${values.minLength}
|
|
22
|
-
})
|
|
23
|
-
}
|
|
26
|
+
en: (values) => `must have a minimum length of ${values.minLength}`,
|
|
27
|
+
}),
|
|
28
|
+
},
|
|
29
|
+
]);
|
|
24
30
|
}
|
|
25
31
|
}
|
|
26
32
|
if ((conds === null || conds === void 0 ? void 0 : conds.maxLength) !== undefined) {
|
|
27
33
|
if (data.length > (conds === null || conds === void 0 ? void 0 : conds.maxLength)) {
|
|
28
|
-
throw new v_error_1.VerificationError([
|
|
34
|
+
throw new v_error_1.VerificationError([
|
|
35
|
+
{
|
|
29
36
|
key: "",
|
|
30
37
|
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
38
|
es: (values) => `debe tener una longitud máxima de ${values.maxLength}`,
|
|
32
|
-
en: (values) => `must have a maximum length of ${values.maxLength}
|
|
33
|
-
})
|
|
34
|
-
}
|
|
39
|
+
en: (values) => `must have a maximum length of ${values.maxLength}`,
|
|
40
|
+
}),
|
|
41
|
+
},
|
|
42
|
+
]);
|
|
35
43
|
}
|
|
36
44
|
}
|
|
37
45
|
if ((conds === null || conds === void 0 ? void 0 : conds.regex) !== undefined) {
|
|
38
46
|
if (!(0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.regex).test(data)) {
|
|
39
|
-
throw new v_error_1.VerificationError([
|
|
47
|
+
throw new v_error_1.VerificationError([
|
|
48
|
+
{
|
|
40
49
|
key: "",
|
|
41
50
|
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
51
|
es: (values) => `debe cumplir con el patrón ${values.regex}`,
|
|
43
|
-
en: (values) => `must match the pattern ${values.regex}
|
|
44
|
-
})
|
|
45
|
-
}
|
|
52
|
+
en: (values) => `must match the pattern ${values.regex}`,
|
|
53
|
+
}),
|
|
54
|
+
},
|
|
55
|
+
]);
|
|
46
56
|
}
|
|
47
57
|
}
|
|
48
58
|
if ((conds === null || conds === void 0 ? void 0 : conds.notRegex) !== undefined) {
|
|
49
59
|
if ((0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.notRegex).test(data)) {
|
|
50
|
-
throw new v_error_1.VerificationError([
|
|
60
|
+
throw new v_error_1.VerificationError([
|
|
61
|
+
{
|
|
51
62
|
key: "",
|
|
52
63
|
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
64
|
es: (values) => `no debe cumplir con el patrón ${values.notRegex}`,
|
|
54
|
-
en: (values) => `must not match the pattern ${values.notRegex}
|
|
55
|
-
})
|
|
56
|
-
}
|
|
65
|
+
en: (values) => `must not match the pattern ${values.notRegex}`,
|
|
66
|
+
}),
|
|
67
|
+
},
|
|
68
|
+
]);
|
|
57
69
|
}
|
|
58
70
|
}
|
|
59
71
|
if ((conds === null || conds === void 0 ? void 0 : conds.in) !== undefined) {
|
|
60
72
|
if ((0, message_1.getValue)(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)
|
|
62
|
-
|
|
73
|
+
if (!(0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.in)
|
|
74
|
+
.map((x) => x.toLowerCase())
|
|
75
|
+
.includes(data.toLowerCase())) {
|
|
76
|
+
throw new v_error_1.VerificationError([
|
|
77
|
+
{
|
|
63
78
|
key: "",
|
|
64
79
|
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
80
|
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
|
-
}
|
|
81
|
+
en: (values) => `must be one of the following values ${values.in.join(", ")}`,
|
|
82
|
+
}),
|
|
83
|
+
},
|
|
84
|
+
]);
|
|
69
85
|
}
|
|
70
86
|
}
|
|
71
87
|
else {
|
|
72
88
|
if (!(0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.in).includes(data)) {
|
|
73
|
-
throw new v_error_1.VerificationError([
|
|
89
|
+
throw new v_error_1.VerificationError([
|
|
90
|
+
{
|
|
74
91
|
key: "",
|
|
75
92
|
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
93
|
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
|
-
}
|
|
94
|
+
en: (values) => `must be one of the following values ${values.in.join(", ")}`,
|
|
95
|
+
}),
|
|
96
|
+
},
|
|
97
|
+
]);
|
|
80
98
|
}
|
|
81
99
|
}
|
|
82
100
|
}
|
|
83
101
|
if ((conds === null || conds === void 0 ? void 0 : conds.notIn) !== undefined) {
|
|
84
102
|
if ((0, message_1.getValue)(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)
|
|
86
|
-
|
|
103
|
+
if ((0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.notIn)
|
|
104
|
+
.map((x) => x.toLowerCase())
|
|
105
|
+
.includes(data.toLowerCase())) {
|
|
106
|
+
throw new v_error_1.VerificationError([
|
|
107
|
+
{
|
|
87
108
|
key: "",
|
|
88
109
|
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
110
|
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
|
-
}
|
|
111
|
+
en: (values) => `must not be one of the following values ${values.notIn.join(", ")}`,
|
|
112
|
+
}),
|
|
113
|
+
},
|
|
114
|
+
]);
|
|
93
115
|
}
|
|
94
116
|
}
|
|
95
117
|
else {
|
|
96
118
|
if ((0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.notIn).includes(data)) {
|
|
97
|
-
throw new v_error_1.VerificationError([
|
|
119
|
+
throw new v_error_1.VerificationError([
|
|
120
|
+
{
|
|
98
121
|
key: "",
|
|
99
122
|
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
123
|
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
|
-
}
|
|
124
|
+
en: (values) => `must not be one of the following values ${values.notIn.join(", ")}`,
|
|
125
|
+
}),
|
|
126
|
+
},
|
|
127
|
+
]);
|
|
104
128
|
}
|
|
105
129
|
}
|
|
106
130
|
}
|
|
@@ -108,21 +132,23 @@ function vString(data, badTypeMessage, conds) {
|
|
|
108
132
|
}
|
|
109
133
|
class VStringNotNull extends verifier_1.Verifier {
|
|
110
134
|
check(data) {
|
|
111
|
-
|
|
135
|
+
var _a;
|
|
136
|
+
return vString(this.isRequired(data, true, (_a = this.cond) === null || _a === void 0 ? void 0 : _a.defaultValue), this.badTypeMessage, this.cond);
|
|
112
137
|
}
|
|
113
138
|
constructor(cond) {
|
|
114
139
|
super(cond);
|
|
115
140
|
this.cond = cond;
|
|
116
141
|
this.badTypeMessage = {
|
|
117
142
|
es: () => `debe ser un texto`,
|
|
118
|
-
en: () => `must be a string
|
|
143
|
+
en: () => `must be a string`,
|
|
119
144
|
};
|
|
120
145
|
}
|
|
121
146
|
}
|
|
122
147
|
exports.VStringNotNull = VStringNotNull;
|
|
123
148
|
class VString extends verifier_1.Verifier {
|
|
124
149
|
check(data) {
|
|
125
|
-
|
|
150
|
+
var _a;
|
|
151
|
+
let val = this.isRequired(data, undefined, (_a = this.cond) === null || _a === void 0 ? void 0 : _a.defaultValue);
|
|
126
152
|
if (val === null || val === undefined) {
|
|
127
153
|
return null;
|
|
128
154
|
}
|
|
@@ -133,7 +159,7 @@ class VString extends verifier_1.Verifier {
|
|
|
133
159
|
this.cond = cond;
|
|
134
160
|
this.badTypeMessage = {
|
|
135
161
|
es: () => `debe ser un texto`,
|
|
136
|
-
en: () => `must be a string
|
|
162
|
+
en: () => `must be a string`,
|
|
137
163
|
};
|
|
138
164
|
}
|
|
139
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v_string.js","sourceRoot":"","sources":["../../../../src/src/verifiers/string/v_string.ts"],"names":[],"mappings":";;;AAAA,iDAAwD;
|
|
1
|
+
{"version":3,"file":"v_string.js","sourceRoot":"","sources":["../../../../src/src/verifiers/string/v_string.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,51 +6,59 @@ const v_error_1 = require("../../error/v_error");
|
|
|
6
6
|
const message_1 = require("../../languages/message");
|
|
7
7
|
function vUUID(data, badTypeMessage, conds) {
|
|
8
8
|
var _a;
|
|
9
|
-
if ((0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.strictMode) === true && typeof data !==
|
|
10
|
-
throw new v_error_1.VerificationError([
|
|
9
|
+
if ((0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.strictMode) === true && typeof data !== "string") {
|
|
10
|
+
throw new v_error_1.VerificationError([
|
|
11
|
+
{
|
|
11
12
|
key: "",
|
|
12
|
-
message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.badTypeMessage, undefined, badTypeMessage)
|
|
13
|
-
}
|
|
13
|
+
message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.badTypeMessage, undefined, badTypeMessage),
|
|
14
|
+
},
|
|
15
|
+
]);
|
|
14
16
|
}
|
|
15
17
|
let uuid = String(data);
|
|
16
|
-
const hasHyphens = uuid.includes(
|
|
18
|
+
const hasHyphens = uuid.includes("-");
|
|
17
19
|
if (!(conds === null || conds === void 0 ? void 0 : conds.allowNoHyphens) && !hasHyphens) {
|
|
18
|
-
throw new v_error_1.VerificationError([
|
|
20
|
+
throw new v_error_1.VerificationError([
|
|
21
|
+
{
|
|
19
22
|
key: "",
|
|
20
23
|
message: (0, message_1.getMessage)(undefined, undefined, {
|
|
21
24
|
es: () => `UUID debe incluir guiones`,
|
|
22
|
-
en: () => `UUID must include hyphens
|
|
23
|
-
})
|
|
24
|
-
}
|
|
25
|
+
en: () => `UUID must include hyphens`,
|
|
26
|
+
}),
|
|
27
|
+
},
|
|
28
|
+
]);
|
|
25
29
|
}
|
|
26
30
|
const normalized = uuid.replace(/-/g, "");
|
|
27
31
|
if (normalized.length !== 32) {
|
|
28
|
-
throw new v_error_1.VerificationError([
|
|
32
|
+
throw new v_error_1.VerificationError([
|
|
33
|
+
{
|
|
29
34
|
key: "",
|
|
30
35
|
message: (0, message_1.getMessage)(undefined, undefined, {
|
|
31
36
|
es: () => `UUID inválido, longitud incorrecta`,
|
|
32
|
-
en: () => `Invalid UUID, wrong length
|
|
33
|
-
})
|
|
34
|
-
}
|
|
37
|
+
en: () => `Invalid UUID, wrong length`,
|
|
38
|
+
}),
|
|
39
|
+
},
|
|
40
|
+
]);
|
|
35
41
|
}
|
|
36
42
|
const versionPattern = (_a = conds === null || conds === void 0 ? void 0 : conds.version) !== null && _a !== void 0 ? _a : "[1-5]";
|
|
37
43
|
const regex = new RegExp(`^[0-9a-f]{8}[0-9a-f]{4}${versionPattern}[0-9a-f]{3}[89ab][0-9a-f]{3}[0-9a-f]{12}$`, "i");
|
|
38
44
|
if (!regex.test(normalized)) {
|
|
39
|
-
throw new v_error_1.VerificationError([
|
|
45
|
+
throw new v_error_1.VerificationError([
|
|
46
|
+
{
|
|
40
47
|
key: "",
|
|
41
48
|
message: (0, message_1.getMessage)(undefined, undefined, {
|
|
42
49
|
es: (values) => `UUID inválido${(conds === null || conds === void 0 ? void 0 : conds.version) ? ` para versión ${conds.version}` : ""}`,
|
|
43
|
-
en: (values) => `Invalid UUID${(conds === null || conds === void 0 ? void 0 : conds.version) ? ` for version ${conds.version}` : ""}
|
|
44
|
-
})
|
|
45
|
-
}
|
|
50
|
+
en: (values) => `Invalid UUID${(conds === null || conds === void 0 ? void 0 : conds.version) ? ` for version ${conds.version}` : ""}`,
|
|
51
|
+
}),
|
|
52
|
+
},
|
|
53
|
+
]);
|
|
46
54
|
}
|
|
47
55
|
const formatted = [
|
|
48
56
|
normalized.slice(0, 8),
|
|
49
57
|
normalized.slice(8, 12),
|
|
50
58
|
normalized.slice(12, 16),
|
|
51
59
|
normalized.slice(16, 20),
|
|
52
|
-
normalized.slice(20, 32)
|
|
53
|
-
].join(
|
|
60
|
+
normalized.slice(20, 32),
|
|
61
|
+
].join("-");
|
|
54
62
|
return formatted.toLowerCase();
|
|
55
63
|
}
|
|
56
64
|
class VUUIDNotNull extends verifier_1.Verifier {
|
|
@@ -59,11 +67,12 @@ class VUUIDNotNull extends verifier_1.Verifier {
|
|
|
59
67
|
this.cond = cond;
|
|
60
68
|
this.badTypeMessage = {
|
|
61
69
|
es: () => `debe ser un UUID`,
|
|
62
|
-
en: () => `must be a UUID
|
|
70
|
+
en: () => `must be a UUID`,
|
|
63
71
|
};
|
|
64
72
|
}
|
|
65
73
|
check(data) {
|
|
66
|
-
|
|
74
|
+
var _a;
|
|
75
|
+
return vUUID(this.isRequired(data, true, (_a = this.cond) === null || _a === void 0 ? void 0 : _a.defaultValue), this.badTypeMessage, this.cond);
|
|
67
76
|
}
|
|
68
77
|
}
|
|
69
78
|
exports.VUUIDNotNull = VUUIDNotNull;
|
|
@@ -73,11 +82,12 @@ class VUUID extends verifier_1.Verifier {
|
|
|
73
82
|
this.cond = cond;
|
|
74
83
|
this.badTypeMessage = {
|
|
75
84
|
es: () => `debe ser un UUID`,
|
|
76
|
-
en: () => `must be a UUID
|
|
85
|
+
en: () => `must be a UUID`,
|
|
77
86
|
};
|
|
78
87
|
}
|
|
79
88
|
check(data) {
|
|
80
|
-
|
|
89
|
+
var _a;
|
|
90
|
+
const val = this.isRequired(data, undefined, (_a = this.cond) === null || _a === void 0 ? void 0 : _a.defaultValue);
|
|
81
91
|
if (val === null || val === undefined)
|
|
82
92
|
return null;
|
|
83
93
|
return vUUID(val, this.badTypeMessage, this.cond);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v_uuid.js","sourceRoot":"","sources":["../../../../src/src/verifiers/uuid/v_uuid.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AACvC,iDAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"v_uuid.js","sourceRoot":"","sources":["../../../../src/src/verifiers/uuid/v_uuid.ts"],"names":[],"mappings":"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"}
|