UNPKG

@subsocial/utils

Version:
36 lines (35 loc) 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isValidEmailProvider = exports.validEmailProviders = exports.formatEmail = exports.parseEmail = void 0; const string_1 = require("./string"); const parseEmail = (email) => email === null || email === void 0 ? void 0 : email.trim().toLowerCase().split('@'); exports.parseEmail = parseEmail; const formatEmail = (email) => { if (!email) return ''; const [username, domain] = (0, exports.parseEmail)(email); return `${username.replace(/[\W_]/g, '')}@${domain}`; }; exports.formatEmail = formatEmail; exports.validEmailProviders = [ 'gmail.com', 'google.com', 'yahoo.com', 'protonmail.com', 'hotmail.com', 'outlook.com', 'msn.com', 'live.com', 'aol.com', 'qq.com', 'yandex.com', 'mail.ru', ]; const validEmailSet = new Set(exports.validEmailProviders); const isValidEmailProvider = (email) => { if (!email || (0, string_1.isEmptyStr)(email)) return false; const [, domain] = (0, exports.parseEmail)(email); return validEmailSet.has(domain); }; exports.isValidEmailProvider = isValidEmailProvider;