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.
Files changed (56) hide show
  1. package/README.md +186 -0
  2. package/dist/index.d.ts +14 -0
  3. package/dist/index.js +18 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/src/config/validatorConfig.d.ts +3 -0
  6. package/dist/src/config/validatorConfig.js +8 -0
  7. package/dist/src/config/validatorConfig.js.map +1 -0
  8. package/dist/src/error/v_error.d.ts +11 -0
  9. package/dist/src/error/v_error.js +28 -0
  10. package/dist/src/error/v_error.js.map +1 -0
  11. package/dist/src/interfaces/types.d.ts +28 -0
  12. package/dist/src/interfaces/types.js +3 -0
  13. package/dist/src/interfaces/types.js.map +1 -0
  14. package/dist/src/languages/message.d.ts +10 -0
  15. package/dist/src/languages/message.js +30 -0
  16. package/dist/src/languages/message.js.map +1 -0
  17. package/dist/src/validators/any/v_any.d.ts +2 -0
  18. package/dist/src/validators/any/v_any.js +7 -0
  19. package/dist/src/validators/any/v_any.js.map +1 -0
  20. package/dist/src/validators/array/v_array.d.ts +4 -0
  21. package/dist/src/validators/array/v_array.js +10 -0
  22. package/dist/src/validators/array/v_array.js.map +1 -0
  23. package/dist/src/validators/boolean/v_boolean.d.ts +15 -0
  24. package/dist/src/validators/boolean/v_boolean.js +48 -0
  25. package/dist/src/validators/boolean/v_boolean.js.map +1 -0
  26. package/dist/src/validators/boolean/v_boolean.test.d.ts +1 -0
  27. package/dist/src/validators/boolean/v_boolean.test.js +61 -0
  28. package/dist/src/validators/boolean/v_boolean.test.js.map +1 -0
  29. package/dist/src/validators/date/v_date.d.ts +0 -0
  30. package/dist/src/validators/date/v_date.js +2 -0
  31. package/dist/src/validators/date/v_date.js.map +1 -0
  32. package/dist/src/validators/number/v_number.d.ts +33 -0
  33. package/dist/src/validators/number/v_number.js +122 -0
  34. package/dist/src/validators/number/v_number.js.map +1 -0
  35. package/dist/src/validators/number/v_number.test.d.ts +1 -0
  36. package/dist/src/validators/number/v_number.test.js +91 -0
  37. package/dist/src/validators/number/v_number.test.js.map +1 -0
  38. package/dist/src/validators/object/v_object.d.ts +28 -0
  39. package/dist/src/validators/object/v_object.js +130 -0
  40. package/dist/src/validators/object/v_object.js.map +1 -0
  41. package/dist/src/validators/object/v_object.test.d.ts +1 -0
  42. package/dist/src/validators/object/v_object.test.js +73 -0
  43. package/dist/src/validators/object/v_object.test.js.map +1 -0
  44. package/dist/src/validators/string/v_string.d.ts +35 -0
  45. package/dist/src/validators/string/v_string.js +141 -0
  46. package/dist/src/validators/string/v_string.js.map +1 -0
  47. package/dist/src/validators/string/v_string.test.d.ts +1 -0
  48. package/dist/src/validators/string/v_string.test.js +103 -0
  49. package/dist/src/validators/string/v_string.test.js.map +1 -0
  50. package/dist/src/validators/type.d.ts +2 -0
  51. package/dist/src/validators/type.js +3 -0
  52. package/dist/src/validators/type.js.map +1 -0
  53. package/dist/src/validators/validator.d.ts +9 -0
  54. package/dist/src/validators/validator.js +44 -0
  55. package/dist/src/validators/validator.js.map +1 -0
  56. package/package.json +31 -0
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VNumber = exports.VNumberNotNull = 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
+ const dMessages = {
8
+ min: {
9
+ es: (values) => `debe ser mayor o igual a ${values.min}`,
10
+ en: (values) => `must be greater or equal to ${values.min}`
11
+ },
12
+ max: {
13
+ es: (values) => `debe ser menor o igual a ${values.max}`,
14
+ en: (values) => `must be less or equal to ${values.max}`
15
+ },
16
+ in: {
17
+ es: (values) => `debe ser uno de los siguientes valores ${values.in.join(", ")}`,
18
+ en: (values) => `must be one of the following values ${values.in.join(", ")}`
19
+ },
20
+ notIn: {
21
+ es: (values) => `no debe ser uno de los siguientes valores ${values.notIn.join(", ")}`,
22
+ en: (values) => `must not be one of the following values ${values.notIn.join(", ")}`
23
+ },
24
+ maxDecimalPlaces: {
25
+ es: (values) => `debe tener como máximo ${values.maxDecimalPlaces} decimales`,
26
+ en: (values) => `must have at most ${values.maxDecimalPlaces} decimal places`
27
+ },
28
+ minDecimalPlaces: {
29
+ es: (values) => `debe tener como mínimo ${values.minDecimalPlaces} decimales`,
30
+ en: (values) => `must have at least ${values.minDecimalPlaces} decimal places`
31
+ },
32
+ badTypeMessage: {
33
+ es: () => `debe ser un número`,
34
+ en: () => `must be a number`
35
+ }
36
+ };
37
+ function vNumber(data, badTypeMessage, conds) {
38
+ if (data === '' || isNaN(data)) {
39
+ throw new v_error_1.ValidationError([{
40
+ key: "",
41
+ 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)
42
+ }]);
43
+ }
44
+ if ((conds === null || conds === void 0 ? void 0 : conds.min) !== undefined) {
45
+ if (data < (conds === null || conds === void 0 ? void 0 : conds.min)) {
46
+ throw new v_error_1.ValidationError([{
47
+ key: "",
48
+ message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.min, { min: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.min) }, dMessages.min)
49
+ }]);
50
+ }
51
+ }
52
+ if ((conds === null || conds === void 0 ? void 0 : conds.max) !== undefined) {
53
+ if (data > (conds === null || conds === void 0 ? void 0 : conds.max)) {
54
+ throw new v_error_1.ValidationError([{
55
+ key: "",
56
+ message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.max, { max: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.max) }, dMessages.max)
57
+ }]);
58
+ }
59
+ }
60
+ if ((conds === null || conds === void 0 ? void 0 : conds.in) !== undefined) {
61
+ if (!(0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.in).includes(data)) {
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) }, dMessages.in)
65
+ }]);
66
+ }
67
+ }
68
+ if ((conds === null || conds === void 0 ? void 0 : conds.notIn) !== undefined) {
69
+ if ((0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.notIn).includes(data)) {
70
+ throw new v_error_1.ValidationError([{
71
+ key: "",
72
+ 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) }, dMessages.notIn)
73
+ }]);
74
+ }
75
+ }
76
+ const decimalPart = data.toString().split(".")[1] || '';
77
+ if ((conds === null || conds === void 0 ? void 0 : conds.maxDecimalPlaces) !== undefined) {
78
+ if (decimalPart.length > (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.maxDecimalPlaces)) {
79
+ throw new v_error_1.ValidationError([{
80
+ key: "",
81
+ message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.maxDecimalPlaces, { maxDecimalPlaces: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.maxDecimalPlaces) }, dMessages.maxDecimalPlaces)
82
+ }]);
83
+ }
84
+ }
85
+ if ((conds === null || conds === void 0 ? void 0 : conds.minDecimalPlaces) !== undefined) {
86
+ if (decimalPart.length < (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.minDecimalPlaces)) {
87
+ throw new v_error_1.ValidationError([{
88
+ key: "",
89
+ message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.minDecimalPlaces, { minDecimalPlaces: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.minDecimalPlaces) }, dMessages.minDecimalPlaces)
90
+ }]);
91
+ }
92
+ }
93
+ return Number(data);
94
+ }
95
+ class VNumberNotNull extends validator_1.Validation {
96
+ validate(data) {
97
+ return vNumber(this.isRequired(data, true), this.badTypeMessage, this.cond);
98
+ }
99
+ constructor(cond) {
100
+ super(cond);
101
+ this.cond = cond;
102
+ this.badTypeMessage = dMessages.badTypeMessage;
103
+ }
104
+ }
105
+ exports.VNumberNotNull = VNumberNotNull;
106
+ class VNumber extends validator_1.Validation {
107
+ validate(data) {
108
+ let val = this.isRequired(data);
109
+ if (val === null || val === undefined) {
110
+ return null;
111
+ }
112
+ return vNumber(val, this.badTypeMessage, this.cond);
113
+ }
114
+ constructor(cond) {
115
+ super(cond);
116
+ this.cond = cond;
117
+ this.cond = cond;
118
+ this.badTypeMessage = dMessages.badTypeMessage;
119
+ }
120
+ }
121
+ exports.VNumber = VNumber;
122
+ //# sourceMappingURL=v_number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v_number.js","sourceRoot":"","sources":["../../../../src/src/validators/number/v_number.ts"],"names":[],"mappings":";;;AAAA,iDAAsD;AAEtD,qDAAiF;AACjF,4CAA0C;AAqB1C,MAAM,SAAS,GAAwB;IACnC,GAAG,EAAE;QACD,EAAE,EAAE,CAAC,MAAwB,EAAE,EAAE,CAAC,4BAA4B,MAAM,CAAC,GAAG,EAAE;QAC1E,EAAE,EAAE,CAAC,MAAwB,EAAE,EAAE,CAAC,+BAA+B,MAAM,CAAC,GAAG,EAAE;KAChF;IACD,GAAG,EAAE;QACD,EAAE,EAAE,CAAC,MAAwB,EAAE,EAAE,CAAC,4BAA4B,MAAM,CAAC,GAAG,EAAE;QAC1E,EAAE,EAAE,CAAC,MAAwB,EAAE,EAAE,CAAC,4BAA4B,MAAM,CAAC,GAAG,EAAE;KAC7E;IACD,EAAE,EAAE;QACA,EAAE,EAAE,CAAC,MAAyB,EAAE,EAAE,CAAC,0CAA0C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnG,EAAE,EAAE,CAAC,MAAyB,EAAE,EAAE,CAAC,uCAAuC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KACnG;IACD,KAAK,EAAE;QACH,EAAE,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,6CAA6C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC5G,EAAE,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,2CAA2C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAC7G;IACD,gBAAgB,EAAE;QACd,EAAE,EAAE,CAAC,MAAqC,EAAE,EAAE,CAAC,0BAA0B,MAAM,CAAC,gBAAgB,YAAY;QAC5G,EAAE,EAAE,CAAC,MAAqC,EAAE,EAAE,CAAC,qBAAqB,MAAM,CAAC,gBAAgB,iBAAiB;KAC/G;IACD,gBAAgB,EAAE;QACd,EAAE,EAAE,CAAC,MAAqC,EAAE,EAAE,CAAC,0BAA0B,MAAM,CAAC,gBAAgB,YAAY;QAC5G,EAAE,EAAE,CAAC,MAAqC,EAAE,EAAE,CAAC,sBAAsB,MAAM,CAAC,gBAAgB,iBAAiB;KAChH;IACD,cAAc,EAAE;QACZ,EAAE,EAAE,GAAG,EAAE,CAAC,oBAAoB;QAC9B,EAAE,EAAE,GAAG,EAAE,CAAC,kBAAkB;KAC/B;CACJ,CAAA;AAID,SAAS,OAAO,CAAC,IAAS,EAAE,cAAsC,EAAE,KAAyB;IACzF,IAAI,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,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,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,MAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,IAAI,IAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAA,EAAE,CAAC;YACpB,MAAM,IAAI,yBAAe,CAAC,CAAC;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,IAAA,oBAAU,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,EAAE,EAAE,GAAG,EAAE,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,EAAE,EAAC,SAAS,CAAC,GAAG,CAAE;iBAChF,CAAC,CAAC,CAAA;QACP,CAAC;IACL,CAAC;IACD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,MAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,IAAI,IAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAA,EAAE,CAAC;YACpB,MAAM,IAAI,yBAAe,CAAC,CAAC;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,IAAA,oBAAU,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,EAAE,EAAE,GAAG,EAAE,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,EAAE,EAAC,SAAS,CAAC,GAAG,CAAE;iBAChF,CAAC,CAAC,CAAA;QACP,CAAC;IACL,CAAC;IACD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,MAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,yBAAe,CAAC,CAAC;oBACvB,GAAG,EAAE,EAAE;oBACP,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,EAAC,SAAS,CAAC,EAAE,CAAE;iBAC5E,CAAC,CAAC,CAAA;QACP,CAAC;IACL,CAAC;IACD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,MAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,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,SAAS,CAAC,KAAK,CAAC;iBACxF,CAAC,CAAC,CAAA;QACP,CAAC;IACL,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,MAAK,SAAS,EAAE,CAAC;QACxC,IAAI,WAAW,CAAC,MAAM,GAAG,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,yBAAe,CAAC,CAAC;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,IAAA,oBAAU,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,gBAAgB,CAAC;iBACpI,CAAC,CAAC,CAAA;QACP,CAAC;IACL,CAAC;IACD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,MAAK,SAAS,EAAE,CAAC;QACxC,IAAI,WAAW,CAAC,MAAM,GAAG,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,yBAAe,CAAC,CAAC;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,IAAA,oBAAU,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,IAAA,kBAAQ,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,gBAAgB,CAAC;iBACpI,CAAC,CAAC,CAAA;QACP,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACxB,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,SAAS,CAAC,cAAc,CAAC;IACnD,CAAC;CACJ;AARD,wCAQC;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,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;IACnD,CAAC;CACJ;AAbD,0BAaC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,91 @@
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('VNumber', () => {
6
+ it('should validate a number correctly', () => {
7
+ const validator = new index_1.Validators.VNumber();
8
+ expect(validator.validate(123)).toBe(123);
9
+ expect(validator.validate(null)).toBeNull();
10
+ });
11
+ it('should throw a validation error for min', () => {
12
+ const validator = new index_1.Validators.VNumber({ min: 10 });
13
+ expect(() => validator.validate(5)).toThrow(v_error_1.ValidationError);
14
+ expect(validator.validate(10)).toBe(10);
15
+ });
16
+ it('should throw a validation error for max', () => {
17
+ const validator = new index_1.Validators.VNumber({ max: 10 });
18
+ expect(() => validator.validate(15)).toThrow(v_error_1.ValidationError);
19
+ expect(validator.validate(5)).toBe(5);
20
+ });
21
+ it('should throw a validation error for in', () => {
22
+ const validator = new index_1.Validators.VNumber({ in: [1, 2, 3] });
23
+ expect(() => validator.validate(4)).toThrow(v_error_1.ValidationError);
24
+ expect(validator.validate(2)).toBe(2);
25
+ });
26
+ it('should throw a validation error for notIn', () => {
27
+ const validator = new index_1.Validators.VNumber({ notIn: [1, 2, 3] });
28
+ expect(() => validator.validate(2)).toThrow(v_error_1.ValidationError);
29
+ expect(validator.validate(4)).toBe(4);
30
+ });
31
+ it('should throw a validation error for maxDecimalPlaces', () => {
32
+ const validator = new index_1.Validators.VNumber({ maxDecimalPlaces: 2 });
33
+ expect(() => validator.validate(1.234)).toThrow(v_error_1.ValidationError);
34
+ expect(validator.validate(1.23)).toBe(1.23);
35
+ });
36
+ it('should throw a validation error for minDecimalPlaces', () => {
37
+ const validator = new index_1.Validators.VNumber({ minDecimalPlaces: 2 });
38
+ expect(() => validator.validate(1.2)).toThrow(v_error_1.ValidationError);
39
+ expect(validator.validate(1.23)).toBe(1.23);
40
+ });
41
+ it('should throw a validation error for invalid type', () => {
42
+ const validator = new index_1.Validators.VNumber();
43
+ expect(() => validator.validate('string')).toThrow(v_error_1.ValidationError);
44
+ });
45
+ });
46
+ describe('VNumberNotNull', () => {
47
+ it('should validate a non-null number correctly', () => {
48
+ const validator = new index_1.Validators.VNumberNotNull();
49
+ expect(validator.validate(123)).toBe(123);
50
+ });
51
+ it('should throw a validation error for null or undefined', () => {
52
+ const validator = new index_1.Validators.VNumberNotNull();
53
+ expect(() => validator.validate(null)).toThrow(v_error_1.ValidationError);
54
+ expect(() => validator.validate(undefined)).toThrow(v_error_1.ValidationError);
55
+ });
56
+ it('should throw a validation error for min', () => {
57
+ const validator = new index_1.Validators.VNumberNotNull({ min: 10 });
58
+ expect(() => validator.validate(5)).toThrow(v_error_1.ValidationError);
59
+ expect(validator.validate(10)).toBe(10);
60
+ });
61
+ it('should throw a validation error for max', () => {
62
+ const validator = new index_1.Validators.VNumberNotNull({ max: 10 });
63
+ expect(() => validator.validate(15)).toThrow(v_error_1.ValidationError);
64
+ expect(validator.validate(5)).toBe(5);
65
+ });
66
+ it('should throw a validation error for in', () => {
67
+ const validator = new index_1.Validators.VNumberNotNull({ in: [1, 2, 3] });
68
+ expect(() => validator.validate(4)).toThrow(v_error_1.ValidationError);
69
+ expect(validator.validate(2)).toBe(2);
70
+ });
71
+ it('should throw a validation error for notIn', () => {
72
+ const validator = new index_1.Validators.VNumberNotNull({ notIn: [1, 2, 3] });
73
+ expect(() => validator.validate(2)).toThrow(v_error_1.ValidationError);
74
+ expect(validator.validate(4)).toBe(4);
75
+ });
76
+ it('should throw a validation error for maxDecimalPlaces', () => {
77
+ const validator = new index_1.Validators.VNumberNotNull({ maxDecimalPlaces: 2 });
78
+ expect(() => validator.validate(1.234)).toThrow(v_error_1.ValidationError);
79
+ expect(validator.validate(1.23)).toBe(1.23);
80
+ });
81
+ it('should throw a validation error for minDecimalPlaces', () => {
82
+ const validator = new index_1.Validators.VNumberNotNull({ minDecimalPlaces: 2 });
83
+ expect(() => validator.validate(1.2)).toThrow(v_error_1.ValidationError);
84
+ expect(validator.validate(1.23)).toBe(1.23);
85
+ });
86
+ it('should throw a validation error for invalid type', () => {
87
+ const validator = new index_1.Validators.VNumberNotNull();
88
+ expect(() => validator.validate('string')).toThrow(v_error_1.ValidationError);
89
+ });
90
+ });
91
+ //# sourceMappingURL=v_number.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v_number.test.js","sourceRoot":"","sources":["../../../../src/src/validators/number/v_number.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { MessageType, VBadTypeMessage, VDefaultValue, VVCIsRequired } from "../../interfaces/types";
2
+ import { Validation } from "../validator";
3
+ interface VObjectConditions<T> extends VBadTypeMessage, VDefaultValue<T>, VVCIsRequired {
4
+ invalidPropertyMessage?: MessageType<void, void>;
5
+ strictMode?: boolean;
6
+ ignoreCase?: boolean;
7
+ takeAllValues?: boolean;
8
+ properties: T;
9
+ }
10
+ export declare class VObjectNotNull<T extends Record<string, Validation<any>>> extends Validation<{
11
+ [K in keyof T]: ReturnType<T[K]['validate']>;
12
+ }> {
13
+ protected cond: VObjectConditions<T>;
14
+ validate(data: any): {
15
+ [K in keyof T]: ReturnType<T[K]['validate']>;
16
+ };
17
+ constructor(cond: VObjectConditions<T>);
18
+ }
19
+ export declare class VObject<T extends Record<string, Validation<any>>> extends Validation<{
20
+ [K in keyof T]: ReturnType<T[K]['validate']>;
21
+ } | null> {
22
+ protected cond: VObjectConditions<T>;
23
+ validate(data: any): {
24
+ [K in keyof T]: ReturnType<T[K]['validate']>;
25
+ } | null;
26
+ constructor(cond: VObjectConditions<T>);
27
+ }
28
+ export {};
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VObject = exports.VObjectNotNull = void 0;
4
+ const v_error_1 = require("../../error/v_error");
5
+ const message_1 = require("../../languages/message");
6
+ const v_any_1 = require("../any/v_any");
7
+ const v_array_1 = require("../array/v_array");
8
+ const validator_1 = require("../validator");
9
+ function vObject(data, badTypeMessage, conds) {
10
+ if (typeof data !== 'object' || Array.isArray(data)) {
11
+ throw new v_error_1.ValidationError([{
12
+ key: "",
13
+ 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)
14
+ }]);
15
+ }
16
+ let keysData = Object.keys(data);
17
+ let keysValidations = Object.keys(conds.properties);
18
+ if (conds.strictMode) {
19
+ let dif = [];
20
+ if (conds.ignoreCase) {
21
+ let temp = keysValidations.map(v => v.toUpperCase());
22
+ dif = keysData.filter(v => !temp.includes(v.toUpperCase()));
23
+ }
24
+ else
25
+ dif = keysData.filter(v => !keysValidations.includes(v));
26
+ if (dif.length > 0) {
27
+ let error = new v_error_1.ValidationError(dif.map(v => {
28
+ return {
29
+ key: v, message: (0, message_1.getMessage)(conds.invalidPropertyMessage, undefined, {
30
+ es: () => "propiedad no válida",
31
+ en: () => "invalid property"
32
+ })
33
+ };
34
+ }));
35
+ if (error.errors.length > 0)
36
+ throw error;
37
+ }
38
+ }
39
+ let errors = [];
40
+ let value = {};
41
+ let m = [];
42
+ for (const key in conds.properties) {
43
+ if (conds.ignoreCase) {
44
+ let ketTemp = keysData.find(v => v.toLocaleUpperCase() == key.toUpperCase());
45
+ if (ketTemp) {
46
+ m.push({
47
+ keyV: key,
48
+ keyD: ketTemp
49
+ });
50
+ }
51
+ else {
52
+ m.push({
53
+ keyV: key,
54
+ keyD: key
55
+ });
56
+ }
57
+ }
58
+ else {
59
+ m.push({
60
+ keyV: key,
61
+ keyD: key
62
+ });
63
+ }
64
+ }
65
+ if (conds.takeAllValues) {
66
+ for (let k of keysData) {
67
+ if (!m.find(v => v.keyD == k)) {
68
+ value[k] = data[k];
69
+ }
70
+ }
71
+ }
72
+ for (let keys of m) {
73
+ try {
74
+ const result = conds.properties[keys.keyV].validate(data[keys.keyD]);
75
+ value[keys.keyV] = result;
76
+ }
77
+ catch (error) {
78
+ if (error instanceof v_error_1.ValidationError) {
79
+ errors.push(...error.errorsObj.map(v => {
80
+ if (!v.key)
81
+ v.key = keys.keyV;
82
+ if (conds.properties[keys.keyV] instanceof VObject || conds.properties[keys.keyV] instanceof VObjectNotNull || conds.properties[keys.keyV] instanceof v_array_1.VArray || conds.properties[keys.keyV] instanceof v_array_1.VArrayNotNull || conds.properties[keys.keyV] instanceof v_any_1.VAnyNotNull)
83
+ v.parent = keys.keyV + (v.parent ? '.' + v.parent : '');
84
+ v.isEmpty = undefined;
85
+ return v;
86
+ }));
87
+ }
88
+ else {
89
+ throw error;
90
+ }
91
+ }
92
+ }
93
+ if (errors.length > 0) {
94
+ throw new v_error_1.ValidationError(errors);
95
+ }
96
+ return value;
97
+ }
98
+ class VObjectNotNull extends validator_1.Validation {
99
+ validate(data) {
100
+ return vObject(this.isRequired(data, true), this.badTypeMessage, this.cond);
101
+ }
102
+ constructor(cond) {
103
+ super(cond);
104
+ this.cond = cond;
105
+ this.badTypeMessage = {
106
+ es: () => `debe ser un objeto`,
107
+ en: () => `must be a object`
108
+ };
109
+ }
110
+ }
111
+ exports.VObjectNotNull = VObjectNotNull;
112
+ class VObject extends validator_1.Validation {
113
+ validate(data) {
114
+ let val = this.isRequired(data);
115
+ if (val === null || val === undefined) {
116
+ return null;
117
+ }
118
+ return vObject(val, this.badTypeMessage, this.cond);
119
+ }
120
+ constructor(cond) {
121
+ super(cond);
122
+ this.cond = cond;
123
+ this.badTypeMessage = {
124
+ es: () => `debe ser un objeto`,
125
+ en: () => `must be a object`
126
+ };
127
+ }
128
+ }
129
+ exports.VObject = VObject;
130
+ //# sourceMappingURL=v_object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v_object.js","sourceRoot":"","sources":["../../../../src/src/validators/object/v_object.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,73 @@
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('VObject', () => {
6
+ const properties = {
7
+ name: new index_1.Validators.VString({ minLength: 3 }),
8
+ age: new index_1.Validators.VNumber({ min: 18, max: 99 })
9
+ };
10
+ it('should validate an object correctly', () => {
11
+ const validator = new index_1.Validators.VObject({ properties });
12
+ expect(validator.validate({ name: 'John', age: 25 })).toEqual({ name: 'John', age: 25 });
13
+ expect(validator.validate(null)).toBeNull();
14
+ });
15
+ it('should throw a validation error for invalid properties', () => {
16
+ const validator = new index_1.Validators.VObject({ properties, strictMode: true });
17
+ expect(() => validator.validate({ name: 'John', age: 25, extra: 'invalid' })).toThrow(v_error_1.ValidationError);
18
+ });
19
+ it('should throw a validation error for invalid property values', () => {
20
+ const validator = new index_1.Validators.VObject({ properties });
21
+ expect(() => validator.validate({ name: 'Jo', age: 25 })).toThrow(v_error_1.ValidationError);
22
+ expect(() => validator.validate({ name: 'John', age: 17 })).toThrow(v_error_1.ValidationError);
23
+ });
24
+ it('should validate with ignoreCase for property names', () => {
25
+ const validator = new index_1.Validators.VObject({ properties, ignoreCase: true });
26
+ expect(validator.validate({ NAME: 'John', AGE: 25 })).toEqual({ name: 'John', age: 25 });
27
+ });
28
+ it('should throw a validation error for invalidPropertyMessage', () => {
29
+ const validator = new index_1.Validators.VObject({
30
+ properties,
31
+ strictMode: true,
32
+ invalidPropertyMessage: { val: undefined, message: () => "invalid property" }
33
+ });
34
+ expect(() => validator.validate({ name: 'John', age: 25, extra: 'invalid' })).toThrow(v_error_1.ValidationError);
35
+ });
36
+ });
37
+ describe('VObjectNotNull', () => {
38
+ const properties = {
39
+ name: new index_1.Validators.VStringNotNull({ minLength: 3 }),
40
+ age: new index_1.Validators.VNumberNotNull({ min: 18, max: 99 })
41
+ };
42
+ it('should validate a non-null object correctly', () => {
43
+ const validator = new index_1.Validators.VObjectNotNull({ properties });
44
+ expect(validator.validate({ name: 'Jane', age: 30 })).toEqual({ name: 'Jane', age: 30 });
45
+ });
46
+ it('should throw a validation error for null or undefined', () => {
47
+ const validator = new index_1.Validators.VObjectNotNull({ properties });
48
+ expect(() => validator.validate(null)).toThrow(v_error_1.ValidationError);
49
+ expect(() => validator.validate(undefined)).toThrow(v_error_1.ValidationError);
50
+ });
51
+ it('should throw a validation error for invalid properties', () => {
52
+ const validator = new index_1.Validators.VObjectNotNull({ properties, strictMode: true });
53
+ expect(() => validator.validate({ name: 'Jane', age: 30, extra: 'invalid' })).toThrow(v_error_1.ValidationError);
54
+ });
55
+ it('should throw a validation error for invalid property values', () => {
56
+ const validator = new index_1.Validators.VObjectNotNull({ properties });
57
+ expect(() => validator.validate({ name: 'Ja', age: 30 })).toThrow(v_error_1.ValidationError);
58
+ expect(() => validator.validate({ name: 'Jane', age: 17 })).toThrow(v_error_1.ValidationError);
59
+ });
60
+ it('should validate with ignoreCase for property names', () => {
61
+ const validator = new index_1.Validators.VObjectNotNull({ properties, ignoreCase: true });
62
+ expect(validator.validate({ NAME: 'Jane', AGE: 30 })).toEqual({ name: 'Jane', age: 30 });
63
+ });
64
+ it('should throw a validation error for invalidPropertyMessage', () => {
65
+ const validator = new index_1.Validators.VObjectNotNull({
66
+ properties,
67
+ strictMode: true,
68
+ invalidPropertyMessage: { val: undefined, message: () => "invalid property" }
69
+ });
70
+ expect(() => validator.validate({ name: 'Jane', age: 30, extra: 'invalid' })).toThrow(v_error_1.ValidationError);
71
+ });
72
+ });
73
+ //# sourceMappingURL=v_object.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v_object.test.js","sourceRoot":"","sources":["../../../../src/src/validators/object/v_object.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { MessageType, VBadTypeMessage, VDefaultValue, VVCIsRequired } from "../../interfaces/types";
2
+ import { Validation } from "../validator";
3
+ interface VStringConditions extends VBadTypeMessage, VDefaultValue<string>, VVCIsRequired {
4
+ minLength?: MessageType<number, {
5
+ minLength: number;
6
+ }>;
7
+ maxLength?: MessageType<number, {
8
+ maxLength: number;
9
+ }>;
10
+ regex?: MessageType<RegExp, {
11
+ regex: RegExp;
12
+ }>;
13
+ notRegex?: MessageType<RegExp, {
14
+ notRegex: RegExp;
15
+ }>;
16
+ in?: MessageType<string[], {
17
+ in: string[];
18
+ }>;
19
+ notIn?: MessageType<string[], {
20
+ notIn: string[];
21
+ }>;
22
+ strictMode?: MessageType<boolean, void>;
23
+ ignoreCase?: MessageType<boolean, void>;
24
+ }
25
+ export declare class VStringNotNull extends Validation<string> {
26
+ protected cond?: VStringConditions | undefined;
27
+ validate(data: any): string;
28
+ constructor(cond?: VStringConditions | undefined);
29
+ }
30
+ export declare class VString extends Validation<string | null> {
31
+ protected cond?: VStringConditions | undefined;
32
+ validate(data: any): string | null;
33
+ constructor(cond?: VStringConditions | undefined);
34
+ }
35
+ export {};