@orion-js/schema
Advanced tools
Comparing version 3.2.21 to 3.2.28
@@ -9,10 +9,14 @@ "use strict"; | ||
const Errors_1 = __importDefault(require("../Errors")); | ||
const lodash_1 = require("lodash"); | ||
exports.default = (0, fieldType_1.default)({ | ||
name: 'email', | ||
validate(value) { | ||
validate(value, { currentSchema }) { | ||
if ((value === '' || (0, lodash_1.isNil)(value)) && !currentSchema.optional) { | ||
return Errors_1.default.REQUIRED; | ||
} | ||
if (!(0, isString_1.default)(value)) | ||
return Errors_1.default.NOT_A_STRING; | ||
// eslint-disable-next-line | ||
const regex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; | ||
if (!regex.test(value)) | ||
const regex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; | ||
if (value && !regex.test(value)) | ||
return Errors_1.default.NOT_AN_EMAIL; | ||
@@ -19,0 +23,0 @@ }, |
@@ -9,9 +9,9 @@ "use strict"; | ||
test('return an error when the value is incorrect', async () => { | ||
//@ts-ignore | ||
expect(email_1.default.validate(['Hello'])).toBe(Errors_1.default.NOT_A_STRING); | ||
//@ts-ignore | ||
expect(email_1.default.validate({ name: 'Nicolás' })).toBe(Errors_1.default.NOT_A_STRING); | ||
//@ts-ignore | ||
expect(email_1.default.validate(new Date())).toBe(Errors_1.default.NOT_A_STRING); | ||
expect(email_1.default.validate('astring')).toBe(Errors_1.default.NOT_AN_EMAIL); | ||
expect(email_1.default.validate(null)).toBe(Errors_1.default.REQUIRED); | ||
expect(email_1.default.validate('')).toBe(Errors_1.default.REQUIRED); | ||
expect(email_1.default.validate('', { currentSchema: { optional: true } })).toBeFalsy(); | ||
}); | ||
@@ -18,0 +18,0 @@ test('return no error when the value is correct', async () => { |
@@ -9,7 +9,4 @@ "use strict"; | ||
test('return an error when the value is incorrect', async () => { | ||
//@ts-ignore | ||
expect(string_1.default.validate(['Hello'])).toBe(Errors_1.default.NOT_A_STRING); | ||
//@ts-ignore | ||
expect(string_1.default.validate({ name: 'Nicolás' })).toBe(Errors_1.default.NOT_A_STRING); | ||
//@ts-ignore | ||
expect(string_1.default.validate(new Date())).toBe(Errors_1.default.NOT_A_STRING); | ||
@@ -16,0 +13,0 @@ }); |
{ | ||
"name": "@orion-js/schema", | ||
"version": "3.2.21", | ||
"version": "3.2.28", | ||
"main": "lib/index.js", | ||
@@ -39,3 +39,3 @@ "types": "lib/index.d.ts", | ||
}, | ||
"gitHead": "160e776b7a8448c8e4f67cae79849d6520eaf0c1" | ||
"gitHead": "670440985bbd077e154e5d225337bbf242701f5a" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
106110
2950