diginext-utils
Version:
README.md
38 lines (37 loc) • 1.29 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.emailValidator = void 0;
const deep_email_validator_1 = __importDefault(require("deep-email-validator"));
const lodash_1 = require("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;
}
const emailValidator = async (email, opts) => {
email = `${(0, lodash_1.toString)(email)}`;
const res = await (0, deep_email_validator_1.default)({
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 };
};
exports.emailValidator = emailValidator;