UNPKG

diginext-utils

Version:
38 lines (37 loc) 1.29 kB
"use strict"; 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;