whoiser
Version:
Whois info for domains, TLDs, IPs, and ASN
43 lines (42 loc) • 998 B
TypeScript
export interface WhoisDataGroup {
[key: string]: string;
}
export interface WhoisData {
[key: string]: string | string[] | WhoisDataGroup | {
[key: string]: WhoisDataGroup;
} | undefined;
contacts?: {
[key: string]: WhoisDataGroup;
};
__comments: string[];
__raw: string;
}
/**
* TLD Whois response, from iana.org
*/
export interface TldWhoisResponse {
tld: string;
organisation?: WhoisDataGroup;
contacts: WhoisDataGroup[];
nserver: string[];
'ds-rdata'?: string;
whois?: string;
status: 'ACTIVE' | 'FORMER';
remarks: string;
created: string;
changed: string;
source: string;
__comments: string[];
__raw: string;
}
/**
* Options for querying Domain Name whois
*/
export interface DomainWhoisOptions {
host?: string;
timeout?: number;
follow?: 1 | 2;
raw?: boolean;
ignorePrivacy?: boolean;
whoisQuery?: (host: string, query: string, timeout?: number) => Promise<string>;
}