diff --git a/.changeset/good-boats-fetch.md b/.changeset/good-boats-fetch.md new file mode 100644 index 0000000..50426f8 --- /dev/null +++ b/.changeset/good-boats-fetch.md @@ -0,0 +1,5 @@ +--- +'@yourssu/utils': minor +--- + +change isEmail to return boolean value diff --git a/packages/utils/src/isEmail.ts b/packages/utils/src/isEmail.ts index 3859bb7..f699ddd 100644 --- a/packages/utils/src/isEmail.ts +++ b/packages/utils/src/isEmail.ts @@ -1,19 +1,13 @@ -export const isEmail = (email: string, domain?: string) => { - const regFull = - /^(([^<>()[\]\\.,;:\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 (regFull.test(String(email).toLowerCase())) { - return email; +export const isEmail = (email: string, domain?: string): boolean => { + if (!domain) { + const regFull = + /^(([^<>()[\]\\.,;:\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,}))$/; + + return regFull.test(String(email).toLowerCase()); } - const regHalf = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))$/; + const regHalf = /^(([^<>()[\]\\.,;:\s@"]+(\[^<>()[\]\\.,;:\s@"]+)*)|(".+"))$/; const refDomain = /^@((\[[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 (domain) { - if (regHalf.test(String(email).toLowerCase()) && refDomain.test(String(domain).toLowerCase())) { - return email + domain; - } - } - - throw new Error('given value is not valid'); + return regHalf.test(String(email).toLowerCase()) && refDomain.test(String(domain).toLowerCase()); };