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)