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 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
- onlyNumbers(): this;
18
+ isNumeric(): this;
18
19
  maxLength(limit: number): this;
19
20
  minLength(limit: number): this;
20
21
  hasFixedLength(limit: number): this;
@@ -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;IAWR,cAAc;IAed,UAAU;IAUV,MAAM;IAMN,MAAM;IAgCN,KAAK,CAAC,OAAO,EAAE,MAAM;IAQrB,QAAQ;IAUR,SAAS;IAQT,SAAS;IAIT,eAAe;IAIf,WAAW;IAQX,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;IAQL,KAAK;IAQL,SAAS;IAQT,KAAK,CAAC,QAAQ,EAAE,MAAM;IAStB,iBAAiB;IAQjB,QAAQ;IASR,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;IAQV,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"}
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
- return this;
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
- onlyNumbers() {
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) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pols-validator",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",