UNPKG

extract-email-address

Version:

Extracts email address from an arbitrary text input.

38 lines 1.19 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.extractEmail = void 0; const normalizeInput_1 = require("./normalizeInput"); const tlds_1 = __importDefault(require("tlds")); const extractEmail = (input) => { const matches = (0, normalizeInput_1.normalizeInput)(input).match( // eslint-disable-next-line unicorn/better-regex, require-unicode-regexp, regexp/no-unused-capturing-group /\b[\w.%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g); if (!matches) { return []; } return matches .map((email) => { return email; }) .filter((email) => { for (const tld of tlds_1.default) { if (email.endsWith('.' + tld)) { return true; } } return false; }) .filter((email, index, self) => { return self.indexOf(email) === index; }) .map((email) => { return { email, }; }); }; exports.extractEmail = extractEmail; //# sourceMappingURL=extractEmail.js.map