pols-validator 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/rules.d.ts +2 -1
- package/dist/rules.d.ts.map +1 -1
- package/dist/rules.js +23 -42
- package/package.json +1 -1
package/dist/rules.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export type PSanitizeParams = {
|
|
|
5
5
|
};
|
|
6
6
|
export declare class PRules extends PRulesEngine {
|
|
7
7
|
isString(): this;
|
|
8
|
+
isAlphanumeric(): this;
|
|
8
9
|
isEmailAddress(): this;
|
|
9
10
|
isDateTime(): this;
|
|
10
11
|
isDate(): this;
|
|
@@ -14,7 +15,7 @@ export declare class PRules extends PRulesEngine {
|
|
|
14
15
|
isInteger(): this;
|
|
15
16
|
isNatural(): this;
|
|
16
17
|
isNaturalNoZero(): this;
|
|
17
|
-
|
|
18
|
+
isNumeric(): this;
|
|
18
19
|
maxLength(limit: number): this;
|
|
19
20
|
minLength(limit: number): this;
|
|
20
21
|
hasFixedLength(limit: number): this;
|
package/dist/rules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,eAAe,CAAA;AAK3D,MAAM,MAAM,eAAe,GAAG;IAC7B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB,CAAA;AAED,qBAAa,MAAO,SAAQ,YAAY;IACvC,QAAQ;
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,eAAe,CAAA;AAK3D,MAAM,MAAM,eAAe,GAAG;IAC7B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB,CAAA;AAED,qBAAa,MAAO,SAAQ,YAAY;IACvC,QAAQ;IAUR,cAAc;IAQd,cAAc;IAad,UAAU;IASV,MAAM;IAMN,MAAM;IA+BN,KAAK,CAAC,OAAO,EAAE,MAAM;IAMrB,QAAQ;IASR,SAAS;IAMT,SAAS;IAIT,eAAe;IAIf,SAAS;IAMT,SAAS,CAAC,KAAK,EAAE,MAAM;IAYvB,SAAS,CAAC,KAAK,EAAE,MAAM;IAYvB,cAAc,CAAC,KAAK,EAAE,MAAM;IAY5B,IAAI,CAAC,KAAK,EAAE,MAAM;IAMlB,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;IAoClD,IAAI,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE;IAY3B,OAAO,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE;IAM9B,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;IAMtD,IAAI,CAAC,KAAK,EAAE,MAAM;IAMlB,KAAK,CAAC,KAAK,EAAE,MAAM;IAMnB,IAAI,CAAC,KAAK,EAAE,MAAM;IAMlB,KAAK,CAAC,KAAK,EAAE,MAAM;IAMnB,iBAAiB;IAOjB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IA4CxC,SAAS;IAiDT,KAAK;IAML,KAAK;IAML,SAAS;IAMT,KAAK,CAAC,QAAQ,EAAE,MAAM;IAOtB,iBAAiB;IAMjB,QAAQ;IAOR,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC;IAMlG,UAAU;IAMV,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAMhC,IAAI,CAAC,SAAS,EAAE,MAAM;IAMtB,KAAK;IAML,IAAI;IAMJ,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe;CAajC"}
|
package/dist/rules.js
CHANGED
|
@@ -7,7 +7,7 @@ const isomorphic_dompurify_1 = require("isomorphic-dompurify");
|
|
|
7
7
|
const pols_utils_1 = require("pols-utils");
|
|
8
8
|
class PRules extends rulesEngine_1.PRulesEngine {
|
|
9
9
|
isString() {
|
|
10
|
-
this.add(this.isString.name, (wrapper) => {
|
|
10
|
+
return this.add(this.isString.name, (wrapper) => {
|
|
11
11
|
if (typeof wrapper.value == 'number') {
|
|
12
12
|
wrapper.value = wrapper.value.toString();
|
|
13
13
|
}
|
|
@@ -15,11 +15,16 @@ class PRules extends rulesEngine_1.PRulesEngine {
|
|
|
15
15
|
return `'${wrapper.label}' debe ser una cadena de texto`;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
-
|
|
18
|
+
}
|
|
19
|
+
isAlphanumeric() {
|
|
20
|
+
return this.isString().add(this.isAlphanumeric.name, (wrapper) => {
|
|
21
|
+
if (!wrapper.value.match(/^[a-zA-Z0-9ñÑáéíóúÁÉÍÓÚüÜ]+$/)) {
|
|
22
|
+
return `'${wrapper.label}' debe contener sólo letras y números`;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
19
25
|
}
|
|
20
26
|
isEmailAddress() {
|
|
21
|
-
this.isString()
|
|
22
|
-
this.add(this.isEmailAddress.name, (wrapper) => {
|
|
27
|
+
return this.isString().add(this.isEmailAddress.name, (wrapper) => {
|
|
23
28
|
const message = `'${wrapper.label}' debe ser una dirección de correo válida`;
|
|
24
29
|
if (wrapper.value.match(/^[^\sñáéíóúäëïöü@]+@[^\sñáéíóúäëïöü@]+\.[^\sñáéíóúäëïöü@]{2,}$/i)) {
|
|
25
30
|
if (wrapper.value.match(/[.]{2}|,/)) {
|
|
@@ -30,17 +35,15 @@ class PRules extends rulesEngine_1.PRulesEngine {
|
|
|
30
35
|
return message;
|
|
31
36
|
}
|
|
32
37
|
});
|
|
33
|
-
return this;
|
|
34
38
|
}
|
|
35
39
|
isDateTime() {
|
|
36
|
-
this.add(this.isDateTime.name, (wrapper) => {
|
|
40
|
+
return this.add(this.isDateTime.name, (wrapper) => {
|
|
37
41
|
const message = `'${wrapper.label}' tiene un formato de fecha y hora no válido`;
|
|
38
42
|
const newDate = new pols_date_1.PDate(wrapper.value);
|
|
39
43
|
if (newDate.isInvalidDate)
|
|
40
44
|
return message;
|
|
41
45
|
wrapper.value = newDate;
|
|
42
46
|
});
|
|
43
|
-
return this;
|
|
44
47
|
}
|
|
45
48
|
isDate() {
|
|
46
49
|
return this.isDateTime().add(this.isDate.name, (wrapper) => {
|
|
@@ -48,7 +51,7 @@ class PRules extends rulesEngine_1.PRulesEngine {
|
|
|
48
51
|
});
|
|
49
52
|
}
|
|
50
53
|
isTime() {
|
|
51
|
-
this.add(this.isTime.name, (wrapper) => {
|
|
54
|
+
return this.add(this.isTime.name, (wrapper) => {
|
|
52
55
|
const message = `'${wrapper.label}' contiene un formato de hora no válido`;
|
|
53
56
|
const value = wrapper.value.toString();
|
|
54
57
|
const parts = value.replace(/[.,]/g, ':').replace('m', '').match(/^([0-2]?[0-9])(:?)([0-5]?[0-9]?)(:?)([0-5]?[0-9]?)([ap]?)\.?m?\.?$/);
|
|
@@ -81,33 +84,27 @@ class PRules extends rulesEngine_1.PRulesEngine {
|
|
|
81
84
|
}
|
|
82
85
|
return message;
|
|
83
86
|
});
|
|
84
|
-
return this;
|
|
85
87
|
}
|
|
86
88
|
match(pattern) {
|
|
87
|
-
this.isString()
|
|
88
|
-
this.add(this.match.name, (wrapper) => {
|
|
89
|
+
return this.isString().add(this.match.name, (wrapper) => {
|
|
89
90
|
if (!wrapper.value.match(pattern))
|
|
90
91
|
return `'${wrapper.label}' no cumple con el formato de texto deseado`;
|
|
91
92
|
});
|
|
92
|
-
return this;
|
|
93
93
|
}
|
|
94
94
|
isNumber() {
|
|
95
|
-
this.add(this.isNumber.name, (wrapper) => {
|
|
95
|
+
return this.add(this.isNumber.name, (wrapper) => {
|
|
96
96
|
const message = `'${wrapper.label}' debe ser un número`;
|
|
97
97
|
const value = Number(wrapper.value);
|
|
98
98
|
if (isNaN(value) || value == Infinity)
|
|
99
99
|
return message;
|
|
100
100
|
wrapper.value = value;
|
|
101
101
|
});
|
|
102
|
-
return this;
|
|
103
102
|
}
|
|
104
103
|
isInteger() {
|
|
105
|
-
this.isNumber()
|
|
106
|
-
this.add(this.isInteger.name, (wrapper) => {
|
|
104
|
+
return this.isNumber().add(this.isInteger.name, (wrapper) => {
|
|
107
105
|
if (wrapper.value != Math.floor(wrapper.value))
|
|
108
106
|
return `'${wrapper.label}' debe ser un número entero`;
|
|
109
107
|
});
|
|
110
|
-
return this;
|
|
111
108
|
}
|
|
112
109
|
isNatural() {
|
|
113
110
|
return this.isInteger().isGte(0);
|
|
@@ -115,13 +112,11 @@ class PRules extends rulesEngine_1.PRulesEngine {
|
|
|
115
112
|
isNaturalNoZero() {
|
|
116
113
|
return this.isInteger().isGt(0);
|
|
117
114
|
}
|
|
118
|
-
|
|
119
|
-
this.isString()
|
|
120
|
-
this.add(this.onlyNumbers.name, (wrapper) => {
|
|
115
|
+
isNumeric() {
|
|
116
|
+
return this.isString().add(this.isNumeric.name, (wrapper) => {
|
|
121
117
|
if (!wrapper.value.match(/^[0-9]+$/))
|
|
122
118
|
return `'${wrapper.label}' debe contener sólo números`;
|
|
123
119
|
});
|
|
124
|
-
return this;
|
|
125
120
|
}
|
|
126
121
|
maxLength(limit) {
|
|
127
122
|
return this.add(this.maxLength.name, (wrapper) => {
|
|
@@ -366,48 +361,36 @@ class PRules extends rulesEngine_1.PRulesEngine {
|
|
|
366
361
|
});
|
|
367
362
|
}
|
|
368
363
|
upper() {
|
|
369
|
-
this.isString()
|
|
370
|
-
this.add(this.upper.name, (wrapper) => {
|
|
364
|
+
return this.isString().add(this.upper.name, (wrapper) => {
|
|
371
365
|
wrapper.value = wrapper.value.toUpperCase();
|
|
372
366
|
});
|
|
373
|
-
return this;
|
|
374
367
|
}
|
|
375
368
|
lower() {
|
|
376
|
-
this.isString()
|
|
377
|
-
this.add(this.lower.name, (wrapper) => {
|
|
369
|
+
return this.isString().add(this.lower.name, (wrapper) => {
|
|
378
370
|
wrapper.value = wrapper.value.toLowerCase();
|
|
379
371
|
});
|
|
380
|
-
return this;
|
|
381
372
|
}
|
|
382
373
|
decodeURI() {
|
|
383
|
-
this.isString()
|
|
384
|
-
this.add(this.decodeURI.name, (wrapper) => {
|
|
374
|
+
return this.isString().add(this.decodeURI.name, (wrapper) => {
|
|
385
375
|
wrapper.value = decodeURI(wrapper.value);
|
|
386
376
|
});
|
|
387
|
-
return this;
|
|
388
377
|
}
|
|
389
378
|
round(decimals) {
|
|
390
|
-
this.isNumber()
|
|
391
|
-
this.add(this.round.name, (wrapper) => {
|
|
379
|
+
return this.isNumber().add(this.round.name, (wrapper) => {
|
|
392
380
|
wrapper.value = pols_utils_1.PUtilsNumber.round(wrapper.value, decimals);
|
|
393
381
|
});
|
|
394
|
-
return this;
|
|
395
382
|
}
|
|
396
383
|
/* Reemplaza todos los dobles (o más) espacios juntos por uno simple */
|
|
397
384
|
cleanDoubleSpaces() {
|
|
398
|
-
this.isString()
|
|
399
|
-
this.add(this.cleanDoubleSpaces.name, (wrapper) => {
|
|
385
|
+
return this.isString().add(this.cleanDoubleSpaces.name, (wrapper) => {
|
|
400
386
|
wrapper.value = wrapper.value.replace(/\s{2,}/g, ' ');
|
|
401
387
|
});
|
|
402
|
-
return this;
|
|
403
388
|
}
|
|
404
389
|
noSpaces() {
|
|
405
|
-
this.isString()
|
|
406
|
-
this.add(this.noSpaces.name, (wrapper) => {
|
|
390
|
+
return this.isString().add(this.noSpaces.name, (wrapper) => {
|
|
407
391
|
if (wrapper.value.match(/\s/))
|
|
408
392
|
return `'${wrapper.label}' no debe contener 'espacios'`;
|
|
409
393
|
});
|
|
410
|
-
return this;
|
|
411
394
|
}
|
|
412
395
|
replace(search, replace) {
|
|
413
396
|
return this.isString().add(this.replace.name, (wrapper) => {
|
|
@@ -415,11 +398,9 @@ class PRules extends rulesEngine_1.PRulesEngine {
|
|
|
415
398
|
});
|
|
416
399
|
}
|
|
417
400
|
capitalize() {
|
|
418
|
-
this.isString()
|
|
419
|
-
this.add(this.capitalize.name, (wrapper) => {
|
|
401
|
+
return this.isString().add(this.capitalize.name, (wrapper) => {
|
|
420
402
|
wrapper.value = pols_utils_1.PUtilsString.capitalize(wrapper.value);
|
|
421
403
|
});
|
|
422
|
-
return this;
|
|
423
404
|
}
|
|
424
405
|
split(separator) {
|
|
425
406
|
return this.isString().add(this.split.name, (wrapper) => {
|