@mikkelscheike/email-provider-links
Version:
TypeScript library for email provider detection with 93 providers (207 domains), concurrent DNS resolution, optimized performance, 94.65% test coverage, and enterprise security for login and password reset flows
47 lines • 1.63 kB
TypeScript
/**
* IDN (Internationalized Domain Names) utilities
* Zero-dependency implementation for domain name handling
*/
/**
* Convert domain to Punycode format
* @param domain Domain name to convert
* @returns Punycode encoded domain
*/
export declare function domainToPunycode(domain: string): string;
/**
* Convert email address's domain to Punycode
* @param email Email address to convert
* @returns Email with Punycode encoded domain
*/
export declare function emailToPunycode(email: string): string;
/**
* Error codes for IDN validation
* These can be used as keys for translation systems
*/
export declare enum IDNValidationError {
MISSING_INPUT = "MISSING_INPUT",
EMAIL_TOO_LONG = "EMAIL_TOO_LONG",
MISSING_AT_SYMBOL = "MISSING_AT_SYMBOL",
LOCAL_PART_EMPTY = "LOCAL_PART_EMPTY",
LOCAL_PART_TOO_LONG = "LOCAL_PART_TOO_LONG",
LOCAL_PART_INVALID = "LOCAL_PART_INVALID",
DOMAIN_EMPTY = "DOMAIN_EMPTY",
DOMAIN_TOO_LONG = "DOMAIN_TOO_LONG",
DOMAIN_INVALID_FORMAT = "DOMAIN_INVALID_FORMAT",
MISSING_TLD = "MISSING_TLD",
NUMERIC_TLD = "NUMERIC_TLD",
INVALID_ENCODING = "INVALID_ENCODING"
}
/**
* Validates an email address according to international standards (IDNA)
* This implementation follows RFC 5321, 5322, and 6530 standards for email addresses
*
* @param email The email address to validate
* @returns Error information if validation fails, undefined if valid
*/
export declare function validateInternationalEmail(email: string): {
type: 'IDN_VALIDATION_ERROR';
code: IDNValidationError;
message: string;
} | undefined;
//# sourceMappingURL=idn.d.ts.map