valgen 5.13.0 → 5.13.2

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/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ # v5.13.2
2
+ [2025-03-15]
3
+
4
+ ### Fixes
5
+
6
+ * fix: Fixed ignoring pipe validators if context.errors has items. ([`0b02ca1`](https://github.com/panates/valgen/commit/0b02ca17762f9512542bc79ad044d1072805f857))
7
+
8
+ # v5.13.1
9
+ [2025-03-14]
10
+
11
+ ### Fixes
12
+
13
+ * fix: Fixed validation of Date, Buffer and ArrayBuffer objects of isEmpty and isNotEmpty rules ([`24992b8`](https://github.com/panates/valgen/commit/24992b845f229c8cd1e5d0049704e6c99bf5a6be))
14
+ * fix: Fixed validation of Date, Buffer and ArrayBuffer objects of isEmpty and isNotEmpty rules ([`37681bf`](https://github.com/panates/valgen/commit/37681bf88f5c0adf4f102856791b0b3a547aea74))
15
+
16
+ ### Changes
17
+
18
+ * chore: Removed Node 16 tests ([`606e01a`](https://github.com/panates/valgen/commit/606e01abb6cefd11e0dfdc6a20cb4e26371bb6e9))
19
+
1
20
  # v5.13.0
2
21
  [2025-02-03]
3
22
 
@@ -31,8 +31,18 @@ function isEmpty(options) {
31
31
  return input;
32
32
  context.fail(_this, `Value must be an empty Map`, input);
33
33
  }
34
+ else if (Buffer.isBuffer(input)) {
35
+ if (!input.length)
36
+ return input;
37
+ context.fail(_this, `Value must be an empty Buffer`, input);
38
+ }
39
+ else if (input instanceof ArrayBuffer) {
40
+ if (!input.byteLength)
41
+ return input;
42
+ context.fail(_this, `Value must be an empty ArrayBuffer`, input);
43
+ }
34
44
  else if (typeof input === 'object') {
35
- if (!Object.keys(input).length)
45
+ if (input instanceof Date || !Object.keys(input).length)
36
46
  return input;
37
47
  context.fail(_this, `Value must be an empty Object`, input);
38
48
  }
@@ -66,8 +76,18 @@ function isNotEmpty(options) {
66
76
  return input;
67
77
  context.fail(_this, `Map must not be empty`, input);
68
78
  }
79
+ else if (Buffer.isBuffer(input)) {
80
+ if (input.length)
81
+ return input;
82
+ context.fail(_this, `Buffer must not be empty`, input);
83
+ }
84
+ else if (input instanceof ArrayBuffer) {
85
+ if (input.byteLength)
86
+ return input;
87
+ context.fail(_this, `ArrayBuffer must not be empty`, input);
88
+ }
69
89
  else if (typeof input === 'object') {
70
- if (Object.keys(input).length)
90
+ if (input instanceof Date || Object.keys(input).length)
71
91
  return input;
72
92
  context.fail(_this, `Object must not be empty`, input);
73
93
  }
@@ -15,12 +15,13 @@ function pipe(rules, options) {
15
15
  let c;
16
16
  let v = input;
17
17
  let returnValue = input;
18
+ const oldErrors = context.errors.length;
18
19
  for (i = 0; i < l; i++) {
19
20
  c = rules[i];
20
21
  v = c(v, context);
21
22
  if (returnIndex == null || i <= returnIndex)
22
23
  returnValue = v;
23
- if (context.errors.length)
24
+ if (context.errors.length > oldErrors)
24
25
  return;
25
26
  }
26
27
  return returnValue;
@@ -1 +1 @@
1
- {"root":["../../src/constants.ts","../../src/factories.ts","../../src/index.ts","../../src/core/constants.ts","../../src/core/context.ts","../../src/core/index.ts","../../src/core/types.ts","../../src/core/utilities.ts","../../src/core/validation-error.ts","../../src/core/validator.ts","../../src/helpers/object.utils.ts","../../src/helpers/omit-undefined.ts","../../src/helpers/string.utils.ts","../../src/rules/index.ts","../../src/rules/format-rules/is-alpha.ts","../../src/rules/format-rules/is-ascii.ts","../../src/rules/format-rules/is-base64.ts","../../src/rules/format-rules/is-btc-address.ts","../../src/rules/format-rules/is-credit-card.ts","../../src/rules/format-rules/is-decimal.ts","../../src/rules/format-rules/is-ean.ts","../../src/rules/format-rules/is-email.ts","../../src/rules/format-rules/is-eth-address.ts","../../src/rules/format-rules/is-fqdn.ts","../../src/rules/format-rules/is-hash.ts","../../src/rules/format-rules/is-hex-color.ts","../../src/rules/format-rules/is-hex.ts","../../src/rules/format-rules/is-iban.ts","../../src/rules/format-rules/is-ip.ts","../../src/rules/format-rules/is-issn.ts","../../src/rules/format-rules/is-jwt.ts","../../src/rules/format-rules/is-lowercase.ts","../../src/rules/format-rules/is-mac-address.ts","../../src/rules/format-rules/is-mobile-phone.ts","../../src/rules/format-rules/is-object-id.ts","../../src/rules/format-rules/is-passport-number.ts","../../src/rules/format-rules/is-port.ts","../../src/rules/format-rules/is-url.ts","../../src/rules/format-rules/is-uuid.ts","../../src/rules/format-rules/is-vat-number.ts","../../src/rules/format-rules/matches.ts","../../src/rules/logical-rules/is-defined.ts","../../src/rules/logical-rules/is-empty.ts","../../src/rules/logical-rules/range.ts","../../src/rules/type-rules/is-any.ts","../../src/rules/type-rules/is-array.ts","../../src/rules/type-rules/is-bigint.ts","../../src/rules/type-rules/is-boolean.ts","../../src/rules/type-rules/is-date.ts","../../src/rules/type-rules/is-enum.ts","../../src/rules/type-rules/is-integer.ts","../../src/rules/type-rules/is-null.ts","../../src/rules/type-rules/is-number.ts","../../src/rules/type-rules/is-object.ts","../../src/rules/type-rules/is-record.ts","../../src/rules/type-rules/is-string.ts","../../src/rules/type-rules/is-tuple.ts","../../src/rules/type-rules/is-undefined.ts","../../src/rules/utility-rules/exists.ts","../../src/rules/utility-rules/get-length.ts","../../src/rules/utility-rules/optional.ts","../../src/rules/utility-rules/pipe.ts","../../src/rules/utility-rules/required.ts","../../src/rules/utility-rules/union.ts"],"version":"5.7.3"}
1
+ {"root":["../../src/constants.ts","../../src/factories.ts","../../src/index.ts","../../src/core/constants.ts","../../src/core/context.ts","../../src/core/index.ts","../../src/core/types.ts","../../src/core/utilities.ts","../../src/core/validation-error.ts","../../src/core/validator.ts","../../src/helpers/object.utils.ts","../../src/helpers/omit-undefined.ts","../../src/helpers/string.utils.ts","../../src/rules/index.ts","../../src/rules/format-rules/is-alpha.ts","../../src/rules/format-rules/is-ascii.ts","../../src/rules/format-rules/is-base64.ts","../../src/rules/format-rules/is-btc-address.ts","../../src/rules/format-rules/is-credit-card.ts","../../src/rules/format-rules/is-decimal.ts","../../src/rules/format-rules/is-ean.ts","../../src/rules/format-rules/is-email.ts","../../src/rules/format-rules/is-eth-address.ts","../../src/rules/format-rules/is-fqdn.ts","../../src/rules/format-rules/is-hash.ts","../../src/rules/format-rules/is-hex-color.ts","../../src/rules/format-rules/is-hex.ts","../../src/rules/format-rules/is-iban.ts","../../src/rules/format-rules/is-ip.ts","../../src/rules/format-rules/is-issn.ts","../../src/rules/format-rules/is-jwt.ts","../../src/rules/format-rules/is-lowercase.ts","../../src/rules/format-rules/is-mac-address.ts","../../src/rules/format-rules/is-mobile-phone.ts","../../src/rules/format-rules/is-object-id.ts","../../src/rules/format-rules/is-passport-number.ts","../../src/rules/format-rules/is-port.ts","../../src/rules/format-rules/is-url.ts","../../src/rules/format-rules/is-uuid.ts","../../src/rules/format-rules/is-vat-number.ts","../../src/rules/format-rules/matches.ts","../../src/rules/logical-rules/is-defined.ts","../../src/rules/logical-rules/is-empty.ts","../../src/rules/logical-rules/range.ts","../../src/rules/type-rules/is-any.ts","../../src/rules/type-rules/is-array.ts","../../src/rules/type-rules/is-bigint.ts","../../src/rules/type-rules/is-boolean.ts","../../src/rules/type-rules/is-date.ts","../../src/rules/type-rules/is-enum.ts","../../src/rules/type-rules/is-integer.ts","../../src/rules/type-rules/is-null.ts","../../src/rules/type-rules/is-number.ts","../../src/rules/type-rules/is-object.ts","../../src/rules/type-rules/is-record.ts","../../src/rules/type-rules/is-string.ts","../../src/rules/type-rules/is-tuple.ts","../../src/rules/type-rules/is-undefined.ts","../../src/rules/utility-rules/exists.ts","../../src/rules/utility-rules/get-length.ts","../../src/rules/utility-rules/optional.ts","../../src/rules/utility-rules/pipe.ts","../../src/rules/utility-rules/required.ts","../../src/rules/utility-rules/union.ts"],"version":"5.8.2"}
@@ -27,8 +27,18 @@ export function isEmpty(options) {
27
27
  return input;
28
28
  context.fail(_this, `Value must be an empty Map`, input);
29
29
  }
30
+ else if (Buffer.isBuffer(input)) {
31
+ if (!input.length)
32
+ return input;
33
+ context.fail(_this, `Value must be an empty Buffer`, input);
34
+ }
35
+ else if (input instanceof ArrayBuffer) {
36
+ if (!input.byteLength)
37
+ return input;
38
+ context.fail(_this, `Value must be an empty ArrayBuffer`, input);
39
+ }
30
40
  else if (typeof input === 'object') {
31
- if (!Object.keys(input).length)
41
+ if (input instanceof Date || !Object.keys(input).length)
32
42
  return input;
33
43
  context.fail(_this, `Value must be an empty Object`, input);
34
44
  }
@@ -62,8 +72,18 @@ export function isNotEmpty(options) {
62
72
  return input;
63
73
  context.fail(_this, `Map must not be empty`, input);
64
74
  }
75
+ else if (Buffer.isBuffer(input)) {
76
+ if (input.length)
77
+ return input;
78
+ context.fail(_this, `Buffer must not be empty`, input);
79
+ }
80
+ else if (input instanceof ArrayBuffer) {
81
+ if (input.byteLength)
82
+ return input;
83
+ context.fail(_this, `ArrayBuffer must not be empty`, input);
84
+ }
65
85
  else if (typeof input === 'object') {
66
- if (Object.keys(input).length)
86
+ if (input instanceof Date || Object.keys(input).length)
67
87
  return input;
68
88
  context.fail(_this, `Object must not be empty`, input);
69
89
  }
@@ -11,12 +11,13 @@ export function pipe(rules, options) {
11
11
  let c;
12
12
  let v = input;
13
13
  let returnValue = input;
14
+ const oldErrors = context.errors.length;
14
15
  for (i = 0; i < l; i++) {
15
16
  c = rules[i];
16
17
  v = c(v, context);
17
18
  if (returnIndex == null || i <= returnIndex)
18
19
  returnValue = v;
19
- if (context.errors.length)
20
+ if (context.errors.length > oldErrors)
20
21
  return;
21
22
  }
22
23
  return returnValue;
@@ -1 +1 @@
1
- {"root":["../../src/constants.ts","../../src/factories.ts","../../src/index.ts","../../src/core/constants.ts","../../src/core/context.ts","../../src/core/index.ts","../../src/core/types.ts","../../src/core/utilities.ts","../../src/core/validation-error.ts","../../src/core/validator.ts","../../src/helpers/object.utils.ts","../../src/helpers/omit-undefined.ts","../../src/helpers/string.utils.ts","../../src/rules/index.ts","../../src/rules/format-rules/is-alpha.ts","../../src/rules/format-rules/is-ascii.ts","../../src/rules/format-rules/is-base64.ts","../../src/rules/format-rules/is-btc-address.ts","../../src/rules/format-rules/is-credit-card.ts","../../src/rules/format-rules/is-decimal.ts","../../src/rules/format-rules/is-ean.ts","../../src/rules/format-rules/is-email.ts","../../src/rules/format-rules/is-eth-address.ts","../../src/rules/format-rules/is-fqdn.ts","../../src/rules/format-rules/is-hash.ts","../../src/rules/format-rules/is-hex-color.ts","../../src/rules/format-rules/is-hex.ts","../../src/rules/format-rules/is-iban.ts","../../src/rules/format-rules/is-ip.ts","../../src/rules/format-rules/is-issn.ts","../../src/rules/format-rules/is-jwt.ts","../../src/rules/format-rules/is-lowercase.ts","../../src/rules/format-rules/is-mac-address.ts","../../src/rules/format-rules/is-mobile-phone.ts","../../src/rules/format-rules/is-object-id.ts","../../src/rules/format-rules/is-passport-number.ts","../../src/rules/format-rules/is-port.ts","../../src/rules/format-rules/is-url.ts","../../src/rules/format-rules/is-uuid.ts","../../src/rules/format-rules/is-vat-number.ts","../../src/rules/format-rules/matches.ts","../../src/rules/logical-rules/is-defined.ts","../../src/rules/logical-rules/is-empty.ts","../../src/rules/logical-rules/range.ts","../../src/rules/type-rules/is-any.ts","../../src/rules/type-rules/is-array.ts","../../src/rules/type-rules/is-bigint.ts","../../src/rules/type-rules/is-boolean.ts","../../src/rules/type-rules/is-date.ts","../../src/rules/type-rules/is-enum.ts","../../src/rules/type-rules/is-integer.ts","../../src/rules/type-rules/is-null.ts","../../src/rules/type-rules/is-number.ts","../../src/rules/type-rules/is-object.ts","../../src/rules/type-rules/is-record.ts","../../src/rules/type-rules/is-string.ts","../../src/rules/type-rules/is-tuple.ts","../../src/rules/type-rules/is-undefined.ts","../../src/rules/utility-rules/exists.ts","../../src/rules/utility-rules/get-length.ts","../../src/rules/utility-rules/optional.ts","../../src/rules/utility-rules/pipe.ts","../../src/rules/utility-rules/required.ts","../../src/rules/utility-rules/union.ts"],"version":"5.7.3"}
1
+ {"root":["../../src/constants.ts","../../src/factories.ts","../../src/index.ts","../../src/core/constants.ts","../../src/core/context.ts","../../src/core/index.ts","../../src/core/types.ts","../../src/core/utilities.ts","../../src/core/validation-error.ts","../../src/core/validator.ts","../../src/helpers/object.utils.ts","../../src/helpers/omit-undefined.ts","../../src/helpers/string.utils.ts","../../src/rules/index.ts","../../src/rules/format-rules/is-alpha.ts","../../src/rules/format-rules/is-ascii.ts","../../src/rules/format-rules/is-base64.ts","../../src/rules/format-rules/is-btc-address.ts","../../src/rules/format-rules/is-credit-card.ts","../../src/rules/format-rules/is-decimal.ts","../../src/rules/format-rules/is-ean.ts","../../src/rules/format-rules/is-email.ts","../../src/rules/format-rules/is-eth-address.ts","../../src/rules/format-rules/is-fqdn.ts","../../src/rules/format-rules/is-hash.ts","../../src/rules/format-rules/is-hex-color.ts","../../src/rules/format-rules/is-hex.ts","../../src/rules/format-rules/is-iban.ts","../../src/rules/format-rules/is-ip.ts","../../src/rules/format-rules/is-issn.ts","../../src/rules/format-rules/is-jwt.ts","../../src/rules/format-rules/is-lowercase.ts","../../src/rules/format-rules/is-mac-address.ts","../../src/rules/format-rules/is-mobile-phone.ts","../../src/rules/format-rules/is-object-id.ts","../../src/rules/format-rules/is-passport-number.ts","../../src/rules/format-rules/is-port.ts","../../src/rules/format-rules/is-url.ts","../../src/rules/format-rules/is-uuid.ts","../../src/rules/format-rules/is-vat-number.ts","../../src/rules/format-rules/matches.ts","../../src/rules/logical-rules/is-defined.ts","../../src/rules/logical-rules/is-empty.ts","../../src/rules/logical-rules/range.ts","../../src/rules/type-rules/is-any.ts","../../src/rules/type-rules/is-array.ts","../../src/rules/type-rules/is-bigint.ts","../../src/rules/type-rules/is-boolean.ts","../../src/rules/type-rules/is-date.ts","../../src/rules/type-rules/is-enum.ts","../../src/rules/type-rules/is-integer.ts","../../src/rules/type-rules/is-null.ts","../../src/rules/type-rules/is-number.ts","../../src/rules/type-rules/is-object.ts","../../src/rules/type-rules/is-record.ts","../../src/rules/type-rules/is-string.ts","../../src/rules/type-rules/is-tuple.ts","../../src/rules/type-rules/is-undefined.ts","../../src/rules/utility-rules/exists.ts","../../src/rules/utility-rules/get-length.ts","../../src/rules/utility-rules/optional.ts","../../src/rules/utility-rules/pipe.ts","../../src/rules/utility-rules/required.ts","../../src/rules/utility-rules/union.ts"],"version":"5.8.2"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "valgen",
3
3
  "description": "Fast runtime type validator, converter and io (encoding/decoding) library",
4
- "version": "5.13.0",
4
+ "version": "5.13.2",
5
5
  "author": "Panates",
6
6
  "license": "MIT",
7
7
  "dependencies": {
8
- "@browsery/validator": "^13.12.0-r1",
8
+ "@browsery/validator": "^13.12.0-r3",
9
9
  "date-fns": "^4.1.0",
10
10
  "ts-gems": "^3.11.3",
11
11
  "tslib": "^2.8.1"