whoiser
Version:
Whois info for domains, TLDs, IPs, and ASN
53 lines (52 loc) • 1.25 kB
TypeScript
export interface DomainWhoisData {
'Domain Name'?: string;
'Domain Status'?: string[];
'Name Server'?: string[];
text?: string[];
[key: string]: string | string[];
}
export interface DomainWhois {
[key: string]: DomainWhoisData;
}
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>;
}