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,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":"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"}
@@ -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":";;AAAA,0CAAiD;AACjD,iDAAsD;AAEtD,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACrB,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QACjE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QACjE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1E,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QACnE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QAC/D,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QAChE,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QACjE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QACjE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QACnE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;QAC/D,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,MAAM,SAAS,GAAG,IAAI,kBAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAChG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Validation } from "./validator";
2
+ export type InferType<V> = V extends Validation<infer T> ? T : never;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=type.js.map
@@ -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
+ }