rdapify 0.1.3 → 0.1.6
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/application/client/RDAPClient.d.ts +13 -0
- package/dist/application/client/RDAPClient.d.ts.map +1 -1
- package/dist/application/client/RDAPClient.js +40 -1
- package/dist/application/client/RDAPClient.js.map +1 -1
- package/dist/application/deduplication/QueryDeduplicator.d.ts +20 -0
- package/dist/application/deduplication/QueryDeduplicator.d.ts.map +1 -0
- package/dist/application/deduplication/QueryDeduplicator.js +46 -0
- package/dist/application/deduplication/QueryDeduplicator.js.map +1 -0
- package/dist/application/hooks/MiddlewareHooks.d.ts +48 -0
- package/dist/application/hooks/MiddlewareHooks.d.ts.map +1 -0
- package/dist/application/hooks/MiddlewareHooks.js +46 -0
- package/dist/application/hooks/MiddlewareHooks.js.map +1 -0
- package/dist/application/services/QueryOrchestrator.d.ts +11 -0
- package/dist/application/services/QueryOrchestrator.d.ts.map +1 -1
- package/dist/application/services/QueryOrchestrator.js +254 -38
- package/dist/application/services/QueryOrchestrator.js.map +1 -1
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +227 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index.d.ts +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -2
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/cache/CacheManager.d.ts.map +1 -1
- package/dist/infrastructure/cache/CacheManager.js +8 -1
- package/dist/infrastructure/cache/CacheManager.js.map +1 -1
- package/dist/infrastructure/cache/RedisCache.d.ts +35 -0
- package/dist/infrastructure/cache/RedisCache.d.ts.map +1 -0
- package/dist/infrastructure/cache/RedisCache.js +75 -0
- package/dist/infrastructure/cache/RedisCache.js.map +1 -0
- package/dist/infrastructure/cache/index.d.ts +1 -0
- package/dist/infrastructure/cache/index.d.ts.map +1 -1
- package/dist/infrastructure/cache/index.js +3 -1
- package/dist/infrastructure/cache/index.js.map +1 -1
- package/dist/infrastructure/http/Fetcher.d.ts +2 -0
- package/dist/infrastructure/http/Fetcher.d.ts.map +1 -1
- package/dist/infrastructure/http/Fetcher.js +5 -3
- package/dist/infrastructure/http/Fetcher.js.map +1 -1
- package/dist/infrastructure/logging/AuditLogger.d.ts +114 -0
- package/dist/infrastructure/logging/AuditLogger.d.ts.map +1 -0
- package/dist/infrastructure/logging/AuditLogger.js +195 -0
- package/dist/infrastructure/logging/AuditLogger.js.map +1 -0
- package/dist/infrastructure/logging/Logger.d.ts.map +1 -1
- package/dist/infrastructure/logging/Logger.js +29 -5
- package/dist/infrastructure/logging/Logger.js.map +1 -1
- package/dist/infrastructure/monitoring/MetricsCollector.d.ts +37 -0
- package/dist/infrastructure/monitoring/MetricsCollector.d.ts.map +1 -1
- package/dist/infrastructure/monitoring/MetricsCollector.js +179 -0
- package/dist/infrastructure/monitoring/MetricsCollector.js.map +1 -1
- package/dist/infrastructure/security/PIIRedactor.js +1 -1
- package/dist/infrastructure/security/PIIRedactor.js.map +1 -1
- package/dist/infrastructure/validation/ResponseValidator.d.ts +38 -0
- package/dist/infrastructure/validation/ResponseValidator.d.ts.map +1 -0
- package/dist/infrastructure/validation/ResponseValidator.js +200 -0
- package/dist/infrastructure/validation/ResponseValidator.js.map +1 -0
- package/dist/shared/errors/base.error.d.ts +8 -0
- package/dist/shared/errors/base.error.d.ts.map +1 -1
- package/dist/shared/errors/base.error.js +30 -1
- package/dist/shared/errors/base.error.js.map +1 -1
- package/dist/shared/types/options.d.ts +21 -2
- package/dist/shared/types/options.d.ts.map +1 -1
- package/dist/shared/types/options.js +6 -1
- package/dist/shared/types/options.js.map +1 -1
- package/dist/shared/utils/helpers/index.d.ts +1 -1
- package/dist/shared/utils/helpers/index.d.ts.map +1 -1
- package/dist/shared/utils/helpers/index.js +2 -1
- package/dist/shared/utils/helpers/index.js.map +1 -1
- package/dist/shared/utils/helpers/runtime.d.ts +1 -0
- package/dist/shared/utils/helpers/runtime.d.ts.map +1 -1
- package/dist/shared/utils/helpers/runtime.js +11 -1
- package/dist/shared/utils/helpers/runtime.js.map +1 -1
- package/dist/shared/utils/validators/config-validation.d.ts +3 -0
- package/dist/shared/utils/validators/config-validation.d.ts.map +1 -0
- package/dist/shared/utils/validators/config-validation.js +97 -0
- package/dist/shared/utils/validators/config-validation.js.map +1 -0
- package/dist/shared/utils/validators/index.d.ts +1 -0
- package/dist/shared/utils/validators/index.d.ts.map +1 -1
- package/dist/shared/utils/validators/index.js +3 -1
- package/dist/shared/utils/validators/index.js.map +1 -1
- package/package.json +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.error.js","sourceRoot":"","sources":["../../../src/shared/errors/base.error.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"base.error.js","sourceRoot":"","sources":["../../../src/shared/errors/base.error.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CacheStrategy, LogLevel } from './index';
|
|
2
|
+
import type { RedisClientLike } from '../../infrastructure/cache/RedisCache';
|
|
2
3
|
export type BackoffStrategy = 'linear' | 'exponential' | 'fixed';
|
|
3
4
|
export interface RetryOptions {
|
|
4
5
|
maxAttempts?: number;
|
|
@@ -12,7 +13,9 @@ export interface CacheOptions {
|
|
|
12
13
|
ttl?: number;
|
|
13
14
|
maxSize?: number;
|
|
14
15
|
redisUrl?: string;
|
|
15
|
-
customCache?:
|
|
16
|
+
customCache?: unknown;
|
|
17
|
+
redisClient?: RedisClientLike;
|
|
18
|
+
keyPrefix?: string;
|
|
16
19
|
}
|
|
17
20
|
export interface SSRFProtectionOptions {
|
|
18
21
|
enabled?: boolean;
|
|
@@ -34,13 +37,26 @@ export interface TimeoutOptions {
|
|
|
34
37
|
}
|
|
35
38
|
export interface LoggingOptions {
|
|
36
39
|
level?: LogLevel;
|
|
37
|
-
logger?: (level: LogLevel, message: string, meta?:
|
|
40
|
+
logger?: (level: LogLevel, message: string, meta?: unknown) => void;
|
|
41
|
+
}
|
|
42
|
+
export interface DebugOptions {
|
|
43
|
+
enabled?: boolean;
|
|
44
|
+
logger?: {
|
|
45
|
+
debug: (message: string, metadata?: Record<string, unknown>) => void;
|
|
46
|
+
info: (message: string, metadata?: Record<string, unknown>) => void;
|
|
47
|
+
warn: (message: string, metadata?: Record<string, unknown>) => void;
|
|
48
|
+
error: (message: string, metadata?: Record<string, unknown>) => void;
|
|
49
|
+
};
|
|
38
50
|
}
|
|
39
51
|
export interface RateLimitOptions {
|
|
40
52
|
enabled?: boolean;
|
|
41
53
|
maxRequests?: number;
|
|
42
54
|
windowMs?: number;
|
|
43
55
|
}
|
|
56
|
+
export type MiddlewareHooksConfig = Record<string, ((ctx: unknown) => Promise<void> | void) | undefined>;
|
|
57
|
+
export interface DeduplicationConfig {
|
|
58
|
+
windowMs?: number;
|
|
59
|
+
}
|
|
44
60
|
export interface RDAPClientOptions {
|
|
45
61
|
cache?: boolean | CacheOptions;
|
|
46
62
|
retry?: boolean | RetryOptions;
|
|
@@ -49,12 +65,15 @@ export interface RDAPClientOptions {
|
|
|
49
65
|
timeout?: number | TimeoutOptions;
|
|
50
66
|
logging?: LoggingOptions;
|
|
51
67
|
rateLimit?: boolean | RateLimitOptions;
|
|
68
|
+
debug?: boolean | DebugOptions;
|
|
52
69
|
userAgent?: string;
|
|
53
70
|
includeRaw?: boolean;
|
|
54
71
|
followRedirects?: boolean;
|
|
55
72
|
maxRedirects?: number;
|
|
56
73
|
headers?: Record<string, string>;
|
|
57
74
|
bootstrapUrl?: string;
|
|
75
|
+
middleware?: MiddlewareHooksConfig;
|
|
76
|
+
deduplication?: boolean | DeduplicationConfig;
|
|
58
77
|
}
|
|
59
78
|
export declare const DEFAULT_OPTIONS: Required<RDAPClientOptions>;
|
|
60
79
|
//# sourceMappingURL=options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/shared/types/options.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/shared/types/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,11 +40,16 @@ exports.DEFAULT_OPTIONS = {
|
|
|
40
40
|
maxRequests: 100,
|
|
41
41
|
windowMs: 60000,
|
|
42
42
|
},
|
|
43
|
-
|
|
43
|
+
debug: {
|
|
44
|
+
enabled: false,
|
|
45
|
+
},
|
|
46
|
+
userAgent: 'RDAPify/0.1.4 (https://rdapify.com)',
|
|
44
47
|
includeRaw: false,
|
|
45
48
|
followRedirects: true,
|
|
46
49
|
maxRedirects: 5,
|
|
47
50
|
headers: {},
|
|
48
51
|
bootstrapUrl: 'https://data.iana.org/rdap',
|
|
52
|
+
middleware: {},
|
|
53
|
+
deduplication: false,
|
|
49
54
|
};
|
|
50
55
|
//# sourceMappingURL=options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/shared/types/options.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/shared/types/options.ts"],"names":[],"mappings":";;;AA0Na,QAAA,eAAe,GAAgC;IAC1D,KAAK,EAAE;QACL,QAAQ,EAAE,QAAQ;QAClB,GAAG,EAAE,IAAI;QACT,OAAO,EAAE,IAAI;KACd;IACD,KAAK,EAAE;QACL,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,aAAa;QACtB,oBAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACrD;IACD,cAAc,EAAE;QACd,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;QACpB,cAAc,EAAE,IAAI;QACpB,cAAc,EAAE,EAAE;QAClB,cAAc,EAAE,EAAE;KACnB;IACD,OAAO,EAAE;QACP,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC;QACvC,aAAa,EAAE,YAAY;KAC5B;IACD,OAAO,EAAE;QACP,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,IAAI;KACV;IACD,OAAO,EAAE;QACP,KAAK,EAAE,MAAM;KACd;IACD,SAAS,EAAE;QACT,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,GAAG;QAChB,QAAQ,EAAE,KAAK;KAChB;IACD,KAAK,EAAE;QACL,OAAO,EAAE,KAAK;KACf;IACD,SAAS,EAAE,qCAAqC;IAChD,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,CAAC;IACf,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,4BAA4B;IAC1C,UAAU,EAAE,EAAE;IACd,aAAa,EAAE,KAAK;CACrB,CAAC"}
|
|
@@ -4,5 +4,5 @@ export { isPlainObject, deepMerge } from './object';
|
|
|
4
4
|
export { generateCacheKey } from './cache';
|
|
5
5
|
export { parseRetryAfter } from './http';
|
|
6
6
|
export { formatBytes, formatDuration } from './format';
|
|
7
|
-
export { isNode, isBrowser, isDeno, isBun, getRuntimeName } from './runtime';
|
|
7
|
+
export { isNode, isBrowser, isDeno, isBun, isCloudflareWorkers, getRuntimeName } from './runtime';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/helpers/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/helpers/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getRuntimeName = exports.isBun = exports.isDeno = exports.isBrowser = exports.isNode = exports.formatDuration = exports.formatBytes = exports.parseRetryAfter = exports.generateCacheKey = exports.deepMerge = exports.isPlainObject = exports.truncate = exports.sanitizeUrl = exports.extractTLD = exports.withTimeout = exports.createTimeout = exports.sleep = exports.calculateBackoff = void 0;
|
|
3
|
+
exports.getRuntimeName = exports.isCloudflareWorkers = exports.isBun = exports.isDeno = exports.isBrowser = exports.isNode = exports.formatDuration = exports.formatBytes = exports.parseRetryAfter = exports.generateCacheKey = exports.deepMerge = exports.isPlainObject = exports.truncate = exports.sanitizeUrl = exports.extractTLD = exports.withTimeout = exports.createTimeout = exports.sleep = exports.calculateBackoff = void 0;
|
|
4
4
|
var async_1 = require("./async");
|
|
5
5
|
Object.defineProperty(exports, "calculateBackoff", { enumerable: true, get: function () { return async_1.calculateBackoff; } });
|
|
6
6
|
Object.defineProperty(exports, "sleep", { enumerable: true, get: function () { return async_1.sleep; } });
|
|
@@ -25,5 +25,6 @@ Object.defineProperty(exports, "isNode", { enumerable: true, get: function () {
|
|
|
25
25
|
Object.defineProperty(exports, "isBrowser", { enumerable: true, get: function () { return runtime_1.isBrowser; } });
|
|
26
26
|
Object.defineProperty(exports, "isDeno", { enumerable: true, get: function () { return runtime_1.isDeno; } });
|
|
27
27
|
Object.defineProperty(exports, "isBun", { enumerable: true, get: function () { return runtime_1.isBun; } });
|
|
28
|
+
Object.defineProperty(exports, "isCloudflareWorkers", { enumerable: true, get: function () { return runtime_1.isCloudflareWorkers; } });
|
|
28
29
|
Object.defineProperty(exports, "getRuntimeName", { enumerable: true, get: function () { return runtime_1.getRuntimeName; } });
|
|
29
30
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared/utils/helpers/index.ts"],"names":[],"mappings":";;;AAKA,iCAA8E;AAArE,yGAAA,gBAAgB,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,oGAAA,WAAW,OAAA;AAC5D,mCAA6D;AAApD,oGAAA,UAAU,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAC1C,mCAAoD;AAA3C,uGAAA,aAAa,OAAA;AAAE,mGAAA,SAAS,OAAA;AACjC,iCAA2C;AAAlC,yGAAA,gBAAgB,OAAA;AACzB,+BAAyC;AAAhC,uGAAA,eAAe,OAAA;AACxB,mCAAuD;AAA9C,qGAAA,WAAW,OAAA;AAAE,wGAAA,cAAc,OAAA;AACpC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared/utils/helpers/index.ts"],"names":[],"mappings":";;;AAKA,iCAA8E;AAArE,yGAAA,gBAAgB,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,oGAAA,WAAW,OAAA;AAC5D,mCAA6D;AAApD,oGAAA,UAAU,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAC1C,mCAAoD;AAA3C,uGAAA,aAAa,OAAA;AAAE,mGAAA,SAAS,OAAA;AACjC,iCAA2C;AAAlC,yGAAA,gBAAgB,OAAA;AACzB,+BAAyC;AAAhC,uGAAA,eAAe,OAAA;AACxB,mCAAuD;AAA9C,qGAAA,WAAW,OAAA;AAAE,wGAAA,cAAc,OAAA;AACpC,qCAAkG;AAAzF,iGAAA,MAAM,OAAA;AAAE,oGAAA,SAAS,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,gGAAA,KAAK,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,yGAAA,cAAc,OAAA"}
|
|
@@ -2,5 +2,6 @@ export declare function isNode(): boolean;
|
|
|
2
2
|
export declare function isBrowser(): boolean;
|
|
3
3
|
export declare function isDeno(): boolean;
|
|
4
4
|
export declare function isBun(): boolean;
|
|
5
|
+
export declare function isCloudflareWorkers(): boolean;
|
|
5
6
|
export declare function getRuntimeName(): string;
|
|
6
7
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/helpers/runtime.ts"],"names":[],"mappings":"AAQA,wBAAgB,MAAM,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/helpers/runtime.ts"],"names":[],"mappings":"AAQA,wBAAgB,MAAM,IAAI,OAAO,CAKhC;AAKD,wBAAgB,SAAS,IAAI,OAAO,CAInC;AAKD,wBAAgB,MAAM,IAAI,OAAO,CAEhC;AAKD,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAKD,wBAAgB,mBAAmB,IAAI,OAAO,CAO7C;AAKD,wBAAgB,cAAc,IAAI,MAAM,CAOvC"}
|
|
@@ -4,9 +4,11 @@ exports.isNode = isNode;
|
|
|
4
4
|
exports.isBrowser = isBrowser;
|
|
5
5
|
exports.isDeno = isDeno;
|
|
6
6
|
exports.isBun = isBun;
|
|
7
|
+
exports.isCloudflareWorkers = isCloudflareWorkers;
|
|
7
8
|
exports.getRuntimeName = getRuntimeName;
|
|
8
9
|
function isNode() {
|
|
9
|
-
return (process
|
|
10
|
+
return (typeof process !== 'undefined' &&
|
|
11
|
+
process.versions?.node != null);
|
|
10
12
|
}
|
|
11
13
|
function isBrowser() {
|
|
12
14
|
return typeof globalThis !== 'undefined' &&
|
|
@@ -19,11 +21,19 @@ function isDeno() {
|
|
|
19
21
|
function isBun() {
|
|
20
22
|
return typeof globalThis !== 'undefined' && 'Bun' in globalThis;
|
|
21
23
|
}
|
|
24
|
+
function isCloudflareWorkers() {
|
|
25
|
+
return (typeof globalThis !== 'undefined' &&
|
|
26
|
+
'caches' in globalThis &&
|
|
27
|
+
typeof globalThis.navigator !== 'undefined' &&
|
|
28
|
+
globalThis.navigator?.userAgent === 'Cloudflare-Workers');
|
|
29
|
+
}
|
|
22
30
|
function getRuntimeName() {
|
|
23
31
|
if (isDeno())
|
|
24
32
|
return 'Deno';
|
|
25
33
|
if (isBun())
|
|
26
34
|
return 'Bun';
|
|
35
|
+
if (isCloudflareWorkers())
|
|
36
|
+
return 'Cloudflare Workers';
|
|
27
37
|
if (isNode())
|
|
28
38
|
return 'Node.js';
|
|
29
39
|
if (isBrowser())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/shared/utils/helpers/runtime.ts"],"names":[],"mappings":";;AAQA,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/shared/utils/helpers/runtime.ts"],"names":[],"mappings":";;AAQA,wBAKC;AAKD,8BAIC;AAKD,wBAEC;AAKD,sBAEC;AAKD,kDAOC;AAKD,wCAOC;AApDD,SAAgB,MAAM;IACpB,OAAO,CACL,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAC/B,CAAC;AACJ,CAAC;AAKD,SAAgB,SAAS;IACvB,OAAO,OAAO,UAAU,KAAK,WAAW;QACjC,QAAQ,IAAI,UAAU;QACtB,OAAQ,UAAkB,CAAC,MAAM,KAAK,WAAW,CAAC;AAC3D,CAAC;AAKD,SAAgB,MAAM;IACpB,OAAO,OAAO,UAAU,KAAK,WAAW,IAAI,MAAM,IAAI,UAAU,CAAC;AACnE,CAAC;AAKD,SAAgB,KAAK;IACnB,OAAO,OAAO,UAAU,KAAK,WAAW,IAAI,KAAK,IAAI,UAAU,CAAC;AAClE,CAAC;AAKD,SAAgB,mBAAmB;IACjC,OAAO,CACL,OAAO,UAAU,KAAK,WAAW;QACjC,QAAQ,IAAI,UAAU;QACtB,OAAQ,UAAkB,CAAC,SAAS,KAAK,WAAW;QACnD,UAAkB,CAAC,SAAS,EAAE,SAAS,KAAK,oBAAoB,CAClE,CAAC;AACJ,CAAC;AAKD,SAAgB,cAAc;IAC5B,IAAI,MAAM,EAAE;QAAE,OAAO,MAAM,CAAC;IAC5B,IAAI,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAC1B,IAAI,mBAAmB,EAAE;QAAE,OAAO,oBAAoB,CAAC;IACvD,IAAI,MAAM,EAAE;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,SAAS,EAAE;QAAE,OAAO,SAAS,CAAC;IAClC,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-validation.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/validators/config-validation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CA6GtE"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateClientOptions = validateClientOptions;
|
|
4
|
+
const errors_1 = require("../../errors");
|
|
5
|
+
function validateClientOptions(options) {
|
|
6
|
+
if (options.timeout !== undefined) {
|
|
7
|
+
if (typeof options.timeout === 'number') {
|
|
8
|
+
if (options.timeout < 100 || options.timeout > 60000) {
|
|
9
|
+
throw new errors_1.ValidationError('Timeout must be between 100ms and 60s', {
|
|
10
|
+
field: 'timeout',
|
|
11
|
+
value: options.timeout,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
else if (typeof options.timeout === 'object') {
|
|
16
|
+
const { connect, request, dns } = options.timeout;
|
|
17
|
+
if (connect !== undefined && (connect < 100 || connect > 60000)) {
|
|
18
|
+
throw new errors_1.ValidationError('Connect timeout must be between 100ms and 60s', {
|
|
19
|
+
field: 'timeout.connect',
|
|
20
|
+
value: connect,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
if (request !== undefined && (request < 100 || request > 60000)) {
|
|
24
|
+
throw new errors_1.ValidationError('Request timeout must be between 100ms and 60s', {
|
|
25
|
+
field: 'timeout.request',
|
|
26
|
+
value: request,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (dns !== undefined && (dns < 100 || dns > 60000)) {
|
|
30
|
+
throw new errors_1.ValidationError('DNS timeout must be between 100ms and 60s', {
|
|
31
|
+
field: 'timeout.dns',
|
|
32
|
+
value: dns,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (options.maxRedirects !== undefined) {
|
|
38
|
+
if (options.maxRedirects < 0 || options.maxRedirects > 100) {
|
|
39
|
+
throw new errors_1.ValidationError('maxRedirects must be between 0 and 100', {
|
|
40
|
+
field: 'maxRedirects',
|
|
41
|
+
value: options.maxRedirects,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (options.cache !== undefined && typeof options.cache === 'object') {
|
|
46
|
+
const { ttl, maxSize } = options.cache;
|
|
47
|
+
if (ttl !== undefined && (ttl < 1 || ttl > 86400)) {
|
|
48
|
+
throw new errors_1.ValidationError('Cache TTL must be between 1 and 86400 seconds', {
|
|
49
|
+
field: 'cache.ttl',
|
|
50
|
+
value: ttl,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
if (maxSize !== undefined && (maxSize < 1 || maxSize > 100000)) {
|
|
54
|
+
throw new errors_1.ValidationError('Cache maxSize must be between 1 and 100000', {
|
|
55
|
+
field: 'cache.maxSize',
|
|
56
|
+
value: maxSize,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (options.retry !== undefined && typeof options.retry === 'object') {
|
|
61
|
+
const { maxAttempts, initialDelay, maxDelay } = options.retry;
|
|
62
|
+
if (maxAttempts !== undefined && (maxAttempts < 1 || maxAttempts > 10)) {
|
|
63
|
+
throw new errors_1.ValidationError('maxAttempts must be between 1 and 10', {
|
|
64
|
+
field: 'retry.maxAttempts',
|
|
65
|
+
value: maxAttempts,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
if (initialDelay !== undefined && (initialDelay < 100 || initialDelay > 10000)) {
|
|
69
|
+
throw new errors_1.ValidationError('initialDelay must be between 100ms and 10s', {
|
|
70
|
+
field: 'retry.initialDelay',
|
|
71
|
+
value: initialDelay,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
if (maxDelay !== undefined && (maxDelay < 1000 || maxDelay > 60000)) {
|
|
75
|
+
throw new errors_1.ValidationError('maxDelay must be between 1s and 60s', {
|
|
76
|
+
field: 'retry.maxDelay',
|
|
77
|
+
value: maxDelay,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (options.rateLimit !== undefined && typeof options.rateLimit === 'object') {
|
|
82
|
+
const { maxRequests, windowMs } = options.rateLimit;
|
|
83
|
+
if (maxRequests !== undefined && (maxRequests < 1 || maxRequests > 10000)) {
|
|
84
|
+
throw new errors_1.ValidationError('maxRequests must be between 1 and 10000', {
|
|
85
|
+
field: 'rateLimit.maxRequests',
|
|
86
|
+
value: maxRequests,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
if (windowMs !== undefined && (windowMs < 1000 || windowMs > 3600000)) {
|
|
90
|
+
throw new errors_1.ValidationError('windowMs must be between 1s and 1 hour', {
|
|
91
|
+
field: 'rateLimit.windowMs',
|
|
92
|
+
value: windowMs,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=config-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-validation.js","sourceRoot":"","sources":["../../../../src/shared/utils/validators/config-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,4 +2,5 @@ export { validateDomain, normalizeDomain } from './domain';
|
|
|
2
2
|
export { validateIP, validateIPv4, validateIPv6, normalizeIP } from './ip';
|
|
3
3
|
export { validateASN, normalizeASN } from './asn';
|
|
4
4
|
export { isPrivateIP, isLocalhost, isLinkLocal } from './network';
|
|
5
|
+
export { validateClientOptions } from './config-validation';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/validators/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/validators/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isLinkLocal = exports.isLocalhost = exports.isPrivateIP = exports.normalizeASN = exports.validateASN = exports.normalizeIP = exports.validateIPv6 = exports.validateIPv4 = exports.validateIP = exports.normalizeDomain = exports.validateDomain = void 0;
|
|
3
|
+
exports.validateClientOptions = exports.isLinkLocal = exports.isLocalhost = exports.isPrivateIP = exports.normalizeASN = exports.validateASN = exports.normalizeIP = exports.validateIPv6 = exports.validateIPv4 = exports.validateIP = exports.normalizeDomain = exports.validateDomain = void 0;
|
|
4
4
|
var domain_1 = require("./domain");
|
|
5
5
|
Object.defineProperty(exports, "validateDomain", { enumerable: true, get: function () { return domain_1.validateDomain; } });
|
|
6
6
|
Object.defineProperty(exports, "normalizeDomain", { enumerable: true, get: function () { return domain_1.normalizeDomain; } });
|
|
@@ -16,4 +16,6 @@ var network_1 = require("./network");
|
|
|
16
16
|
Object.defineProperty(exports, "isPrivateIP", { enumerable: true, get: function () { return network_1.isPrivateIP; } });
|
|
17
17
|
Object.defineProperty(exports, "isLocalhost", { enumerable: true, get: function () { return network_1.isLocalhost; } });
|
|
18
18
|
Object.defineProperty(exports, "isLinkLocal", { enumerable: true, get: function () { return network_1.isLinkLocal; } });
|
|
19
|
+
var config_validation_1 = require("./config-validation");
|
|
20
|
+
Object.defineProperty(exports, "validateClientOptions", { enumerable: true, get: function () { return config_validation_1.validateClientOptions; } });
|
|
19
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared/utils/validators/index.ts"],"names":[],"mappings":";;;AAKA,mCAA2D;AAAlD,wGAAA,cAAc,OAAA;AAAE,yGAAA,eAAe,OAAA;AACxC,2BAA2E;AAAlE,gGAAA,UAAU,OAAA;AAAE,kGAAA,YAAY,OAAA;AAAE,kGAAA,YAAY,OAAA;AAAE,iGAAA,WAAW,OAAA;AAC5D,6BAAkD;AAAzC,kGAAA,WAAW,OAAA;AAAE,mGAAA,YAAY,OAAA;AAClC,qCAAkE;AAAzD,sGAAA,WAAW,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,sGAAA,WAAW,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared/utils/validators/index.ts"],"names":[],"mappings":";;;AAKA,mCAA2D;AAAlD,wGAAA,cAAc,OAAA;AAAE,yGAAA,eAAe,OAAA;AACxC,2BAA2E;AAAlE,gGAAA,UAAU,OAAA;AAAE,kGAAA,YAAY,OAAA;AAAE,kGAAA,YAAY,OAAA;AAAE,iGAAA,WAAW,OAAA;AAC5D,6BAAkD;AAAzC,kGAAA,WAAW,OAAA;AAAE,mGAAA,YAAY,OAAA;AAClC,qCAAkE;AAAzD,sGAAA,WAAW,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,sGAAA,WAAW,OAAA;AAG9C,yDAA4D;AAAnD,0HAAA,qBAAqB,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rdapify",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "Unified, secure, high-performance RDAP client for enterprise applications with built-in privacy controls",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -26,6 +26,9 @@
|
|
|
26
26
|
"import": "./dist/shared/utils/validators/index.js"
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
|
+
"bin": {
|
|
30
|
+
"rdapify": "./dist/cli/index.js"
|
|
31
|
+
},
|
|
29
32
|
"sideEffects": false,
|
|
30
33
|
"files": [
|
|
31
34
|
"dist",
|