Links recognition library with FULL unicode support for detecting high-quality link patterns in plain text
Overall
score
97%
A tool for extracting email addresses from plain text content.
The solution should parse text and identify all valid email addresses, returning them as an array of strings. Each email should be returned in normalized form (with the mailto: prefix added if necessary).
@generates
/**
* Extracts all email addresses from the given text.
*
* @param {string} text - The text to extract email addresses from.
* @returns {string[]} An array of normalized email URLs (e.g., ['mailto:user@example.com']).
*/
function extractEmails(text) {
// IMPLEMENTATION HERE
}
module.exports = { extractEmails };Provides link recognition and email detection support.
The following test cases should be implemented:
const { extractEmails } = require('../src/email-extractor');
test('extracts a single email address', () => {
const text = 'Contact me at john.doe@example.com for more information.';
const result = extractEmails(text);
expect(result).toEqual(['mailto:john.doe@example.com']);
});const { extractEmails } = require('../src/email-extractor');
test('extracts multiple email addresses', () => {
const text = 'You can reach us at support@company.org or sales@company.org';
const result = extractEmails(text);
expect(result).toEqual(['mailto:support@company.org', 'mailto:sales@company.org']);
});const { extractEmails } = require('../src/email-extractor');
test('returns empty array when no emails found', () => {
const text = 'This text has no email addresses, just a website: example.com';
const result = extractEmails(text);
expect(result).toEqual([]);
});const { extractEmails } = require('../src/email-extractor');
test('extracts emails from text with mixed content', () => {
const text = 'Visit https://example.com or email admin@example.com and support@test.org';
const result = extractEmails(text);
expect(result).toEqual(['mailto:admin@example.com', 'mailto:support@test.org']);
});Install with Tessl CLI
npx tessl i tessl/npm-linkify-itdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10