diginext-utils
Version:
README.md
31 lines (30 loc) • 923 B
JavaScript
import validate from "deep-email-validator";
import { toString } from "lodash";
function extractReasons(emailValidatorOutput) {
const reasons = [];
// Loop through each validator
for (const key in emailValidatorOutput.validators) {
const validator = emailValidatorOutput.validators[key];
if (validator.reason) {
reasons.push(validator.reason);
}
}
return reasons;
}
export const emailValidator = async (email, opts) => {
email = `${toString(email)}`;
const res = await validate({
email: email,
sender: email,
validateRegex: true,
validateMx: true,
validateTypo: false,
validateDisposable: true,
validateSMTP: true,
...opts,
});
if (res.valid)
return { status: true };
const reason = extractReasons(res);
return { status: false, reason };
};