UNPKG

auth0-lock

Version:
59 lines (41 loc) 1.85 kB
'use strict'; exports.__esModule = true; exports.validateEmail = validateEmail; exports.isEmail = isEmail; exports.setEmail = setEmail; exports.emailDomain = emailDomain; exports.emailLocalPart = emailLocalPart; var _trim = require('trim'); var _trim2 = _interopRequireDefault(_trim); var _index = require('./index'); var _string_utils = require('../utils/string_utils'); var _enterprise = require('../connection/enterprise'); var _i18n = require('../i18n'); var i18n = _interopRequireWildcard(_i18n); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var regExp = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; function validateEmail(str) { return isEmail(str); } function isEmail(str) { var result = regExp.exec((0, _trim2.default)(str.toLowerCase())); return !!result && result[0] !== null; } function setEmail(m, str) { return (0, _index.setField)(m, "email", str, function (str) { var validHRDEMail = (0, _enterprise.isHRDEmailValid)(m, str); return { valid: validateEmail(str) && validHRDEMail, hint: !validHRDEMail ? i18n.str(m, ["error", "login", "hrd.not_matching_email"]) : undefined }; }); } function emailDomain(str) { var result = regExp.exec((0, _trim2.default)(str.toLowerCase())); return result ? result.slice(-2)[0] : ""; } function emailLocalPart(str) { var domain = emailDomain(str); return domain ? str.slice(0, -1 - domain.length) : str; }