@dangao/bun-server 1.9.0 → 1.12.0

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 (209) hide show
  1. package/README.md +79 -6
  2. package/dist/cache/cache-module.d.ts +6 -0
  3. package/dist/cache/cache-module.d.ts.map +1 -1
  4. package/dist/client/generator.d.ts +16 -0
  5. package/dist/client/generator.d.ts.map +1 -0
  6. package/dist/client/index.d.ts +4 -0
  7. package/dist/client/index.d.ts.map +1 -0
  8. package/dist/client/runtime.d.ts +15 -0
  9. package/dist/client/runtime.d.ts.map +1 -0
  10. package/dist/client/types.d.ts +36 -0
  11. package/dist/client/types.d.ts.map +1 -0
  12. package/dist/config/config-module.d.ts +7 -0
  13. package/dist/config/config-module.d.ts.map +1 -1
  14. package/dist/config/index.d.ts +1 -1
  15. package/dist/config/index.d.ts.map +1 -1
  16. package/dist/config/service.d.ts +13 -0
  17. package/dist/config/service.d.ts.map +1 -1
  18. package/dist/config/types.d.ts +10 -0
  19. package/dist/config/types.d.ts.map +1 -1
  20. package/dist/core/application.d.ts +7 -0
  21. package/dist/core/application.d.ts.map +1 -1
  22. package/dist/core/apply-decorators.d.ts +6 -0
  23. package/dist/core/apply-decorators.d.ts.map +1 -0
  24. package/dist/core/cluster.d.ts +47 -0
  25. package/dist/core/cluster.d.ts.map +1 -0
  26. package/dist/core/index.d.ts +1 -0
  27. package/dist/core/index.d.ts.map +1 -1
  28. package/dist/core/server.d.ts +8 -0
  29. package/dist/core/server.d.ts.map +1 -1
  30. package/dist/dashboard/controller.d.ts +55 -0
  31. package/dist/dashboard/controller.d.ts.map +1 -0
  32. package/dist/dashboard/dashboard-extension.d.ts +20 -0
  33. package/dist/dashboard/dashboard-extension.d.ts.map +1 -0
  34. package/dist/dashboard/dashboard-module.d.ts +13 -0
  35. package/dist/dashboard/dashboard-module.d.ts.map +1 -0
  36. package/dist/dashboard/index.d.ts +4 -0
  37. package/dist/dashboard/index.d.ts.map +1 -0
  38. package/dist/dashboard/types.d.ts +16 -0
  39. package/dist/dashboard/types.d.ts.map +1 -0
  40. package/dist/dashboard/ui.d.ts +7 -0
  41. package/dist/dashboard/ui.d.ts.map +1 -0
  42. package/dist/database/database-module.d.ts +7 -0
  43. package/dist/database/database-module.d.ts.map +1 -1
  44. package/dist/debug/debug-module.d.ts +13 -0
  45. package/dist/debug/debug-module.d.ts.map +1 -0
  46. package/dist/debug/debug-ui-middleware.d.ts +8 -0
  47. package/dist/debug/debug-ui-middleware.d.ts.map +1 -0
  48. package/dist/debug/index.d.ts +5 -0
  49. package/dist/debug/index.d.ts.map +1 -0
  50. package/dist/debug/middleware.d.ts +12 -0
  51. package/dist/debug/middleware.d.ts.map +1 -0
  52. package/dist/debug/recorder.d.ts +61 -0
  53. package/dist/debug/recorder.d.ts.map +1 -0
  54. package/dist/debug/types.d.ts +48 -0
  55. package/dist/debug/types.d.ts.map +1 -0
  56. package/dist/debug/ui.d.ts +6 -0
  57. package/dist/debug/ui.d.ts.map +1 -0
  58. package/dist/di/async-module.d.ts +49 -0
  59. package/dist/di/async-module.d.ts.map +1 -0
  60. package/dist/di/lifecycle.d.ts +49 -0
  61. package/dist/di/lifecycle.d.ts.map +1 -0
  62. package/dist/di/module-registry.d.ts +24 -0
  63. package/dist/di/module-registry.d.ts.map +1 -1
  64. package/dist/index.d.ts +9 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +1887 -35
  67. package/dist/router/route.d.ts +5 -7
  68. package/dist/router/route.d.ts.map +1 -1
  69. package/dist/swagger/generator.d.ts +10 -0
  70. package/dist/swagger/generator.d.ts.map +1 -1
  71. package/dist/testing/test-client.d.ts +49 -0
  72. package/dist/testing/test-client.d.ts.map +1 -0
  73. package/dist/testing/testing-module.d.ts +90 -0
  74. package/dist/testing/testing-module.d.ts.map +1 -0
  75. package/dist/websocket/registry.d.ts +1 -6
  76. package/dist/websocket/registry.d.ts.map +1 -1
  77. package/docs/async-module.md +59 -0
  78. package/docs/client-generation.md +100 -0
  79. package/docs/cluster.md +81 -0
  80. package/docs/custom-decorators.md +1 -7
  81. package/docs/dashboard.md +54 -0
  82. package/docs/debug.md +58 -0
  83. package/docs/extensions.md +0 -2
  84. package/docs/guide.md +0 -1
  85. package/docs/lifecycle.md +72 -0
  86. package/docs/testing.md +110 -0
  87. package/docs/zh/async-module.md +98 -0
  88. package/docs/zh/client-generation.md +92 -0
  89. package/docs/zh/cluster.md +74 -0
  90. package/docs/zh/custom-decorators.md +1 -7
  91. package/docs/zh/dashboard.md +69 -0
  92. package/docs/zh/debug.md +81 -0
  93. package/docs/zh/extensions.md +0 -2
  94. package/docs/zh/guide.md +0 -1
  95. package/docs/zh/lifecycle.md +87 -0
  96. package/docs/zh/migration.md +0 -5
  97. package/docs/zh/testing.md +119 -0
  98. package/package.json +4 -4
  99. package/src/cache/cache-module.ts +25 -0
  100. package/src/client/generator.ts +36 -0
  101. package/src/client/index.ts +8 -0
  102. package/src/client/runtime.ts +101 -0
  103. package/src/client/types.ts +38 -0
  104. package/src/config/config-module.ts +44 -4
  105. package/src/config/index.ts +1 -0
  106. package/src/config/service.ts +50 -0
  107. package/src/config/types.ts +12 -0
  108. package/src/core/application.ts +37 -0
  109. package/src/core/apply-decorators.ts +31 -0
  110. package/src/core/cluster.ts +143 -0
  111. package/src/core/index.ts +1 -0
  112. package/src/core/server.ts +14 -1
  113. package/src/dashboard/controller.ts +227 -0
  114. package/src/dashboard/dashboard-extension.ts +26 -0
  115. package/src/dashboard/dashboard-module.ts +38 -0
  116. package/src/dashboard/index.ts +3 -0
  117. package/src/dashboard/types.ts +16 -0
  118. package/src/dashboard/ui.ts +219 -0
  119. package/src/database/database-module.ts +20 -0
  120. package/src/debug/debug-module.ts +70 -0
  121. package/src/debug/debug-ui-middleware.ts +110 -0
  122. package/src/debug/index.ts +9 -0
  123. package/src/debug/middleware.ts +126 -0
  124. package/src/debug/recorder.ts +141 -0
  125. package/src/debug/types.ts +49 -0
  126. package/src/debug/ui.ts +393 -0
  127. package/src/di/async-module.ts +141 -0
  128. package/src/di/lifecycle.ts +117 -0
  129. package/src/di/module-registry.ts +75 -0
  130. package/src/index.ts +35 -0
  131. package/src/router/route.ts +20 -20
  132. package/src/swagger/generator.ts +100 -0
  133. package/src/testing/test-client.ts +112 -0
  134. package/src/testing/testing-module.ts +238 -0
  135. package/src/websocket/registry.ts +3 -16
  136. package/tests/auth/auth-decorators.test.ts +0 -1
  137. package/tests/auth/oauth2-service.test.ts +0 -1
  138. package/tests/cache/cache-decorators-extended.test.ts +0 -1
  139. package/tests/cache/cache-decorators.test.ts +0 -1
  140. package/tests/cache/cache-interceptors.test.ts +0 -1
  141. package/tests/cache/cache-module.test.ts +0 -1
  142. package/tests/cache/cache-service-proxy.test.ts +0 -1
  143. package/tests/client/client-generator.test.ts +142 -0
  144. package/tests/config/config-center-integration.test.ts +0 -1
  145. package/tests/config/config-module-extended.test.ts +0 -1
  146. package/tests/config/config-module.test.ts +0 -1
  147. package/tests/controller/controller.test.ts +0 -1
  148. package/tests/controller/param-binder.test.ts +0 -1
  149. package/tests/controller/path-combination.test.ts +0 -1
  150. package/tests/core/application.test.ts +34 -0
  151. package/tests/core/apply-decorators.test.ts +109 -0
  152. package/tests/core/cluster.test.ts +32 -0
  153. package/tests/dashboard/dashboard-module.test.ts +85 -0
  154. package/tests/database/database-module.test.ts +0 -1
  155. package/tests/database/orm.test.ts +0 -1
  156. package/tests/database/postgres-mysql-integration.test.ts +0 -1
  157. package/tests/database/transaction.test.ts +0 -1
  158. package/tests/debug/debug-module.test.ts +141 -0
  159. package/tests/di/async-module.test.ts +125 -0
  160. package/tests/di/container.test.ts +0 -1
  161. package/tests/di/lifecycle.test.ts +140 -0
  162. package/tests/error/error-handler.test.ts +0 -1
  163. package/tests/events/event-decorators.test.ts +0 -1
  164. package/tests/events/event-listener-scanner.test.ts +0 -1
  165. package/tests/events/event-module.test.ts +0 -1
  166. package/tests/extensions/logger-module.test.ts +0 -1
  167. package/tests/health/health-module.test.ts +0 -1
  168. package/tests/integration/oauth2-e2e.test.ts +0 -1
  169. package/tests/integration/session-e2e.test.ts +0 -1
  170. package/tests/interceptor/base-interceptor.test.ts +0 -1
  171. package/tests/interceptor/builtin/cache-interceptor.test.ts +0 -1
  172. package/tests/interceptor/builtin/log-interceptor.test.ts +0 -1
  173. package/tests/interceptor/builtin/permission-interceptor.test.ts +0 -1
  174. package/tests/interceptor/interceptor-advanced-integration.test.ts +0 -1
  175. package/tests/interceptor/interceptor-chain.test.ts +0 -1
  176. package/tests/interceptor/interceptor-integration.test.ts +0 -1
  177. package/tests/interceptor/interceptor-metadata.test.ts +0 -1
  178. package/tests/interceptor/interceptor-registry.test.ts +0 -1
  179. package/tests/interceptor/perf/interceptor-performance.test.ts +0 -1
  180. package/tests/metrics/metrics-module.test.ts +0 -1
  181. package/tests/microservice/config-center.test.ts +0 -1
  182. package/tests/microservice/service-client-decorators.test.ts +0 -1
  183. package/tests/microservice/service-registry-decorators.test.ts +0 -1
  184. package/tests/microservice/service-registry.test.ts +0 -1
  185. package/tests/middleware/builtin/middleware-builtin-extended.test.ts +0 -1
  186. package/tests/middleware/builtin/rate-limit.test.ts +0 -1
  187. package/tests/middleware/middleware-decorators.test.ts +0 -1
  188. package/tests/middleware/middleware-pipeline.test.ts +0 -1
  189. package/tests/middleware/middleware.test.ts +0 -1
  190. package/tests/perf/optimization.test.ts +0 -1
  191. package/tests/queue/queue-decorators.test.ts +0 -1
  192. package/tests/queue/queue-module.test.ts +0 -1
  193. package/tests/queue/queue-service.test.ts +0 -1
  194. package/tests/router/router-decorators.test.ts +0 -1
  195. package/tests/router/router-extended.test.ts +0 -1
  196. package/tests/security/guards/guards-integration.test.ts +0 -1
  197. package/tests/security/guards/guards.test.ts +0 -1
  198. package/tests/security/guards/reflector.test.ts +0 -1
  199. package/tests/security/security-filter.test.ts +0 -1
  200. package/tests/security/security-module-extended.test.ts +0 -1
  201. package/tests/security/security-module.test.ts +0 -1
  202. package/tests/session/session-decorators.test.ts +0 -1
  203. package/tests/session/session-module.test.ts +0 -1
  204. package/tests/swagger/decorators.test.ts +0 -1
  205. package/tests/swagger/swagger-module.test.ts +0 -1
  206. package/tests/swagger/ui.test.ts +0 -1
  207. package/tests/testing/testing-module.test.ts +129 -0
  208. package/tests/validation/class-validator.test.ts +0 -1
  209. package/tests/validation/controller-validation.test.ts +0 -1
@@ -1,3 +1,4 @@
1
+ import { type AsyncModuleOptions } from '../di/async-module';
1
2
  import { DatabaseHealthIndicator } from './health-indicator';
2
3
  import { DatabaseService } from './service';
3
4
  import { type DatabaseModuleOptions } from './types';
@@ -7,6 +8,12 @@ export declare class DatabaseModule {
7
8
  * @param options - 模块配置
8
9
  */
9
10
  static forRoot(options: DatabaseModuleOptions): typeof DatabaseModule;
11
+ /**
12
+ * 异步创建数据库模块
13
+ * 允许通过工厂函数异步提供配置(如从 ConfigService 获取数据库连接信息)
14
+ * @param asyncOptions - 异步配置选项
15
+ */
16
+ static forRootAsync(asyncOptions: AsyncModuleOptions<DatabaseModuleOptions>): typeof DatabaseModule;
10
17
  /**
11
18
  * 创建数据库健康检查指示器
12
19
  * 用于在 HealthModule 中注册数据库健康检查
@@ -1 +1 @@
1
- {"version":3,"file":"database-module.d.ts","sourceRoot":"","sources":["../../src/database/database-module.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAK7D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,SAAS,CAAC;AAIjB,qBAGa,cAAc;IACzB;;;OAGG;WACW,OAAO,CACnB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,cAAc;IA6ExB;;;;;OAKG;WACW,qBAAqB,CACjC,eAAe,EAAE,eAAe,GAC/B,uBAAuB;CAG3B"}
1
+ {"version":3,"file":"database-module.d.ts","sourceRoot":"","sources":["../../src/database/database-module.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,kBAAkB,EAA0B,MAAM,oBAAoB,CAAC;AAGrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAK7D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,SAAS,CAAC;AAIjB,qBAGa,cAAc;IACzB;;;OAGG;WACW,OAAO,CACnB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,cAAc;IA6ExB;;;;OAIG;WACW,YAAY,CACxB,YAAY,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,GACtD,OAAO,cAAc;IAYxB;;;;;OAKG;WACW,qBAAqB,CACjC,eAAe,EAAE,eAAe,GAC/B,uBAAuB;CAG3B"}
@@ -0,0 +1,13 @@
1
+ import { type DebugModuleOptions } from './types';
2
+ /**
3
+ * Debug 模块
4
+ * 开发模式下录制 HTTP 请求,支持查看和重放
5
+ */
6
+ export declare class DebugModule {
7
+ /**
8
+ * 创建 Debug 模块
9
+ * @param options - 模块配置
10
+ */
11
+ static forRoot(options?: DebugModuleOptions): typeof DebugModule;
12
+ }
13
+ //# sourceMappingURL=debug-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-module.d.ts","sourceRoot":"","sources":["../../src/debug/debug-module.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,qBAKa,WAAW;IACtB;;;OAGG;WACW,OAAO,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,WAAW;CA4C5E"}
@@ -0,0 +1,8 @@
1
+ import type { Middleware } from '../middleware';
2
+ import type { RequestRecorder } from './recorder';
3
+ /**
4
+ * 创建 Debug UI 中间件
5
+ * 处理 Debug UI 页面和 API 端点
6
+ */
7
+ export declare function createDebugUIMiddleware(recorder: RequestRecorder, basePath: string): Middleware;
8
+ //# sourceMappingURL=debug-ui-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-ui-middleware.d.ts","sourceRoot":"","sources":["../../src/debug/debug-ui-middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,UAAU,CAiGZ"}
@@ -0,0 +1,5 @@
1
+ export { DebugModule } from './debug-module';
2
+ export { RequestRecorder } from './recorder';
3
+ export { createDebugMiddleware } from './middleware';
4
+ export { DEBUG_OPTIONS_TOKEN, DEBUG_RECORDER_TOKEN, type DebugModuleOptions, type RequestRecord, } from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/debug/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Middleware } from '../middleware';
2
+ import type { RequestRecorder } from './recorder';
3
+ /**
4
+ * 创建调试录制中间件
5
+ * @param recorder - 请求录制器
6
+ * @param options - 配置选项
7
+ */
8
+ export declare function createDebugMiddleware(recorder: RequestRecorder, options?: {
9
+ recordBody?: boolean;
10
+ basePath?: string;
11
+ }): Middleware;
12
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/debug/middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAwClD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,eAAe,EACzB,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd,GACL,UAAU,CAwEZ"}
@@ -0,0 +1,61 @@
1
+ import type { RequestRecord } from './types';
2
+ /**
3
+ * 请求录制器
4
+ * 使用环形缓冲区存储 HTTP 请求记录
5
+ */
6
+ export declare class RequestRecorder {
7
+ private readonly buffer;
8
+ private readonly maxRecords;
9
+ private writeIndex;
10
+ private count;
11
+ private idCounter;
12
+ private readonly idMap;
13
+ /**
14
+ * 创建请求录制器
15
+ * @param maxRecords - 最大录制数量
16
+ */
17
+ constructor(maxRecords?: number);
18
+ /**
19
+ * 生成唯一 ID
20
+ */
21
+ private generateId;
22
+ /**
23
+ * 录制请求
24
+ * @param record - 请求记录(不含 id,由本方法生成)
25
+ */
26
+ record(record: Omit<RequestRecord, 'id'>): void;
27
+ /**
28
+ * 获取所有记录(按时间倒序,最新的在前)
29
+ */
30
+ getAll(): RequestRecord[];
31
+ /**
32
+ * 根据 ID 获取单条记录
33
+ * @param id - 记录 ID
34
+ */
35
+ getById(id: string): RequestRecord | undefined;
36
+ /**
37
+ * 清除所有记录
38
+ */
39
+ clear(): void;
40
+ /**
41
+ * 获取当前记录数量
42
+ */
43
+ getCount(): number;
44
+ /**
45
+ * 导出所有记录为 JSONL 格式字符串
46
+ * 每行一条 JSON 记录,按时间倒序(最新在前)
47
+ */
48
+ exportToJsonl(): string;
49
+ /**
50
+ * 从 JSONL 内容导入请求记录
51
+ * 利用 Bun 1.3.7+ 原生 Bun.JSONL.parse() 高性能解析
52
+ * @param content - JSONL 格式文本
53
+ */
54
+ importFromJsonl(content: string): void;
55
+ /**
56
+ * 解析 JSONL 内容为 RequestRecord 数组(静态工具方法)
57
+ * @param content - JSONL 格式文本
58
+ */
59
+ static parseJsonl(content: string): RequestRecord[];
60
+ }
61
+ //# sourceMappingURL=recorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/debug/recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAEnD;;;OAGG;gBACgB,UAAU,GAAE,MAAY;IAK3C;;OAEG;IACH,OAAO,CAAC,UAAU;IAOlB;;;OAGG;IACI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI;IAkBtD;;OAEG;IACI,MAAM,IAAI,aAAa,EAAE;IAYhC;;;OAGG;IACI,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAQrD;;OAEG;IACI,KAAK,IAAI,IAAI;IASpB;;OAEG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;OAGG;IACI,aAAa,IAAI,MAAM;IAK9B;;;;OAIG;IACI,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAkB7C;;;OAGG;WACW,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE;CAG3D"}
@@ -0,0 +1,48 @@
1
+ export interface DebugModuleOptions {
2
+ /**
3
+ * 是否启用调试功能
4
+ * @default true
5
+ */
6
+ enabled?: boolean;
7
+ /**
8
+ * 最大录制请求数(环形缓冲区)
9
+ * @default 500
10
+ */
11
+ maxRecords?: number;
12
+ /**
13
+ * 是否录制请求体
14
+ * @default true
15
+ */
16
+ recordBody?: boolean;
17
+ /**
18
+ * Debug UI 路径
19
+ * @default '/_debug'
20
+ */
21
+ path?: string;
22
+ }
23
+ export interface RequestRecord {
24
+ id: string;
25
+ timestamp: number;
26
+ request: {
27
+ method: string;
28
+ path: string;
29
+ headers: Record<string, string>;
30
+ body?: unknown;
31
+ };
32
+ response: {
33
+ status: number;
34
+ headers: Record<string, string>;
35
+ bodySize: number;
36
+ };
37
+ timing: {
38
+ total: number;
39
+ };
40
+ metadata: {
41
+ matchedRoute?: string;
42
+ controller?: string;
43
+ methodName?: string;
44
+ };
45
+ }
46
+ export declare const DEBUG_OPTIONS_TOKEN: unique symbol;
47
+ export declare const DEBUG_RECORDER_TOKEN: unique symbol;
48
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/debug/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,EAAE;QACR,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,mBAAmB,eAA6C,CAAC;AAC9E,eAAO,MAAM,oBAAoB,eAA8C,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 创建 Debug UI HTML 页面
3
+ * @param basePath - Debug UI 基础路径
4
+ */
5
+ export declare function createDebugHTML(basePath: string): string;
6
+ //# sourceMappingURL=ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/debug/ui.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoYxD"}
@@ -0,0 +1,49 @@
1
+ import type { ModuleClass, ModuleProvider, ProviderToken } from './module';
2
+ import type { Container } from './container';
3
+ /**
4
+ * 异步模块配置选项
5
+ */
6
+ export interface AsyncModuleOptions<T> {
7
+ /**
8
+ * 需要导入的模块(提供 inject 依赖的来源)
9
+ */
10
+ imports?: ModuleClass[];
11
+ /**
12
+ * 要注入到 useFactory 中的 provider tokens
13
+ */
14
+ inject?: ProviderToken[];
15
+ /**
16
+ * 异步工厂函数,返回模块配置
17
+ */
18
+ useFactory: (...deps: unknown[]) => T | Promise<T>;
19
+ }
20
+ /**
21
+ * 异步 provider 注册表
22
+ * 在 Application.listen() 期间,所有待初始化的异步 provider 将被顺序执行
23
+ */
24
+ export declare class AsyncProviderRegistry {
25
+ private static instance;
26
+ private readonly pendingFactories;
27
+ static getInstance(): AsyncProviderRegistry;
28
+ /**
29
+ * 注册一个异步 provider
30
+ */
31
+ register(token: ProviderToken, factory: (container: Container) => Promise<unknown>): void;
32
+ /**
33
+ * 初始化所有异步 providers
34
+ * 同时注册到根容器和所有模块子容器(覆盖占位 factory)
35
+ * @param container - 根 DI 容器
36
+ */
37
+ initializeAll(container: Container): Promise<void>;
38
+ /**
39
+ * 检查是否有待初始化的异步 providers
40
+ */
41
+ hasPending(): boolean;
42
+ clear(): void;
43
+ }
44
+ /**
45
+ * 辅助函数:为模块添加 forRootAsync 的标准实现
46
+ * 各模块可直接在 forRootAsync 中调用此函数
47
+ */
48
+ export declare function registerAsyncProviders<T>(moduleClass: ModuleClass, asyncOptions: AsyncModuleOptions<T>, tokenMap: Map<ProviderToken, (config: T) => unknown>, extraProviders?: ModuleProvider[]): typeof moduleClass;
49
+ //# sourceMappingURL=async-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-module.d.ts","sourceRoot":"","sources":["../../src/di/async-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB;;OAEG;IACH,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpD;AAED;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAGzB;WAEM,WAAW,IAAI,qBAAqB;IAOlD;;OAEG;IACI,QAAQ,CACb,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,GAClD,IAAI;IAIP;;;;OAIG;IACU,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/D;;OAEG;IACI,UAAU,IAAI,OAAO;IAIrB,KAAK,IAAI,IAAI;CAGrB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC,EACnC,QAAQ,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,EACpD,cAAc,CAAC,EAAE,cAAc,EAAE,GAChC,OAAO,WAAW,CA+CpB"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * 模块初始化钩子
3
+ * 在模块所有 providers 注册完成后调用
4
+ */
5
+ export interface OnModuleInit {
6
+ onModuleInit(): Promise<void> | void;
7
+ }
8
+ /**
9
+ * 模块销毁钩子
10
+ * 在应用关闭时调用(反向顺序)
11
+ */
12
+ export interface OnModuleDestroy {
13
+ onModuleDestroy(): Promise<void> | void;
14
+ }
15
+ /**
16
+ * 应用启动钩子
17
+ * 在所有模块初始化完成后、服务器开始监听前调用
18
+ */
19
+ export interface OnApplicationBootstrap {
20
+ onApplicationBootstrap(): Promise<void> | void;
21
+ }
22
+ /**
23
+ * 应用关闭钩子
24
+ * 在优雅停机开始时调用
25
+ */
26
+ export interface OnApplicationShutdown {
27
+ onApplicationShutdown(signal?: string): Promise<void> | void;
28
+ }
29
+ export declare function hasOnModuleInit(instance: unknown): instance is OnModuleInit;
30
+ export declare function hasOnModuleDestroy(instance: unknown): instance is OnModuleDestroy;
31
+ export declare function hasOnApplicationBootstrap(instance: unknown): instance is OnApplicationBootstrap;
32
+ export declare function hasOnApplicationShutdown(instance: unknown): instance is OnApplicationShutdown;
33
+ /**
34
+ * 按顺序调用 onModuleInit
35
+ */
36
+ export declare function callOnModuleInit(instances: unknown[]): Promise<void>;
37
+ /**
38
+ * 按顺序调用 onApplicationBootstrap
39
+ */
40
+ export declare function callOnApplicationBootstrap(instances: unknown[]): Promise<void>;
41
+ /**
42
+ * 按反向顺序调用 onModuleDestroy
43
+ */
44
+ export declare function callOnModuleDestroy(instances: unknown[]): Promise<void>;
45
+ /**
46
+ * 按反向顺序调用 onApplicationShutdown
47
+ */
48
+ export declare function callOnApplicationShutdown(instances: unknown[], signal?: string): Promise<void>;
49
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/di/lifecycle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAChD;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAQ3E;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,eAAe,CAQjF;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,sBAAsB,CAQ/F;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,qBAAqB,CAQ7F;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1E;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAO7E;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpG"}
@@ -27,6 +27,10 @@ export declare class ModuleRegistry {
27
27
  static getInstance(): ModuleRegistry;
28
28
  register(moduleClass: ModuleClass, parentContainer: Container): ModuleRef;
29
29
  getModuleRef(moduleClass: ModuleClass): ModuleRef | undefined;
30
+ /**
31
+ * 获取所有模块的子容器(用于异步 provider 初始化)
32
+ */
33
+ getAllModuleContainers(): Container[];
30
34
  clear(): void;
31
35
  /**
32
36
  * 获取所有全局模块
@@ -50,6 +54,26 @@ export declare class ModuleRegistry {
50
54
  * 获取模块的所有中间件(包括导入模块的中间件)
51
55
  */
52
56
  getModuleMiddlewares(moduleClass: ModuleClass): Middleware[];
57
+ /**
58
+ * 解析所有模块中的 provider 实例,用于生命周期钩子调用
59
+ */
60
+ resolveAllProviderInstances(): unknown[];
61
+ /**
62
+ * 调用所有 provider 的 onModuleInit 钩子
63
+ */
64
+ callModuleInitHooks(): Promise<void>;
65
+ /**
66
+ * 调用所有 provider 的 onApplicationBootstrap 钩子
67
+ */
68
+ callBootstrapHooks(): Promise<void>;
69
+ /**
70
+ * 调用所有 provider 的 onModuleDestroy 钩子
71
+ */
72
+ callModuleDestroyHooks(): Promise<void>;
73
+ /**
74
+ * 调用所有 provider 的 onApplicationShutdown 钩子
75
+ */
76
+ callShutdownHooks(signal?: string): Promise<void>;
53
77
  private registerExport;
54
78
  }
55
79
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"module-registry.d.ts","sourceRoot":"","sources":["../../src/di/module-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAA2C,MAAM,UAAU,CAAC;AAGxG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,UAAU,SAAS;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC/C,SAAS,EAAE,SAAS,CAAC;IACrB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqC;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;WAE1C,WAAW,IAAI,cAAc;IAOpC,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,GAAG,SAAS;IAOzE,YAAY,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS;IAI7D,KAAK,IAAI,IAAI;IAOpB;;OAEG;IACI,gBAAgB,IAAI,WAAW,EAAE;IAIxC,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,oBAAoB;IAkC5B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACI,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,oBAAoB,EAAE;IAQ5E;;OAEG;IACI,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,UAAU,EAAE;IAQnE,OAAO,CAAC,cAAc;CAgBvB"}
1
+ {"version":3,"file":"module-registry.d.ts","sourceRoot":"","sources":["../../src/di/module-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAA2C,MAAM,UAAU,CAAC;AAGxG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQhD,UAAU,SAAS;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC/C,SAAS,EAAE,SAAS,CAAC;IACrB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqC;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;WAE1C,WAAW,IAAI,cAAc;IAOpC,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,GAAG,SAAS;IAOzE,YAAY,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS;IAIpE;;OAEG;IACI,sBAAsB,IAAI,SAAS,EAAE;IAQrC,KAAK,IAAI,IAAI;IAOpB;;OAEG;IACI,gBAAgB,IAAI,WAAW,EAAE;IAIxC,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,oBAAoB;IAkC5B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACI,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,oBAAoB,EAAE;IAQ5E;;OAEG;IACI,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,UAAU,EAAE;IAQnE;;OAEG;IACI,2BAA2B,IAAI,OAAO,EAAE;IAuB/C;;OAEG;IACU,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjD;;OAEG;IACU,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKhD;;OAEG;IACU,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpD;;OAEG;IACU,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D,OAAO,CAAC,cAAc;CAgBvB"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { Application, type ApplicationOptions } from './core/application';
2
+ export { applyDecorators } from './core/apply-decorators';
2
3
  export { BunServer, type ServerOptions } from './core/server';
4
+ export { ClusterManager, type ClusterOptions } from './core/cluster';
3
5
  export { Context } from './core/context';
4
6
  export { ContextService, CONTEXT_SERVICE_TOKEN, contextStore } from './core/context-service';
5
7
  export { Route, Router, RouteRegistry } from './router';
@@ -14,6 +16,8 @@ export { Injectable, Inject, Global, isGlobalModule, GLOBAL_MODULE_METADATA_KEY
14
16
  export { Lifecycle, type ProviderConfig, type DependencyMetadata } from './di/types';
15
17
  export { Module, type ModuleMetadata, type ModuleProvider, type ModuleClass, } from './di/module';
16
18
  export { ModuleRegistry } from './di/module-registry';
19
+ export { AsyncProviderRegistry, type AsyncModuleOptions } from './di/async-module';
20
+ export type { OnModuleInit, OnModuleDestroy, OnApplicationBootstrap, OnApplicationShutdown, } from './di/lifecycle';
17
21
  export { InterceptorRegistry, InterceptorChain, scanInterceptorMetadata, BaseInterceptor, Cache, CacheInterceptor, Permission, PermissionInterceptor, Log, LogInterceptor, INTERCEPTOR_REGISTRY_TOKEN, CACHE_METADATA_KEY, PERMISSION_METADATA_KEY, LOG_METADATA_KEY, type Interceptor, type InterceptorMetadata, type CacheOptions, type PermissionOptions, type PermissionService, type LogOptions, } from './interceptor';
18
22
  export { UseMiddleware, RateLimit, MiddlewarePipeline } from './middleware';
19
23
  export type { Middleware, NextFunction } from './middleware';
@@ -27,10 +31,15 @@ export { SecurityModule, SecurityContextHolder, AuthenticationManager, RoleBased
27
31
  export { UseGuards, Roles, getGuardsMetadata, getRolesMetadata, AuthGuard, OptionalAuthGuard, RolesGuard, createRolesGuard, GuardRegistry, ExecutionContextImpl, Reflector, GUARDS_METADATA_KEY, GUARD_REGISTRY_TOKEN, ROLES_METADATA_KEY, REFLECTOR_TOKEN, type CanActivate, type ExecutionContext, type HttpArgumentsHost, type WsArgumentsHost, type GuardType, type GuardMetadata, type GuardOptions, type RolesGuardOptions, } from './security/guards';
28
32
  export { ConfigModule, ConfigService, CONFIG_SERVICE_TOKEN, type ConfigModuleOptions, } from './config';
29
33
  export { HealthModule, type HealthIndicator, type HealthIndicatorResult, type HealthStatus, type HealthModuleOptions, HEALTH_INDICATORS_TOKEN, HEALTH_OPTIONS_TOKEN, } from './health';
34
+ export { DashboardModule, DashboardService, DASHBOARD_OPTIONS_TOKEN, type DashboardModuleOptions, } from './dashboard';
30
35
  export { MetricsModule, MetricsCollector, PrometheusFormatter, createHttpMetricsMiddleware, METRICS_SERVICE_TOKEN, METRICS_OPTIONS_TOKEN, type MetricsModuleOptions, type MetricType, type MetricLabels, type MetricValue, type MetricDataPoint, type CustomMetric, } from './metrics';
31
36
  export { DatabaseModule, DatabaseService, DatabaseConnectionManager, ConnectionPool, DatabaseHealthIndicator, DatabaseExtension, DATABASE_SERVICE_TOKEN, DATABASE_OPTIONS_TOKEN, type DatabaseModuleOptions, type DatabaseConfig, type DatabaseType, type ConnectionInfo, type ConnectionPoolOptions, type SqliteConfig, type PostgresConfig, type MysqlConfig, Entity, Column, PrimaryKey, Repository, BaseRepository, DrizzleBaseRepository, OrmService, ORM_SERVICE_TOKEN, getEntityMetadata, getColumnMetadata, getRepositoryMetadata, type OrmModuleOptions, type BaseRepository as BaseRepositoryInterface, type EntityMetadata, type ColumnMetadata, Transactional, TransactionManager, TransactionInterceptor, Propagation, IsolationLevel, TransactionStatus, TRANSACTION_SERVICE_TOKEN, getTransactionMetadata, type TransactionOptions, type TransactionContext, } from './database';
32
37
  export { JWTUtil, OAuth2Service, OAuth2Controller, Auth, getAuthMetadata, requiresAuth, checkRoles, OAUTH2_SERVICE_TOKEN, JWT_UTIL_TOKEN, type JWTConfig, type JWTPayload, type OAuth2Client, type OAuth2AuthorizationRequest, type OAuth2TokenRequest, type OAuth2TokenResponse, type UserInfo, type AuthContext, type AuthConfig, } from './auth';
38
+ export { DebugModule, RequestRecorder, createDebugMiddleware, DEBUG_OPTIONS_TOKEN, DEBUG_RECORDER_TOKEN, type DebugModuleOptions, type RequestRecord, } from './debug';
33
39
  export { PerformanceHarness, StressTester, type BenchmarkResult, type StressResult, } from './testing/harness';
40
+ export { Test, TestingModule, TestingModuleBuilder } from './testing/testing-module';
41
+ export { TestHttpClient } from './testing/test-client';
42
+ export { ClientGenerator, createClient, type RouteManifest, type RouteManifestEntry, type ClientConfig, type ClientRequestOptions, } from './client';
34
43
  export { CacheModule, CacheService, Cacheable, CacheEvict, CachePut, EnableCacheProxy, CacheServiceProxy, CachePostProcessor, CacheableInterceptor, CacheEvictInterceptor, CachePutInterceptor, MemoryCacheStore, RedisCacheStore, CACHE_SERVICE_TOKEN, CACHE_OPTIONS_TOKEN, CACHE_POST_PROCESSOR_TOKEN, } from './cache';
35
44
  export type { CacheModuleOptions, CacheStore, RedisCacheStoreOptions, CacheableOptions, CacheEvictOptions, CachePutOptions, } from './cache';
36
45
  export { QueueModule, QueueService, Queue, Cron, MemoryQueueStore, QUEUE_SERVICE_TOKEN, QUEUE_OPTIONS_TOKEN, } from './queue';
@@ -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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"}