structure-verifier 0.0.1 → 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 +49 -20
- package/dist/index.d.ts +12 -5
- package/dist/index.js +14 -7
- package/dist/index.js.map +1 -1
- package/dist/src/config/verifierConfig.d.ts +3 -0
- package/dist/src/config/verifierConfig.js +8 -0
- package/dist/src/config/verifierConfig.js.map +1 -0
- package/dist/src/error/v_error.d.ts +2 -5
- package/dist/src/error/v_error.js +4 -11
- package/dist/src/error/v_error.js.map +1 -1
- package/dist/src/languages/message.js +3 -3
- package/dist/src/languages/message.js.map +1 -1
- package/dist/src/verifiers/any/v_any.js.map +1 -0
- package/dist/src/verifiers/array/v_array.d.ts +17 -0
- package/dist/src/verifiers/array/v_array.js +89 -0
- package/dist/src/verifiers/array/v_array.js.map +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/dist/src/{validators → verifiers}/boolean/v_boolean.d.ts +5 -5
- package/dist/src/{validators → verifiers}/boolean/v_boolean.js +6 -6
- package/dist/src/{validators → verifiers}/boolean/v_boolean.js.map +1 -1
- package/dist/src/verifiers/boolean/v_boolean.test.js +61 -0
- package/dist/src/verifiers/boolean/v_boolean.test.js.map +1 -0
- package/dist/src/verifiers/date/v_date.js.map +1 -0
- package/dist/src/{validators → verifiers}/number/v_number.d.ts +5 -5
- package/dist/src/{validators → verifiers}/number/v_number.js +12 -12
- package/dist/src/verifiers/number/v_number.js.map +1 -0
- package/dist/src/verifiers/number/v_number.test.js +91 -0
- package/dist/src/verifiers/number/v_number.test.js.map +1 -0
- package/dist/src/{validators → verifiers}/object/v_object.d.ts +9 -9
- package/dist/src/{validators → verifiers}/object/v_object.js +12 -12
- package/dist/src/verifiers/object/v_object.js.map +1 -0
- package/dist/src/verifiers/object/v_object.test.js +73 -0
- package/dist/src/verifiers/object/v_object.test.js.map +1 -0
- package/dist/src/{validators → verifiers}/string/v_string.d.ts +5 -5
- package/dist/src/{validators → verifiers}/string/v_string.js +14 -14
- package/dist/src/verifiers/string/v_string.js.map +1 -0
- package/dist/src/verifiers/string/v_string.test.d.ts +1 -0
- package/dist/src/verifiers/string/v_string.test.js +103 -0
- package/dist/src/verifiers/string/v_string.test.js.map +1 -0
- package/dist/src/verifiers/type.d.ts +2 -0
- package/dist/src/{validators → verifiers}/type.js.map +1 -1
- package/dist/src/{validators/validator.d.ts → verifiers/verifier.d.ts} +2 -2
- package/dist/src/{validators/validator.js → verifiers/verifier.js} +7 -7
- package/dist/src/verifiers/verifier.js.map +1 -0
- package/package.json +7 -3
- package/dist/src/config/validatorConfig.d.ts +0 -3
- package/dist/src/config/validatorConfig.js +0 -8
- package/dist/src/config/validatorConfig.js.map +0 -1
- package/dist/src/validators/any/v_any.js.map +0 -1
- package/dist/src/validators/array/v_array.d.ts +0 -4
- package/dist/src/validators/array/v_array.js +0 -10
- package/dist/src/validators/array/v_array.js.map +0 -1
- package/dist/src/validators/boolean/v_boolean.test.js +0 -61
- package/dist/src/validators/boolean/v_boolean.test.js.map +0 -1
- package/dist/src/validators/date/v_date.js.map +0 -1
- package/dist/src/validators/number/v_number.js.map +0 -1
- package/dist/src/validators/number/v_number.test.js +0 -91
- package/dist/src/validators/number/v_number.test.js.map +0 -1
- package/dist/src/validators/object/v_object.js.map +0 -1
- package/dist/src/validators/object/v_object.test.js +0 -73
- package/dist/src/validators/object/v_object.test.js.map +0 -1
- package/dist/src/validators/string/v_string.js.map +0 -1
- package/dist/src/validators/string/v_string.test.js +0 -103
- package/dist/src/validators/string/v_string.test.js.map +0 -1
- package/dist/src/validators/type.d.ts +0 -2
- package/dist/src/validators/validator.js.map +0 -1
- /package/dist/src/{validators → verifiers}/any/v_any.d.ts +0 -0
- /package/dist/src/{validators → verifiers}/any/v_any.js +0 -0
- /package/dist/src/{validators/boolean/v_boolean.test.d.ts → verifiers/array/v_array.test.d.ts} +0 -0
- /package/dist/src/{validators/number/v_number.test.d.ts → verifiers/boolean/v_boolean.test.d.ts} +0 -0
- /package/dist/src/{validators → verifiers}/date/v_date.d.ts +0 -0
- /package/dist/src/{validators → verifiers}/date/v_date.js +0 -0
- /package/dist/src/{validators/object/v_object.test.d.ts → verifiers/number/v_number.test.d.ts} +0 -0
- /package/dist/src/{validators/string/v_string.test.d.ts → verifiers/object/v_object.test.d.ts} +0 -0
- /package/dist/src/{validators → verifiers}/type.js +0 -0
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
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
|
|
|
@@ -11,23 +11,23 @@ structure-verifier is a typescrpt library to validate data of "any" type and to
|
|
|
11
11
|
## Example use
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
|
-
import {
|
|
14
|
+
import { Verifiers as V,VerificationError } from "structure-verifier";
|
|
15
15
|
//////////Validator object creation
|
|
16
16
|
const v = new V.VNumber();
|
|
17
17
|
/////////Running validations
|
|
18
18
|
|
|
19
19
|
try {
|
|
20
|
-
let value = v.
|
|
20
|
+
let value = v.check(10);
|
|
21
21
|
/////////Will get the value without error
|
|
22
22
|
} catch (error:any) {
|
|
23
|
-
console.log(error as
|
|
23
|
+
console.log(error as VerificationError);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
try {
|
|
27
|
-
let value = v.
|
|
27
|
+
let value = v.check('TEST');
|
|
28
28
|
} catch (error:any) {
|
|
29
29
|
///////////Will get the error, because the value is not a number
|
|
30
|
-
console.log(error as
|
|
30
|
+
console.log(error as VerificationError);
|
|
31
31
|
}
|
|
32
32
|
```
|
|
33
33
|
## Types
|
|
@@ -70,7 +70,7 @@ Number exclusive conditions
|
|
|
70
70
|
maxDecimalPlaces: 0,
|
|
71
71
|
minDecimalPlaces: 0
|
|
72
72
|
});
|
|
73
|
-
/////Validate a number or null that meets all conditions otherwise error (
|
|
73
|
+
/////Validate a number or null that meets all conditions otherwise error (VerificationError)
|
|
74
74
|
```
|
|
75
75
|
***
|
|
76
76
|
### Strings
|
|
@@ -102,7 +102,7 @@ String Exclusive Conditions
|
|
|
102
102
|
strictMode: true,
|
|
103
103
|
ignoreCase: true
|
|
104
104
|
});
|
|
105
|
-
///// Validate a string or null that meets all conditions otherwise error (
|
|
105
|
+
///// Validate a string or null that meets all conditions otherwise error (VerificationError)
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
### Booleans
|
|
@@ -123,11 +123,11 @@ const booleanVal = new V.VBoolean();
|
|
|
123
123
|
const notNullBooleanVal = new V.VBooleanNotNull();
|
|
124
124
|
|
|
125
125
|
try {
|
|
126
|
-
console.log(booleanVal.
|
|
127
|
-
console.log(booleanVal.
|
|
128
|
-
console.log(booleanVal.
|
|
129
|
-
console.log(notNullBooleanVal.
|
|
130
|
-
console.log(notNullBooleanVal.
|
|
126
|
+
console.log(booleanVal.check('true')); // Output: true
|
|
127
|
+
console.log(booleanVal.check('FALSE')); // Output: false
|
|
128
|
+
console.log(booleanVal.check(null)); // Output: null
|
|
129
|
+
console.log(notNullBooleanVal.check('1')); // Output: true
|
|
130
|
+
console.log(notNullBooleanVal.check(0)); // Output: false
|
|
131
131
|
} catch (error) {
|
|
132
132
|
console.error(error);
|
|
133
133
|
}
|
|
@@ -158,8 +158,8 @@ const objectVal = new V.VObject({
|
|
|
158
158
|
strictMode: true,
|
|
159
159
|
ignoreCase: true,
|
|
160
160
|
invalidPropertyMessage: {
|
|
161
|
-
|
|
162
|
-
|
|
161
|
+
message: () => "no es una propiedad valida",
|
|
162
|
+
val: undefined
|
|
163
163
|
}
|
|
164
164
|
});
|
|
165
165
|
|
|
@@ -171,16 +171,45 @@ const notNullObjectVal = new V.VObjectNotNull({
|
|
|
171
171
|
strictMode: true,
|
|
172
172
|
ignoreCase: true,
|
|
173
173
|
invalidPropertyMessage: {
|
|
174
|
-
|
|
175
|
-
|
|
174
|
+
message: () => "no es una propiedad valida",
|
|
175
|
+
val: undefined
|
|
176
176
|
}
|
|
177
177
|
});
|
|
178
178
|
|
|
179
179
|
try {
|
|
180
|
-
console.log(objectVal.
|
|
181
|
-
console.log(objectVal.
|
|
182
|
-
console.log(notNullObjectVal.
|
|
180
|
+
console.log(objectVal.check({ name: 'John', age: 25 })); // Output: { name: 'John', age: 25 }
|
|
181
|
+
console.log(objectVal.check(null)); // Output: null
|
|
182
|
+
console.log(notNullObjectVal.check({ name: 'Jane', age: 30 })); // Output: { name: 'Jane', age: 30 }
|
|
183
183
|
} catch (error) {
|
|
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,8 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
1
|
+
import { VAnyNotNull } from "./src/verifiers/any/v_any";
|
|
2
|
+
import { VArray, VArrayNotNull } from "./src/verifiers/array/v_array";
|
|
3
|
+
import { VBoolean, VBooleanNotNull } from "./src/verifiers/boolean/v_boolean";
|
|
4
|
+
import { VNumber, VNumberNotNull } from "./src/verifiers/number/v_number";
|
|
5
|
+
import { VObject, VObjectNotNull } from "./src/verifiers/object/v_object";
|
|
6
|
+
import { VString, VStringNotNull } from "./src/verifiers/string/v_string";
|
|
7
|
+
import { Verifier } from './src/verifiers/verifier';
|
|
8
|
+
export declare const Verifiers: {
|
|
9
|
+
Verifier: typeof Verifier;
|
|
6
10
|
VNumberNotNull: typeof VNumberNotNull;
|
|
7
11
|
VNumber: typeof VNumber;
|
|
8
12
|
VStringNotNull: typeof VStringNotNull;
|
|
@@ -11,4 +15,7 @@ export declare const Validators: {
|
|
|
11
15
|
VBooleanNotNull: typeof VBooleanNotNull;
|
|
12
16
|
VObjectNotNull: typeof VObjectNotNull;
|
|
13
17
|
VObject: typeof VObject;
|
|
18
|
+
VArray: typeof VArray;
|
|
19
|
+
VArrayNotNull: typeof VArrayNotNull;
|
|
20
|
+
VAnyNotNull: typeof VAnyNotNull;
|
|
14
21
|
};
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
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");
|
|
6
|
+
const v_boolean_1 = require("./src/verifiers/boolean/v_boolean");
|
|
7
|
+
const v_number_1 = require("./src/verifiers/number/v_number");
|
|
8
|
+
const v_object_1 = require("./src/verifiers/object/v_object");
|
|
9
|
+
const v_string_1 = require("./src/verifiers/string/v_string");
|
|
10
|
+
const verifier_1 = require("./src/verifiers/verifier");
|
|
11
|
+
exports.Verifiers = {
|
|
12
|
+
Verifier: verifier_1.Verifier,
|
|
9
13
|
VNumberNotNull: v_number_1.VNumberNotNull,
|
|
10
14
|
VNumber: v_number_1.VNumber,
|
|
11
15
|
VStringNotNull: v_string_1.VStringNotNull,
|
|
@@ -13,6 +17,9 @@ exports.Validators = {
|
|
|
13
17
|
VBoolean: v_boolean_1.VBoolean,
|
|
14
18
|
VBooleanNotNull: v_boolean_1.VBooleanNotNull,
|
|
15
19
|
VObjectNotNull: v_object_1.VObjectNotNull,
|
|
16
|
-
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
|
|
17
24
|
};
|
|
18
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,
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifierConfig.js","sourceRoot":"","sources":["../../../src/src/config/verifierConfig.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;;AAA3B,wCAEC;AADU,mBAAI,GAAgB,IAAI,CAAC"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { messageResp } from "../interfaces/types";
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class VerificationError extends Error {
|
|
3
3
|
private _errors;
|
|
4
4
|
private _errorsObj;
|
|
5
5
|
constructor(messages: messageResp[]);
|
|
6
|
-
get errors():
|
|
7
|
-
message: string;
|
|
8
|
-
}[];
|
|
9
|
-
get errorsOnlyString(): string[];
|
|
6
|
+
get errors(): string[];
|
|
10
7
|
get errorsObj(): messageResp[];
|
|
11
8
|
}
|
|
@@ -1,28 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
class
|
|
3
|
+
exports.VerificationError = void 0;
|
|
4
|
+
class VerificationError extends Error {
|
|
5
5
|
constructor(messages) {
|
|
6
6
|
super(messages.map(v => `${v.parent ? v.parent + '.' : ''}${v.key} ${v.message}`).join(';'));
|
|
7
7
|
this._errors = [];
|
|
8
8
|
this._errorsObj = [];
|
|
9
|
-
this.name = "
|
|
9
|
+
this.name = "VerificationError";
|
|
10
10
|
this._errors = messages.map(v => `${v.parent ? v.parent + '.' : ''}${v.key ? v.key + ' ' : ''}${v.message}`);
|
|
11
11
|
this._errorsObj = messages;
|
|
12
12
|
}
|
|
13
13
|
get errors() {
|
|
14
|
-
return this._errors.map(v => {
|
|
15
|
-
return {
|
|
16
|
-
message: v
|
|
17
|
-
};
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
get errorsOnlyString() {
|
|
21
14
|
return this._errors;
|
|
22
15
|
}
|
|
23
16
|
get errorsObj() {
|
|
24
17
|
return this._errorsObj;
|
|
25
18
|
}
|
|
26
19
|
}
|
|
27
|
-
exports.
|
|
20
|
+
exports.VerificationError = VerificationError;
|
|
28
21
|
//# sourceMappingURL=v_error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v_error.js","sourceRoot":"","sources":["../../../src/src/error/v_error.ts"],"names":[],"mappings":";;;AAEA,MAAa,
|
|
1
|
+
{"version":3,"file":"v_error.js","sourceRoot":"","sources":["../../../src/src/error/v_error.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAkB,SAAQ,KAAK;IAGxC,YAAY,QAAuB;QAC/B,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAHzF,YAAO,GAAa,EAAE,CAAA;QACtB,eAAU,GAAkB,EAAE,CAAA;QAGlC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAC5G,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAA;IAC9B,CAAC;IACD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IACD,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;CAEJ;AAhBD,8CAgBC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getValue = getValue;
|
|
4
4
|
exports.getMessage = getMessage;
|
|
5
|
-
const
|
|
5
|
+
const verifierConfig_1 = require("../config/verifierConfig");
|
|
6
6
|
function getValue(m) {
|
|
7
7
|
if (m instanceof RegExp) {
|
|
8
8
|
return m;
|
|
@@ -17,7 +17,7 @@ function getValue(m) {
|
|
|
17
17
|
}
|
|
18
18
|
function getMessage(m, values, message) {
|
|
19
19
|
if (m instanceof RegExp) {
|
|
20
|
-
return message[
|
|
20
|
+
return message[verifierConfig_1.VerifierConfig.lang](values);
|
|
21
21
|
}
|
|
22
22
|
if (typeof m === 'object' && m !== null && 'val' in m && 'message' in m) {
|
|
23
23
|
if ('message' in m) {
|
|
@@ -25,6 +25,6 @@ function getMessage(m, values, message) {
|
|
|
25
25
|
}
|
|
26
26
|
throw new Error("Invalid object structure");
|
|
27
27
|
}
|
|
28
|
-
return message[
|
|
28
|
+
return message[verifierConfig_1.VerifierConfig.lang](values);
|
|
29
29
|
}
|
|
30
30
|
//# sourceMappingURL=message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/src/languages/message.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/src/languages/message.ts"],"names":[],"mappings":";;AAOA,4BAWC;AAED,gCAWC;AA/BD,6DAA0D;AAO1D,SAAgB,QAAQ,CAAO,CAAoB;IAC/C,IAAI,CAAC,YAAY,MAAM,EAAE,CAAC;QACtB,OAAO,CAAM,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACtE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACb,OAAO,CAAC,CAAC,GAAG,CAAC;QACjB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAgB,UAAU,CAAO,CAAoB,EAAE,MAAS,EAAE,OAA4B;IAC1F,IAAI,CAAC,YAAY,MAAM,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,+BAAc,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACtE,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC,+BAAc,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v_any.js","sourceRoot":"","sources":["../../../../src/src/verifiers/any/v_any.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;CAEvB;AAFD,kCAEC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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;
|
|
7
|
+
}
|
|
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>);
|
|
17
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VArrayNotNull = exports.VArray = void 0;
|
|
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
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.VArray = VArray;
|
|
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
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.VArrayNotNull = VArrayNotNull;
|
|
89
|
+
//# sourceMappingURL=v_array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,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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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { VBadTypeMessage, VDefaultValue, VVCIsRequired } from "../../interfaces/types";
|
|
2
|
-
import {
|
|
2
|
+
import { Verifier } from "../verifier";
|
|
3
3
|
interface VBooleanConditions extends VBadTypeMessage, VDefaultValue<boolean>, VVCIsRequired {
|
|
4
4
|
}
|
|
5
|
-
export declare class VBooleanNotNull extends
|
|
5
|
+
export declare class VBooleanNotNull extends Verifier<boolean> {
|
|
6
6
|
protected cond?: VBooleanConditions | undefined;
|
|
7
|
-
|
|
7
|
+
check(data: any): boolean;
|
|
8
8
|
constructor(cond?: VBooleanConditions | undefined);
|
|
9
9
|
}
|
|
10
|
-
export declare class VBoolean extends
|
|
10
|
+
export declare class VBoolean extends Verifier<boolean | null> {
|
|
11
11
|
protected cond?: VBooleanConditions | undefined;
|
|
12
|
-
|
|
12
|
+
check(data: any): boolean | null;
|
|
13
13
|
constructor(cond?: VBooleanConditions | undefined);
|
|
14
14
|
}
|
|
15
15
|
export {};
|
|
@@ -3,17 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VBoolean = exports.VBooleanNotNull = void 0;
|
|
4
4
|
const v_error_1 = require("../../error/v_error");
|
|
5
5
|
const message_1 = require("../../languages/message");
|
|
6
|
-
const
|
|
6
|
+
const verifier_1 = require("../verifier");
|
|
7
7
|
function vBoolean(data, badTypeMessage, conds) {
|
|
8
8
|
if (data !== '1' && data !== '0' && data !== 1 && data !== 0 && data !== true && data !== false && (typeof data !== 'string' || data.toLowerCase() !== 'true' && data.toLowerCase() !== 'false'))
|
|
9
|
-
throw new v_error_1.
|
|
9
|
+
throw new v_error_1.VerificationError([{
|
|
10
10
|
key: "",
|
|
11
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
12
|
}]);
|
|
13
13
|
return data === '1' || data === 1 || data === true || (typeof data === 'string' && data.toLowerCase() === 'true');
|
|
14
14
|
}
|
|
15
|
-
class VBooleanNotNull extends
|
|
16
|
-
|
|
15
|
+
class VBooleanNotNull extends verifier_1.Verifier {
|
|
16
|
+
check(data) {
|
|
17
17
|
return vBoolean(this.isRequired(data, true), this.badTypeMessage, this.cond);
|
|
18
18
|
}
|
|
19
19
|
constructor(cond) {
|
|
@@ -26,8 +26,8 @@ class VBooleanNotNull extends validator_1.Validation {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
exports.VBooleanNotNull = VBooleanNotNull;
|
|
29
|
-
class VBoolean extends
|
|
30
|
-
|
|
29
|
+
class VBoolean extends verifier_1.Verifier {
|
|
30
|
+
check(data) {
|
|
31
31
|
let val = this.isRequired(data);
|
|
32
32
|
if (val === null || val === undefined) {
|
|
33
33
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v_boolean.js","sourceRoot":"","sources":["../../../../src/src/
|
|
1
|
+
{"version":3,"file":"v_boolean.js","sourceRoot":"","sources":["../../../../src/src/verifiers/boolean/v_boolean.ts"],"names":[],"mappings":";;;AAAA,iDAAwD;AAExD,qDAAuE;AACvE,0CAAuC;AAMvC,SAAS,QAAQ,CAAC,IAAS,EAAE,cAAsC,EAAE,KAA0B;IAC3F,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC;QAC5L,MAAM,IAAI,2BAAiB,CAAC,CAAC;gBACzB,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,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC;AACtH,CAAC;AAED,MAAa,eAAgB,SAAQ,mBAAiB;IAClD,KAAK,CAAC,IAAS;QACX,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjF,CAAC;IACD,YAAsB,IAAyB;QAC3C,KAAK,CAAC,IAAI,CAAC,CAAC;QADM,SAAI,GAAJ,IAAI,CAAqB;QAE3C,IAAI,CAAC,cAAc,GAAG;YAClB,EAAE,EAAE,GAAG,EAAE,CAAC,sBAAsB;YAChC,EAAE,EAAE,GAAG,EAAE,CAAC,mBAAmB;SAChC,CAAA;IACL,CAAC;CACJ;AAXD,0CAWC;AAED,MAAa,QAAS,SAAQ,mBAAwB;IAClD,KAAK,CAAC,IAAS;QACX,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,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IACD,YAAsB,IAAyB;QAC3C,KAAK,CAAC,IAAI,CAAC,CAAC;QADM,SAAI,GAAJ,IAAI,CAAqB;QAE3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG;YAClB,EAAE,EAAE,GAAG,EAAE,CAAC,sBAAsB;YAChC,EAAE,EAAE,GAAG,EAAE,CAAC,mBAAmB;SAChC,CAAA;IACL,CAAC;CACJ;AAhBD,4BAgBC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
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('VBoolean', () => {
|
|
6
|
+
it('should validate true for various true values', () => {
|
|
7
|
+
const validator = new index_1.Verifiers.VBoolean();
|
|
8
|
+
expect(validator.check('1')).toBe(true);
|
|
9
|
+
expect(validator.check(1)).toBe(true);
|
|
10
|
+
expect(validator.check(true)).toBe(true);
|
|
11
|
+
expect(validator.check('TRUE')).toBe(true);
|
|
12
|
+
expect(validator.check('true')).toBe(true);
|
|
13
|
+
});
|
|
14
|
+
it('should validate false for various false values', () => {
|
|
15
|
+
const validator = new index_1.Verifiers.VBoolean();
|
|
16
|
+
expect(validator.check('0')).toBe(false);
|
|
17
|
+
expect(validator.check(0)).toBe(false);
|
|
18
|
+
expect(validator.check(false)).toBe(false);
|
|
19
|
+
expect(validator.check('FALSE')).toBe(false);
|
|
20
|
+
expect(validator.check('false')).toBe(false);
|
|
21
|
+
});
|
|
22
|
+
it('should throw a validation error for invalid boolean values', () => {
|
|
23
|
+
const validator = new index_1.Verifiers.VBoolean();
|
|
24
|
+
expect(() => validator.check('string')).toThrow(v_error_1.VerificationError);
|
|
25
|
+
expect(() => validator.check(123)).toThrow(v_error_1.VerificationError);
|
|
26
|
+
});
|
|
27
|
+
it('should return null for null or undefined values', () => {
|
|
28
|
+
const validator = new index_1.Verifiers.VBoolean();
|
|
29
|
+
expect(validator.check(null)).toBeNull();
|
|
30
|
+
expect(validator.check(undefined)).toBeNull();
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
describe('VBooleanNotNull', () => {
|
|
34
|
+
it('should validate true for various true values', () => {
|
|
35
|
+
const validator = new index_1.Verifiers.VBooleanNotNull();
|
|
36
|
+
expect(validator.check('1')).toBe(true);
|
|
37
|
+
expect(validator.check(1)).toBe(true);
|
|
38
|
+
expect(validator.check(true)).toBe(true);
|
|
39
|
+
expect(validator.check('TRUE')).toBe(true);
|
|
40
|
+
expect(validator.check('true')).toBe(true);
|
|
41
|
+
});
|
|
42
|
+
it('should validate false for various false values', () => {
|
|
43
|
+
const validator = new index_1.Verifiers.VBooleanNotNull();
|
|
44
|
+
expect(validator.check('0')).toBe(false);
|
|
45
|
+
expect(validator.check(0)).toBe(false);
|
|
46
|
+
expect(validator.check(false)).toBe(false);
|
|
47
|
+
expect(validator.check('FALSE')).toBe(false);
|
|
48
|
+
expect(validator.check('false')).toBe(false);
|
|
49
|
+
});
|
|
50
|
+
it('should throw a validation error for invalid boolean values', () => {
|
|
51
|
+
const validator = new index_1.Verifiers.VBooleanNotNull();
|
|
52
|
+
expect(() => validator.check('string')).toThrow(v_error_1.VerificationError);
|
|
53
|
+
expect(() => validator.check(123)).toThrow(v_error_1.VerificationError);
|
|
54
|
+
});
|
|
55
|
+
it('should throw a validation error for null or undefined values', () => {
|
|
56
|
+
const validator = new index_1.Verifiers.VBooleanNotNull();
|
|
57
|
+
expect(() => validator.check(null)).toThrow(v_error_1.VerificationError);
|
|
58
|
+
expect(() => validator.check(undefined)).toThrow(v_error_1.VerificationError);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=v_boolean.test.js.map
|