UNPKG

@springmusk/who-is

Version:

Professional WHOIS data scraping module with structured parsing and batch processing capabilities

83 lines (71 loc) 1.76 kB
export interface HttpClientConfig { timeout?: number; userAgent?: string; maxRetries?: number; retryDelay?: number; } export interface WhoisConfig { outputFormat?: 'json' | 'raw'; http?: HttpClientConfig; baseUrl?: string; } export interface ScrapingOptions { concurrent?: number; continueOnError?: boolean; } export interface WhoisResult { domain: string; scrapedAt: string; pageTitle: string; registry: any; registrar: any; } export interface BatchResult { results: WhoisResult[]; errors?: Array<{ domain: string; error: string; timestamp: string; }>; summary: { total: number; successful: number; failed: number; }; } export class WhoisScrapingError extends Error { cause?: Error; constructor(message: string, cause?: Error); } export class WhoisParsingError extends Error { cause?: Error; constructor(message: string, cause?: Error); } export class HttpClient { constructor(config?: HttpClientConfig); get(url: string, params?: Record<string, any>, retryCount?: number): Promise<string>; } export class WhoisParser { static parseRawWhoisToJson(rawData: string): Record<string, any>; } export class WhoisExtractor { static extractWhoisData(htmlContent: string): { registryData: string | null; registrarData: string | null; pageTitle: string; }; } export class Whois { constructor(config?: WhoisConfig); scrape(domain: string): Promise<WhoisResult>; scrapeMultiple(domains: string[], options?: ScrapingOptions): Promise<BatchResult>; } export { Whois as default, Whois, WhoisParser, WhoisExtractor, HttpClient, WhoisScrapingError, WhoisParsingError, };