@subsocial/utils
Version:
JavaScript utils for Subsocial blockchain.
36 lines (35 loc) • 1.17 kB
JavaScript
;
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;