@mikkelscheike/email-provider-links
Version:
TypeScript library for email provider detection with 140 providers (259 domains), concurrent DNS resolution, alias normalization, and HTTPS login URL validation for login and password reset flows
44 lines • 1.55 kB
TypeScript
/**
* Email Alias Detection Module
*
* Detects and normalizes email aliases using provider-specific rules for
* case, plus-addressing, and dots. Domain part is always lowercased (RFC 5321).
*/
export interface AliasDetectionResult {
/** The normalized/canonical email address */
canonical: string;
/** The original email address */
original: string;
/** Whether an alias was detected */
isAlias: boolean;
/** Type of alias detected */
aliasType: 'plus' | 'dot' | 'none';
/** The alias part (if any) */
aliasPart?: string;
/** The provider that supports this alias type */
provider?: string;
}
export interface NormalizeEmailOptions {
/**
* Skip structural/IDN re-validation when the caller already validated the email.
* Used by the detection hot path to avoid duplicate work.
*/
alreadyValidated?: boolean;
/**
* Optional pre-computed punycode domain (avoids re-encoding).
*/
punycodeDomain?: string;
}
/**
* Detects and analyzes email aliases according to provider-specific rules.
*/
export declare function detectEmailAlias(email: string, options?: NormalizeEmailOptions): AliasDetectionResult;
/**
* Normalizes an email address to its canonical form.
*/
export declare function normalizeEmail(email: string, options?: NormalizeEmailOptions): string;
/**
* Checks if two email addresses are the same when normalized.
*/
export declare function emailsMatch(email1: string, email2: string): boolean;
//# sourceMappingURL=alias-detection.d.ts.map