rdapify 0.1.7 → 0.1.9

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 (99) hide show
  1. package/CHANGELOG.md +135 -6
  2. package/README.md +50 -31
  3. package/dist/application/client/RDAPClient.d.ts +7 -1
  4. package/dist/application/client/RDAPClient.d.ts.map +1 -1
  5. package/dist/application/client/RDAPClient.js +101 -24
  6. package/dist/application/client/RDAPClient.js.map +1 -1
  7. package/dist/application/hooks/MiddlewareHooks.d.ts +4 -2
  8. package/dist/application/hooks/MiddlewareHooks.d.ts.map +1 -1
  9. package/dist/application/hooks/MiddlewareHooks.js +41 -3
  10. package/dist/application/hooks/MiddlewareHooks.js.map +1 -1
  11. package/dist/application/services/BatchProcessor.d.ts +6 -0
  12. package/dist/application/services/BatchProcessor.d.ts.map +1 -1
  13. package/dist/application/services/BatchProcessor.js +54 -2
  14. package/dist/application/services/BatchProcessor.js.map +1 -1
  15. package/dist/application/services/QueryOrchestrator.d.ts +3 -2
  16. package/dist/application/services/QueryOrchestrator.d.ts.map +1 -1
  17. package/dist/application/services/QueryOrchestrator.js +16 -5
  18. package/dist/application/services/QueryOrchestrator.js.map +1 -1
  19. package/dist/index.d.ts +28 -3
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +35 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/infrastructure/cache/RedisCache.d.ts +10 -0
  24. package/dist/infrastructure/cache/RedisCache.d.ts.map +1 -1
  25. package/dist/infrastructure/cache/RedisCache.js +37 -1
  26. package/dist/infrastructure/cache/RedisCache.js.map +1 -1
  27. package/dist/infrastructure/http/BootstrapDiscovery.d.ts +6 -3
  28. package/dist/infrastructure/http/BootstrapDiscovery.d.ts.map +1 -1
  29. package/dist/infrastructure/http/BootstrapDiscovery.js +55 -12
  30. package/dist/infrastructure/http/BootstrapDiscovery.js.map +1 -1
  31. package/dist/infrastructure/http/BrowserFetcher.d.ts +16 -0
  32. package/dist/infrastructure/http/BrowserFetcher.d.ts.map +1 -0
  33. package/dist/infrastructure/http/BrowserFetcher.js +47 -0
  34. package/dist/infrastructure/http/BrowserFetcher.js.map +1 -0
  35. package/dist/infrastructure/http/BunFetcher.d.ts +19 -0
  36. package/dist/infrastructure/http/BunFetcher.d.ts.map +1 -0
  37. package/dist/infrastructure/http/BunFetcher.js +51 -0
  38. package/dist/infrastructure/http/BunFetcher.js.map +1 -0
  39. package/dist/infrastructure/http/CircuitBreaker.d.ts +33 -0
  40. package/dist/infrastructure/http/CircuitBreaker.d.ts.map +1 -0
  41. package/dist/infrastructure/http/CircuitBreaker.js +104 -0
  42. package/dist/infrastructure/http/CircuitBreaker.js.map +1 -0
  43. package/dist/infrastructure/http/CloudflareWorkersFetcher.d.ts +18 -0
  44. package/dist/infrastructure/http/CloudflareWorkersFetcher.d.ts.map +1 -0
  45. package/dist/infrastructure/http/CloudflareWorkersFetcher.js +44 -0
  46. package/dist/infrastructure/http/CloudflareWorkersFetcher.js.map +1 -0
  47. package/dist/infrastructure/http/DenoFetcher.d.ts +18 -0
  48. package/dist/infrastructure/http/DenoFetcher.d.ts.map +1 -0
  49. package/dist/infrastructure/http/DenoFetcher.js +43 -0
  50. package/dist/infrastructure/http/DenoFetcher.js.map +1 -0
  51. package/dist/infrastructure/http/Fetcher.d.ts +2 -0
  52. package/dist/infrastructure/http/Fetcher.d.ts.map +1 -1
  53. package/dist/infrastructure/http/Fetcher.js +5 -0
  54. package/dist/infrastructure/http/Fetcher.js.map +1 -1
  55. package/dist/infrastructure/monitoring/GrafanaDashboard.d.ts +571 -0
  56. package/dist/infrastructure/monitoring/GrafanaDashboard.d.ts.map +1 -0
  57. package/dist/infrastructure/monitoring/GrafanaDashboard.js +119 -0
  58. package/dist/infrastructure/monitoring/GrafanaDashboard.js.map +1 -0
  59. package/dist/infrastructure/monitoring/PrometheusExporter.d.ts +20 -0
  60. package/dist/infrastructure/monitoring/PrometheusExporter.d.ts.map +1 -0
  61. package/dist/infrastructure/monitoring/PrometheusExporter.js +77 -0
  62. package/dist/infrastructure/monitoring/PrometheusExporter.js.map +1 -0
  63. package/dist/infrastructure/monitoring/TelemetryExporter.d.ts +42 -0
  64. package/dist/infrastructure/monitoring/TelemetryExporter.d.ts.map +1 -0
  65. package/dist/infrastructure/monitoring/TelemetryExporter.js +117 -0
  66. package/dist/infrastructure/monitoring/TelemetryExporter.js.map +1 -0
  67. package/dist/infrastructure/native/NativeBackend.d.ts +13 -0
  68. package/dist/infrastructure/native/NativeBackend.d.ts.map +1 -0
  69. package/dist/infrastructure/native/NativeBackend.js +92 -0
  70. package/dist/infrastructure/native/NativeBackend.js.map +1 -0
  71. package/dist/integrations/express.d.ts +23 -0
  72. package/dist/integrations/express.d.ts.map +1 -0
  73. package/dist/integrations/express.js +49 -0
  74. package/dist/integrations/express.js.map +1 -0
  75. package/dist/integrations/graphql.d.ts +20 -0
  76. package/dist/integrations/graphql.d.ts.map +1 -0
  77. package/dist/integrations/graphql.js +85 -0
  78. package/dist/integrations/graphql.js.map +1 -0
  79. package/dist/integrations/nestjs.d.ts +18 -0
  80. package/dist/integrations/nestjs.d.ts.map +1 -0
  81. package/dist/integrations/nestjs.js +29 -0
  82. package/dist/integrations/nestjs.js.map +1 -0
  83. package/dist/shared/errors/base.error.d.ts +3 -0
  84. package/dist/shared/errors/base.error.d.ts.map +1 -1
  85. package/dist/shared/errors/base.error.js +7 -1
  86. package/dist/shared/errors/base.error.js.map +1 -1
  87. package/dist/shared/types/index.d.ts +1 -1
  88. package/dist/shared/types/index.d.ts.map +1 -1
  89. package/dist/shared/types/options.d.ts +20 -0
  90. package/dist/shared/types/options.d.ts.map +1 -1
  91. package/dist/shared/types/options.js +11 -1
  92. package/dist/shared/types/options.js.map +1 -1
  93. package/dist/shared/types/responses.d.ts +5 -0
  94. package/dist/shared/types/responses.d.ts.map +1 -1
  95. package/dist/shared/utils/deprecation.d.ts +3 -0
  96. package/dist/shared/utils/deprecation.d.ts.map +1 -0
  97. package/dist/shared/utils/deprecation.js +25 -0
  98. package/dist/shared/utils/deprecation.js.map +1 -0
  99. package/package.json +23 -1
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MiddlewareManager = void 0;
4
4
  class MiddlewareManager {
5
5
  constructor(hooks) {
6
+ this.priorityEntries = [];
6
7
  this.hooks = hooks ?? {};
7
8
  }
8
9
  async safeRun(fn, ctx) {
@@ -15,28 +16,65 @@ class MiddlewareManager {
15
16
  }
16
17
  }
17
18
  async runBeforeQuery(ctx) {
18
- await this.safeRun(this.hooks.beforeQuery, ctx);
19
+ let aborted = false;
20
+ const enrichedCtx = {
21
+ ...ctx,
22
+ abort: () => {
23
+ aborted = true;
24
+ },
25
+ };
26
+ for (const entry of this.priorityEntries) {
27
+ if (entry.hooks.beforeQuery) {
28
+ await this.safeRun(entry.hooks.beforeQuery, enrichedCtx);
29
+ if (aborted)
30
+ return true;
31
+ }
32
+ }
33
+ await this.safeRun(this.hooks.beforeQuery, enrichedCtx);
34
+ return aborted;
19
35
  }
20
36
  async runAfterQuery(ctx) {
37
+ for (const entry of this.priorityEntries) {
38
+ await this.safeRun(entry.hooks.afterQuery, ctx);
39
+ }
21
40
  await this.safeRun(this.hooks.afterQuery, ctx);
22
41
  }
23
42
  async runOnError(ctx) {
43
+ for (const entry of this.priorityEntries) {
44
+ await this.safeRun(entry.hooks.onError, ctx);
45
+ }
24
46
  await this.safeRun(this.hooks.onError, ctx);
25
47
  }
26
48
  async runOnCacheHit(ctx) {
49
+ for (const entry of this.priorityEntries) {
50
+ await this.safeRun(entry.hooks.onCacheHit, ctx);
51
+ }
27
52
  await this.safeRun(this.hooks.onCacheHit, ctx);
28
53
  }
29
54
  async runOnCacheMiss(ctx) {
55
+ for (const entry of this.priorityEntries) {
56
+ await this.safeRun(entry.hooks.onCacheMiss, ctx);
57
+ }
30
58
  await this.safeRun(this.hooks.onCacheMiss, ctx);
31
59
  }
32
60
  async runOnRetry(ctx) {
61
+ for (const entry of this.priorityEntries) {
62
+ await this.safeRun(entry.hooks.onRetry, ctx);
63
+ }
33
64
  await this.safeRun(this.hooks.onRetry, ctx);
34
65
  }
35
- use(hooks) {
36
- this.hooks = { ...this.hooks, ...hooks };
66
+ use(hooks, priority) {
67
+ if (priority !== undefined) {
68
+ this.priorityEntries.push({ priority, hooks });
69
+ this.priorityEntries.sort((a, b) => a.priority - b.priority);
70
+ }
71
+ else {
72
+ this.hooks = { ...this.hooks, ...hooks };
73
+ }
37
74
  }
38
75
  clear() {
39
76
  this.hooks = {};
77
+ this.priorityEntries = [];
40
78
  }
41
79
  getRegisteredHooks() {
42
80
  return Object.keys(this.hooks).filter((k) => this.hooks[k] !== undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"MiddlewareHooks.js","sourceRoot":"","sources":["../../../src/application/hooks/MiddlewareHooks.ts"],"names":[],"mappings":";;;AA2DA,MAAa,iBAAiB;IAG5B,YAAY,KAAyB;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;IAC3B,CAAC;IAIO,KAAK,CAAC,OAAO,CACnB,EAAyB,EACzB,GAAM;QAEN,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAID,KAAK,CAAC,cAAc,CAAC,GAAiB;QACpC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAuB;QACzC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAuB;QACtC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAiB;QACnC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAiB;QACpC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU,CACd,GAAsD;QAEtD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAQD,GAAG,CAAC,KAAiC;QACnC,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;IAC3C,CAAC;IAGD,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAGD,kBAAkB;QAChB,OAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAoC,CAAC,MAAM,CACvE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CACnC,CAAC;IACJ,CAAC;CACF;AAtED,8CAsEC"}
1
+ {"version":3,"file":"MiddlewareHooks.js","sourceRoot":"","sources":["../../../src/application/hooks/MiddlewareHooks.ts"],"names":[],"mappings":";;;AA4EA,MAAa,iBAAiB;IAI5B,YAAY,KAAyB;QAF7B,oBAAe,GAAoB,EAAE,CAAC;QAG5C,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;IAC3B,CAAC;IAIO,KAAK,CAAC,OAAO,CACnB,EAAyB,EACzB,GAAM;QAEN,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAWD,KAAK,CAAC,cAAc,CAAC,GAAiB;QACpC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,WAAW,GAAiB;YAChC,GAAG,GAAG;YACN,KAAK,EAAE,GAAG,EAAE;gBACV,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;SACF,CAAC;QAGF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzC,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBACzD,IAAI,OAAO;oBAAE,OAAO,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;QAGD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAuB;QACzC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAuB;QACtC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAiB;QACnC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAiB;QACpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU,CACd,GAAsD;QAEtD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAaD,GAAG,CAAC,KAAiC,EAAE,QAAiB;QACtD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IAGD,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC5B,CAAC;IAGD,kBAAkB;QAChB,OAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAoC,CAAC,MAAM,CACvE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CACnC,CAAC;IACJ,CAAC;CACF;AA1HD,8CA0HC"}
@@ -11,11 +11,17 @@ export interface BatchOptions {
11
11
  continueOnError?: boolean;
12
12
  timeout?: number;
13
13
  }
14
+ export interface StreamBatchOptions {
15
+ concurrency?: number;
16
+ continueOnError?: boolean;
17
+ }
14
18
  export declare class BatchProcessor {
15
19
  private readonly client;
16
20
  constructor(client: RDAPClient);
17
21
  processBatch<T extends QueryTypeLiteral>(requests: BatchQueryRequest<T>[], options?: BatchOptions): Promise<BatchQueryResult<T>[]>;
18
22
  processBatchWithTimeout<T extends QueryTypeLiteral>(requests: BatchQueryRequest<T>[], timeoutMs: number, options?: Omit<BatchOptions, 'timeout'>): Promise<BatchQueryResult<T>[]>;
23
+ private executeOne;
24
+ streamBatch<T extends QueryTypeLiteral>(requests: BatchQueryRequest<T>[], options?: StreamBatchOptions): AsyncGenerator<BatchQueryResult<T>, void, unknown>;
19
25
  analyzeBatchResults<T extends QueryTypeLiteral>(results: BatchQueryResult<T>[]): {
20
26
  total: number;
21
27
  successful: number;
@@ -1 +1 @@
1
- {"version":3,"file":"BatchProcessor.d.ts","sourceRoot":"","sources":["../../../src/application/services/BatchProcessor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAe,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAKnG,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IAC9E,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,MAAM,WAAW,YAAY;IAE3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;gBAExB,MAAM,EAAE,UAAU;IAOxB,YAAY,CAAC,CAAC,SAAS,gBAAgB,EAC3C,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAChC,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAwF3B,uBAAuB,CAAC,CAAC,SAAS,gBAAgB,EACtD,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAM,GAC1C,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAYjC,mBAAmB,CAAC,CAAC,SAAS,gBAAgB,EAC5C,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAC7B;QACD,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB;CAeF"}
1
+ {"version":3,"file":"BatchProcessor.d.ts","sourceRoot":"","sources":["../../../src/application/services/BatchProcessor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAe,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAKnG,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IAC9E,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,MAAM,WAAW,YAAY;IAE3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,MAAM,WAAW,kBAAkB;IAEjC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAUD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;gBAExB,MAAM,EAAE,UAAU;IAOxB,YAAY,CAAC,CAAC,SAAS,gBAAgB,EAC3C,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAChC,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAyF3B,uBAAuB,CAAC,CAAC,SAAS,gBAAgB,EACtD,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAM,GAC1C,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YAanB,UAAU;IA4CjB,WAAW,CAAC,CAAC,SAAS,gBAAgB,EAC3C,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAChC,OAAO,GAAE,kBAAuB,GAC/B,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;IA0CrD,mBAAmB,CAAC,CAAC,SAAS,gBAAgB,EAC5C,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAC7B;QACD,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB;CAeF"}
@@ -60,12 +60,13 @@ class BatchProcessor {
60
60
  const request = queue.shift();
61
61
  const promise = processOne(request);
62
62
  inProgress.push(promise);
63
- promise.finally(() => {
63
+ const cleanup = () => {
64
64
  const index = inProgress.indexOf(promise);
65
65
  if (index > -1) {
66
66
  inProgress.splice(index, 1);
67
67
  }
68
- });
68
+ };
69
+ promise.then(cleanup, cleanup);
69
70
  }
70
71
  if (inProgress.length > 0) {
71
72
  await Promise.race(inProgress);
@@ -79,6 +80,57 @@ class BatchProcessor {
79
80
  new Promise((_, reject) => setTimeout(() => reject(new Error(`Batch processing timeout after ${timeoutMs}ms`)), timeoutMs)),
80
81
  ]);
81
82
  }
83
+ async executeOne(request) {
84
+ switch (request.type) {
85
+ case 'domain':
86
+ return this.client.domain(request.query);
87
+ case 'ip':
88
+ return this.client.ip(request.query);
89
+ case 'asn':
90
+ return this.client.asn(request.query);
91
+ case 'nameserver':
92
+ return this.client.nameserver(request.query);
93
+ case 'entity':
94
+ if (!request.serverUrl) {
95
+ throw new Error(`Entity queries require a serverUrl. Set { type: 'entity', query: '${request.query}', serverUrl: 'https://...' }`);
96
+ }
97
+ return this.client.entity(request.query, request.serverUrl);
98
+ default:
99
+ throw new Error(`Unknown query type: ${request.type}`);
100
+ }
101
+ }
102
+ async *streamBatch(requests, options = {}) {
103
+ const { concurrency = 5, continueOnError = true } = options;
104
+ const queue = [...requests];
105
+ while (queue.length > 0) {
106
+ const chunk = queue.splice(0, concurrency);
107
+ const results = await Promise.all(chunk.map(async (request) => {
108
+ const t0 = Date.now();
109
+ try {
110
+ const result = await this.executeOne(request);
111
+ return {
112
+ type: request.type,
113
+ query: request.query,
114
+ result,
115
+ duration: Date.now() - t0,
116
+ };
117
+ }
118
+ catch (error) {
119
+ if (!continueOnError)
120
+ throw error;
121
+ return {
122
+ type: request.type,
123
+ query: request.query,
124
+ error: error,
125
+ duration: Date.now() - t0,
126
+ };
127
+ }
128
+ }));
129
+ for (const result of results) {
130
+ yield result;
131
+ }
132
+ }
133
+ }
82
134
  analyzeBatchResults(results) {
83
135
  const successful = results.filter((r) => !r.error).length;
84
136
  const failed = results.filter((r) => r.error).length;
@@ -1 +1 @@
1
- {"version":3,"file":"BatchProcessor.js","sourceRoot":"","sources":["../../../src/application/services/BatchProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BatchProcessor.js","sourceRoot":"","sources":["../../../src/application/services/BatchProcessor.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { CacheManager } from '../../infrastructure/cache';
2
- import type { BootstrapDiscovery, Fetcher, Normalizer } from '../../infrastructure/http';
2
+ import type { BootstrapDiscovery, Normalizer } from '../../infrastructure/http';
3
+ import type { IFetcherPort } from '../../core/ports';
3
4
  import type { RateLimiter } from '../../infrastructure/http/RateLimiter';
4
5
  import type { PIIRedactor } from '../../infrastructure/security';
5
6
  import type { MetricsCollector } from '../../infrastructure/monitoring/MetricsCollector';
@@ -10,7 +11,7 @@ import type { QueryDeduplicator } from '../deduplication/QueryDeduplicator';
10
11
  export interface QueryOrchestratorConfig {
11
12
  cache: CacheManager;
12
13
  bootstrap: BootstrapDiscovery;
13
- fetcher: Fetcher;
14
+ fetcher: IFetcherPort;
14
15
  normalizer: Normalizer;
15
16
  piiRedactor: PIIRedactor;
16
17
  includeRaw: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/application/services/QueryOrchestrator.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AActH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAK5E,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IAEpB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QACrE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QACpE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QACpE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KACtE,CAAC;CACH;AAMD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;gBAErC,MAAM,EAAE,uBAAuB;IAOrC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkMpD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAqMxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAmMpD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsIhE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CA8H9E"}
1
+ {"version":3,"file":"QueryOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/application/services/QueryOrchestrator.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AActH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAM5E,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IAEpB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QACrE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QACpE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QACpE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KACtE,CAAC;CACH;AAMD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;gBAErC,MAAM,EAAE,uBAAuB;IAOrC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAoMpD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAuMxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAqMpD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwIhE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CAgI9E"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QueryOrchestrator = void 0;
4
4
  const helpers_1 = require("../../shared/utils/helpers");
5
5
  const validators_1 = require("../../shared/utils/validators");
6
+ const errors_1 = require("../../shared/errors");
6
7
  class QueryOrchestrator {
7
8
  constructor(config) {
8
9
  this.config = config;
@@ -22,7 +23,9 @@ class QueryOrchestrator {
22
23
  normalized,
23
24
  startTime,
24
25
  };
25
- await this.config.middleware?.runBeforeQuery(baseCtx);
26
+ if (await this.config.middleware?.runBeforeQuery(baseCtx)) {
27
+ throw new errors_1.QueryAbortedError(baseCtx.query);
28
+ }
26
29
  try {
27
30
  const cached = await this.config.cache.get(cacheKey);
28
31
  if (cached && cached.objectClass === 'domain') {
@@ -156,7 +159,9 @@ class QueryOrchestrator {
156
159
  normalized,
157
160
  startTime,
158
161
  };
159
- await this.config.middleware?.runBeforeQuery(baseCtx);
162
+ if (await this.config.middleware?.runBeforeQuery(baseCtx)) {
163
+ throw new errors_1.QueryAbortedError(baseCtx.query);
164
+ }
160
165
  try {
161
166
  const cached = await this.config.cache.get(cacheKey);
162
167
  if (cached && cached.objectClass === 'ip network') {
@@ -293,7 +298,9 @@ class QueryOrchestrator {
293
298
  normalized,
294
299
  startTime,
295
300
  };
296
- await this.config.middleware?.runBeforeQuery(baseCtx);
301
+ if (await this.config.middleware?.runBeforeQuery(baseCtx)) {
302
+ throw new errors_1.QueryAbortedError(baseCtx.query);
303
+ }
297
304
  try {
298
305
  const cached = await this.config.cache.get(cacheKey);
299
306
  if (cached && cached.objectClass === 'autnum') {
@@ -427,7 +434,9 @@ class QueryOrchestrator {
427
434
  normalized,
428
435
  startTime,
429
436
  };
430
- await this.config.middleware?.runBeforeQuery(baseCtx);
437
+ if (await this.config.middleware?.runBeforeQuery(baseCtx)) {
438
+ throw new errors_1.QueryAbortedError(baseCtx.query);
439
+ }
431
440
  try {
432
441
  const cached = await this.config.cache.get(cacheKey);
433
442
  if (cached && cached.objectClass === 'nameserver') {
@@ -524,7 +533,9 @@ class QueryOrchestrator {
524
533
  normalized,
525
534
  startTime,
526
535
  };
527
- await this.config.middleware?.runBeforeQuery(baseCtx);
536
+ if (await this.config.middleware?.runBeforeQuery(baseCtx)) {
537
+ throw new errors_1.QueryAbortedError(baseCtx.query);
538
+ }
528
539
  try {
529
540
  const cached = await this.config.cache.get(cacheKey);
530
541
  if (cached && cached.objectClass === 'entity') {
@@ -1 +1 @@
1
- {"version":3,"file":"QueryOrchestrator.js","sourceRoot":"","sources":["../../../src/application/services/QueryOrchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryOrchestrator.js","sourceRoot":"","sources":["../../../src/application/services/QueryOrchestrator.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  export { RDAPClient } from './application/client';
2
- export type { DomainResponse, IPResponse, ASNResponse, NameserverResponse, EntityResponse, RDAPResponse, RDAPEvent, RDAPEntity, RDAPLink, RDAPRemark, RDAPNameserver, RawRDAPResponse, QueryType, ObjectClass, RDAPStatus, EventType, RoleType, CacheStrategy, BackoffStrategy, LogLevel, } from './shared/types';
2
+ export type { DomainResponse, IPResponse, ASNResponse, NameserverResponse, EntityResponse, RDAPResponse, RDAPEvent, RDAPEntity, RDAPLink, RDAPRemark, RDAPNameserver, RawRDAPResponse, AvailabilityResult, QueryType, ObjectClass, RDAPStatus, EventType, RoleType, CacheStrategy, BackoffStrategy, LogLevel, } from './shared/types';
3
3
  export type { QueryTypeLiteral, QueryResult, QueryResultMap, BatchQueryResult, TypedQueryOptions, } from './shared/types/generics';
4
- export type { RDAPClientOptions, RetryOptions, CacheOptions, SSRFProtectionOptions, PrivacyOptions, TimeoutOptions, LoggingOptions, RateLimitOptions, } from './shared/types/options';
4
+ export type { RDAPClientOptions, RetryOptions, CacheOptions, SSRFProtectionOptions, PrivacyOptions, TimeoutOptions, LoggingOptions, RateLimitOptions, BootstrapOptions, TelemetryOptions, } from './shared/types/options';
5
5
  export { RDAPifyError, SSRFProtectionError, NetworkError, TimeoutError, RDAPServerError, NoServerFoundError, ValidationError, ParseError, CacheError, RateLimitError, isRDAPifyError, isSSRFProtectionError, isNetworkError, isTimeoutError, isRateLimitError, } from './shared/errors';
6
6
  export { validateDomain, validateIP, validateIPv4, validateIPv6, validateASN, validateNameserver, validateEntityHandle, isPrivateIP, isLocalhost, isLinkLocal, normalizeDomain, normalizeIP, normalizeASN, normalizeNameserver, normalizeEntityHandle, } from './shared/utils/validators';
7
7
  export type { ICachePort } from './core/ports';
8
- export declare const VERSION = "0.1.7";
8
+ export declare const VERSION = "0.3.0";
9
9
  export { BatchProcessor } from './application/services/BatchProcessor';
10
10
  export { RateLimiter } from './infrastructure/http/RateLimiter';
11
11
  export { ConnectionPool } from './infrastructure/http/ConnectionPool';
@@ -31,6 +31,31 @@ export type { AuditEvent, AuditEventType, AuditLogAdapter, AuditLoggerOptions, }
31
31
  export { ResponseValidator } from './infrastructure/validation/ResponseValidator';
32
32
  export type { ValidationResult, ValidationMode, ResponseValidatorOptions, } from './infrastructure/validation/ResponseValidator';
33
33
  export { isNode, isBrowser, isDeno, isBun, isCloudflareWorkers, getRuntimeName, } from './shared/utils/helpers/runtime';
34
+ export { isNativeAvailable } from './infrastructure/native/NativeBackend';
35
+ export { CircuitBreaker, CircuitOpenError } from './infrastructure/http/CircuitBreaker';
36
+ export type { CircuitState, CircuitBreakerOptions } from './infrastructure/http/CircuitBreaker';
37
+ export { QueryAbortedError } from './shared/errors';
38
+ export { BunFetcher } from './infrastructure/http/BunFetcher';
39
+ export type { BunFetcherOptions } from './infrastructure/http/BunFetcher';
40
+ export { DenoFetcher } from './infrastructure/http/DenoFetcher';
41
+ export type { DenoFetcherOptions } from './infrastructure/http/DenoFetcher';
42
+ export { CloudflareWorkersFetcher } from './infrastructure/http/CloudflareWorkersFetcher';
43
+ export type { CloudflareWorkersFetcherOptions } from './infrastructure/http/CloudflareWorkersFetcher';
44
+ export { BrowserFetcher } from './infrastructure/http/BrowserFetcher';
45
+ export type { BrowserFetcherOptions } from './infrastructure/http/BrowserFetcher';
46
+ export { createRdapifySchema, RDAPIFY_TYPE_DEFS } from './integrations/graphql';
47
+ export type { RdapifyResolvers } from './integrations/graphql';
48
+ export { rdapifyExpress, MinimalRouter } from './integrations/express';
49
+ export type { RouterLike, RequestLike, ResponseLike } from './integrations/express';
50
+ export { RdapifyModule, InjectRdapClient, RDAPIFY_CLIENT_TOKEN } from './integrations/nestjs';
51
+ export type { RdapifyModuleOptions, RdapifyDynamicModule } from './integrations/nestjs';
52
+ export type { StreamBatchOptions } from './application/services/BatchProcessor';
53
+ export { PrometheusExporter } from './infrastructure/monitoring/PrometheusExporter';
54
+ export type { PrometheusExporterOptions } from './infrastructure/monitoring/PrometheusExporter';
55
+ export { TelemetryExporter } from './infrastructure/monitoring/TelemetryExporter';
56
+ export type { SpanData } from './infrastructure/monitoring/TelemetryExporter';
57
+ export { RDAPIFY_GRAFANA_DASHBOARD } from './infrastructure/monitoring/GrafanaDashboard';
58
+ export { deprecated } from './shared/utils/deprecation';
34
59
  import { RDAPClient as RDAPClientClass } from './application/client';
35
60
  export default RDAPClientClass;
36
61
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CompressionManager = exports.ProxyManager = exports.AuthenticationManager = exports.asciiToIdn = exports.idnToAscii = exports.isPunycodeDomain = exports.isIdnDomain = exports.validateAsnRange = exports.validateIpv6WithZone = exports.validateIdnDomain = exports.PersistentCache = exports.QueryPriorityQueue = exports.RetryStrategy = exports.Logger = exports.MetricsCollector = exports.ConnectionPool = exports.RateLimiter = exports.BatchProcessor = exports.VERSION = exports.normalizeEntityHandle = exports.normalizeNameserver = exports.normalizeASN = exports.normalizeIP = exports.normalizeDomain = exports.isLinkLocal = exports.isLocalhost = exports.isPrivateIP = exports.validateEntityHandle = exports.validateNameserver = exports.validateASN = exports.validateIPv6 = exports.validateIPv4 = exports.validateIP = exports.validateDomain = exports.isRateLimitError = exports.isTimeoutError = exports.isNetworkError = exports.isSSRFProtectionError = exports.isRDAPifyError = exports.RateLimitError = exports.CacheError = exports.ParseError = exports.ValidationError = exports.NoServerFoundError = exports.RDAPServerError = exports.TimeoutError = exports.NetworkError = exports.SSRFProtectionError = exports.RDAPifyError = exports.RDAPClient = void 0;
4
- exports.getRuntimeName = exports.isCloudflareWorkers = exports.isBun = exports.isDeno = exports.isBrowser = exports.isNode = exports.ResponseValidator = exports.FileAuditAdapter = exports.InMemoryAuditAdapter = exports.AuditLogger = exports.QueryDeduplicator = exports.MiddlewareManager = exports.RedisCache = void 0;
4
+ exports.deprecated = exports.RDAPIFY_GRAFANA_DASHBOARD = exports.TelemetryExporter = exports.PrometheusExporter = exports.RDAPIFY_CLIENT_TOKEN = exports.InjectRdapClient = exports.RdapifyModule = exports.MinimalRouter = exports.rdapifyExpress = exports.RDAPIFY_TYPE_DEFS = exports.createRdapifySchema = exports.BrowserFetcher = exports.CloudflareWorkersFetcher = exports.DenoFetcher = exports.BunFetcher = exports.QueryAbortedError = exports.CircuitOpenError = exports.CircuitBreaker = exports.isNativeAvailable = exports.getRuntimeName = exports.isCloudflareWorkers = exports.isBun = exports.isDeno = exports.isBrowser = exports.isNode = exports.ResponseValidator = exports.FileAuditAdapter = exports.InMemoryAuditAdapter = exports.AuditLogger = exports.QueryDeduplicator = exports.MiddlewareManager = exports.RedisCache = void 0;
5
5
  var client_1 = require("./application/client");
6
6
  Object.defineProperty(exports, "RDAPClient", { enumerable: true, get: function () { return client_1.RDAPClient; } });
7
7
  var errors_1 = require("./shared/errors");
@@ -36,7 +36,7 @@ Object.defineProperty(exports, "normalizeIP", { enumerable: true, get: function
36
36
  Object.defineProperty(exports, "normalizeASN", { enumerable: true, get: function () { return validators_1.normalizeASN; } });
37
37
  Object.defineProperty(exports, "normalizeNameserver", { enumerable: true, get: function () { return validators_1.normalizeNameserver; } });
38
38
  Object.defineProperty(exports, "normalizeEntityHandle", { enumerable: true, get: function () { return validators_1.normalizeEntityHandle; } });
39
- exports.VERSION = '0.1.7';
39
+ exports.VERSION = '0.3.0';
40
40
  var BatchProcessor_1 = require("./application/services/BatchProcessor");
41
41
  Object.defineProperty(exports, "BatchProcessor", { enumerable: true, get: function () { return BatchProcessor_1.BatchProcessor; } });
42
42
  var RateLimiter_1 = require("./infrastructure/http/RateLimiter");
@@ -86,6 +86,39 @@ Object.defineProperty(exports, "isDeno", { enumerable: true, get: function () {
86
86
  Object.defineProperty(exports, "isBun", { enumerable: true, get: function () { return runtime_1.isBun; } });
87
87
  Object.defineProperty(exports, "isCloudflareWorkers", { enumerable: true, get: function () { return runtime_1.isCloudflareWorkers; } });
88
88
  Object.defineProperty(exports, "getRuntimeName", { enumerable: true, get: function () { return runtime_1.getRuntimeName; } });
89
+ var NativeBackend_1 = require("./infrastructure/native/NativeBackend");
90
+ Object.defineProperty(exports, "isNativeAvailable", { enumerable: true, get: function () { return NativeBackend_1.isNativeAvailable; } });
91
+ var CircuitBreaker_1 = require("./infrastructure/http/CircuitBreaker");
92
+ Object.defineProperty(exports, "CircuitBreaker", { enumerable: true, get: function () { return CircuitBreaker_1.CircuitBreaker; } });
93
+ Object.defineProperty(exports, "CircuitOpenError", { enumerable: true, get: function () { return CircuitBreaker_1.CircuitOpenError; } });
94
+ var errors_2 = require("./shared/errors");
95
+ Object.defineProperty(exports, "QueryAbortedError", { enumerable: true, get: function () { return errors_2.QueryAbortedError; } });
96
+ var BunFetcher_1 = require("./infrastructure/http/BunFetcher");
97
+ Object.defineProperty(exports, "BunFetcher", { enumerable: true, get: function () { return BunFetcher_1.BunFetcher; } });
98
+ var DenoFetcher_1 = require("./infrastructure/http/DenoFetcher");
99
+ Object.defineProperty(exports, "DenoFetcher", { enumerable: true, get: function () { return DenoFetcher_1.DenoFetcher; } });
100
+ var CloudflareWorkersFetcher_1 = require("./infrastructure/http/CloudflareWorkersFetcher");
101
+ Object.defineProperty(exports, "CloudflareWorkersFetcher", { enumerable: true, get: function () { return CloudflareWorkersFetcher_1.CloudflareWorkersFetcher; } });
102
+ var BrowserFetcher_1 = require("./infrastructure/http/BrowserFetcher");
103
+ Object.defineProperty(exports, "BrowserFetcher", { enumerable: true, get: function () { return BrowserFetcher_1.BrowserFetcher; } });
104
+ var graphql_1 = require("./integrations/graphql");
105
+ Object.defineProperty(exports, "createRdapifySchema", { enumerable: true, get: function () { return graphql_1.createRdapifySchema; } });
106
+ Object.defineProperty(exports, "RDAPIFY_TYPE_DEFS", { enumerable: true, get: function () { return graphql_1.RDAPIFY_TYPE_DEFS; } });
107
+ var express_1 = require("./integrations/express");
108
+ Object.defineProperty(exports, "rdapifyExpress", { enumerable: true, get: function () { return express_1.rdapifyExpress; } });
109
+ Object.defineProperty(exports, "MinimalRouter", { enumerable: true, get: function () { return express_1.MinimalRouter; } });
110
+ var nestjs_1 = require("./integrations/nestjs");
111
+ Object.defineProperty(exports, "RdapifyModule", { enumerable: true, get: function () { return nestjs_1.RdapifyModule; } });
112
+ Object.defineProperty(exports, "InjectRdapClient", { enumerable: true, get: function () { return nestjs_1.InjectRdapClient; } });
113
+ Object.defineProperty(exports, "RDAPIFY_CLIENT_TOKEN", { enumerable: true, get: function () { return nestjs_1.RDAPIFY_CLIENT_TOKEN; } });
114
+ var PrometheusExporter_1 = require("./infrastructure/monitoring/PrometheusExporter");
115
+ Object.defineProperty(exports, "PrometheusExporter", { enumerable: true, get: function () { return PrometheusExporter_1.PrometheusExporter; } });
116
+ var TelemetryExporter_1 = require("./infrastructure/monitoring/TelemetryExporter");
117
+ Object.defineProperty(exports, "TelemetryExporter", { enumerable: true, get: function () { return TelemetryExporter_1.TelemetryExporter; } });
118
+ var GrafanaDashboard_1 = require("./infrastructure/monitoring/GrafanaDashboard");
119
+ Object.defineProperty(exports, "RDAPIFY_GRAFANA_DASHBOARD", { enumerable: true, get: function () { return GrafanaDashboard_1.RDAPIFY_GRAFANA_DASHBOARD; } });
120
+ var deprecation_1 = require("./shared/utils/deprecation");
121
+ Object.defineProperty(exports, "deprecated", { enumerable: true, get: function () { return deprecation_1.deprecated; } });
89
122
  const client_2 = require("./application/client");
90
123
  exports.default = client_2.RDAPClient;
91
124
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AA4CA,+CAAkD;AAAzC,oGAAA,UAAU,OAAA;AAuEnB,0CAkByB;AAjBvB,sGAAA,YAAY,OAAA;AACZ,6GAAA,mBAAmB,OAAA;AACnB,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,yGAAA,eAAe,OAAA;AACf,4GAAA,kBAAkB,OAAA;AAClB,yGAAA,eAAe,OAAA;AACf,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AAGd,wGAAA,cAAc,OAAA;AACd,+GAAA,qBAAqB,OAAA;AACrB,wGAAA,cAAc,OAAA;AACd,wGAAA,cAAc,OAAA;AACd,0GAAA,gBAAgB,OAAA;AAkBlB,wDAgBmC;AAfjC,4GAAA,cAAc,OAAA;AACd,wGAAA,UAAU,OAAA;AACV,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AACZ,yGAAA,WAAW,OAAA;AACX,gHAAA,kBAAkB,OAAA;AAClB,kHAAA,oBAAoB,OAAA;AACpB,yGAAA,WAAW,OAAA;AACX,yGAAA,WAAW,OAAA;AACX,yGAAA,WAAW,OAAA;AACX,6GAAA,eAAe,OAAA;AACf,yGAAA,WAAW,OAAA;AACX,0GAAA,YAAY,OAAA;AACZ,iHAAA,mBAAmB,OAAA;AACnB,mHAAA,qBAAqB,OAAA;AA8BV,QAAA,OAAO,GAAG,OAAO,CAAC;AAsB/B,wEAAuE;AAA9D,gHAAA,cAAc,OAAA;AAkBvB,iEAAgE;AAAvD,0GAAA,WAAW,OAAA;AAKpB,uEAAsE;AAA7D,gHAAA,cAAc,OAAA;AAKvB,iFAAgF;AAAvE,oHAAA,gBAAgB,OAAA;AAKzB,0DAAyD;AAAhD,gGAAA,MAAM,OAAA;AAKf,qEAAoE;AAA3D,8GAAA,aAAa,OAAA;AAKtB,sEAA0E;AAAjE,mHAAA,kBAAkB,OAAA;AAK3B,0EAAyE;AAAhE,kHAAA,eAAe,OAAA;AAKxB,0EAQ4C;AAP1C,wHAAA,iBAAiB,OAAA;AACjB,2HAAA,oBAAoB,OAAA;AACpB,uHAAA,gBAAgB,OAAA;AAChB,kHAAA,WAAW,OAAA;AACX,uHAAA,gBAAgB,OAAA;AAChB,iHAAA,UAAU,OAAA;AACV,iHAAA,UAAU,OAAA;AAMZ,qFAAoF;AAA3E,8HAAA,qBAAqB,OAAA;AAM9B,mEAAkE;AAAzD,4GAAA,YAAY,OAAA;AAMrB,+EAA8E;AAArE,wHAAA,kBAAkB,OAAA;AAU3B,gEAA+D;AAAtD,wGAAA,UAAU,OAAA;AAMnB,uEAAwE;AAA/D,oHAAA,iBAAiB,OAAA;AAW1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAK1B,oEAI8C;AAH5C,0GAAA,WAAW,OAAA;AACX,mHAAA,oBAAoB,OAAA;AACpB,+GAAA,gBAAgB,OAAA;AAYlB,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAwB1B,0DAOwC;AANtC,iGAAA,MAAM,OAAA;AACN,oGAAA,SAAS,OAAA;AACT,iGAAA,MAAM,OAAA;AACN,gGAAA,KAAK,OAAA;AACL,8GAAA,mBAAmB,OAAA;AACnB,yGAAA,cAAc,OAAA;AAiBhB,iDAAqE;AACrE,kBAAe,mBAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,15 @@ export interface RedisClientLike {
13
13
  }
14
14
  export interface RedisCacheOptions {
15
15
  keyPrefix?: string;
16
+ keyMaxLength?: number;
16
17
  }
17
18
  export declare class RedisCache implements ICache {
18
19
  private readonly client;
19
20
  private readonly keyPrefix;
21
+ private readonly keyMaxLength;
20
22
  constructor(client: RedisClientLike, options?: RedisCacheOptions);
21
23
  private prefixed;
24
+ private static sha256Hex;
22
25
  private patternAll;
23
26
  private scanAll;
24
27
  get(key: string): Promise<RDAPResponse | null>;
@@ -27,9 +30,16 @@ export declare class RedisCache implements ICache {
27
30
  clear(): Promise<void>;
28
31
  has(key: string): Promise<boolean>;
29
32
  size(): Promise<number>;
33
+ getMany(keys: string[]): Promise<(RDAPResponse | null)[]>;
34
+ setMany(entries: Array<{
35
+ key: string;
36
+ value: RDAPResponse;
37
+ ttl?: number;
38
+ }>): Promise<void>;
30
39
  getStats(): Promise<{
31
40
  keyPrefix: string;
32
41
  size: number;
42
+ keyMaxLength: number;
33
43
  }>;
34
44
  }
35
45
  //# sourceMappingURL=RedisCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RedisCache.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/cache/RedisCache.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAmB7C,MAAM,WAAW,eAAe;IAE9B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1F,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAKzC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;CAChI;AAKD,MAAM,WAAW,iBAAiB;IAMhC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgBD,qBAAa,UAAW,YAAW,MAAM;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,MAAM,EAAE,eAAe,EAAE,OAAO,GAAE,iBAAsB;IAYpE,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,UAAU;YAYJ,OAAO;IAyBf,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAsB9C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAclE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAalC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAYvB,QAAQ,IAAI,OAAO,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CAMH"}
1
+ {"version":3,"file":"RedisCache.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/cache/RedisCache.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAmB7C,MAAM,WAAW,eAAe;IAE9B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1F,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAKzC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;CAChI;AAKD,MAAM,WAAW,iBAAiB;IAMhC,SAAS,CAAC,EAAE,MAAM,CAAC;IAOnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAgBD,qBAAa,UAAW,YAAW,MAAM;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,MAAM,EAAE,eAAe,EAAE,OAAO,GAAE,iBAAsB;IAepE,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,MAAM,CAAC,SAAS;IASxB,OAAO,CAAC,UAAU;YAYJ,OAAO;IAyBf,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAsB9C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAclE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAalC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAiBvB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;IAiCzD,OAAO,CACX,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,YAAY,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GACjE,OAAO,CAAC,IAAI,CAAC;IAWV,QAAQ,IAAI,OAAO,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CAOH"}