rdapify 0.1.0-alpha.4 → 0.1.1

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.
Files changed (214) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/README.md +209 -46
  3. package/dist/{client → application/client}/RDAPClient.d.ts +3 -2
  4. package/dist/application/client/RDAPClient.d.ts.map +1 -0
  5. package/dist/application/client/RDAPClient.js +109 -0
  6. package/dist/application/client/RDAPClient.js.map +1 -0
  7. package/dist/application/client/index.d.ts +2 -0
  8. package/dist/application/client/index.d.ts.map +1 -0
  9. package/dist/application/client/index.js +6 -0
  10. package/dist/application/client/index.js.map +1 -0
  11. package/dist/application/services/QueryOrchestrator.d.ts +23 -0
  12. package/dist/application/services/QueryOrchestrator.d.ts.map +1 -0
  13. package/dist/application/services/QueryOrchestrator.js +59 -0
  14. package/dist/application/services/QueryOrchestrator.js.map +1 -0
  15. package/dist/application/services/index.d.ts +2 -0
  16. package/dist/application/services/index.d.ts.map +1 -0
  17. package/dist/application/services/index.js +6 -0
  18. package/dist/application/services/index.js.map +1 -0
  19. package/dist/core/ports/bootstrap.port.d.ts +8 -0
  20. package/dist/core/ports/bootstrap.port.d.ts.map +1 -0
  21. package/dist/core/ports/bootstrap.port.js +3 -0
  22. package/dist/core/ports/bootstrap.port.js.map +1 -0
  23. package/dist/core/ports/cache.port.d.ts +10 -0
  24. package/dist/core/ports/cache.port.d.ts.map +1 -0
  25. package/dist/core/ports/cache.port.js +3 -0
  26. package/dist/core/ports/cache.port.js.map +1 -0
  27. package/dist/core/ports/fetcher.port.d.ts +5 -0
  28. package/dist/core/ports/fetcher.port.d.ts.map +1 -0
  29. package/dist/core/ports/fetcher.port.js +3 -0
  30. package/dist/core/ports/fetcher.port.js.map +1 -0
  31. package/dist/core/ports/index.d.ts +6 -0
  32. package/dist/core/ports/index.d.ts.map +1 -0
  33. package/dist/core/ports/index.js +9 -0
  34. package/dist/core/ports/index.js.map +1 -0
  35. package/dist/core/ports/normalizer.port.d.ts +5 -0
  36. package/dist/core/ports/normalizer.port.d.ts.map +1 -0
  37. package/dist/core/ports/normalizer.port.js +3 -0
  38. package/dist/core/ports/normalizer.port.js.map +1 -0
  39. package/dist/core/ports/pii-redactor.port.d.ts +6 -0
  40. package/dist/core/ports/pii-redactor.port.d.ts.map +1 -0
  41. package/dist/core/ports/pii-redactor.port.js +3 -0
  42. package/dist/core/ports/pii-redactor.port.js.map +1 -0
  43. package/dist/index.d.ts +8 -8
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +7 -7
  46. package/dist/index.js.map +1 -1
  47. package/dist/{cache → infrastructure/cache}/CacheManager.d.ts +2 -2
  48. package/dist/infrastructure/cache/CacheManager.d.ts.map +1 -0
  49. package/dist/{cache → infrastructure/cache}/CacheManager.js +1 -1
  50. package/dist/infrastructure/cache/CacheManager.js.map +1 -0
  51. package/dist/{cache → infrastructure/cache}/InMemoryCache.d.ts +1 -1
  52. package/dist/infrastructure/cache/InMemoryCache.d.ts.map +1 -0
  53. package/dist/infrastructure/cache/InMemoryCache.js.map +1 -0
  54. package/dist/infrastructure/cache/index.d.ts +3 -0
  55. package/dist/infrastructure/cache/index.d.ts.map +1 -0
  56. package/dist/infrastructure/cache/index.js +8 -0
  57. package/dist/infrastructure/cache/index.js.map +1 -0
  58. package/dist/infrastructure/http/BootstrapDiscovery.d.ts.map +1 -0
  59. package/dist/{fetcher → infrastructure/http}/BootstrapDiscovery.js +2 -2
  60. package/dist/infrastructure/http/BootstrapDiscovery.js.map +1 -0
  61. package/dist/{fetcher → infrastructure/http}/Fetcher.d.ts +3 -3
  62. package/dist/infrastructure/http/Fetcher.d.ts.map +1 -0
  63. package/dist/{fetcher → infrastructure/http}/Fetcher.js +2 -2
  64. package/dist/infrastructure/http/Fetcher.js.map +1 -0
  65. package/dist/{normalizer → infrastructure/http}/Normalizer.d.ts +1 -1
  66. package/dist/infrastructure/http/Normalizer.d.ts.map +1 -0
  67. package/dist/{normalizer → infrastructure/http}/Normalizer.js +1 -1
  68. package/dist/infrastructure/http/Normalizer.js.map +1 -0
  69. package/dist/infrastructure/http/index.d.ts +4 -0
  70. package/dist/infrastructure/http/index.d.ts.map +1 -0
  71. package/dist/infrastructure/http/index.js +10 -0
  72. package/dist/infrastructure/http/index.js.map +1 -0
  73. package/dist/{normalizer → infrastructure/security}/PIIRedactor.d.ts +2 -2
  74. package/dist/infrastructure/security/PIIRedactor.d.ts.map +1 -0
  75. package/dist/infrastructure/security/PIIRedactor.js.map +1 -0
  76. package/dist/{fetcher → infrastructure/security}/SSRFProtection.d.ts +1 -1
  77. package/dist/infrastructure/security/SSRFProtection.d.ts.map +1 -0
  78. package/dist/{fetcher → infrastructure/security}/SSRFProtection.js +2 -2
  79. package/dist/infrastructure/security/SSRFProtection.js.map +1 -0
  80. package/dist/infrastructure/security/index.d.ts +3 -0
  81. package/dist/infrastructure/security/index.d.ts.map +1 -0
  82. package/dist/infrastructure/security/index.js +8 -0
  83. package/dist/infrastructure/security/index.js.map +1 -0
  84. package/dist/shared/constants/http.constants.d.ts +26 -0
  85. package/dist/shared/constants/http.constants.d.ts.map +1 -0
  86. package/dist/shared/constants/http.constants.js +29 -0
  87. package/dist/shared/constants/http.constants.js.map +1 -0
  88. package/dist/shared/constants/index.d.ts +3 -0
  89. package/dist/shared/constants/index.d.ts.map +1 -0
  90. package/dist/shared/constants/index.js +6 -0
  91. package/dist/shared/constants/index.js.map +1 -0
  92. package/dist/shared/constants/rdap.constants.d.ts +9 -0
  93. package/dist/shared/constants/rdap.constants.d.ts.map +1 -0
  94. package/dist/shared/constants/rdap.constants.js +21 -0
  95. package/dist/shared/constants/rdap.constants.js.map +1 -0
  96. package/dist/shared/errors/base.error.d.ts +39 -0
  97. package/dist/shared/errors/base.error.d.ts.map +1 -0
  98. package/dist/shared/errors/base.error.js +91 -0
  99. package/dist/shared/errors/base.error.js.map +1 -0
  100. package/dist/shared/errors/index.d.ts +2 -0
  101. package/dist/shared/errors/index.d.ts.map +1 -0
  102. package/dist/shared/errors/index.js +5 -0
  103. package/dist/shared/errors/index.js.map +1 -0
  104. package/dist/shared/types/entities.d.ts +50 -0
  105. package/dist/shared/types/entities.d.ts.map +1 -0
  106. package/dist/shared/types/entities.js +3 -0
  107. package/dist/shared/types/entities.js.map +1 -0
  108. package/dist/shared/types/enums.d.ts +10 -0
  109. package/dist/shared/types/enums.d.ts.map +1 -0
  110. package/dist/shared/types/enums.js +3 -0
  111. package/dist/shared/types/enums.js.map +1 -0
  112. package/dist/shared/types/errors.d.ts.map +1 -0
  113. package/dist/shared/types/errors.js.map +1 -0
  114. package/dist/shared/types/index.d.ts +4 -0
  115. package/dist/shared/types/index.d.ts.map +1 -0
  116. package/dist/{types → shared/types}/index.js.map +1 -1
  117. package/dist/shared/types/options.d.ts.map +1 -0
  118. package/dist/shared/types/options.js.map +1 -0
  119. package/dist/shared/types/responses.d.ts +76 -0
  120. package/dist/shared/types/responses.d.ts.map +1 -0
  121. package/dist/shared/types/responses.js +3 -0
  122. package/dist/shared/types/responses.js.map +1 -0
  123. package/dist/shared/utils/helpers/async.d.ts +9 -0
  124. package/dist/shared/utils/helpers/async.d.ts.map +1 -0
  125. package/dist/shared/utils/helpers/async.js +47 -0
  126. package/dist/shared/utils/helpers/async.js.map +1 -0
  127. package/dist/shared/utils/helpers/cache.d.ts +2 -0
  128. package/dist/shared/utils/helpers/cache.d.ts.map +1 -0
  129. package/dist/shared/utils/helpers/cache.js +7 -0
  130. package/dist/shared/utils/helpers/cache.js.map +1 -0
  131. package/dist/shared/utils/helpers/format.d.ts +3 -0
  132. package/dist/shared/utils/helpers/format.d.ts.map +1 -0
  133. package/dist/shared/utils/helpers/format.js +22 -0
  134. package/dist/shared/utils/helpers/format.js.map +1 -0
  135. package/dist/shared/utils/helpers/http.d.ts +2 -0
  136. package/dist/shared/utils/helpers/http.d.ts.map +1 -0
  137. package/dist/shared/utils/helpers/http.js +17 -0
  138. package/dist/shared/utils/helpers/http.js.map +1 -0
  139. package/dist/shared/utils/helpers/index.d.ts +8 -0
  140. package/dist/shared/utils/helpers/index.d.ts.map +1 -0
  141. package/dist/shared/utils/helpers/index.js +29 -0
  142. package/dist/shared/utils/helpers/index.js.map +1 -0
  143. package/dist/shared/utils/helpers/object.d.ts +3 -0
  144. package/dist/shared/utils/helpers/object.d.ts.map +1 -0
  145. package/dist/shared/utils/helpers/object.js +24 -0
  146. package/dist/shared/utils/helpers/object.js.map +1 -0
  147. package/dist/shared/utils/helpers/runtime.d.ts +6 -0
  148. package/dist/shared/utils/helpers/runtime.d.ts.map +1 -0
  149. package/dist/shared/utils/helpers/runtime.js +33 -0
  150. package/dist/shared/utils/helpers/runtime.js.map +1 -0
  151. package/dist/shared/utils/helpers/string.d.ts +4 -0
  152. package/dist/shared/utils/helpers/string.d.ts.map +1 -0
  153. package/dist/shared/utils/helpers/string.js +29 -0
  154. package/dist/shared/utils/helpers/string.js.map +1 -0
  155. package/dist/shared/utils/validators/asn.d.ts +3 -0
  156. package/dist/shared/utils/validators/asn.d.ts.map +1 -0
  157. package/dist/shared/utils/validators/asn.js +30 -0
  158. package/dist/shared/utils/validators/asn.js.map +1 -0
  159. package/dist/shared/utils/validators/domain.d.ts +3 -0
  160. package/dist/shared/utils/validators/domain.d.ts.map +1 -0
  161. package/dist/shared/utils/validators/domain.js +34 -0
  162. package/dist/shared/utils/validators/domain.js.map +1 -0
  163. package/dist/shared/utils/validators/index.d.ts +5 -0
  164. package/dist/shared/utils/validators/index.d.ts.map +1 -0
  165. package/dist/shared/utils/validators/index.js +19 -0
  166. package/dist/shared/utils/validators/index.js.map +1 -0
  167. package/dist/shared/utils/validators/ip.d.ts +5 -0
  168. package/dist/shared/utils/validators/ip.d.ts.map +1 -0
  169. package/dist/shared/utils/validators/ip.js +55 -0
  170. package/dist/shared/utils/validators/ip.js.map +1 -0
  171. package/dist/shared/utils/validators/network.d.ts +4 -0
  172. package/dist/shared/utils/validators/network.d.ts.map +1 -0
  173. package/dist/shared/utils/validators/network.js +48 -0
  174. package/dist/shared/utils/validators/network.js.map +1 -0
  175. package/package.json +11 -7
  176. package/dist/cache/CacheManager.d.ts.map +0 -1
  177. package/dist/cache/CacheManager.js.map +0 -1
  178. package/dist/cache/InMemoryCache.d.ts.map +0 -1
  179. package/dist/cache/InMemoryCache.js.map +0 -1
  180. package/dist/client/RDAPClient.d.ts.map +0 -1
  181. package/dist/client/RDAPClient.js +0 -138
  182. package/dist/client/RDAPClient.js.map +0 -1
  183. package/dist/fetcher/BootstrapDiscovery.d.ts.map +0 -1
  184. package/dist/fetcher/BootstrapDiscovery.js.map +0 -1
  185. package/dist/fetcher/Fetcher.d.ts.map +0 -1
  186. package/dist/fetcher/Fetcher.js.map +0 -1
  187. package/dist/fetcher/SSRFProtection.d.ts.map +0 -1
  188. package/dist/fetcher/SSRFProtection.js.map +0 -1
  189. package/dist/normalizer/Normalizer.d.ts.map +0 -1
  190. package/dist/normalizer/Normalizer.js.map +0 -1
  191. package/dist/normalizer/PIIRedactor.d.ts.map +0 -1
  192. package/dist/normalizer/PIIRedactor.js.map +0 -1
  193. package/dist/types/errors.d.ts.map +0 -1
  194. package/dist/types/errors.js.map +0 -1
  195. package/dist/types/index.d.ts +0 -131
  196. package/dist/types/index.d.ts.map +0 -1
  197. package/dist/types/options.d.ts.map +0 -1
  198. package/dist/types/options.js.map +0 -1
  199. package/dist/utils/helpers.d.ts +0 -23
  200. package/dist/utils/helpers.d.ts.map +0 -1
  201. package/dist/utils/helpers.js +0 -161
  202. package/dist/utils/helpers.js.map +0 -1
  203. package/dist/utils/validators.d.ts +0 -12
  204. package/dist/utils/validators.d.ts.map +0 -1
  205. package/dist/utils/validators.js +0 -156
  206. package/dist/utils/validators.js.map +0 -1
  207. /package/dist/{cache → infrastructure/cache}/InMemoryCache.js +0 -0
  208. /package/dist/{fetcher → infrastructure/http}/BootstrapDiscovery.d.ts +0 -0
  209. /package/dist/{normalizer → infrastructure/security}/PIIRedactor.js +0 -0
  210. /package/dist/{types → shared/types}/errors.d.ts +0 -0
  211. /package/dist/{types → shared/types}/errors.js +0 -0
  212. /package/dist/{types → shared/types}/index.js +0 -0
  213. /package/dist/{types → shared/types}/options.d.ts +0 -0
  214. /package/dist/{types → shared/types}/options.js +0 -0
@@ -1,156 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateDomain = validateDomain;
4
- exports.validateIPv4 = validateIPv4;
5
- exports.validateIPv6 = validateIPv6;
6
- exports.validateIP = validateIP;
7
- exports.validateASN = validateASN;
8
- exports.isPrivateIP = isPrivateIP;
9
- exports.isLocalhost = isLocalhost;
10
- exports.isLinkLocal = isLinkLocal;
11
- exports.normalizeDomain = normalizeDomain;
12
- exports.normalizeIP = normalizeIP;
13
- exports.normalizeASN = normalizeASN;
14
- const errors_1 = require("../types/errors");
15
- function validateDomain(domain) {
16
- if (!domain || typeof domain !== 'string') {
17
- throw new errors_1.ValidationError('Domain must be a non-empty string');
18
- }
19
- const trimmed = domain.trim().toLowerCase();
20
- if (trimmed.length === 0) {
21
- throw new errors_1.ValidationError('Domain cannot be empty');
22
- }
23
- if (trimmed.length > 253) {
24
- throw new errors_1.ValidationError('Domain name too long (max 253 characters)');
25
- }
26
- const domainRegex = /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/i;
27
- if (!domainRegex.test(trimmed)) {
28
- throw new errors_1.ValidationError(`Invalid domain format: ${domain}`);
29
- }
30
- if (/[^a-z0-9.-]/i.test(trimmed)) {
31
- throw new errors_1.ValidationError(`Domain contains invalid characters: ${domain}`);
32
- }
33
- if (/\.\./.test(trimmed)) {
34
- throw new errors_1.ValidationError(`Domain contains consecutive dots: ${domain}`);
35
- }
36
- if (/^[.-]|[.-]$/.test(trimmed)) {
37
- throw new errors_1.ValidationError(`Domain cannot start or end with dot or hyphen: ${domain}`);
38
- }
39
- }
40
- function validateIPv4(ip) {
41
- if (!ip || typeof ip !== 'string') {
42
- throw new errors_1.ValidationError('IP address must be a non-empty string');
43
- }
44
- const trimmed = ip.trim();
45
- const parts = trimmed.split('.');
46
- if (parts.length !== 4) {
47
- throw new errors_1.ValidationError(`Invalid IPv4 format: ${ip}`);
48
- }
49
- for (const part of parts) {
50
- const num = parseInt(part, 10);
51
- if (isNaN(num) || num < 0 || num > 255) {
52
- throw new errors_1.ValidationError(`Invalid IPv4 octet: ${part} in ${ip}`);
53
- }
54
- if (part.length > 1 && part[0] === '0') {
55
- throw new errors_1.ValidationError(`IPv4 octet cannot have leading zeros: ${part} in ${ip}`);
56
- }
57
- }
58
- }
59
- function validateIPv6(ip) {
60
- if (!ip || typeof ip !== 'string') {
61
- throw new errors_1.ValidationError('IP address must be a non-empty string');
62
- }
63
- const trimmed = ip.trim().toLowerCase();
64
- const ipv6Regex = /^(([0-9a-f]{1,4}:){7}[0-9a-f]{1,4}|([0-9a-f]{1,4}:){1,7}:|([0-9a-f]{1,4}:){1,6}:[0-9a-f]{1,4}|([0-9a-f]{1,4}:){1,5}(:[0-9a-f]{1,4}){1,2}|([0-9a-f]{1,4}:){1,4}(:[0-9a-f]{1,4}){1,3}|([0-9a-f]{1,4}:){1,3}(:[0-9a-f]{1,4}){1,4}|([0-9a-f]{1,4}:){1,2}(:[0-9a-f]{1,4}){1,5}|[0-9a-f]{1,4}:((:[0-9a-f]{1,4}){1,6})|:((:[0-9a-f]{1,4}){1,7}|:)|fe80:(:[0-9a-f]{0,4}){0,4}%[0-9a-z]+|::(ffff(:0{1,4})?:)?((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])|([0-9a-f]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9]))$/;
65
- if (!ipv6Regex.test(trimmed)) {
66
- throw new errors_1.ValidationError(`Invalid IPv6 format: ${ip}`);
67
- }
68
- }
69
- function validateIP(ip) {
70
- if (!ip || typeof ip !== 'string') {
71
- throw new errors_1.ValidationError('IP address must be a non-empty string');
72
- }
73
- const trimmed = ip.trim();
74
- if (trimmed.includes('.')) {
75
- validateIPv4(trimmed);
76
- return 'v4';
77
- }
78
- if (trimmed.includes(':')) {
79
- validateIPv6(trimmed);
80
- return 'v6';
81
- }
82
- throw new errors_1.ValidationError(`Invalid IP address format: ${ip}`);
83
- }
84
- function validateASN(asn) {
85
- let asnNumber;
86
- if (typeof asn === 'string') {
87
- const cleaned = asn.trim().replace(/^AS/i, '');
88
- asnNumber = parseInt(cleaned, 10);
89
- }
90
- else if (typeof asn === 'number') {
91
- asnNumber = asn;
92
- }
93
- else {
94
- throw new errors_1.ValidationError('ASN must be a string or number');
95
- }
96
- if (isNaN(asnNumber)) {
97
- throw new errors_1.ValidationError(`Invalid ASN format: ${asn}`);
98
- }
99
- if (asnNumber < 0 || asnNumber > 4294967295) {
100
- throw new errors_1.ValidationError(`ASN out of valid range (0-4294967295): ${asnNumber}`);
101
- }
102
- return asnNumber;
103
- }
104
- function isPrivateIP(ip) {
105
- const trimmed = ip.trim();
106
- if (trimmed.includes('.')) {
107
- const parts = trimmed.split('.').map((p) => parseInt(p, 10));
108
- if (parts[0] === 10)
109
- return true;
110
- const part1 = parts[1];
111
- if (parts[0] === 172 && part1 !== undefined && part1 >= 16 && part1 <= 31)
112
- return true;
113
- if (parts[0] === 192 && parts[1] === 168)
114
- return true;
115
- return false;
116
- }
117
- if (trimmed.includes(':')) {
118
- const lower = trimmed.toLowerCase();
119
- if (lower.startsWith('fc') || lower.startsWith('fd'))
120
- return true;
121
- if (lower.startsWith('fe80:'))
122
- return true;
123
- return false;
124
- }
125
- return false;
126
- }
127
- function isLocalhost(ip) {
128
- const trimmed = ip.trim().toLowerCase();
129
- if (trimmed === '127.0.0.1' || trimmed.startsWith('127.'))
130
- return true;
131
- if (trimmed === '::1' || trimmed === '0:0:0:0:0:0:0:1')
132
- return true;
133
- return false;
134
- }
135
- function isLinkLocal(ip) {
136
- const trimmed = ip.trim();
137
- if (trimmed.includes('.')) {
138
- const parts = trimmed.split('.').map((p) => parseInt(p, 10));
139
- if (parts[0] === 169 && parts[1] === 254)
140
- return true;
141
- }
142
- if (trimmed.toLowerCase().startsWith('fe80:'))
143
- return true;
144
- return false;
145
- }
146
- function normalizeDomain(domain) {
147
- return domain.trim().toLowerCase().replace(/\.$/, '');
148
- }
149
- function normalizeIP(ip) {
150
- return ip.trim().toLowerCase();
151
- }
152
- function normalizeASN(asn) {
153
- const asnNumber = validateASN(asn);
154
- return `AS${asnNumber}`;
155
- }
156
- //# sourceMappingURL=validators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes