From 7663f2ff6284538b85baf98f67688508dfb30a10 Mon Sep 17 00:00:00 2001 From: AlexXanderGrib <me@alexxgrib.me> Date: Sun, 11 Apr 2021 00:05:22 +0300 Subject: [PATCH 1/2] Added - typescript typings --- index.d.ts | 83 +++++++++++++++++++++++++++++++++++++++++++++++ package-lock.json | 1 - package.json | 2 ++ 3 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 index.d.ts diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..9bab555 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,83 @@ +type CommonOptions = { + /** WHOIS server to query. Default: WHOIS server from IANA */ + host?: string + /** WHOIS server request timeout in ms. Default: `1500` */ + timeout?: number + /** Return the raw WHOIS result in response. Added to `__raw` */ + raw?: boolean +} + +interface Whoiser { + /** + * Get WHOIS data for any internet address + * + * @param {string|number} query + * @param {Object} options + * @returns {Promise<*>} Parsed WHOIS server response + */ + (query: string | number, options?: CommonOptions & Record<string, string>): Promise<any> + + + /** + * Get WHOIS data for a TLD + * + * @param {string} tld Ex. `.net` + * @param {Object} options + * @returns {Promise<*>} Parsed WHOIS server response + */ + tld(tld: string, options?: Omit<CommonOptions, 'host'>): Promise<any>; + + /** + * Query a WHOIS server for data + * + * @param {Object} options + * @returns {Promise<string>} Raw WHOIS server response + */ + query(options: CommonOptions & { + query: string; + /** Low level end of query suffix. Default `\r\n` */ + querySuffix?: string; + }): Promise<string> + + /** + * Get parsed WHOIS data for a domain + * + * @param domain + * @param options + */ + domain( + domain: string, + options?: CommonOptions & { + /** How many WHOIS server to query. 1 = registry server (faster), 2 = registry + registrar (more domain details). Default: 2 */ + follow?: number + } + ): Promise<any> + + /** + * Get WHOIS data for a IP + * + * @param {string} ip + * @param {Object} options + * @returns {Promise<*>} Parsed WHOIS server response + */ + ip(ip: string, options?: CommonOptions): Promise<any> + + /** + * Get WHOIS data for an AS number + * + * @param {string|number} ans + * @param {Object} options + * @returns {Promise<*>} Parsed WHOIS server response + */ + ans(ans: string | number, options?: CommonOptions): Promise<any>; + + /** + * Returns a list of all TLDs, [downloaded from IANA](https://www.iana.org/domains/root/db) + * + * @returns {Promise<string[]>} + */ + allTlds(): Promise<string[]>; +} + +declare const whoiser: Whoiser; +export = whoiser; diff --git a/package-lock.json b/package-lock.json index af7f518..df6b4ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -140,7 +140,6 @@ "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", diff --git a/package.json b/package.json index 6e80adc..7b198be 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,8 @@ "name": "whoiser", "version": "1.10.0", "description": "Whois info for TLDs, domains and IPs", + "types": "./index.d.ts", + "typings": "./index.d.ts", "keywords": [ "whois", "domain", From 55359d090d9c81a925f2dfa907f7250b76d02b14 Mon Sep 17 00:00:00 2001 From: AlexXanderGrib <me@alexxgrib.me> Date: Sun, 11 Apr 2021 16:09:51 +0300 Subject: [PATCH 2/2] Fixed - typo in index.d.ts --- index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.d.ts b/index.d.ts index 9bab555..2230264 100644 --- a/index.d.ts +++ b/index.d.ts @@ -65,11 +65,11 @@ interface Whoiser { /** * Get WHOIS data for an AS number * - * @param {string|number} ans + * @param {string|number} asn * @param {Object} options * @returns {Promise<*>} Parsed WHOIS server response */ - ans(ans: string | number, options?: CommonOptions): Promise<any>; + asn(asn: string | number, options?: CommonOptions): Promise<any>; /** * Returns a list of all TLDs, [downloaded from IANA](https://www.iana.org/domains/root/db)