UNPKG

@devmehq/email-validator-js

Version:

Advanced email validation with MX records, SMTP verification, disposable email detection, batch processing, and caching. Production-ready with TypeScript support.

42 lines (41 loc) 1.63 kB
/** * Core serverless email validator * Platform-agnostic implementation without Node.js dependencies */ import type { DomainSuggesterOptions, EmailValidationResult, ValidateEmailOptions } from '../types'; export declare class EdgeCache<T> { private cache; private maxSize; private ttl; constructor(maxSize?: number, ttl?: number); get(key: string): T | undefined; set(key: string, value: T): void; clear(): void; size(): number; } export declare const validationCache: EdgeCache<EmailValidationResult>; export declare const mxCache: EdgeCache<string[]>; export declare const COMMON_DOMAINS: string[]; export interface DNSResolver { resolveMx(domain: string): Promise<Array<{ exchange: string; priority: number; }>>; resolveTxt(domain: string): Promise<string[]>; } export declare class StubDNSResolver implements DNSResolver { resolveMx(_domain: string): Promise<Array<{ exchange: string; priority: number; }>>; resolveTxt(_domain: string): Promise<string[]>; } export declare function suggestDomain(domain: string, options?: DomainSuggesterOptions): string | null; export declare function validateEmailCore(email: string, options?: ValidateEmailOptions & { dnsResolver?: DNSResolver; }): Promise<EmailValidationResult>; export declare function validateEmailBatch(emails: string[], options?: ValidateEmailOptions & { dnsResolver?: DNSResolver; }): Promise<EmailValidationResult[]>; export declare function clearCache(): void; export type { DomainSuggesterOptions, EmailValidationResult, ValidateEmailOptions, } from '../types';