structure-verifier 0.0.2 → 0.0.3
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/README.md +30 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/src/verifiers/array/v_array.d.ts +15 -2
- package/dist/src/verifiers/array/v_array.js +81 -2
- package/dist/src/verifiers/array/v_array.js.map +1 -1
- package/dist/src/verifiers/array/v_array.test.d.ts +1 -0
- package/dist/src/verifiers/array/v_array.test.js +74 -0
- package/dist/src/verifiers/array/v_array.test.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# structure-verifier 0.0.
|
|
1
|
+
# structure-verifier 0.0.3
|
|
2
2
|
|
|
3
3
|
structure-verifier is a typescrpt library to validate data of "any" type and to ensure that it corresponds to a data type.
|
|
4
4
|
|
|
@@ -184,3 +184,32 @@ try {
|
|
|
184
184
|
console.error(error);
|
|
185
185
|
}
|
|
186
186
|
```
|
|
187
|
+
|
|
188
|
+
### Arrays
|
|
189
|
+
Validations for array data.
|
|
190
|
+
|
|
191
|
+
```typescript
|
|
192
|
+
const arrayVal = new V.VArray({verifier:new V.VNumber()}); // Returns Array | null
|
|
193
|
+
const notNullArrayVal = new V.VArrayNotNull({verifier:new V.VNumber()}); // Returns Array
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Array Exclusive Conditions
|
|
197
|
+
|
|
198
|
+
- **minLength**: Minimum length of the array.
|
|
199
|
+
- **maxLength**: Maximum length of the array.
|
|
200
|
+
|
|
201
|
+
#### Example
|
|
202
|
+
```typescript
|
|
203
|
+
const arrayVal = new V.VArray(new V.VNumber(), { minLength: 1, maxLength: 5 });
|
|
204
|
+
const notNullArrayVal = new V.VArrayNotNull(new V.VNumber(), { minLength: 2 });
|
|
205
|
+
|
|
206
|
+
try {
|
|
207
|
+
console.log(arrayVal.check([1, 2, 3])); // Output: [1, 2, 3]
|
|
208
|
+
console.log(arrayVal.check([])); // Throws VerificationError (array too short)
|
|
209
|
+
console.log(arrayVal.check(null)); // Output: null
|
|
210
|
+
console.log(notNullArrayVal.check([1, 2])); // Output: [1, 2]
|
|
211
|
+
console.log(notNullArrayVal.check([1])); // Throws VerificationError (array too short)
|
|
212
|
+
} catch (error) {
|
|
213
|
+
console.error(error);
|
|
214
|
+
}
|
|
215
|
+
```
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { VAnyNotNull } from "./src/verifiers/any/v_any";
|
|
2
|
+
import { VArray, VArrayNotNull } from "./src/verifiers/array/v_array";
|
|
1
3
|
import { VBoolean, VBooleanNotNull } from "./src/verifiers/boolean/v_boolean";
|
|
2
4
|
import { VNumber, VNumberNotNull } from "./src/verifiers/number/v_number";
|
|
3
5
|
import { VObject, VObjectNotNull } from "./src/verifiers/object/v_object";
|
|
@@ -13,4 +15,7 @@ export declare const Verifiers: {
|
|
|
13
15
|
VBooleanNotNull: typeof VBooleanNotNull;
|
|
14
16
|
VObjectNotNull: typeof VObjectNotNull;
|
|
15
17
|
VObject: typeof VObject;
|
|
18
|
+
VArray: typeof VArray;
|
|
19
|
+
VArrayNotNull: typeof VArrayNotNull;
|
|
20
|
+
VAnyNotNull: typeof VAnyNotNull;
|
|
16
21
|
};
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Verifiers = void 0;
|
|
4
|
+
const v_any_1 = require("./src/verifiers/any/v_any");
|
|
5
|
+
const v_array_1 = require("./src/verifiers/array/v_array");
|
|
4
6
|
const v_boolean_1 = require("./src/verifiers/boolean/v_boolean");
|
|
5
7
|
const v_number_1 = require("./src/verifiers/number/v_number");
|
|
6
8
|
const v_object_1 = require("./src/verifiers/object/v_object");
|
|
@@ -15,6 +17,9 @@ exports.Verifiers = {
|
|
|
15
17
|
VBoolean: v_boolean_1.VBoolean,
|
|
16
18
|
VBooleanNotNull: v_boolean_1.VBooleanNotNull,
|
|
17
19
|
VObjectNotNull: v_object_1.VObjectNotNull,
|
|
18
|
-
VObject: v_object_1.VObject
|
|
20
|
+
VObject: v_object_1.VObject,
|
|
21
|
+
VArray: v_array_1.VArray,
|
|
22
|
+
VArrayNotNull: v_array_1.VArrayNotNull,
|
|
23
|
+
VAnyNotNull: v_any_1.VAnyNotNull
|
|
19
24
|
};
|
|
20
25
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iEAA8E;AAC9E,8DAA0E;AAC1E,8DAA0E;AAC1E,8DAA0E;AAC1E,uDAAoD;AAIvC,QAAA,SAAS,GAAG;IACrB,QAAQ,EAAR,mBAAQ;IACR,cAAc,EAAd,yBAAc;IACd,OAAO,EAAP,kBAAO;IACP,cAAc,EAAd,yBAAc;IACd,OAAO,EAAP,kBAAO;IACP,QAAQ,EAAR,oBAAQ;IACR,eAAe,EAAf,2BAAe;IACf,cAAc,EAAd,yBAAc;IACd,OAAO,EAAP,kBAAO;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAwD;AACxD,2DAAsE;AACtE,iEAA8E;AAC9E,8DAA0E;AAC1E,8DAA0E;AAC1E,8DAA0E;AAC1E,uDAAoD;AAIvC,QAAA,SAAS,GAAG;IACrB,QAAQ,EAAR,mBAAQ;IACR,cAAc,EAAd,yBAAc;IACd,OAAO,EAAP,kBAAO;IACP,cAAc,EAAd,yBAAc;IACd,OAAO,EAAP,kBAAO;IACP,QAAQ,EAAR,oBAAQ;IACR,eAAe,EAAf,2BAAe;IACf,cAAc,EAAd,yBAAc;IACd,OAAO,EAAP,kBAAO;IACP,MAAM,EAAN,gBAAM;IACN,aAAa,EAAb,uBAAa;IACb,WAAW,EAAX,mBAAW;CACd,CAAA"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import { VBadTypeMessage, VDefaultValue, VVCIsRequired } from "../../interfaces/types";
|
|
2
|
+
import { Verifier } from "../verifier";
|
|
3
|
+
export interface VArrayConditions<T extends Verifier<any>> extends VBadTypeMessage, VDefaultValue<ReturnType<T['check']>[]>, VVCIsRequired {
|
|
4
|
+
minLength?: number;
|
|
5
|
+
maxLength?: number;
|
|
6
|
+
verifier: T;
|
|
2
7
|
}
|
|
3
|
-
export declare class
|
|
8
|
+
export declare class VArray<T extends Verifier<any>> extends Verifier<ReturnType<T['check']>[] | null> {
|
|
9
|
+
protected cond: VArrayConditions<T>;
|
|
10
|
+
check(data: any): ReturnType<T["check"]>[] | null;
|
|
11
|
+
constructor(cond: VArrayConditions<T>);
|
|
12
|
+
}
|
|
13
|
+
export declare class VArrayNotNull<T extends Verifier<any>> extends Verifier<ReturnType<T['check']>[]> {
|
|
14
|
+
protected cond: VArrayConditions<T>;
|
|
15
|
+
check(data: any): ReturnType<T["check"]>[];
|
|
16
|
+
constructor(cond: VArrayConditions<T>);
|
|
4
17
|
}
|
|
@@ -1,10 +1,89 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VArrayNotNull = exports.VArray = void 0;
|
|
4
|
-
|
|
4
|
+
const v_error_1 = require("../../error/v_error");
|
|
5
|
+
const message_1 = require("../../languages/message");
|
|
6
|
+
const verifier_1 = require("../verifier");
|
|
7
|
+
const dMessages = {
|
|
8
|
+
minLength: {
|
|
9
|
+
es: (values) => `debe tener al menos ${values.minLength} elementos`,
|
|
10
|
+
en: (values) => `must have at least ${values.minLength} elements`
|
|
11
|
+
},
|
|
12
|
+
maxLength: {
|
|
13
|
+
es: (values) => `no puede tener más de ${values.maxLength} elementos`,
|
|
14
|
+
en: (values) => `must not have more than ${values.maxLength} elements`
|
|
15
|
+
},
|
|
16
|
+
badTypeMessage: {
|
|
17
|
+
es: () => `debe ser un array`,
|
|
18
|
+
en: () => `must be an array`
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
function vArray(data, badTypeMessage, conds) {
|
|
22
|
+
if (!Array.isArray(data)) {
|
|
23
|
+
throw new v_error_1.VerificationError([{
|
|
24
|
+
key: "",
|
|
25
|
+
message: (0, message_1.getMessage)(badTypeMessage, undefined, badTypeMessage)
|
|
26
|
+
}]);
|
|
27
|
+
}
|
|
28
|
+
if (conds.minLength !== undefined && data.length < conds.minLength) {
|
|
29
|
+
throw new v_error_1.VerificationError([{
|
|
30
|
+
key: "",
|
|
31
|
+
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) }, dMessages.minLength)
|
|
32
|
+
}]);
|
|
33
|
+
}
|
|
34
|
+
if (conds.maxLength !== undefined && data.length > conds.maxLength) {
|
|
35
|
+
throw new v_error_1.VerificationError([{
|
|
36
|
+
key: "",
|
|
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) }, dMessages.maxLength)
|
|
38
|
+
}]);
|
|
39
|
+
}
|
|
40
|
+
let errors = [];
|
|
41
|
+
let value = [];
|
|
42
|
+
for (let i = 0; i < data.length; i++) {
|
|
43
|
+
try {
|
|
44
|
+
value.push(conds.verifier.check(data[i]));
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
if (error instanceof v_error_1.VerificationError) {
|
|
48
|
+
errors.push(...error.errors.map(v => {
|
|
49
|
+
return {
|
|
50
|
+
key: i.toString(),
|
|
51
|
+
message: v
|
|
52
|
+
};
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (errors.length > 0) {
|
|
58
|
+
throw new v_error_1.VerificationError(errors);
|
|
59
|
+
}
|
|
60
|
+
return value;
|
|
61
|
+
}
|
|
62
|
+
class VArray extends verifier_1.Verifier {
|
|
63
|
+
check(data) {
|
|
64
|
+
const validatedData = this.isRequired(data);
|
|
65
|
+
if (validatedData === null) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
return vArray(validatedData, this.badTypeMessage, this.cond);
|
|
69
|
+
}
|
|
70
|
+
constructor(cond) {
|
|
71
|
+
super(cond);
|
|
72
|
+
this.cond = cond;
|
|
73
|
+
this.badTypeMessage = dMessages.badTypeMessage;
|
|
74
|
+
}
|
|
5
75
|
}
|
|
6
76
|
exports.VArray = VArray;
|
|
7
|
-
class VArrayNotNull {
|
|
77
|
+
class VArrayNotNull extends verifier_1.Verifier {
|
|
78
|
+
check(data) {
|
|
79
|
+
const validatedData = this.isRequired(data, true);
|
|
80
|
+
return vArray(validatedData, this.badTypeMessage, this.cond);
|
|
81
|
+
}
|
|
82
|
+
constructor(cond) {
|
|
83
|
+
super(cond);
|
|
84
|
+
this.cond = cond;
|
|
85
|
+
this.badTypeMessage = dMessages.badTypeMessage;
|
|
86
|
+
}
|
|
8
87
|
}
|
|
9
88
|
exports.VArrayNotNull = VArrayNotNull;
|
|
10
89
|
//# sourceMappingURL=v_array.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v_array.js","sourceRoot":"","sources":["../../../../src/src/verifiers/array/v_array.ts"],"names":[],"mappings":";;;AAAA,MAAa,MAAM;
|
|
1
|
+
{"version":3,"file":"v_array.js","sourceRoot":"","sources":["../../../../src/src/verifiers/array/v_array.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,74 @@
|
|
|
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('VArray', () => {
|
|
6
|
+
it('should validate arrays with valid data', () => {
|
|
7
|
+
const validator = new index_1.Verifiers.VArray({
|
|
8
|
+
verifier: new index_1.Verifiers.VNumberNotNull()
|
|
9
|
+
});
|
|
10
|
+
expect(validator.check([1, 2, 3])).toEqual([1, 2, 3]);
|
|
11
|
+
});
|
|
12
|
+
it('should throw a validation error for arrays with invalid data', () => {
|
|
13
|
+
const validator = new index_1.Verifiers.VArray({
|
|
14
|
+
verifier: new index_1.Verifiers.VNumberNotNull()
|
|
15
|
+
});
|
|
16
|
+
expect(() => validator.check([1, "2a", 3])).toThrow(v_error_1.VerificationError);
|
|
17
|
+
});
|
|
18
|
+
it('should return null for null or undefined values', () => {
|
|
19
|
+
const validator = new index_1.Verifiers.VArray({
|
|
20
|
+
verifier: new index_1.Verifiers.VNumberNotNull()
|
|
21
|
+
});
|
|
22
|
+
expect(validator.check(null)).toBeNull();
|
|
23
|
+
});
|
|
24
|
+
it('should throw a validation error for arrays that do not meet minLength condition', () => {
|
|
25
|
+
const validator = new index_1.Verifiers.VArray({
|
|
26
|
+
verifier: new index_1.Verifiers.VNumberNotNull(),
|
|
27
|
+
minLength: 3
|
|
28
|
+
});
|
|
29
|
+
expect(() => validator.check([1, 2])).toThrow(v_error_1.VerificationError);
|
|
30
|
+
});
|
|
31
|
+
it('should throw a validation error for arrays that exceed maxLength condition', () => {
|
|
32
|
+
const validator = new index_1.Verifiers.VArray({
|
|
33
|
+
maxLength: 2,
|
|
34
|
+
verifier: new index_1.Verifiers.VNumberNotNull()
|
|
35
|
+
});
|
|
36
|
+
expect(() => validator.check([1, 2, 3])).toThrow(v_error_1.VerificationError);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
describe('VArrayNotNull', () => {
|
|
40
|
+
it('should validate arrays with valid data', () => {
|
|
41
|
+
const validator = new index_1.Verifiers.VArrayNotNull({
|
|
42
|
+
verifier: new index_1.Verifiers.VNumberNotNull()
|
|
43
|
+
});
|
|
44
|
+
expect(validator.check([1, 2, 3])).toEqual([1, 2, 3]);
|
|
45
|
+
});
|
|
46
|
+
it('should throw a validation error for arrays with invalid data', () => {
|
|
47
|
+
const validator = new index_1.Verifiers.VArrayNotNull({
|
|
48
|
+
verifier: new index_1.Verifiers.VNumberNotNull()
|
|
49
|
+
});
|
|
50
|
+
expect(() => validator.check([1, "2a", 3])).toThrow(v_error_1.VerificationError);
|
|
51
|
+
});
|
|
52
|
+
it('should throw a validation error for null or undefined values', () => {
|
|
53
|
+
const validator = new index_1.Verifiers.VArrayNotNull({
|
|
54
|
+
verifier: new index_1.Verifiers.VNumberNotNull()
|
|
55
|
+
});
|
|
56
|
+
expect(() => validator.check(null)).toThrow(v_error_1.VerificationError);
|
|
57
|
+
expect(() => validator.check(undefined)).toThrow(v_error_1.VerificationError);
|
|
58
|
+
});
|
|
59
|
+
it('should throw a validation error for arrays that do not meet minLength condition', () => {
|
|
60
|
+
const validator = new index_1.Verifiers.VArrayNotNull({
|
|
61
|
+
verifier: new index_1.Verifiers.VNumberNotNull(),
|
|
62
|
+
minLength: 3
|
|
63
|
+
});
|
|
64
|
+
expect(() => validator.check([1, 2])).toThrow(v_error_1.VerificationError);
|
|
65
|
+
});
|
|
66
|
+
it('should throw a validation error for arrays that exceed maxLength condition', () => {
|
|
67
|
+
const validator = new index_1.Verifiers.VArrayNotNull({
|
|
68
|
+
verifier: new index_1.Verifiers.VNumberNotNull(),
|
|
69
|
+
maxLength: 2
|
|
70
|
+
});
|
|
71
|
+
expect(() => validator.check([1, 2, 3])).toThrow(v_error_1.VerificationError);
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
//# sourceMappingURL=v_array.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v_array.test.js","sourceRoot":"","sources":["../../../../src/src/verifiers/array/v_array.test.ts"],"names":[],"mappings":"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"}
|