structure-verifier 0.0.3 → 0.0.5
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 +79 -5
- package/dist/index.d.ts +5 -2
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/src/verifiers/any/v_any.d.ts +9 -1
- package/dist/src/verifiers/any/v_any.js +19 -3
- package/dist/src/verifiers/any/v_any.js.map +1 -1
- package/dist/src/verifiers/any/v_any.test.d.ts +1 -0
- package/dist/src/verifiers/any/v_any.test.js +13 -0
- package/dist/src/verifiers/any/v_any.test.js.map +1 -0
- package/dist/src/verifiers/date/v_date.d.ts +31 -0
- package/dist/src/verifiers/date/v_date.js +116 -0
- package/dist/src/verifiers/date/v_date.js.map +1 -1
- package/dist/src/verifiers/date/v_date.test.d.ts +1 -0
- package/dist/src/verifiers/date/v_date.test.js +65 -0
- package/dist/src/verifiers/date/v_date.test.js.map +1 -0
- package/dist/src/verifiers/object/v_object.js +1 -1
- package/dist/src/verifiers/object/v_object.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# structure-verifier 0.0.
|
|
1
|
+
# structure-verifier 0.0.5
|
|
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
|
|
|
@@ -12,7 +12,7 @@ structure-verifier is a typescrpt library to validate data of "any" type and to
|
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
14
|
import { Verifiers as V,VerificationError } from "structure-verifier";
|
|
15
|
-
//////////
|
|
15
|
+
//////////Verificator object creation
|
|
16
16
|
const v = new V.VNumber();
|
|
17
17
|
/////////Running validations
|
|
18
18
|
|
|
@@ -104,7 +104,7 @@ String Exclusive Conditions
|
|
|
104
104
|
});
|
|
105
105
|
///// Validate a string or null that meets all conditions otherwise error (VerificationError)
|
|
106
106
|
```
|
|
107
|
-
|
|
107
|
+
***
|
|
108
108
|
### Booleans
|
|
109
109
|
Validations for boolean data.
|
|
110
110
|
|
|
@@ -132,7 +132,7 @@ try {
|
|
|
132
132
|
console.error(error);
|
|
133
133
|
}
|
|
134
134
|
```
|
|
135
|
-
|
|
135
|
+
***
|
|
136
136
|
### Objects
|
|
137
137
|
Validations for object data.
|
|
138
138
|
|
|
@@ -184,7 +184,7 @@ try {
|
|
|
184
184
|
console.error(error);
|
|
185
185
|
}
|
|
186
186
|
```
|
|
187
|
-
|
|
187
|
+
***
|
|
188
188
|
### Arrays
|
|
189
189
|
Validations for array data.
|
|
190
190
|
|
|
@@ -212,4 +212,78 @@ try {
|
|
|
212
212
|
} catch (error) {
|
|
213
213
|
console.error(error);
|
|
214
214
|
}
|
|
215
|
+
```
|
|
216
|
+
***
|
|
217
|
+
### Any
|
|
218
|
+
Validations for any data.
|
|
219
|
+
|
|
220
|
+
```typescript
|
|
221
|
+
const anyVal = new V.VAny(); // Returns any type
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
VAny Exclusive Conditions
|
|
225
|
+
|
|
226
|
+
*No exclusive conditions for any validation*
|
|
227
|
+
|
|
228
|
+
#### Example
|
|
229
|
+
```typescript
|
|
230
|
+
const anyVal = new V.VAny();
|
|
231
|
+
|
|
232
|
+
try {
|
|
233
|
+
console.log(anyVal.check('true')); // Output: true
|
|
234
|
+
console.log(anyVal.check('FALSE')); // Output: false
|
|
235
|
+
console.log(anyVal.check(null)); // Output: null
|
|
236
|
+
console.log(anyVal.check('1')); // Output: true
|
|
237
|
+
console.log(anyVal.check(0)); // Output: false
|
|
238
|
+
} catch (error) {
|
|
239
|
+
console.error(error);
|
|
240
|
+
}
|
|
241
|
+
```
|
|
242
|
+
***
|
|
243
|
+
### Date
|
|
244
|
+
Validations for date data (depends Moment).
|
|
245
|
+
|
|
246
|
+
```typescript
|
|
247
|
+
const vdate = new V.VDate();
|
|
248
|
+
const vdateNotNull = new V.VDateNotNull();
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
VDate Exclusive Conditions
|
|
252
|
+
|
|
253
|
+
- **format**: Specifies the date format to be validated against.
|
|
254
|
+
- **timeZone**: Specifies the expected time zone of the input date.
|
|
255
|
+
- **maxDate**: Specifies the maximum allowed date.
|
|
256
|
+
- **minDate**: Specifies the minimum allowed date.
|
|
257
|
+
|
|
258
|
+
#### Example
|
|
259
|
+
#### Basic Date Validation
|
|
260
|
+
|
|
261
|
+
```typescript
|
|
262
|
+
const vdate = new V.VDate();
|
|
263
|
+
console.log(vdate.check("2023-08-09")?.format("YYYY-MM-DD")); // Output: "2023-08-09"
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
#### Date with Specific Format
|
|
267
|
+
|
|
268
|
+
```typescript
|
|
269
|
+
const vdate = new V.VDate({ format: "DD/MM/YYYY" });
|
|
270
|
+
console.log(vdate.check("09/08/2023")?.format("DD/MM/YYYY")); // Output: "09/08/2023"
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
#### Date with Time Zone
|
|
274
|
+
|
|
275
|
+
```typescript
|
|
276
|
+
const vdate = new V.VDate({ timeZone: "America/New_York" });
|
|
277
|
+
const result = vdate.check("2023-08-09T10:00:00");
|
|
278
|
+
console.log(result.tz("America/New_York").format()); // Output: "2023-08-09T10:00:00-04:00"
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
#### Date within Range
|
|
282
|
+
|
|
283
|
+
```typescript
|
|
284
|
+
const vdate = new V.VDate({
|
|
285
|
+
minDate: moment("2023-01-01"),
|
|
286
|
+
maxDate: moment("2023-12-31")
|
|
287
|
+
});
|
|
288
|
+
console.log(vdate.check("2023-08-09").format("YYYY-MM-DD")); // Output: "2023-08-09"
|
|
215
289
|
```
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { VAny } from "./src/verifiers/any/v_any";
|
|
2
2
|
import { VArray, VArrayNotNull } from "./src/verifiers/array/v_array";
|
|
3
3
|
import { VBoolean, VBooleanNotNull } from "./src/verifiers/boolean/v_boolean";
|
|
4
|
+
import { VDate, VDateNotNull } from "./src/verifiers/date/v_date";
|
|
4
5
|
import { VNumber, VNumberNotNull } from "./src/verifiers/number/v_number";
|
|
5
6
|
import { VObject, VObjectNotNull } from "./src/verifiers/object/v_object";
|
|
6
7
|
import { VString, VStringNotNull } from "./src/verifiers/string/v_string";
|
|
@@ -17,5 +18,7 @@ export declare const Verifiers: {
|
|
|
17
18
|
VObject: typeof VObject;
|
|
18
19
|
VArray: typeof VArray;
|
|
19
20
|
VArrayNotNull: typeof VArrayNotNull;
|
|
20
|
-
|
|
21
|
+
VAny: typeof VAny;
|
|
22
|
+
VDate: typeof VDate;
|
|
23
|
+
VDateNotNull: typeof VDateNotNull;
|
|
21
24
|
};
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.Verifiers = void 0;
|
|
|
4
4
|
const v_any_1 = require("./src/verifiers/any/v_any");
|
|
5
5
|
const v_array_1 = require("./src/verifiers/array/v_array");
|
|
6
6
|
const v_boolean_1 = require("./src/verifiers/boolean/v_boolean");
|
|
7
|
+
const v_date_1 = require("./src/verifiers/date/v_date");
|
|
7
8
|
const v_number_1 = require("./src/verifiers/number/v_number");
|
|
8
9
|
const v_object_1 = require("./src/verifiers/object/v_object");
|
|
9
10
|
const v_string_1 = require("./src/verifiers/string/v_string");
|
|
@@ -20,6 +21,8 @@ exports.Verifiers = {
|
|
|
20
21
|
VObject: v_object_1.VObject,
|
|
21
22
|
VArray: v_array_1.VArray,
|
|
22
23
|
VArrayNotNull: v_array_1.VArrayNotNull,
|
|
23
|
-
|
|
24
|
+
VAny: v_any_1.VAny,
|
|
25
|
+
VDate: v_date_1.VDate,
|
|
26
|
+
VDateNotNull: v_date_1.VDateNotNull
|
|
24
27
|
};
|
|
25
28
|
//# 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,qDAAiD;AACjD,2DAAsE;AACtE,iEAA8E;AAC9E,wDAAkE;AAClE,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,IAAI,EAAJ,YAAI;IACJ,KAAK,EAAL,cAAK;IACL,YAAY,EAAZ,qBAAY;CACf,CAAA"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import { IInfo, VBadTypeMessage, VDefaultValue, VVCIsRequired } from "../../interfaces/types";
|
|
2
|
+
import { Verifier } from "../verifier";
|
|
3
|
+
interface VAnyConditions extends VBadTypeMessage, VDefaultValue<number>, VVCIsRequired, IInfo<any> {
|
|
2
4
|
}
|
|
5
|
+
export declare class VAny extends Verifier<any | null> {
|
|
6
|
+
protected cond?: VAnyConditions | undefined;
|
|
7
|
+
check(data: any): number | null;
|
|
8
|
+
constructor(cond?: VAnyConditions | undefined);
|
|
9
|
+
}
|
|
10
|
+
export {};
|
|
@@ -1,7 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
3
|
+
exports.VAny = void 0;
|
|
4
|
+
const verifier_1 = require("../verifier");
|
|
5
|
+
const dMessages = {
|
|
6
|
+
badTypeMessage: {
|
|
7
|
+
es: () => `debe ser un dato`,
|
|
8
|
+
en: () => `must be a data`
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
class VAny extends verifier_1.Verifier {
|
|
12
|
+
check(data) {
|
|
13
|
+
return data;
|
|
14
|
+
}
|
|
15
|
+
constructor(cond) {
|
|
16
|
+
super(cond);
|
|
17
|
+
this.cond = cond;
|
|
18
|
+
this.cond = cond;
|
|
19
|
+
this.badTypeMessage = dMessages.badTypeMessage;
|
|
20
|
+
}
|
|
5
21
|
}
|
|
6
|
-
exports.
|
|
22
|
+
exports.VAny = VAny;
|
|
7
23
|
//# sourceMappingURL=v_any.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v_any.js","sourceRoot":"","sources":["../../../../src/src/verifiers/any/v_any.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"v_any.js","sourceRoot":"","sources":["../../../../src/src/verifiers/any/v_any.ts"],"names":[],"mappings":";;;AAEA,0CAAuC;AASvC,MAAM,SAAS,GAAwB;IACnC,cAAc,EAAE;QACZ,EAAE,EAAE,GAAG,EAAE,CAAC,kBAAkB;QAC5B,EAAE,EAAE,GAAG,EAAE,CAAC,gBAAgB;KAC7B;CACJ,CAAA;AAID,MAAa,IAAK,SAAQ,mBAAoB;IAC1C,KAAK,CAAC,IAAS;QACX,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,YAAsB,IAAqB;QACvC,KAAK,CAAC,IAAI,CAAC,CAAC;QADM,SAAI,GAAJ,IAAI,CAAiB;QAEvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;IACnD,CAAC;CACJ;AATD,oBASC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const index_1 = require("../../../index");
|
|
4
|
+
describe('VAny', () => {
|
|
5
|
+
it('should validate data as any', () => {
|
|
6
|
+
const validator = new index_1.Verifiers.VAny();
|
|
7
|
+
expect(validator.check([1, 2, 3])).toEqual([1, 2, 3]);
|
|
8
|
+
expect(validator.check(null)).toBeNull();
|
|
9
|
+
expect(validator.check(1)).toEqual(1);
|
|
10
|
+
expect(validator.check("TEST")).toEqual("TEST");
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=v_any.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v_any.test.js","sourceRoot":"","sources":["../../../../src/src/verifiers/any/v_any.test.ts"],"names":[],"mappings":";;AAAA,0CAAgD;AAGhD,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IAClB,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,MAAM,SAAS,GAAG,IAAI,iBAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import moment, { Moment } from "moment-timezone";
|
|
2
|
+
import { IInfo, MessageType, VBadTypeMessage, VDefaultValue, VVCIsRequired } from "../../interfaces/types";
|
|
3
|
+
import { Verifier } from "../verifier";
|
|
4
|
+
interface VDateConditions extends VBadTypeMessage, VDefaultValue<Moment>, VVCIsRequired, IInfo<number | string | Date | moment.Moment> {
|
|
5
|
+
format?: MessageType<string, {
|
|
6
|
+
format: string;
|
|
7
|
+
}>;
|
|
8
|
+
timeZone?: MessageType<string, {
|
|
9
|
+
timeZone: string;
|
|
10
|
+
}>;
|
|
11
|
+
maxDate?: MessageType<moment.Moment, {
|
|
12
|
+
maxDate: moment.Moment;
|
|
13
|
+
}>;
|
|
14
|
+
minDate?: MessageType<moment.Moment, {
|
|
15
|
+
minDate: moment.Moment;
|
|
16
|
+
}>;
|
|
17
|
+
default?: MessageType<moment.Moment, {
|
|
18
|
+
default: moment.Moment;
|
|
19
|
+
}>;
|
|
20
|
+
}
|
|
21
|
+
export declare class VDateNotNull extends Verifier<moment.Moment> {
|
|
22
|
+
protected cond?: VDateConditions | undefined;
|
|
23
|
+
check(data: any): moment.Moment;
|
|
24
|
+
constructor(cond?: VDateConditions | undefined);
|
|
25
|
+
}
|
|
26
|
+
export declare class VDate extends Verifier<moment.Moment | null> {
|
|
27
|
+
protected cond?: VDateConditions | undefined;
|
|
28
|
+
check(data: any): moment.Moment | null;
|
|
29
|
+
constructor(cond?: VDateConditions | undefined);
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -1,2 +1,118 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.VDate = exports.VDateNotNull = void 0;
|
|
7
|
+
const moment_timezone_1 = __importDefault(require("moment-timezone"));
|
|
8
|
+
const message_1 = require("../../languages/message");
|
|
9
|
+
const v_error_1 = require("../../error/v_error");
|
|
10
|
+
const verifier_1 = require("../verifier");
|
|
11
|
+
moment_timezone_1.default.suppressDeprecationWarnings = true;
|
|
12
|
+
const dMessages = {
|
|
13
|
+
format: {
|
|
14
|
+
es: (values) => `debe tener el formato ${values.format}`,
|
|
15
|
+
en: (values) => `must have the format ${values.format}`
|
|
16
|
+
},
|
|
17
|
+
timeZone: {
|
|
18
|
+
es: (values) => `debe tener la zona horaria ${values.timeZone}`,
|
|
19
|
+
en: (values) => `must have the time zone ${values.timeZone}`
|
|
20
|
+
},
|
|
21
|
+
maxDate: {
|
|
22
|
+
es: (values) => `debe ser menor o igual a ${values.maxDate.format()}`,
|
|
23
|
+
en: (values) => `must be less or equal to ${values.maxDate.format()}`
|
|
24
|
+
},
|
|
25
|
+
minDate: {
|
|
26
|
+
es: (values) => `debe ser mayor o igual a ${values.minDate.format()}`,
|
|
27
|
+
en: (values) => `must be greater or equal to ${values.minDate.format()}`
|
|
28
|
+
},
|
|
29
|
+
badTypeMessage: {
|
|
30
|
+
es: () => `debe ser una fecha`,
|
|
31
|
+
en: () => `must be a date`
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
function haveTimezone(input) {
|
|
35
|
+
const regexDesplazamiento = /(?:UTC|GMT|[+-]\d{2}:?\d{2})$/;
|
|
36
|
+
const regexIdentificadorZona = /(?:Europe\/|America\/|Asia\/|Africa\/|Australia\/|Antarctica\/|Atlantic\/|Indian\/|Pacific\/)[A-Za-z_]+/;
|
|
37
|
+
return regexDesplazamiento.test(input) || regexIdentificadorZona.test(input);
|
|
38
|
+
}
|
|
39
|
+
function formatWithTimeZone(format) {
|
|
40
|
+
return /Z{1,2}|z{1,2}/.test(format);
|
|
41
|
+
}
|
|
42
|
+
function vDate(data, badTypeMessage, conds) {
|
|
43
|
+
let timeZone = (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.timeZone) || "UTC";
|
|
44
|
+
console.log(timeZone);
|
|
45
|
+
if (data === '' || !(typeof data === 'number' || typeof data === 'string' || data instanceof Date || moment_timezone_1.default.isMoment(data))) {
|
|
46
|
+
throw new v_error_1.VerificationError([{
|
|
47
|
+
key: "",
|
|
48
|
+
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)
|
|
49
|
+
}]);
|
|
50
|
+
}
|
|
51
|
+
let date = (0, moment_timezone_1.default)();
|
|
52
|
+
if (conds === null || conds === void 0 ? void 0 : conds.format) {
|
|
53
|
+
let format = (0, message_1.getValue)(conds.format);
|
|
54
|
+
date = (0, moment_timezone_1.default)(data, format, true);
|
|
55
|
+
if (!date.isValid()) {
|
|
56
|
+
throw new v_error_1.VerificationError([{
|
|
57
|
+
key: "",
|
|
58
|
+
message: (0, message_1.getMessage)(conds.format, { format: format }, dMessages.format)
|
|
59
|
+
}]);
|
|
60
|
+
}
|
|
61
|
+
if (!formatWithTimeZone(format)) {
|
|
62
|
+
date = moment_timezone_1.default.tz(date.format('YYYY-MM-DD HH:mm:ss'), timeZone);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
date = (0, moment_timezone_1.default)(data);
|
|
67
|
+
if (typeof data === 'string' && !haveTimezone(data)) {
|
|
68
|
+
date = moment_timezone_1.default.tz(date.format('YYYY-MM-DD HH:mm:ss'), timeZone);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (!date.isValid()) {
|
|
72
|
+
throw new v_error_1.VerificationError([{
|
|
73
|
+
key: "",
|
|
74
|
+
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)
|
|
75
|
+
}]);
|
|
76
|
+
}
|
|
77
|
+
if ((conds === null || conds === void 0 ? void 0 : conds.maxDate) && date.isAfter((0, message_1.getValue)(conds.maxDate))) {
|
|
78
|
+
throw new v_error_1.VerificationError([{
|
|
79
|
+
key: "",
|
|
80
|
+
message: (0, message_1.getMessage)(conds.maxDate, { maxDate: (0, message_1.getValue)(conds.maxDate) }, dMessages.maxDate)
|
|
81
|
+
}]);
|
|
82
|
+
}
|
|
83
|
+
if ((conds === null || conds === void 0 ? void 0 : conds.minDate) && date.isBefore((0, message_1.getValue)(conds.minDate))) {
|
|
84
|
+
throw new v_error_1.VerificationError([{
|
|
85
|
+
key: "",
|
|
86
|
+
message: (0, message_1.getMessage)(conds.minDate, { minDate: (0, message_1.getValue)(conds.minDate) }, dMessages.minDate)
|
|
87
|
+
}]);
|
|
88
|
+
}
|
|
89
|
+
return date;
|
|
90
|
+
}
|
|
91
|
+
class VDateNotNull extends verifier_1.Verifier {
|
|
92
|
+
check(data) {
|
|
93
|
+
return vDate(this.isRequired(data, true), this.badTypeMessage, this.cond);
|
|
94
|
+
}
|
|
95
|
+
constructor(cond) {
|
|
96
|
+
super(cond);
|
|
97
|
+
this.cond = cond;
|
|
98
|
+
this.badTypeMessage = dMessages.badTypeMessage;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
exports.VDateNotNull = VDateNotNull;
|
|
102
|
+
class VDate extends verifier_1.Verifier {
|
|
103
|
+
check(data) {
|
|
104
|
+
let val = this.isRequired(data);
|
|
105
|
+
if (val === null || val === undefined) {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
return vDate(val, this.badTypeMessage, this.cond);
|
|
109
|
+
}
|
|
110
|
+
constructor(cond) {
|
|
111
|
+
super(cond);
|
|
112
|
+
this.cond = cond;
|
|
113
|
+
this.cond = cond;
|
|
114
|
+
this.badTypeMessage = dMessages.badTypeMessage;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.VDate = VDate;
|
|
2
118
|
//# sourceMappingURL=v_date.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v_date.js","sourceRoot":"","sources":["../../../../src/src/verifiers/date/v_date.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"v_date.js","sourceRoot":"","sources":["../../../../src/src/verifiers/date/v_date.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const moment_timezone_1 = __importDefault(require("moment-timezone"));
|
|
7
|
+
const v_error_1 = require("../../error/v_error");
|
|
8
|
+
const index_1 = require("../../../index");
|
|
9
|
+
describe("VDate", () => {
|
|
10
|
+
it("should validate a date string with default settings", () => {
|
|
11
|
+
var _a;
|
|
12
|
+
const vdate = new index_1.Verifiers.VDate();
|
|
13
|
+
expect((_a = vdate.check("2023-08-09")) === null || _a === void 0 ? void 0 : _a.format("YYYY-MM-DD")).toEqual("2023-08-09");
|
|
14
|
+
});
|
|
15
|
+
it("should return null for null input when not required", () => {
|
|
16
|
+
const vdate = new index_1.Verifiers.VDate();
|
|
17
|
+
expect(vdate.check(null)).toBeNull();
|
|
18
|
+
});
|
|
19
|
+
it("should throw an error for invalid date format", () => {
|
|
20
|
+
const vdate = new index_1.Verifiers.VDate({ format: "DD/MM/YYYY" });
|
|
21
|
+
expect(() => vdate.check("2023-08-09")).toThrow(v_error_1.VerificationError);
|
|
22
|
+
});
|
|
23
|
+
it("should validate a date with timezone", () => {
|
|
24
|
+
const vdate = new index_1.Verifiers.VDate({ timeZone: "America/New_York" });
|
|
25
|
+
const result = vdate.check("2023-08-09T10:00:00");
|
|
26
|
+
expect(result === null || result === void 0 ? void 0 : result.tz("America/New_York").format()).toEqual("2023-08-09T10:00:00-04:00");
|
|
27
|
+
});
|
|
28
|
+
it("should validate a date within a min and max range", () => {
|
|
29
|
+
var _a;
|
|
30
|
+
const vdate = new index_1.Verifiers.VDate({
|
|
31
|
+
minDate: (0, moment_timezone_1.default)("2023-01-01"),
|
|
32
|
+
maxDate: (0, moment_timezone_1.default)("2023-12-31")
|
|
33
|
+
});
|
|
34
|
+
expect((_a = vdate.check("2023-08-09")) === null || _a === void 0 ? void 0 : _a.format("YYYY-MM-DD")).toEqual("2023-08-09");
|
|
35
|
+
});
|
|
36
|
+
it("should throw an error if date is before minDate", () => {
|
|
37
|
+
const vdate = new index_1.Verifiers.VDate({ minDate: (0, moment_timezone_1.default)("2023-01-01") });
|
|
38
|
+
expect(() => vdate.check("2022-12-31")).toThrow(v_error_1.VerificationError);
|
|
39
|
+
});
|
|
40
|
+
it("should throw an error if date is after maxDate", () => {
|
|
41
|
+
const vdate = new index_1.Verifiers.VDate({ maxDate: (0, moment_timezone_1.default)("2023-12-31") });
|
|
42
|
+
expect(() => vdate.check("2024-01-01")).toThrow(v_error_1.VerificationError);
|
|
43
|
+
});
|
|
44
|
+
it("should validate a date without timezone in default UTC", () => {
|
|
45
|
+
const vdate = new index_1.Verifiers.VDate();
|
|
46
|
+
const result = vdate.check("2023-08-09T10:00:00");
|
|
47
|
+
expect(result === null || result === void 0 ? void 0 : result.tz("UTC").format('YYYY-MM-DDTHH:mm:ssZ')).toEqual("2023-08-09T10:00:00+00:00");
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
describe("VDateNotNull", () => {
|
|
51
|
+
it("should validate a non-null date", () => {
|
|
52
|
+
const vdateNotNull = new index_1.Verifiers.VDateNotNull();
|
|
53
|
+
expect(vdateNotNull.check("2023-08-09").format("YYYY-MM-DD")).toEqual("2023-08-09");
|
|
54
|
+
});
|
|
55
|
+
it("should throw an error for null input", () => {
|
|
56
|
+
const vdateNotNull = new index_1.Verifiers.VDateNotNull();
|
|
57
|
+
expect(() => vdateNotNull.check(null)).toThrow(v_error_1.VerificationError);
|
|
58
|
+
});
|
|
59
|
+
it("should validate a date with a specific format", () => {
|
|
60
|
+
const vdateNotNull = new index_1.Verifiers.VDateNotNull({ format: "DD/MM/YYYY" });
|
|
61
|
+
expect(vdateNotNull.check("09/08/2023").format("DD/MM/YYYY")).toEqual("09/08/2023");
|
|
62
|
+
expect(() => vdateNotNull.check("09-08-2023")).toThrow(v_error_1.VerificationError);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=v_date.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v_date.test.js","sourceRoot":"","sources":["../../../../src/src/verifiers/date/v_date.test.ts"],"names":[],"mappings":";;;;;AAAA,sEAAqC;AACrC,iDAAwD;AACxD,0CAAgD;AAEhD,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACnB,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;;QAC3D,MAAM,KAAK,GAAG,IAAI,iBAAC,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAA,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,0CAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,MAAM,KAAK,GAAG,IAAI,iBAAC,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,MAAM,KAAK,GAAG,IAAI,iBAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,2BAAiB,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,KAAK,GAAG,IAAI,iBAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;;QACzD,MAAM,KAAK,GAAG,IAAI,iBAAC,CAAC,KAAK,CAAC;YACtB,OAAO,EAAE,IAAA,yBAAM,EAAC,YAAY,CAAC;YAC7B,OAAO,EAAE,IAAA,yBAAM,EAAC,YAAY,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,CAAC,MAAA,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,0CAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,KAAK,GAAG,IAAI,iBAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,yBAAM,EAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,2BAAiB,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,MAAM,KAAK,GAAG,IAAI,iBAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,yBAAM,EAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,2BAAiB,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,MAAM,KAAK,GAAG,IAAI,iBAAC,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,MAAM,YAAY,GAAG,IAAI,iBAAC,CAAC,YAAY,EAAE,CAAC;QAC1C,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,YAAY,GAAG,IAAI,iBAAC,CAAC,YAAY,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,2BAAiB,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,MAAM,YAAY,GAAG,IAAI,iBAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAClE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACpF,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,2BAAiB,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -79,7 +79,7 @@ function vObject(data, badTypeMessage, conds) {
|
|
|
79
79
|
errors.push(...error.errorsObj.map(v => {
|
|
80
80
|
if (!v.key)
|
|
81
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.
|
|
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.VAny)
|
|
83
83
|
v.parent = keys.keyV + (v.parent ? '.' + v.parent : '');
|
|
84
84
|
v.isEmpty = undefined;
|
|
85
85
|
return v;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v_object.js","sourceRoot":"","sources":["../../../../src/src/verifiers/object/v_object.ts"],"names":[],"mappings":";;;AAAA,iDAAwD;AAExD,
|
|
1
|
+
{"version":3,"file":"v_object.js","sourceRoot":"","sources":["../../../../src/src/verifiers/object/v_object.ts"],"names":[],"mappings":"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"}
|