structure-verifier 0.0.15 → 0.0.16

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 (39) hide show
  1. package/README.md +299 -325
  2. package/dist/index.d.ts +50 -18
  3. package/dist/index.js +20 -15
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/error/v_error.d.ts +9 -4
  6. package/dist/src/error/v_error.js +14 -7
  7. package/dist/src/error/v_error.js.map +1 -1
  8. package/dist/src/interfaces/types.d.ts +3 -3
  9. package/dist/src/languages/message.d.ts +1 -1
  10. package/dist/src/languages/message.js +7 -4
  11. package/dist/src/languages/message.js.map +1 -1
  12. package/dist/src/verifiers/any/v_any.d.ts +1 -2
  13. package/dist/src/verifiers/any/v_any.js +8 -3
  14. package/dist/src/verifiers/any/v_any.js.map +1 -1
  15. package/dist/src/verifiers/array/v_array.d.ts +7 -6
  16. package/dist/src/verifiers/array/v_array.js +44 -33
  17. package/dist/src/verifiers/array/v_array.js.map +1 -1
  18. package/dist/src/verifiers/boolean/v_boolean.d.ts +1 -2
  19. package/dist/src/verifiers/boolean/v_boolean.js +23 -23
  20. package/dist/src/verifiers/boolean/v_boolean.js.map +1 -1
  21. package/dist/src/verifiers/date/v_date.d.ts +1 -2
  22. package/dist/src/verifiers/date/v_date.js +58 -57
  23. package/dist/src/verifiers/date/v_date.js.map +1 -1
  24. package/dist/src/verifiers/number/v_number.d.ts +1 -2
  25. package/dist/src/verifiers/number/v_number.js +30 -52
  26. package/dist/src/verifiers/number/v_number.js.map +1 -1
  27. package/dist/src/verifiers/object/v_object.d.ts +14 -15
  28. package/dist/src/verifiers/object/v_object.js +98 -68
  29. package/dist/src/verifiers/object/v_object.js.map +1 -1
  30. package/dist/src/verifiers/string/v_string.d.ts +1 -2
  31. package/dist/src/verifiers/string/v_string.js +66 -104
  32. package/dist/src/verifiers/string/v_string.js.map +1 -1
  33. package/dist/src/verifiers/type.d.ts +1 -0
  34. package/dist/src/verifiers/uuid/v_uuid.d.ts +1 -2
  35. package/dist/src/verifiers/uuid/v_uuid.js +69 -42
  36. package/dist/src/verifiers/uuid/v_uuid.js.map +1 -1
  37. package/dist/src/verifiers/verifier.js +1 -1
  38. package/dist/src/verifiers/verifier.js.map +1 -1
  39. package/package.json +1 -1
@@ -27,6 +27,20 @@ const dMessages = {
27
27
  en: () => `must be a date`,
28
28
  },
29
29
  };
30
+ function throwDateError(condition, values, fallbackMessage) {
31
+ throw new v_error_1.VerificationError([
32
+ {
33
+ key: "",
34
+ message: (0, message_1.getMessage)(condition, values, fallbackMessage),
35
+ },
36
+ ]);
37
+ }
38
+ function isSupportedDateInput(data) {
39
+ return (typeof data === "number" ||
40
+ typeof data === "string" ||
41
+ data instanceof Date ||
42
+ datetime_1.datetime.isDayjs(data));
43
+ }
30
44
  function haveTimezone(input) {
31
45
  const regexDesplazamiento = /(?:UTC|GMT|[+-]\d{2}:?\d{2})$/;
32
46
  const regexIdentificadorZona = /(?:Europe\/|America\/|Asia\/|Africa\/|Australia\/|Antarctica\/|Atlantic\/|Indian\/|Pacific\/)[A-Za-z_]+/;
@@ -35,70 +49,57 @@ function haveTimezone(input) {
35
49
  function formatWithTimeZone(format) {
36
50
  return /Z{1,2}|z{1,2}/.test(format);
37
51
  }
38
- function vDate(data, badTypeMessage, conds) {
39
- let timeZone = (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.timeZone) || "UTC";
40
- if (data === "" ||
41
- !(typeof data === "number" ||
42
- typeof data === "string" ||
43
- data instanceof Date ||
44
- datetime_1.datetime.isDayjs(data))) {
45
- throw new v_error_1.VerificationError([
46
- {
47
- key: "",
48
- message: (0, message_1.getMessage)((conds === null || conds === void 0 ? void 0 : conds.badTypeMessage) != undefined
49
- ? conds === null || conds === void 0 ? void 0 : conds.badTypeMessage
50
- : undefined, undefined, badTypeMessage),
51
- },
52
- ]);
52
+ function applyDefaultTimezone(date, timeZone) {
53
+ return datetime_1.datetime.tz(date.format("YYYY-MM-DD HH:mm:ss"), timeZone);
54
+ }
55
+ function parseDateWithFormat(data, format, timeZone, conds) {
56
+ let date = (0, datetime_1.datetime)(data, format, true);
57
+ if (!date.isValid()) {
58
+ throwDateError(conds === null || conds === void 0 ? void 0 : conds.format, { format }, dMessages.format);
53
59
  }
54
- let date = (0, datetime_1.datetime)();
55
- if (conds === null || conds === void 0 ? void 0 : conds.format) {
56
- let format = (0, message_1.getValue)(conds.format);
57
- date = (0, datetime_1.datetime)(data, format, true);
58
- if (!date.isValid()) {
59
- throw new v_error_1.VerificationError([
60
- {
61
- key: "",
62
- message: (0, message_1.getMessage)(conds.format, { format: format }, dMessages.format),
63
- },
64
- ]);
65
- }
66
- if (!formatWithTimeZone(format)) {
67
- date = datetime_1.datetime.tz(date.format("YYYY-MM-DD HH:mm:ss"), timeZone);
68
- }
60
+ if (!formatWithTimeZone(format)) {
61
+ date = applyDefaultTimezone(date, timeZone);
69
62
  }
70
- else {
71
- date = (0, datetime_1.datetime)(data);
72
- if (typeof data === "string" && !haveTimezone(data)) {
73
- date = datetime_1.datetime.tz(date.format("YYYY-MM-DD HH:mm:ss"), timeZone);
74
- }
63
+ return date;
64
+ }
65
+ function parseDateWithoutFormat(data, timeZone) {
66
+ let date = (0, datetime_1.datetime)(data);
67
+ if (typeof data === "string" && !haveTimezone(data)) {
68
+ date = applyDefaultTimezone(date, timeZone);
75
69
  }
70
+ return date;
71
+ }
72
+ function parseDateInput(data, timeZone, badTypeMessage, conds) {
73
+ const format = (conds === null || conds === void 0 ? void 0 : conds.format) ? (0, message_1.getValue)(conds.format) : undefined;
74
+ const date = format
75
+ ? parseDateWithFormat(data, format, timeZone, conds)
76
+ : parseDateWithoutFormat(data, timeZone);
76
77
  if (!date.isValid()) {
77
- throw new v_error_1.VerificationError([
78
- {
79
- key: "",
80
- message: (0, message_1.getMessage)((conds === null || conds === void 0 ? void 0 : conds.badTypeMessage) != undefined
81
- ? conds === null || conds === void 0 ? void 0 : conds.badTypeMessage
82
- : undefined, undefined, badTypeMessage),
83
- },
84
- ]);
78
+ throwDateError(conds === null || conds === void 0 ? void 0 : conds.badTypeMessage, undefined, badTypeMessage);
85
79
  }
86
- if ((conds === null || conds === void 0 ? void 0 : conds.maxDate) && date.isAfter((0, message_1.getValue)(conds.maxDate))) {
87
- throw new v_error_1.VerificationError([
88
- {
89
- key: "",
90
- message: (0, message_1.getMessage)(conds.maxDate, { maxDate: (0, message_1.getValue)(conds.maxDate) }, dMessages.maxDate),
91
- },
92
- ]);
80
+ return date;
81
+ }
82
+ function validateDateRange(date, conds) {
83
+ if (conds === null || conds === void 0 ? void 0 : conds.maxDate) {
84
+ const maxDate = (0, message_1.getValue)(conds.maxDate);
85
+ if (date.isAfter(maxDate)) {
86
+ throwDateError(conds.maxDate, { maxDate }, dMessages.maxDate);
87
+ }
93
88
  }
94
- if ((conds === null || conds === void 0 ? void 0 : conds.minDate) && date.isBefore((0, message_1.getValue)(conds.minDate))) {
95
- throw new v_error_1.VerificationError([
96
- {
97
- key: "",
98
- message: (0, message_1.getMessage)(conds.minDate, { minDate: (0, message_1.getValue)(conds.minDate) }, dMessages.minDate),
99
- },
100
- ]);
89
+ if (conds === null || conds === void 0 ? void 0 : conds.minDate) {
90
+ const minDate = (0, message_1.getValue)(conds.minDate);
91
+ if (date.isBefore(minDate)) {
92
+ throwDateError(conds.minDate, { minDate }, dMessages.minDate);
93
+ }
94
+ }
95
+ }
96
+ function vDate(data, badTypeMessage, conds) {
97
+ const timeZone = (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.timeZone) || "UTC";
98
+ if (data === "" || !isSupportedDateInput(data)) {
99
+ throwDateError(conds === null || conds === void 0 ? void 0 : conds.badTypeMessage, undefined, badTypeMessage);
101
100
  }
101
+ const date = parseDateInput(data, timeZone, badTypeMessage, conds);
102
+ validateDateRange(date, conds);
102
103
  return date;
103
104
  }
104
105
  class VDateNotNull extends verifier_1.Verifier {
@@ -1 +1 @@
1
- {"version":3,"file":"v_date.js","sourceRoot":"","sources":["../../../../src/src/verifiers/date/v_date.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v_date.js","sourceRoot":"","sources":["../../../../src/src/verifiers/date/v_date.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { IInfo, MessageType, VBadTypeMessage, VDefaultValue, VVCIsRequired } from "../../interfaces/types";
2
2
  import { Verifier } from "../verifier";
3
- interface VNumberConditions extends VBadTypeMessage, VDefaultValue<number>, VVCIsRequired, IInfo<number> {
3
+ export interface VNumberConditions extends VBadTypeMessage, VDefaultValue<number>, VVCIsRequired, IInfo<number> {
4
4
  min?: MessageType<number, {
5
5
  min: number;
6
6
  }>;
@@ -30,4 +30,3 @@ export declare class VNumber extends Verifier<number | null> {
30
30
  check(data: any): number | null;
31
31
  constructor(cond?: VNumberConditions | undefined);
32
32
  }
33
- export {};
@@ -34,79 +34,57 @@ const dMessages = {
34
34
  en: () => `must be a number`,
35
35
  },
36
36
  };
37
+ function throwNumberError(condition, values, fallbackMessage) {
38
+ throw new v_error_1.VerificationError([
39
+ {
40
+ key: "",
41
+ message: (0, message_1.getMessage)(condition, values, fallbackMessage),
42
+ },
43
+ ]);
44
+ }
37
45
  function vNumber(data, badTypeMessage, conds) {
38
46
  if (data === "" || isNaN(data)) {
39
- throw new v_error_1.VerificationError([
40
- {
41
- key: "",
42
- message: (0, message_1.getMessage)((conds === null || conds === void 0 ? void 0 : conds.badTypeMessage) != undefined
43
- ? conds === null || conds === void 0 ? void 0 : conds.badTypeMessage
44
- : undefined, undefined, badTypeMessage),
45
- },
46
- ]);
47
+ throwNumberError(conds === null || conds === void 0 ? void 0 : conds.badTypeMessage, undefined, badTypeMessage);
47
48
  }
49
+ const numericValue = Number(data);
50
+ const decimalPart = String(data).split(".")[1] || "";
48
51
  if ((conds === null || conds === void 0 ? void 0 : conds.min) !== undefined) {
49
- if (data < (conds === null || conds === void 0 ? void 0 : conds.min)) {
50
- throw new v_error_1.VerificationError([
51
- {
52
- key: "",
53
- message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.min, { min: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.min) }, dMessages.min),
54
- },
55
- ]);
52
+ const minValue = (0, message_1.getValue)(conds.min);
53
+ if (numericValue < minValue) {
54
+ throwNumberError(conds.min, { min: minValue }, dMessages.min);
56
55
  }
57
56
  }
58
57
  if ((conds === null || conds === void 0 ? void 0 : conds.max) !== undefined) {
59
- if (data > (conds === null || conds === void 0 ? void 0 : conds.max)) {
60
- throw new v_error_1.VerificationError([
61
- {
62
- key: "",
63
- message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.max, { max: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.max) }, dMessages.max),
64
- },
65
- ]);
58
+ const maxValue = (0, message_1.getValue)(conds.max);
59
+ if (numericValue > maxValue) {
60
+ throwNumberError(conds.max, { max: maxValue }, dMessages.max);
66
61
  }
67
62
  }
68
63
  if ((conds === null || conds === void 0 ? void 0 : conds.in) !== undefined) {
69
- if (!(0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.in).includes(data)) {
70
- throw new v_error_1.VerificationError([
71
- {
72
- key: "",
73
- message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.in, { in: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.in) }, dMessages.in),
74
- },
75
- ]);
64
+ const allowedValues = (0, message_1.getValue)(conds.in);
65
+ if (!allowedValues.includes(numericValue)) {
66
+ throwNumberError(conds.in, { in: allowedValues }, dMessages.in);
76
67
  }
77
68
  }
78
69
  if ((conds === null || conds === void 0 ? void 0 : conds.notIn) !== undefined) {
79
- if ((0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.notIn).includes(data)) {
80
- throw new v_error_1.VerificationError([
81
- {
82
- key: "",
83
- message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.notIn, { notIn: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.notIn) }, dMessages.notIn),
84
- },
85
- ]);
70
+ const blockedValues = (0, message_1.getValue)(conds.notIn);
71
+ if (blockedValues.includes(numericValue)) {
72
+ throwNumberError(conds.notIn, { notIn: blockedValues }, dMessages.notIn);
86
73
  }
87
74
  }
88
- const decimalPart = data.toString().split(".")[1] || "";
89
75
  if ((conds === null || conds === void 0 ? void 0 : conds.maxDecimalPlaces) !== undefined) {
90
- if (decimalPart.length > (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.maxDecimalPlaces)) {
91
- throw new v_error_1.VerificationError([
92
- {
93
- key: "",
94
- message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.maxDecimalPlaces, { maxDecimalPlaces: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.maxDecimalPlaces) }, dMessages.maxDecimalPlaces),
95
- },
96
- ]);
76
+ const maxDecimalPlaces = (0, message_1.getValue)(conds.maxDecimalPlaces);
77
+ if (decimalPart.length > maxDecimalPlaces) {
78
+ throwNumberError(conds.maxDecimalPlaces, { maxDecimalPlaces }, dMessages.maxDecimalPlaces);
97
79
  }
98
80
  }
99
81
  if ((conds === null || conds === void 0 ? void 0 : conds.minDecimalPlaces) !== undefined) {
100
- if (decimalPart.length < (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.minDecimalPlaces)) {
101
- throw new v_error_1.VerificationError([
102
- {
103
- key: "",
104
- message: (0, message_1.getMessage)(conds === null || conds === void 0 ? void 0 : conds.minDecimalPlaces, { minDecimalPlaces: (0, message_1.getValue)(conds === null || conds === void 0 ? void 0 : conds.minDecimalPlaces) }, dMessages.minDecimalPlaces),
105
- },
106
- ]);
82
+ const minDecimalPlaces = (0, message_1.getValue)(conds.minDecimalPlaces);
83
+ if (decimalPart.length < minDecimalPlaces) {
84
+ throwNumberError(conds.minDecimalPlaces, { minDecimalPlaces }, dMessages.minDecimalPlaces);
107
85
  }
108
86
  }
109
- return Number(data);
87
+ return numericValue;
110
88
  }
111
89
  class VNumberNotNull extends verifier_1.Verifier {
112
90
  check(data) {
@@ -1 +1 @@
1
- {"version":3,"file":"v_number.js","sourceRoot":"","sources":["../../../../src/src/verifiers/number/v_number.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v_number.js","sourceRoot":"","sources":["../../../../src/src/verifiers/number/v_number.ts"],"names":[],"mappings":"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"}
@@ -1,41 +1,40 @@
1
1
  import { MessageType, VBadTypeMessage, VDefaultValue, VVCIsRequired } from "../../interfaces/types";
2
2
  import { Verifier } from "../verifier";
3
- interface VObjectConditions<T extends Record<string, Verifier<any>>> extends VBadTypeMessage, VDefaultValue<T>, VVCIsRequired {
3
+ export interface VObjectConditions<T extends Record<string, Verifier<any>>> extends VBadTypeMessage, VDefaultValue<T>, VVCIsRequired {
4
4
  invalidPropertyMessage?: MessageType<void, void>;
5
5
  strictMode?: boolean;
6
6
  ignoreCase?: boolean;
7
7
  takeAllValues?: boolean;
8
- properties: T;
9
8
  conds?: (val: {
10
- [K in keyof T]: ReturnType<T[K]['check']>;
9
+ [K in keyof T]: ReturnType<T[K]["check"]>;
11
10
  } | null) => void;
12
11
  }
13
- interface VObjectConditionsNotNull<T extends Record<string, Verifier<any>>> extends VBadTypeMessage, VDefaultValue<T>, VVCIsRequired {
12
+ export interface VObjectConditionsNotNull<T extends Record<string, Verifier<any>>> extends VBadTypeMessage, VDefaultValue<T>, VVCIsRequired {
14
13
  invalidPropertyMessage?: MessageType<void, void>;
15
14
  strictMode?: boolean;
16
15
  ignoreCase?: boolean;
17
16
  takeAllValues?: boolean;
18
- properties: T;
19
17
  conds?: (val: {
20
- [K in keyof T]: ReturnType<T[K]['check']>;
18
+ [K in keyof T]: ReturnType<T[K]["check"]>;
21
19
  }) => void;
22
20
  }
23
21
  export declare class VObjectNotNull<T extends Record<string, Verifier<any>>> extends Verifier<{
24
- [K in keyof T]: ReturnType<T[K]['check']>;
22
+ [K in keyof T]: ReturnType<T[K]["check"]>;
25
23
  }> {
26
- protected cond: VObjectConditionsNotNull<T>;
24
+ protected properties: T;
25
+ protected conditions: VObjectConditionsNotNull<T>;
26
+ constructor(properties: T, conditions?: VObjectConditionsNotNull<T>);
27
27
  check(data: any): {
28
- [K in keyof T]: ReturnType<T[K]['check']>;
28
+ [K in keyof T]: ReturnType<T[K]["check"]>;
29
29
  };
30
- constructor(cond: VObjectConditionsNotNull<T>);
31
30
  }
32
31
  export declare class VObject<T extends Record<string, Verifier<any>>> extends Verifier<{
33
- [K in keyof T]: ReturnType<T[K]['check']>;
32
+ [K in keyof T]: ReturnType<T[K]["check"]>;
34
33
  } | null> {
35
- protected cond: VObjectConditions<T>;
34
+ protected properties: T;
35
+ protected conditions: VObjectConditions<T>;
36
+ constructor(properties: T, conditions?: VObjectConditions<T>);
36
37
  check(data: any): {
37
- [K in keyof T]: ReturnType<T[K]['check']>;
38
+ [K in keyof T]: ReturnType<T[K]["check"]>;
38
39
  } | null;
39
- constructor(cond: VObjectConditions<T>);
40
40
  }
41
- export {};
@@ -6,84 +6,108 @@ const message_1 = require("../../languages/message");
6
6
  const v_any_1 = require("../any/v_any");
7
7
  const v_array_1 = require("../array/v_array");
8
8
  const verifier_1 = require("../verifier");
9
- function vObject(data, badTypeMessage, conds) {
10
- if (typeof data !== 'object' || Array.isArray(data)) {
11
- throw new v_error_1.VerificationError([{
9
+ const UNSAFE_OBJECT_KEYS = new Set(["__proto__", "constructor", "prototype"]);
10
+ function setObjectValue(target, key, value) {
11
+ if (UNSAFE_OBJECT_KEYS.has(key)) {
12
+ Object.defineProperty(target, key, {
13
+ value,
14
+ enumerable: true,
15
+ configurable: true,
16
+ writable: true,
17
+ });
18
+ return;
19
+ }
20
+ target[key] = value;
21
+ }
22
+ function getObjectValue(source, key) {
23
+ const descriptor = Object.getOwnPropertyDescriptor(source, key);
24
+ return descriptor ? descriptor.value : source[key];
25
+ }
26
+ function isNestedVerifier(verifier) {
27
+ return (verifier instanceof VObject ||
28
+ verifier instanceof VObjectNotNull ||
29
+ verifier instanceof v_array_1.VArray ||
30
+ verifier instanceof v_array_1.VArrayNotNull ||
31
+ verifier instanceof v_any_1.VAny);
32
+ }
33
+ function vObject(data, badTypeMessage, properties, options) {
34
+ if (data === null || typeof data !== "object" || Array.isArray(data)) {
35
+ throw new v_error_1.VerificationError([
36
+ {
12
37
  key: "",
13
- message: (0, message_1.getMessage)((conds === null || conds === void 0 ? void 0 : conds.badTypeMessage) != undefined ? conds === null || conds === void 0 ? void 0 : conds.badTypeMessage : undefined, undefined, badTypeMessage)
14
- }]);
38
+ message: (0, message_1.getMessage)((options === null || options === void 0 ? void 0 : options.badTypeMessage) != undefined
39
+ ? options === null || options === void 0 ? void 0 : options.badTypeMessage
40
+ : undefined, undefined, badTypeMessage),
41
+ },
42
+ ]);
15
43
  }
16
- let keysData = Object.keys(data);
17
- let keysValidations = Object.keys(conds.properties);
18
- if (conds.strictMode) {
44
+ const keysData = Object.keys(data);
45
+ const keysValidations = Object.keys(properties);
46
+ if (options.strictMode) {
19
47
  let dif = [];
20
- if (conds.ignoreCase) {
21
- let temp = keysValidations.map(v => v.toUpperCase());
22
- dif = keysData.filter(v => !temp.includes(v.toUpperCase()));
48
+ if (options.ignoreCase) {
49
+ const temp = keysValidations.map((v) => v.toUpperCase());
50
+ dif = keysData.filter((v) => !temp.includes(v.toUpperCase()));
51
+ }
52
+ else {
53
+ dif = keysData.filter((v) => !keysValidations.includes(v));
23
54
  }
24
- else
25
- dif = keysData.filter(v => !keysValidations.includes(v));
26
55
  if (dif.length > 0) {
27
- let error = new v_error_1.VerificationError(dif.map(v => {
28
- return {
29
- key: v, message: (0, message_1.getMessage)(conds.invalidPropertyMessage, undefined, {
30
- es: () => "no es una propiedad válida",
31
- en: () => "is not a valid property"
32
- })
33
- };
34
- }));
56
+ const error = new v_error_1.VerificationError(dif.map((v) => ({
57
+ key: v,
58
+ message: (0, message_1.getMessage)(options.invalidPropertyMessage, undefined, {
59
+ es: () => "no es una propiedad válida",
60
+ en: () => "is not a valid property",
61
+ }),
62
+ })));
35
63
  if (error.errors.length > 0)
36
64
  throw error;
37
65
  }
38
66
  }
39
- let errors = [];
40
- let value = {};
41
- let m = [];
42
- for (const key in conds.properties) {
43
- if (conds.ignoreCase) {
44
- let ketTemp = keysData.find(v => v.toLocaleUpperCase() == key.toUpperCase());
45
- if (ketTemp) {
46
- m.push({
67
+ const errors = [];
68
+ const value = {};
69
+ const keyMap = [];
70
+ for (const key in properties) {
71
+ if (options.ignoreCase) {
72
+ const dataKey = keysData.find((v) => v.toLocaleUpperCase() == key.toUpperCase());
73
+ if (dataKey) {
74
+ keyMap.push({
47
75
  keyV: key,
48
- keyD: ketTemp
76
+ keyD: dataKey,
49
77
  });
50
78
  }
51
79
  else {
52
- m.push({
80
+ keyMap.push({
53
81
  keyV: key,
54
- keyD: key
82
+ keyD: key,
55
83
  });
56
84
  }
57
85
  }
58
86
  else {
59
- m.push({
87
+ keyMap.push({
60
88
  keyV: key,
61
- keyD: key
89
+ keyD: key,
62
90
  });
63
91
  }
64
92
  }
65
- if (conds.takeAllValues) {
66
- for (let k of keysData) {
67
- if (!m.find(v => v.keyD == k)) {
68
- value[k] = data[k];
93
+ if (options.takeAllValues) {
94
+ for (const dataKey of keysData) {
95
+ if (!keyMap.find((v) => v.keyD == dataKey)) {
96
+ setObjectValue(value, dataKey, getObjectValue(data, dataKey));
69
97
  }
70
98
  }
71
99
  }
72
- for (let keys of m) {
100
+ for (const keys of keyMap) {
73
101
  try {
74
- const result = conds.properties[keys.keyV].check(data[keys.keyD]);
75
- value[keys.keyV] = result;
102
+ const result = properties[keys.keyV].check(getObjectValue(data, keys.keyD));
103
+ setObjectValue(value, keys.keyV, result);
76
104
  }
77
105
  catch (error) {
78
106
  if (error instanceof v_error_1.VerificationError) {
79
- errors.push(...error.errorsObj.map(v => {
80
- let cond = conds.properties[keys.keyV];
81
- if (cond instanceof VObject
82
- || cond instanceof VObjectNotNull
83
- || cond instanceof v_array_1.VArray
84
- || cond instanceof v_array_1.VArrayNotNull
85
- || cond instanceof v_any_1.VAny) {
86
- v.key = keys.keyV + (v.key ? '.' + v.key : '');
107
+ errors.push(...error.errorsObj.map((v) => {
108
+ const cond = properties[keys.keyV];
109
+ if (isNestedVerifier(cond)) {
110
+ v.key = keys.keyV + (v.key ? "." + v.key : "");
87
111
  }
88
112
  else {
89
113
  v.key = keys.keyV;
@@ -100,40 +124,46 @@ function vObject(data, badTypeMessage, conds) {
100
124
  if (errors.length > 0) {
101
125
  throw new v_error_1.VerificationError(errors);
102
126
  }
103
- if (conds.conds) {
104
- conds.conds(value);
127
+ const typedValue = value;
128
+ if (options.conds) {
129
+ options.conds(typedValue);
105
130
  }
106
- return value;
131
+ return typedValue;
107
132
  }
108
133
  class VObjectNotNull extends verifier_1.Verifier {
109
- check(data) {
110
- return vObject(this.isRequired(data, true), this.badTypeMessage, this.cond);
111
- }
112
- constructor(cond) {
113
- super(cond);
114
- this.cond = cond;
134
+ constructor(properties, conditions = {}) {
135
+ super(conditions);
136
+ this.properties = properties;
137
+ this.conditions = conditions;
115
138
  this.badTypeMessage = {
116
139
  es: () => `debe ser un objeto`,
117
- en: () => `must be a object`
140
+ en: () => `must be an object`,
118
141
  };
119
142
  }
143
+ check(data) {
144
+ return vObject(this.isRequired(data, true), this.badTypeMessage, this.properties, this.conditions);
145
+ }
120
146
  }
121
147
  exports.VObjectNotNull = VObjectNotNull;
122
148
  class VObject extends verifier_1.Verifier {
149
+ constructor(properties, conditions = {}) {
150
+ super(conditions);
151
+ this.properties = properties;
152
+ this.conditions = conditions;
153
+ this.badTypeMessage = {
154
+ es: () => `debe ser un objeto`,
155
+ en: () => `must be an object`,
156
+ };
157
+ }
123
158
  check(data) {
124
159
  let val = this.isRequired(data);
125
160
  if (val === null || val === undefined) {
161
+ if (this.conditions.conds) {
162
+ this.conditions.conds(null);
163
+ }
126
164
  return null;
127
165
  }
128
- return vObject(val, this.badTypeMessage, this.cond);
129
- }
130
- constructor(cond) {
131
- super(cond);
132
- this.cond = cond;
133
- this.badTypeMessage = {
134
- es: () => `debe ser un objeto`,
135
- en: () => `must be a object`
136
- };
166
+ return vObject(val, this.badTypeMessage, this.properties, this.conditions);
137
167
  }
138
168
  }
139
169
  exports.VObject = VObject;