{"version":3,"file":"isEmail-hSBgAZ_1.js","sources":["../../../node_modules/validator/lib/util/assertString.js","../../../node_modules/validator/lib/util/merge.js","../../../node_modules/validator/lib/isByteLength.js","../../../node_modules/validator/lib/isFQDN.js","../../../node_modules/validator/lib/isIP.js","../../../node_modules/validator/lib/isEmail.js"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = assertString;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction assertString(input) {\n var isString = typeof input === 'string' || input instanceof String;\n\n if (!isString) {\n var invalidType = _typeof(input);\n\n if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;\n throw new TypeError(\"Expected a string but received a \".concat(invalidType));\n }\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = merge;\n\nfunction merge() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaults = arguments.length > 1 ? arguments[1] : undefined;\n\n for (var key in defaults) {\n if (typeof obj[key] === 'undefined') {\n obj[key] = defaults[key];\n }\n }\n\n return obj;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isByteLength;\n\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable prefer-rest-params */\nfunction isByteLength(str, options) {\n (0, _assertString.default)(str);\n var min;\n var max;\n\n if (_typeof(options) === 'object') {\n min = options.min || 0;\n max = options.max;\n } else {\n // backwards compatibility: isByteLength(str, min [, max])\n min = arguments[1];\n max = arguments[2];\n }\n\n var len = encodeURI(str).split(/%..|./).length - 1;\n return len >= min && (typeof max === 'undefined' || len <= max);\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isFQDN;\n\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\n\nvar _merge = _interopRequireDefault(require(\"./util/merge\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar default_fqdn_options = {\n require_tld: true,\n allow_underscores: false,\n allow_trailing_dot: false,\n allow_numeric_tld: false,\n allow_wildcard: false\n};\n\nfunction isFQDN(str, options) {\n (0, _assertString.default)(str);\n options = (0, _merge.default)(options, default_fqdn_options);\n /* Remove the optional trailing dot before checking validity */\n\n if (options.allow_trailing_dot && str[str.length - 1] === '.') {\n str = str.substring(0, str.length - 1);\n }\n /* Remove the optional wildcard before checking validity */\n\n\n if (options.allow_wildcard === true && str.indexOf('*.') === 0) {\n str = str.substring(2);\n }\n\n var parts = str.split('.');\n var tld = parts[parts.length - 1];\n\n if (options.require_tld) {\n // disallow fqdns without tld\n if (parts.length < 2) {\n return false;\n }\n\n if (!/^([a-z\\u00A1-\\u00A8\\u00AA-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {\n return false;\n } // disallow spaces\n\n\n if (/\\s/.test(tld)) {\n return false;\n }\n } // reject numeric TLDs\n\n\n if (!options.allow_numeric_tld && /^\\d+$/.test(tld)) {\n return false;\n }\n\n return parts.every(function (part) {\n if (part.length > 63) {\n return false;\n }\n\n if (!/^[a-z_\\u00a1-\\uffff0-9-]+$/i.test(part)) {\n return false;\n } // disallow full-width chars\n\n\n if (/[\\uff01-\\uff5e]/.test(part)) {\n return false;\n } // disallow parts starting or ending with hyphen\n\n\n if (/^-|-$/.test(part)) {\n return false;\n }\n\n if (!options.allow_underscores && /_/.test(part)) {\n return false;\n }\n\n return true;\n });\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isIP;\n\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n11.3. Examples\n\n The following addresses\n\n fe80::1234 (on the 1st link of the node)\n ff02::5678 (on the 5th link of the node)\n ff08::9abc (on the 10th organization of the node)\n\n would be represented as follows:\n\n fe80::1234%1\n ff02::5678%5\n ff08::9abc%10\n\n (Here we assume a natural translation from a zone index to the\n part, where the Nth zone of any scope is translated into\n \"N\".)\n\n If we use interface names as , those addresses could also be\n represented as follows:\n\n fe80::1234%ne0\n ff02::5678%pvc1.3\n ff08::9abc%interface10\n\n where the interface \"ne0\" belongs to the 1st link, \"pvc1.3\" belongs\n to the 5th link, and \"interface10\" belongs to the 10th organization.\n * * */\nvar IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';\nvar IPv4AddressFormat = \"(\".concat(IPv4SegmentFormat, \"[.]){3}\").concat(IPv4SegmentFormat);\nvar IPv4AddressRegExp = new RegExp(\"^\".concat(IPv4AddressFormat, \"$\"));\nvar IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';\nvar IPv6AddressRegExp = new RegExp('^(' + \"(?:\".concat(IPv6SegmentFormat, \":){7}(?:\").concat(IPv6SegmentFormat, \"|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){6}(?:\").concat(IPv4AddressFormat, \"|:\").concat(IPv6SegmentFormat, \"|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){5}(?::\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,2}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){4}(?:(:\").concat(IPv6SegmentFormat, \"){0,1}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,3}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){3}(?:(:\").concat(IPv6SegmentFormat, \"){0,2}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,4}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){2}(?:(:\").concat(IPv6SegmentFormat, \"){0,3}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,5}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){1}(?:(:\").concat(IPv6SegmentFormat, \"){0,4}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,6}|:)|\") + \"(?::((?::\".concat(IPv6SegmentFormat, \"){0,5}:\").concat(IPv4AddressFormat, \"|(?::\").concat(IPv6SegmentFormat, \"){1,7}|:))\") + ')(%[0-9a-zA-Z-.:]{1,})?$');\n\nfunction isIP(str) {\n var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n (0, _assertString.default)(str);\n version = String(version);\n\n if (!version) {\n return isIP(str, 4) || isIP(str, 6);\n }\n\n if (version === '4') {\n if (!IPv4AddressRegExp.test(str)) {\n return false;\n }\n\n var parts = str.split('.').sort(function (a, b) {\n return a - b;\n });\n return parts[3] <= 255;\n }\n\n if (version === '6') {\n return !!IPv6AddressRegExp.test(str);\n }\n\n return false;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isEmail;\n\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\n\nvar _merge = _interopRequireDefault(require(\"./util/merge\"));\n\nvar _isByteLength = _interopRequireDefault(require(\"./isByteLength\"));\n\nvar _isFQDN = _interopRequireDefault(require(\"./isFQDN\"));\n\nvar _isIP = _interopRequireDefault(require(\"./isIP\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar default_email_options = {\n allow_display_name: false,\n require_display_name: false,\n allow_utf8_local_part: true,\n require_tld: true,\n blacklisted_chars: '',\n ignore_max_length: false,\n host_blacklist: []\n};\n/* eslint-disable max-len */\n\n/* eslint-disable no-control-regex */\n\nvar splitNameAddress = /^([^\\x00-\\x1F\\x7F-\\x9F\\cX]+)]/.test(display_name_without_quotes);\n\n if (contains_illegal) {\n // if contains illegal characters,\n // must to be enclosed in double-quotes, otherwise it's not a valid display name\n if (display_name_without_quotes === display_name) {\n return false;\n } // the quotes in display name must start with character symbol \\\n\n\n var all_start_with_back_slash = display_name_without_quotes.split('\"').length === display_name_without_quotes.split('\\\\\"').length;\n\n if (!all_start_with_back_slash) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction isEmail(str, options) {\n (0, _assertString.default)(str);\n options = (0, _merge.default)(options, default_email_options);\n\n if (options.require_display_name || options.allow_display_name) {\n var display_email = str.match(splitNameAddress);\n\n if (display_email) {\n var display_name = display_email[1]; // Remove display name and angle brackets to get email address\n // Can be done in the regex but will introduce a ReDOS (See #1597 for more info)\n\n str = str.replace(display_name, '').replace(/(^<|>$)/g, ''); // sometimes need to trim the last space to get the display name\n // because there may be a space between display name and email address\n // eg. myname \n // the display name is `myname` instead of `myname `, so need to trim the last space\n\n if (display_name.endsWith(' ')) {\n display_name = display_name.substr(0, display_name.length - 1);\n }\n\n if (!validateDisplayName(display_name)) {\n return false;\n }\n } else if (options.require_display_name) {\n return false;\n }\n }\n\n if (!options.ignore_max_length && str.length > defaultMaxEmailLength) {\n return false;\n }\n\n var parts = str.split('@');\n var domain = parts.pop();\n var lower_domain = domain.toLowerCase();\n\n if (options.host_blacklist.includes(lower_domain)) {\n return false;\n }\n\n var user = parts.join('@');\n\n if (options.domain_specific_validation && (lower_domain === 'gmail.com' || lower_domain === 'googlemail.com')) {\n /*\n Previously we removed dots for gmail addresses before validating.\n This was removed because it allows `multiple..dots@gmail.com`\n to be reported as valid, but it is not.\n Gmail only normalizes single dots, removing them from here is pointless,\n should be done in normalizeEmail\n */\n user = user.toLowerCase(); // Removing sub-address from username before gmail validation\n\n var username = user.split('+')[0]; // Dots are not included in gmail length restriction\n\n if (!(0, _isByteLength.default)(username.replace(/\\./g, ''), {\n min: 6,\n max: 30\n })) {\n return false;\n }\n\n var _user_parts = username.split('.');\n\n for (var i = 0; i < _user_parts.length; i++) {\n if (!gmailUserPart.test(_user_parts[i])) {\n return false;\n }\n }\n }\n\n if (options.ignore_max_length === false && (!(0, _isByteLength.default)(user, {\n max: 64\n }) || !(0, _isByteLength.default)(domain, {\n max: 254\n }))) {\n return false;\n }\n\n if (!(0, _isFQDN.default)(domain, {\n require_tld: options.require_tld\n })) {\n if (!options.allow_ip_domain) {\n return false;\n }\n\n if (!(0, _isIP.default)(domain)) {\n if (!domain.startsWith('[') || !domain.endsWith(']')) {\n return false;\n }\n\n var noBracketdomain = domain.substr(1, domain.length - 2);\n\n if (noBracketdomain.length === 0 || !(0, _isIP.default)(noBracketdomain)) {\n return false;\n }\n }\n }\n\n if (user[0] === '\"') {\n user = user.slice(1, user.length - 1);\n return options.allow_utf8_local_part ? quotedEmailUserUtf8.test(user) : quotedEmailUser.test(user);\n }\n\n var pattern = options.allow_utf8_local_part ? emailUserUtf8Part : emailUserPart;\n var user_parts = user.split('.');\n\n for (var _i = 0; _i < user_parts.length; _i++) {\n if (!pattern.test(user_parts[_i])) {\n return false;\n }\n }\n\n if (options.blacklisted_chars) {\n if (user.search(new RegExp(\"[\".concat(options.blacklisted_chars, \"]+\"), 'g')) !== -1) return false;\n }\n\n return true;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;"],"names":["exports","assertString","_typeof","obj","input","isString","invalidType","module","merge","defaults","key","isByteLength","_assertString","_interopRequireDefault","str","options","min","max","len","isFQDN","_merge","default_fqdn_options","parts","tld","part","isIP","IPv4SegmentFormat","IPv4AddressFormat","IPv4AddressRegExp","IPv6SegmentFormat","IPv6AddressRegExp","version","a","b","isEmail","_isByteLength","_isFQDN","_isIP","default_email_options","splitNameAddress","emailUserPart","gmailUserPart","quotedEmailUser","emailUserUtf8Part","quotedEmailUserUtf8","defaultMaxEmailLength","validateDisplayName","display_name","display_name_without_quotes","contains_illegal","all_start_with_back_slash","display_email","domain","lower_domain","user","username","_user_parts","i","noBracketdomain","pattern","user_parts","_i"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}