@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
38 lines • 1.23 kB
TypeScript
/**
* IDN (Internationalized Domain Names) utilities
* Uses Node's built-in Punycode via url.domainToASCII (Node >= 18).
*/
/**
* Convert domain to Punycode / ASCII format.
*/
export declare function domainToPunycode(domain: string): string;
/**
* Convert email address's domain to Punycode.
*/
export declare function emailToPunycode(email: string): string;
/**
* Error codes for IDN validation
*/
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).
*/
export declare function validateInternationalEmail(email: string): {
type: 'IDN_VALIDATION_ERROR';
code: IDNValidationError;
message: string;
} | undefined;
//# sourceMappingURL=idn.d.ts.map