@cleandns/whois-rdap 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ const eventMap = new Map([
9
9
  ["last changed", "updated"],
10
10
  ["expiration", "expires"],
11
11
  ]);
12
+ whois(process.argv[2]).then((r) => console.log(r));
12
13
  export async function whois(domain, options = { fetch: fetch }) {
13
14
  var _a, _b, _c, _d, _e, _f;
14
15
  const fetch = options.fetch;
@@ -168,6 +169,7 @@ function findTimestamps(values) {
168
169
  for (const [event, field] of eventMap) {
169
170
  const date = events.find((ev) => ev.eventAction === event);
170
171
  if (date === null || date === void 0 ? void 0 : date.eventDate) {
172
+ console.log(date);
171
173
  ts[field] = new Date(date.eventDate);
172
174
  }
173
175
  }
@@ -1,7 +1,7 @@
1
1
  import { normalizeWhoisStatus } from "./whoisStatus.js";
2
2
  export const port43parsers = {
3
3
  rs(response, record) {
4
- response = response.replace(/\r/g, '');
4
+ response = response.replace(/\r/g, "");
5
5
  let m;
6
6
  (m = response.match(/^Registrar:[ \t]*(\S[^\n]*)/m)) &&
7
7
  (record.registrar.name = m[1]);
@@ -21,6 +21,99 @@ export const port43parsers = {
21
21
  record.nameservers.push(m[1].toLowerCase());
22
22
  });
23
23
  },
24
+ nl(response, record) {
25
+ let m;
26
+ (m = response.match(/^Registrar:\s+(\S[^\n]*)/m)) &&
27
+ (record.registrar.name = m[1]);
28
+ (m = response.match(/^Reseller:\s+(\S[^\n]*)/m)) &&
29
+ (record.reseller = m[1]);
30
+ (m = response.match(/^Status:[ \t]*(\S[^\n]+)/m)) &&
31
+ (record.status = [m[1]]);
32
+ (m = response.match(/^Domain nameservers:[ \t]*\n((?:\S+\n)+)/m)) &&
33
+ (record.nameservers = m[1].trim().split(/\s+/));
34
+ (m = response.match(/^Creat\w* Date: (\d\d\d\d-\d\d-\d\d)/m)) &&
35
+ (record.ts.created = new Date(m[1]));
36
+ (m = response.match(/^Updat\w* Date: (\d\d\d\d-\d\d-\d\d)/m)) &&
37
+ (record.ts.updated = new Date(m[1]));
38
+ (m = response.match(/^Expir\w* Date: (\d\d\d\d-\d\d-\d\d)/m)) &&
39
+ (record.ts.expires = new Date(m[1]));
40
+ },
41
+ kr(response, record) {
42
+ let m;
43
+ (m = response.match(/^Authorized Agency\s*: (.*?)(?=\(http|$)/m)) &&
44
+ (record.registrar.name = m[1]);
45
+ // (m = response.match(/^Reseller:\s+(\S[^\n]*)/m)) && (record.reseller = m[1]);
46
+ (m = response.match(/^Domain Status\s*: [ \t]*(\S[^\n]+)/m)) &&
47
+ (record.status = m[1].trim().split(/\s+/));
48
+ (m = response.matchAll(/^Host Name\s*: (\S+)/gm)) &&
49
+ (record.nameservers = [...m].map((t) => t[1]));
50
+ (m = response.match(/^Registered Date\s*: (\d\d\d\d). (\d\d). (\d\d)/m)) &&
51
+ (record.ts.created = new Date(`${m[1]}-${m[2]}-${m[3]}`));
52
+ (m = response.match(/^Last Updated Date\s*: (\d\d\d\d). (\d\d). (\d\d)/m)) && (record.ts.updated = new Date(`${m[1]}-${m[2]}-${m[3]}`));
53
+ (m = response.match(/^Expiration Date\s*: (\d\d\d\d). (\d\d). (\d\d)/m)) &&
54
+ (record.ts.expires = new Date(`${m[1]}-${m[2]}-${m[3]}`));
55
+ },
56
+ tr(response, record) {
57
+ let m;
58
+ (m = response.match(/^Organization Name\s*: (.+)/m)) &&
59
+ (record.registrar.name = m[1]);
60
+ (m = response.match(/^NIC Handle\s*: (.+)/m)) &&
61
+ (record.registrar.id = m[1]);
62
+ // (m = response.match(/^Reseller:\s+(\S[^\n]*)/m)) && (record.reseller = m[1]);
63
+ (m = response.match(/^Domain Status\s*: (\S[^\n]+)/m)) &&
64
+ (record.status = m[1].trim().split(/\s+/));
65
+ (m = response.match(/^\*\* Domain Servers\s*:((?:\n\S+)+)/m)) &&
66
+ (record.nameservers = m[1].trim().split(/\s+/));
67
+ (m = response.match(/^Created on.+: (\d\d\d\d)-(\w\w\w)-(\d\d)/m)) &&
68
+ (record.ts.created = new Date(`${m[2]} ${m[3]}, ${m[1]}`));
69
+ (m = response.match(/^Expires on.+: (\d\d\d\d)-(\w\w\w)-(\d\d)/m)) &&
70
+ (record.ts.expires = new Date(`${m[2]} ${m[3]}, ${m[1]}`));
71
+ },
72
+ be(response, record) {
73
+ let m;
74
+ (m = response.match(/^Registrar:\s*Name:\s+(.+)/m)) &&
75
+ (record.registrar.name = m[1]);
76
+ (m = response.match(/^Status:\s+(.+)/m)) && (record.status = [m[1].trim()]);
77
+ (m = response.match(/^Nameservers\s*:((?:\n\S+)+)/m)) &&
78
+ (record.nameservers = m[1].trim().split(/\s+/));
79
+ (m = response.match(/^Registered:\s+\w\w\w (\w\w\w) (\d\d) (\d\d\d\d)/m)) &&
80
+ (record.ts.created = new Date(`${m[1]} ${m[2]}, ${m[3]}`));
81
+ },
82
+ it(response, record) {
83
+ let m;
84
+ (m = response.match(/^Registrar\s*Organization:\s*(.+)/m)) &&
85
+ (record.registrar.name = m[1]);
86
+ (m = response.match(/^Status:\s*(.+)/m)) &&
87
+ (record.status = m[1].trim().split(/\s+/));
88
+ (m = response.match(/^Created:\s*(\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d)/m)) &&
89
+ (record.ts.created = new Date(m[1]));
90
+ (m = response.match(/^Last Update:\s*(\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d)/m)) && (record.ts.updated = new Date(m[1]));
91
+ (m = response.match(/^Expire Date:\s*(\d\d\d\d-\d\d-\d\d)/m)) &&
92
+ (record.ts.expires = new Date(m[1]));
93
+ (m = response.match(/^Nameservers((?:\n\S+)+)/m)) &&
94
+ (record.nameservers = m[1].trim().split(/\s+/));
95
+ },
96
+ de(response, record) {
97
+ let m;
98
+ // (m = response.match(/^Registrar:\s*(.+)/m)) && (record.registrar.name = m[1]);
99
+ (m = response.match(/^Status:\s*(.+)/m)) &&
100
+ (record.status = m[1].trim().split(/\s+/));
101
+ (m = response.matchAll(/^Nserver: (\S+)/gm)) &&
102
+ (record.nameservers = [...m].map((t) => t[1]));
103
+ // (m = response.match(/^Creation Date:\s*(\d\d\d\d-\d\d-\d\d)/m)) && (record.ts.created = new Date (m[1]));
104
+ (m = response.match(/^Changed: (\d\d\d\d-\d\d-\d\d\S)/m)) &&
105
+ (record.ts.updated = new Date(m[1]));
106
+ // (m = response.match(/^Expiration Date:\s*(\d\d\d\d-\d\d-\d\d)/m)) && (record.ts.expires = new Date (m[1]));
107
+ },
108
+ eu(response, record) {
109
+ let m;
110
+ (m = response.match(/^Registrar:\s*Name:\s*(.+)/m)) &&
111
+ (record.registrar.name = m[1]);
112
+ (m = response.match(/^Reseller:\s*Organisation:\s*(.+)/m)) &&
113
+ (record.reseller = m[1]);
114
+ (m = response.match(/^Name servers:((?:\n\S+)+)/m)) &&
115
+ (record.nameservers = m[1].trim().split(/\s+/));
116
+ },
24
117
  };
25
118
  export const port43servers = {
26
119
  "br.com": "whois.centralnic.net",
@@ -489,7 +582,9 @@ export const port43servers = {
489
582
  be: "whois.dns.be",
490
583
  bf: null,
491
584
  bg: "whois.register.bg",
492
- bh: null,
585
+ bh: "whois.nic.bh",
586
+ "com.bh": "whois.nic.bh",
587
+ "org.bh": "whois.nic.bh",
493
588
  bi: "whois1.nic.bi",
494
589
  bj: "whois.nic.bj",
495
590
  bl: null,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleandns/whois-rdap",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/index.ts CHANGED
@@ -234,7 +234,7 @@ function findTimestamps(values: any[]) {
234
234
  for (const [event, field] of eventMap) {
235
235
  const date = events.find((ev: any) => ev.eventAction === event);
236
236
  if (date?.eventDate) {
237
- ts[field] = new Date(date.eventDate);
237
+ ts[field] = new Date(date.eventDate.replace(/0000Z$/, 'Z'));
238
238
  }
239
239
  }
240
240
 
package/whois.d.ts CHANGED
@@ -13,5 +13,9 @@ export type WhoisResponse = {
13
13
  reseller: string | null;
14
14
  status: string[];
15
15
  nameservers: string[];
16
- ts: Record<WhoisTimestampFields, null | Date>;
16
+ ts: {
17
+ created: Date | null;
18
+ updated: Date | null;
19
+ expires: Date | null;
20
+ }
17
21
  };