UNPKG

diginext-utils

Version:
31 lines (30 loc) 923 B
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 }; };