@lowerdeck/normalize-email
v1.0.3
Published
Normalize email addresses to their canonical form. Handles Gmail dots, plus-addressing, and domain variations to prevent duplicate accounts.
Readme
@lowerdeck/normalize-email
Normalize email addresses to their canonical form. Handles Gmail dots, plus-addressing, and domain variations to prevent duplicate accounts.
Installation
npm install @lowerdeck/normalize-email
yarn add @lowerdeck/normalize-email
bun add @lowerdeck/normalize-email
pnpm add @lowerdeck/normalize-emailUsage
import { normalizeEmail } from '@lowerdeck/normalize-email';
// Remove dots in Gmail addresses
normalizeEmail('[email protected]');
// => '[email protected]'
// Remove plus-addressing
normalizeEmail('[email protected]');
// => '[email protected]'
// Handle googlemail.com -> gmail.com
normalizeEmail('[email protected]');
// => '[email protected]'
// Combine all normalization rules
normalizeEmail('[email protected]');
// => '[email protected]'
// Prevent duplicate accounts
const users = new Map();
function registerUser(email: string) {
const normalized = normalizeEmail(email);
if (users.has(normalized)) {
throw new Error('Account already exists');
}
users.set(normalized, { email });
}License
This project is licensed under the Apache License 2.0.
