valgen 5.12.0 → 5.13.0
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 +11 -0
- package/cjs/core/context.js +2 -0
- package/cjs/core/validation-error.js +2 -1
- package/cjs/core/validator.js +12 -6
- package/cjs/rules/format-rules/is-alpha.js +2 -2
- package/cjs/rules/format-rules/is-ascii.js +1 -1
- package/cjs/rules/format-rules/is-base64.js +1 -1
- package/cjs/rules/format-rules/is-btc-address.js +1 -1
- package/cjs/rules/format-rules/is-credit-card.js +1 -1
- package/cjs/rules/format-rules/is-decimal.js +1 -1
- package/cjs/rules/format-rules/is-ean.js +1 -1
- package/cjs/rules/format-rules/is-email.js +1 -10
- package/cjs/rules/format-rules/is-eth-address.js +1 -1
- package/cjs/rules/format-rules/is-fqdn.js +1 -2
- package/cjs/rules/format-rules/is-hash.js +1 -1
- package/cjs/rules/format-rules/is-hex-color.js +1 -1
- package/cjs/rules/format-rules/is-hex.js +1 -1
- package/cjs/rules/format-rules/is-iban.js +2 -2
- package/cjs/rules/format-rules/is-ip.js +2 -2
- package/cjs/rules/format-rules/is-issn.js +1 -2
- package/cjs/rules/format-rules/is-jwt.js +1 -1
- package/cjs/rules/format-rules/is-lowercase.js +2 -2
- package/cjs/rules/format-rules/is-mac-address.js +1 -2
- package/cjs/rules/format-rules/is-mobile-phone.js +1 -1
- package/cjs/rules/format-rules/is-object-id.js +1 -1
- package/cjs/rules/format-rules/is-passport-number.js +1 -1
- package/cjs/rules/format-rules/is-port.js +1 -1
- package/cjs/rules/format-rules/is-url.js +1 -1
- package/cjs/rules/format-rules/is-uuid.js +1 -1
- package/cjs/rules/format-rules/is-vat-number.js +1 -1
- package/cjs/rules/format-rules/matches.js +1 -1
- package/cjs/rules/logical-rules/is-defined.js +1 -1
- package/cjs/rules/logical-rules/is-empty.js +12 -12
- package/cjs/rules/logical-rules/range.js +5 -5
- package/cjs/rules/type-rules/is-array.js +6 -2
- package/cjs/rules/type-rules/is-bigint.js +1 -2
- package/cjs/rules/type-rules/is-boolean.js +1 -2
- package/cjs/rules/type-rules/is-date.js +4 -6
- package/cjs/rules/type-rules/is-integer.js +1 -6
- package/cjs/rules/type-rules/is-null.js +1 -1
- package/cjs/rules/type-rules/is-number.js +1 -6
- package/cjs/rules/type-rules/is-object.js +1 -1
- package/cjs/rules/type-rules/is-record.js +6 -4
- package/cjs/rules/type-rules/is-string.js +1 -1
- package/cjs/rules/type-rules/is-tuple.js +1 -1
- package/cjs/rules/type-rules/is-undefined.js +1 -1
- package/cjs/rules/utility-rules/get-length.js +1 -1
- package/cjs/rules/utility-rules/required.js +1 -1
- package/cjs/tsconfig-build-cjs.tsbuildinfo +1 -1
- package/esm/core/context.js +2 -0
- package/esm/core/validation-error.js +2 -1
- package/esm/core/validator.js +12 -6
- package/esm/rules/format-rules/is-alpha.js +2 -2
- package/esm/rules/format-rules/is-ascii.js +1 -1
- package/esm/rules/format-rules/is-base64.js +1 -1
- package/esm/rules/format-rules/is-btc-address.js +1 -1
- package/esm/rules/format-rules/is-credit-card.js +1 -1
- package/esm/rules/format-rules/is-decimal.js +1 -1
- package/esm/rules/format-rules/is-ean.js +1 -1
- package/esm/rules/format-rules/is-email.js +1 -10
- package/esm/rules/format-rules/is-eth-address.js +1 -1
- package/esm/rules/format-rules/is-fqdn.js +1 -2
- package/esm/rules/format-rules/is-hash.js +1 -1
- package/esm/rules/format-rules/is-hex-color.js +1 -1
- package/esm/rules/format-rules/is-hex.js +1 -1
- package/esm/rules/format-rules/is-iban.js +2 -2
- package/esm/rules/format-rules/is-ip.js +2 -2
- package/esm/rules/format-rules/is-issn.js +1 -2
- package/esm/rules/format-rules/is-jwt.js +1 -1
- package/esm/rules/format-rules/is-lowercase.js +2 -2
- package/esm/rules/format-rules/is-mac-address.js +1 -2
- package/esm/rules/format-rules/is-mobile-phone.js +1 -1
- package/esm/rules/format-rules/is-object-id.js +1 -1
- package/esm/rules/format-rules/is-passport-number.js +1 -1
- package/esm/rules/format-rules/is-port.js +1 -1
- package/esm/rules/format-rules/is-url.js +1 -1
- package/esm/rules/format-rules/is-uuid.js +1 -1
- package/esm/rules/format-rules/is-vat-number.js +1 -1
- package/esm/rules/format-rules/matches.js +1 -1
- package/esm/rules/logical-rules/is-defined.js +1 -1
- package/esm/rules/logical-rules/is-empty.js +12 -12
- package/esm/rules/logical-rules/range.js +5 -5
- package/esm/rules/type-rules/is-array.js +6 -2
- package/esm/rules/type-rules/is-bigint.js +1 -2
- package/esm/rules/type-rules/is-boolean.js +1 -2
- package/esm/rules/type-rules/is-date.js +4 -6
- package/esm/rules/type-rules/is-integer.js +1 -6
- package/esm/rules/type-rules/is-null.js +1 -1
- package/esm/rules/type-rules/is-number.js +1 -6
- package/esm/rules/type-rules/is-object.js +1 -1
- package/esm/rules/type-rules/is-record.js +6 -4
- package/esm/rules/type-rules/is-string.js +1 -1
- package/esm/rules/type-rules/is-tuple.js +1 -1
- package/esm/rules/type-rules/is-undefined.js +1 -1
- package/esm/rules/utility-rules/get-length.js +1 -1
- package/esm/rules/utility-rules/required.js +1 -1
- package/esm/tsconfig-build-esm.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/types/core/context.d.ts +1 -0
- package/types/index.d.cts +1 -1
- package/types/index.d.ts +1 -1
- package/types/rules/format-rules/is-object-id.d.ts +1 -1
|
@@ -25,11 +25,6 @@ function isInteger(options) {
|
|
|
25
25
|
Number.isInteger(output)) {
|
|
26
26
|
return output;
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
? 'BigInt '
|
|
30
|
-
: typeof input === 'string'
|
|
31
|
-
? 'String '
|
|
32
|
-
: '';
|
|
33
|
-
context.fail(_this, `${t}"{{value}}" is not a valid integer value`, input);
|
|
28
|
+
context.fail(_this, `Value must be a valid integer value`, input);
|
|
34
29
|
}, options);
|
|
35
30
|
}
|
|
@@ -13,7 +13,7 @@ function isNull(options) {
|
|
|
13
13
|
return (0, index_js_1.validator)('isNull', (input, context, _this) => {
|
|
14
14
|
if (input === null)
|
|
15
15
|
return input;
|
|
16
|
-
context.fail(_this, `
|
|
16
|
+
context.fail(_this, `Value must be null`, input);
|
|
17
17
|
}, options);
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
@@ -22,11 +22,6 @@ function isNumber(options) {
|
|
|
22
22
|
}
|
|
23
23
|
if (typeof output === 'number' && !isNaN(output))
|
|
24
24
|
return output;
|
|
25
|
-
|
|
26
|
-
? 'BigInt '
|
|
27
|
-
: typeof input === 'string'
|
|
28
|
-
? 'String '
|
|
29
|
-
: '';
|
|
30
|
-
context.fail(_this, `${t}"{{value}}" is not a valid number value`, input);
|
|
25
|
+
context.fail(_this, `Value must be a number`, input);
|
|
31
26
|
}, options);
|
|
32
27
|
}
|
|
@@ -45,7 +45,7 @@ function isObject(schema, options) {
|
|
|
45
45
|
if (typeof output === 'string' && coerce)
|
|
46
46
|
output = JSON.parse(output);
|
|
47
47
|
if (!(output && typeof output === 'object')) {
|
|
48
|
-
context.fail(_this, `
|
|
48
|
+
context.fail(_this, `Value must be an object`, input);
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
51
|
const keys = [...Object.keys(output), ...schemaKeys];
|
|
@@ -10,7 +10,7 @@ const index_js_1 = require("../../core/index.js");
|
|
|
10
10
|
function isRecord(keyRule, valueRule, options) {
|
|
11
11
|
return (0, index_js_1.validator)('isRecord', (input, context, _this) => {
|
|
12
12
|
if (!(input && typeof input === 'object')) {
|
|
13
|
-
context.fail(_this, `
|
|
13
|
+
context.fail(_this, `Value must be an object`, input);
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
16
|
const keyContext = context.extend();
|
|
@@ -26,9 +26,11 @@ function isRecord(keyRule, valueRule, options) {
|
|
|
26
26
|
k = keys[i];
|
|
27
27
|
v = input[k];
|
|
28
28
|
// Validate key
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
k = keyRule(k, {
|
|
30
|
+
onFail(issue) {
|
|
31
|
+
return `${k} is not a valid key. ` + issue.message;
|
|
32
|
+
},
|
|
33
|
+
}, keyContext);
|
|
32
34
|
// Validate value
|
|
33
35
|
valueContext.property = k;
|
|
34
36
|
valueContext.location = location + (location ? '.' : '') + k;
|
|
@@ -27,7 +27,7 @@ function isString(options) {
|
|
|
27
27
|
}
|
|
28
28
|
if (typeof output === 'string')
|
|
29
29
|
return output;
|
|
30
|
-
context.fail(_this, `
|
|
30
|
+
context.fail(_this, `Value must be a string`, input);
|
|
31
31
|
}, options);
|
|
32
32
|
}
|
|
33
33
|
function stringReplace(searchValue, replacer) {
|
|
@@ -9,7 +9,7 @@ function isTuple(items, options) {
|
|
|
9
9
|
if (output != null && coerce && !Array.isArray(output))
|
|
10
10
|
output = [output];
|
|
11
11
|
if (!Array.isArray(input)) {
|
|
12
|
-
context.fail(_this, `
|
|
12
|
+
context.fail(_this, `Value must be a tuple`, input);
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
15
|
const location = context.location || '';
|
|
@@ -9,7 +9,7 @@ const index_js_1 = require("../../core/index.js");
|
|
|
9
9
|
function required(nested, options) {
|
|
10
10
|
return (0, index_js_1.validator)('required', (input, context, _this) => {
|
|
11
11
|
if (input == null) {
|
|
12
|
-
context.fail(_this, `
|
|
12
|
+
context.fail(_this, `Value required`, input);
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
15
|
return nested(input, context);
|
|
@@ -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.
|
|
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"}
|
package/esm/core/context.js
CHANGED
|
@@ -4,6 +4,7 @@ const VARIABLE_REPLACE_PATTERN = /{{([^}]*)}}/g;
|
|
|
4
4
|
const OPTIONAL_VAR_PATTERN = /^([^?]+)(?:\||(.*))?$/;
|
|
5
5
|
export class Context {
|
|
6
6
|
constructor(options) {
|
|
7
|
+
this.isRoot = true;
|
|
7
8
|
this.errors = [];
|
|
8
9
|
Object.assign(this, options);
|
|
9
10
|
}
|
|
@@ -62,6 +63,7 @@ export class Context {
|
|
|
62
63
|
extended[k] = v;
|
|
63
64
|
}
|
|
64
65
|
}
|
|
66
|
+
extended.isRoot = false;
|
|
65
67
|
Object.setPrototypeOf(extended, this);
|
|
66
68
|
return extended;
|
|
67
69
|
}
|
package/esm/core/validator.js
CHANGED
|
@@ -22,11 +22,17 @@ export function validator(arg0, arg1, arg2) {
|
|
|
22
22
|
id = id || fn.name || 'validator' + ++unnamedValidatorIndex;
|
|
23
23
|
const name = fn.name || camelCase(id);
|
|
24
24
|
const _rule = {
|
|
25
|
-
[name](input, options) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
[name](input, options, context) {
|
|
26
|
+
if (context) {
|
|
27
|
+
if (options || validatorOptions)
|
|
28
|
+
context = context.extend({ ...validatorOptions, ...options });
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
context =
|
|
32
|
+
options instanceof Context
|
|
33
|
+
? options.extend({ ...validatorOptions })
|
|
34
|
+
: new Context({ ...validatorOptions, ...options });
|
|
35
|
+
}
|
|
30
36
|
let value;
|
|
31
37
|
try {
|
|
32
38
|
value = fn(input, context, _rule);
|
|
@@ -36,7 +42,7 @@ export function validator(arg0, arg1, arg2) {
|
|
|
36
42
|
throw e;
|
|
37
43
|
context.fail(_rule, e, input);
|
|
38
44
|
}
|
|
39
|
-
if (
|
|
45
|
+
if (context.isRoot && context.errors.length) {
|
|
40
46
|
throw new ValidationError(context.errors);
|
|
41
47
|
}
|
|
42
48
|
return value;
|
|
@@ -8,7 +8,7 @@ export function isAlpha(options) {
|
|
|
8
8
|
return validator('isLowercase', (input, context, _this) => {
|
|
9
9
|
if (typeof input === 'string' && validatorJS.isAlpha(input))
|
|
10
10
|
return input;
|
|
11
|
-
context.fail(_this, `"
|
|
11
|
+
context.fail(_this, `"Value must be an alpha string`, input);
|
|
12
12
|
}, options);
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
@@ -20,6 +20,6 @@ export function isAlphanumeric(options) {
|
|
|
20
20
|
if (typeof input === 'string' && validatorJS.isAlphanumeric(input)) {
|
|
21
21
|
return input;
|
|
22
22
|
}
|
|
23
|
-
context.fail(_this, `"
|
|
23
|
+
context.fail(_this, `"Value must be an alphanumeric string`, input);
|
|
24
24
|
}, options);
|
|
25
25
|
}
|
|
@@ -8,6 +8,6 @@ export function isAscii(options) {
|
|
|
8
8
|
return validator('isAscii', (input, context, _this) => {
|
|
9
9
|
if (typeof input === 'string' && validatorJS.isAscii(input))
|
|
10
10
|
return input;
|
|
11
|
-
context.fail(_this, `Value
|
|
11
|
+
context.fail(_this, `Value must be an ascii string`, input);
|
|
12
12
|
}, options);
|
|
13
13
|
}
|
|
@@ -9,6 +9,6 @@ export function isBase64(options) {
|
|
|
9
9
|
if (typeof input === 'string' && validatorJS.isBase64(input, options)) {
|
|
10
10
|
return input;
|
|
11
11
|
}
|
|
12
|
-
context.fail(_this, `"
|
|
12
|
+
context.fail(_this, `"Value must be a Base64 string`, input);
|
|
13
13
|
}, options);
|
|
14
14
|
}
|
|
@@ -9,6 +9,6 @@ export function isBtcAddress(options) {
|
|
|
9
9
|
if (typeof input === 'string' && validatorJS.isBtcAddress(input)) {
|
|
10
10
|
return input;
|
|
11
11
|
}
|
|
12
|
-
context.fail(_this, `Value
|
|
12
|
+
context.fail(_this, `Value must be a valid BTC address`, input);
|
|
13
13
|
}, options);
|
|
14
14
|
}
|
|
@@ -10,6 +10,6 @@ export function isCreditCard(options) {
|
|
|
10
10
|
validatorJS.isCreditCard(input, options)) {
|
|
11
11
|
return input;
|
|
12
12
|
}
|
|
13
|
-
context.fail(_this, `
|
|
13
|
+
context.fail(_this, `Value must be a valid Credit Card number`, input);
|
|
14
14
|
}, options);
|
|
15
15
|
}
|
|
@@ -10,6 +10,6 @@ export function isDecimal(options) {
|
|
|
10
10
|
if (typeof input === 'string' && validatorJS.isDecimal(input)) {
|
|
11
11
|
return input;
|
|
12
12
|
}
|
|
13
|
-
context.fail(_this, `
|
|
13
|
+
context.fail(_this, `Value must be a decimal number string`, input);
|
|
14
14
|
}, options);
|
|
15
15
|
}
|
|
@@ -8,6 +8,6 @@ export function isEAN(options) {
|
|
|
8
8
|
return validator('isEAN', (input, context, _this) => {
|
|
9
9
|
if (typeof input === 'string' && validatorJS.isEAN(input))
|
|
10
10
|
return input;
|
|
11
|
-
context.fail(_this, `
|
|
11
|
+
context.fail(_this, `Value must be a valid EAN (European Article Number)`, input);
|
|
12
12
|
}, options);
|
|
13
13
|
}
|
|
@@ -6,13 +6,9 @@ import { validator, } from '../../core/index.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export function isEmail(options) {
|
|
8
8
|
const emailOptions = {
|
|
9
|
-
// eslint-disable-next-line camelcase
|
|
10
9
|
allow_display_name: true,
|
|
11
|
-
// eslint-disable-next-line camelcase
|
|
12
10
|
allow_utf8_local_part: options?.utf8LocalPart,
|
|
13
|
-
// eslint-disable-next-line camelcase
|
|
14
11
|
ignore_max_length: true,
|
|
15
|
-
// eslint-disable-next-line camelcase
|
|
16
12
|
allow_ip_domain: options?.allowIpDomain,
|
|
17
13
|
};
|
|
18
14
|
return validator('isEmail', (input, context, _this) => {
|
|
@@ -21,7 +17,6 @@ export function isEmail(options) {
|
|
|
21
17
|
if (options?.requireDisplayName) {
|
|
22
18
|
if (!validatorJS.isEmail(input, {
|
|
23
19
|
...emailOptions,
|
|
24
|
-
// eslint-disable-next-line camelcase
|
|
25
20
|
require_display_name: true,
|
|
26
21
|
})) {
|
|
27
22
|
context.fail(_this, `Display name for the email is required. Etc. ( Name <me@tempuri.org> ) `, input);
|
|
@@ -31,7 +26,6 @@ export function isEmail(options) {
|
|
|
31
26
|
else if (!options?.allowDisplayName &&
|
|
32
27
|
!validatorJS.isEmail(input, {
|
|
33
28
|
...emailOptions,
|
|
34
|
-
// eslint-disable-next-line camelcase
|
|
35
29
|
allow_display_name: false,
|
|
36
30
|
})) {
|
|
37
31
|
context.fail(_this, `Display name in email is not allowed`, input);
|
|
@@ -40,7 +34,6 @@ export function isEmail(options) {
|
|
|
40
34
|
if (options?.hostBlacklist &&
|
|
41
35
|
!validatorJS.isEmail(input, {
|
|
42
36
|
...emailOptions,
|
|
43
|
-
// eslint-disable-next-line camelcase
|
|
44
37
|
host_blacklist: options.hostBlacklist,
|
|
45
38
|
})) {
|
|
46
39
|
context.fail(_this, `Email "{{value}}" is in black-list`, input);
|
|
@@ -49,7 +42,6 @@ export function isEmail(options) {
|
|
|
49
42
|
if (options?.hostWhitelist &&
|
|
50
43
|
!validatorJS.isEmail(input, {
|
|
51
44
|
...emailOptions,
|
|
52
|
-
// eslint-disable-next-line camelcase
|
|
53
45
|
host_whitelist: options.hostWhitelist,
|
|
54
46
|
})) {
|
|
55
47
|
context.fail(_this, `Email "{{value}}" is in not white-list`, input);
|
|
@@ -58,7 +50,6 @@ export function isEmail(options) {
|
|
|
58
50
|
if (options?.blacklistedChars &&
|
|
59
51
|
!validatorJS.isEmail(input, {
|
|
60
52
|
...emailOptions,
|
|
61
|
-
// eslint-disable-next-line camelcase
|
|
62
53
|
blacklisted_chars: options.blacklistedChars,
|
|
63
54
|
})) {
|
|
64
55
|
context.fail(_this, `Black listed characters (${options.blacklistedChars}) found in name part`, input);
|
|
@@ -66,6 +57,6 @@ export function isEmail(options) {
|
|
|
66
57
|
}
|
|
67
58
|
return input;
|
|
68
59
|
}
|
|
69
|
-
context.fail(_this, `
|
|
60
|
+
context.fail(_this, `Value must much required e-mail format`, input);
|
|
70
61
|
}, options);
|
|
71
62
|
}
|
|
@@ -9,6 +9,6 @@ export function isETHAddress(options) {
|
|
|
9
9
|
if (typeof input === 'string' && validatorJS.isEthereumAddress(input)) {
|
|
10
10
|
return input;
|
|
11
11
|
}
|
|
12
|
-
context.fail(_this, `Value
|
|
12
|
+
context.fail(_this, `Value must be valid ETH (Ethereum) address`, input);
|
|
13
13
|
}, options);
|
|
14
14
|
}
|
|
@@ -6,13 +6,12 @@ import { validator, } from '../../core/index.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export function isFQDN(options) {
|
|
8
8
|
const opts = {
|
|
9
|
-
// eslint-disable-next-line camelcase
|
|
10
9
|
allow_wildcard: options?.allowWildcard,
|
|
11
10
|
};
|
|
12
11
|
return validator('isFQDN', (input, context, _this) => {
|
|
13
12
|
if (typeof input === 'string' && validatorJS.isFQDN(input, opts)) {
|
|
14
13
|
return input;
|
|
15
14
|
}
|
|
16
|
-
context.fail(_this, `
|
|
15
|
+
context.fail(_this, `Value must be valid FQDN`, input);
|
|
17
16
|
}, options);
|
|
18
17
|
}
|
|
@@ -9,6 +9,6 @@ export function isHash(algorithm, options) {
|
|
|
9
9
|
if (typeof input === 'string' && validatorJS.isHash(input, algorithm)) {
|
|
10
10
|
return input;
|
|
11
11
|
}
|
|
12
|
-
context.fail(_this, `Value
|
|
12
|
+
context.fail(_this, `Value must be a valid ${algorithm} hash`, input);
|
|
13
13
|
}, options);
|
|
14
14
|
}
|
|
@@ -9,6 +9,6 @@ export function isHexColor(options) {
|
|
|
9
9
|
if (typeof input === 'string' && validatorJS.isHexColor(input)) {
|
|
10
10
|
return input;
|
|
11
11
|
}
|
|
12
|
-
context.fail(_this, `
|
|
12
|
+
context.fail(_this, `Value must be a valid Hex Color`, input);
|
|
13
13
|
}, options);
|
|
14
14
|
}
|
|
@@ -9,6 +9,6 @@ export function isHex(options) {
|
|
|
9
9
|
if (typeof input === 'string' && validatorJS.isHexadecimal(input)) {
|
|
10
10
|
return input;
|
|
11
11
|
}
|
|
12
|
-
context.fail(_this, `
|
|
12
|
+
context.fail(_this, `Value must be an hexadecimal string`, input);
|
|
13
13
|
}, options);
|
|
14
14
|
}
|
|
@@ -8,7 +8,7 @@ export function isIBAN(options) {
|
|
|
8
8
|
return validator('isIBAN', (input, context, _this) => {
|
|
9
9
|
if (typeof input === 'string' && validatorJS.isIBAN(input))
|
|
10
10
|
return input;
|
|
11
|
-
context.fail(_this, `
|
|
11
|
+
context.fail(_this, `Value must be a valid IBAN (International Bank Account Number)`, input);
|
|
12
12
|
}, options);
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
@@ -19,6 +19,6 @@ export function isSWIFT(options) {
|
|
|
19
19
|
return validator('isSWIFT', (input, context, _this) => {
|
|
20
20
|
if (typeof input === 'string' && validatorJS.isBIC(input))
|
|
21
21
|
return input;
|
|
22
|
-
context.fail(_this, `
|
|
22
|
+
context.fail(_this, `Value must be a valid a BIC (Bank Identification Code) or SWIFT code`, input);
|
|
23
23
|
}, options);
|
|
24
24
|
}
|
|
@@ -11,7 +11,7 @@ export function isIP(version, options) {
|
|
|
11
11
|
validatorJS.isIP(input, version)) {
|
|
12
12
|
return input;
|
|
13
13
|
}
|
|
14
|
-
context.fail(_this, `
|
|
14
|
+
context.fail(_this, `Value must be a valid IP${version ? ' v' + version : ''}`, input);
|
|
15
15
|
}, options);
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
@@ -25,6 +25,6 @@ export function isIPRange(version, options) {
|
|
|
25
25
|
validatorJS.isIPRange(input, version)) {
|
|
26
26
|
return input;
|
|
27
27
|
}
|
|
28
|
-
context.fail(_this, `
|
|
28
|
+
context.fail(_this, `Value must be a valid IP${version ? ' v' + version : ''} range`, input);
|
|
29
29
|
}, options);
|
|
30
30
|
}
|
|
@@ -6,13 +6,12 @@ import { validator, } from '../../core/index.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export function isISSN(options) {
|
|
8
8
|
const opts = {
|
|
9
|
-
// eslint-disable-next-line camelcase
|
|
10
9
|
case_sensitive: options?.caseSensitive,
|
|
11
10
|
};
|
|
12
11
|
return validator('isISSN', (input, context, _this) => {
|
|
13
12
|
if (typeof input === 'string' && validatorJS.isISSN(input, opts)) {
|
|
14
13
|
return input;
|
|
15
14
|
}
|
|
16
|
-
context.fail(_this, `
|
|
15
|
+
context.fail(_this, `Value must be a valid ISSN`, input);
|
|
17
16
|
}, options);
|
|
18
17
|
}
|
|
@@ -8,6 +8,6 @@ export function isJWT(options) {
|
|
|
8
8
|
return validator('isJWT', (input, context, _this) => {
|
|
9
9
|
if (typeof input === 'string' && validatorJS.isJWT(input))
|
|
10
10
|
return input;
|
|
11
|
-
context.fail(_this, `Value
|
|
11
|
+
context.fail(_this, `Value must be valid JWT token`, input);
|
|
12
12
|
}, options);
|
|
13
13
|
}
|
|
@@ -9,7 +9,7 @@ export function isLowercase(options) {
|
|
|
9
9
|
if (typeof input === 'string' && validatorJS.isLowercase(input)) {
|
|
10
10
|
return input;
|
|
11
11
|
}
|
|
12
|
-
context.fail(_this, `
|
|
12
|
+
context.fail(_this, `Value must be a lowercase string`, input);
|
|
13
13
|
}, options);
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
@@ -21,6 +21,6 @@ export function isUppercase(options) {
|
|
|
21
21
|
if (typeof input === 'string' && validatorJS.isUppercase(input)) {
|
|
22
22
|
return input;
|
|
23
23
|
}
|
|
24
|
-
context.fail(_this, `
|
|
24
|
+
context.fail(_this, `Value must be an uppercase string`, input);
|
|
25
25
|
}, options);
|
|
26
26
|
}
|
|
@@ -6,7 +6,6 @@ import { validator, } from '../../core/index.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export function isMACAddress(options) {
|
|
8
8
|
const opts = {
|
|
9
|
-
// eslint-disable-next-line camelcase
|
|
10
9
|
no_separators: options?.noSeparators,
|
|
11
10
|
eui: options?.eui,
|
|
12
11
|
};
|
|
@@ -16,6 +15,6 @@ export function isMACAddress(options) {
|
|
|
16
15
|
validatorJS.isMACAddress(input, opts)) {
|
|
17
16
|
return input;
|
|
18
17
|
}
|
|
19
|
-
context.fail(_this, `
|
|
18
|
+
context.fail(_this, `Value must be a valid MAC address`, input);
|
|
20
19
|
}, options);
|
|
21
20
|
}
|
|
@@ -13,6 +13,6 @@ export function isMobilePhone(options) {
|
|
|
13
13
|
validatorJS.isMobilePhone(input, options?.locale, opts)) {
|
|
14
14
|
return input;
|
|
15
15
|
}
|
|
16
|
-
context.fail(_this, `
|
|
16
|
+
context.fail(_this, `Value must be a valid a Mobile Phone Number`, input);
|
|
17
17
|
}, options);
|
|
18
18
|
}
|
|
@@ -13,7 +13,7 @@ export function isObjectId(options) {
|
|
|
13
13
|
_isObjectIdValue(input.toHexString())))) {
|
|
14
14
|
return input;
|
|
15
15
|
}
|
|
16
|
-
context.fail(_this, `
|
|
16
|
+
context.fail(_this, `Value must be a valid ObjectId`, input);
|
|
17
17
|
}, options);
|
|
18
18
|
}
|
|
19
19
|
function _isObjectIdValue(input) {
|
|
@@ -10,6 +10,6 @@ export function isPassportNumber(countryCode, options) {
|
|
|
10
10
|
validatorJS.isPassportNumber(input, countryCode)) {
|
|
11
11
|
return input;
|
|
12
12
|
}
|
|
13
|
-
context.fail(_this, `
|
|
13
|
+
context.fail(_this, `Value must be a valid ${countryCode} PassportNumber)`, input);
|
|
14
14
|
}, options);
|
|
15
15
|
}
|
|
@@ -11,6 +11,6 @@ export function isUUID(version, options) {
|
|
|
11
11
|
validatorJS.isUUID(input, version)) {
|
|
12
12
|
return input;
|
|
13
13
|
}
|
|
14
|
-
context.fail(_this, `
|
|
14
|
+
context.fail(_this, `Value must be a valid UUID${version ? ' v' + version : ''}`, input);
|
|
15
15
|
}, options);
|
|
16
16
|
}
|
|
@@ -9,6 +9,6 @@ export function isVATNumber(countryCode, options) {
|
|
|
9
9
|
if (typeof input === 'string' && validatorJS.isVAT(input, countryCode)) {
|
|
10
10
|
return input;
|
|
11
11
|
}
|
|
12
|
-
context.fail(_this, `
|
|
12
|
+
context.fail(_this, `Value must be a valid VAT number`, input);
|
|
13
13
|
}, options);
|
|
14
14
|
}
|
|
@@ -11,7 +11,7 @@ export function matches(format, options) {
|
|
|
11
11
|
return;
|
|
12
12
|
if (typeof input === 'string' && regExp.test(input))
|
|
13
13
|
return input;
|
|
14
|
-
context.fail(_this, `
|
|
14
|
+
context.fail(_this, `Value must match ${formatName || 'requested'} format`, input, {
|
|
15
15
|
format,
|
|
16
16
|
formatName,
|
|
17
17
|
});
|