@dangao/bun-server 3.1.0 → 3.3.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 (161) hide show
  1. package/dist/ai/types.d.ts +4 -0
  2. package/dist/ai/types.d.ts.map +1 -1
  3. package/dist/auth/types.d.ts +4 -0
  4. package/dist/auth/types.d.ts.map +1 -1
  5. package/dist/cache/interceptors.d.ts +3 -3
  6. package/dist/cache/interceptors.d.ts.map +1 -1
  7. package/dist/cache/service.d.ts +6 -6
  8. package/dist/cache/service.d.ts.map +1 -1
  9. package/dist/cache/types.d.ts +12 -12
  10. package/dist/cache/types.d.ts.map +1 -1
  11. package/dist/config/service.d.ts +6 -4
  12. package/dist/config/service.d.ts.map +1 -1
  13. package/dist/core/application.d.ts +4 -0
  14. package/dist/core/application.d.ts.map +1 -1
  15. package/dist/core/context.d.ts +4 -2
  16. package/dist/core/context.d.ts.map +1 -1
  17. package/dist/database/connection-manager.d.ts +2 -2
  18. package/dist/database/connection-manager.d.ts.map +1 -1
  19. package/dist/database/connection-pool.d.ts +4 -4
  20. package/dist/database/connection-pool.d.ts.map +1 -1
  21. package/dist/database/database-module.d.ts.map +1 -1
  22. package/dist/database/db-proxy.d.ts.map +1 -1
  23. package/dist/database/driver.d.ts +83 -0
  24. package/dist/database/driver.d.ts.map +1 -0
  25. package/dist/database/index.d.ts +2 -1
  26. package/dist/database/index.d.ts.map +1 -1
  27. package/dist/database/service.d.ts +0 -10
  28. package/dist/database/service.d.ts.map +1 -1
  29. package/dist/database/sql-manager.d.ts.map +1 -1
  30. package/dist/database/sqlite-adapter.d.ts +4 -2
  31. package/dist/database/sqlite-adapter.d.ts.map +1 -1
  32. package/dist/database/types.d.ts +26 -0
  33. package/dist/database/types.d.ts.map +1 -1
  34. package/dist/di/container.d.ts +2 -0
  35. package/dist/di/container.d.ts.map +1 -1
  36. package/dist/di/module-registry.d.ts.map +1 -1
  37. package/dist/di/module.d.ts +11 -1
  38. package/dist/di/module.d.ts.map +1 -1
  39. package/dist/di/types.d.ts +1 -1
  40. package/dist/di/types.d.ts.map +1 -1
  41. package/dist/error/handler.d.ts.map +1 -1
  42. package/dist/error/http-exception.d.ts +8 -8
  43. package/dist/error/http-exception.d.ts.map +1 -1
  44. package/dist/error/index.d.ts +1 -0
  45. package/dist/error/index.d.ts.map +1 -1
  46. package/dist/events/service.d.ts +2 -2
  47. package/dist/events/service.d.ts.map +1 -1
  48. package/dist/events/types.d.ts +12 -3
  49. package/dist/events/types.d.ts.map +1 -1
  50. package/dist/index.js +5951 -5820
  51. package/dist/index.node.mjs +310 -139
  52. package/dist/interceptor/base-interceptor.d.ts +3 -3
  53. package/dist/interceptor/base-interceptor.d.ts.map +1 -1
  54. package/dist/interceptor/builtin/log-interceptor.d.ts +1 -1
  55. package/dist/interceptor/builtin/log-interceptor.d.ts.map +1 -1
  56. package/dist/interceptor/builtin/permission-interceptor.d.ts +1 -1
  57. package/dist/interceptor/builtin/permission-interceptor.d.ts.map +1 -1
  58. package/dist/interceptor/interceptor-chain.d.ts +1 -1
  59. package/dist/interceptor/interceptor-chain.d.ts.map +1 -1
  60. package/dist/interceptor/interceptor-registry.d.ts +3 -1
  61. package/dist/interceptor/interceptor-registry.d.ts.map +1 -1
  62. package/dist/interceptor/types.d.ts +6 -1
  63. package/dist/interceptor/types.d.ts.map +1 -1
  64. package/dist/microservice/service-client/types.d.ts +1 -0
  65. package/dist/microservice/service-client/types.d.ts.map +1 -1
  66. package/dist/microservice/tracing/tracer.d.ts +1 -0
  67. package/dist/microservice/tracing/tracer.d.ts.map +1 -1
  68. package/dist/middleware/builtin/file-upload.d.ts +2 -0
  69. package/dist/middleware/builtin/file-upload.d.ts.map +1 -1
  70. package/dist/middleware/builtin/rate-limit.d.ts +9 -1
  71. package/dist/middleware/builtin/rate-limit.d.ts.map +1 -1
  72. package/dist/queue/service.d.ts +2 -2
  73. package/dist/queue/service.d.ts.map +1 -1
  74. package/dist/queue/types.d.ts +25 -1
  75. package/dist/queue/types.d.ts.map +1 -1
  76. package/dist/router/decorators.d.ts +1 -2
  77. package/dist/router/decorators.d.ts.map +1 -1
  78. package/dist/security/guards/types.d.ts +1 -0
  79. package/dist/security/guards/types.d.ts.map +1 -1
  80. package/dist/security/types.d.ts +1 -1
  81. package/dist/security/types.d.ts.map +1 -1
  82. package/dist/session/types.d.ts +8 -0
  83. package/dist/session/types.d.ts.map +1 -1
  84. package/dist/swagger/decorators.d.ts +1 -1
  85. package/dist/swagger/decorators.d.ts.map +1 -1
  86. package/dist/swagger/types.d.ts +1 -1
  87. package/dist/swagger/types.d.ts.map +1 -1
  88. package/dist/testing/harness.d.ts +1 -1
  89. package/dist/testing/harness.d.ts.map +1 -1
  90. package/dist/testing/test-client.d.ts +1 -1
  91. package/dist/testing/test-client.d.ts.map +1 -1
  92. package/dist/testing/testing-module.d.ts +2 -2
  93. package/dist/testing/testing-module.d.ts.map +1 -1
  94. package/dist/validation/errors.d.ts +5 -1
  95. package/dist/validation/errors.d.ts.map +1 -1
  96. package/docs/database.md +44 -0
  97. package/docs/zh/database.md +44 -0
  98. package/package.json +3 -3
  99. package/src/ai/types.ts +5 -0
  100. package/src/auth/types.ts +4 -1
  101. package/src/cache/interceptors.ts +6 -6
  102. package/src/cache/service-proxy.ts +2 -2
  103. package/src/cache/service.ts +17 -8
  104. package/src/cache/types.ts +12 -12
  105. package/src/config/service.ts +8 -6
  106. package/src/core/application.ts +7 -1
  107. package/src/core/context.ts +6 -3
  108. package/src/database/connection-manager.ts +5 -46
  109. package/src/database/connection-pool.ts +26 -49
  110. package/src/database/database-module.ts +6 -0
  111. package/src/database/db-proxy.ts +3 -2
  112. package/src/database/driver.ts +368 -0
  113. package/src/database/index.ts +8 -0
  114. package/src/database/service.ts +3 -74
  115. package/src/database/sql-manager.ts +38 -24
  116. package/src/database/sqlite-adapter.ts +4 -3
  117. package/src/database/types.ts +27 -2
  118. package/src/di/container.ts +13 -0
  119. package/src/di/module-registry.ts +2 -3
  120. package/src/di/module.ts +21 -2
  121. package/src/di/types.ts +1 -2
  122. package/src/error/handler.ts +3 -4
  123. package/src/error/http-exception.ts +11 -11
  124. package/src/error/index.ts +1 -1
  125. package/src/events/service.ts +4 -2
  126. package/src/events/types.ts +14 -3
  127. package/src/interceptor/base-interceptor.ts +5 -6
  128. package/src/interceptor/builtin/log-interceptor.ts +2 -3
  129. package/src/interceptor/builtin/permission-interceptor.ts +2 -3
  130. package/src/interceptor/interceptor-chain.ts +6 -7
  131. package/src/interceptor/interceptor-registry.ts +5 -3
  132. package/src/interceptor/types.ts +9 -4
  133. package/src/microservice/service-client/types.ts +1 -1
  134. package/src/microservice/tracing/tracer.ts +15 -3
  135. package/src/middleware/builtin/file-upload.ts +3 -2
  136. package/src/middleware/builtin/rate-limit.ts +22 -5
  137. package/src/queue/service.ts +1 -1
  138. package/src/queue/types.ts +40 -1
  139. package/src/router/decorators.ts +2 -3
  140. package/src/security/guards/types.ts +2 -1
  141. package/src/security/types.ts +1 -2
  142. package/src/session/service.ts +1 -1
  143. package/src/session/types.ts +10 -0
  144. package/src/swagger/decorators.ts +15 -4
  145. package/src/swagger/generator.ts +2 -3
  146. package/src/swagger/types.ts +1 -2
  147. package/src/testing/harness.ts +1 -2
  148. package/src/testing/test-client.ts +2 -2
  149. package/src/testing/testing-module.ts +5 -5
  150. package/src/validation/errors.ts +6 -2
  151. package/tests/bun-test-shim.d.ts +11 -0
  152. package/tests/controller/context-decorator.test.ts +1 -2
  153. package/tests/database/database-module.test.ts +4 -0
  154. package/tests/database/driver-mysql2.test.ts +95 -0
  155. package/tests/database/driver.test.ts +234 -0
  156. package/tests/database/orm.test.ts +4 -0
  157. package/tests/di/module.test.ts +199 -1
  158. package/tests/events/event-emitter.test.ts +2 -2
  159. package/tests/global.d.ts +30 -0
  160. package/tests/queue/queue-service.test.ts +14 -0
  161. package/tests/testing/testing-module.test.ts +20 -0
@@ -2,6 +2,18 @@
2
2
  * 数据库类型
3
3
  */
4
4
  export type DatabaseType = 'sqlite' | 'postgres' | 'mysql';
5
+ /**
6
+ * SQL 驱动选择
7
+ *
8
+ * 与运行时平台(fs/crypto/http server 等)解耦,仅决定 Postgres/MySQL 连接走哪套底层驱动。
9
+ *
10
+ * - `'auto'`(默认):Bun 运行时使用内建 `Bun.SQL`,Node.js 运行时使用 `mysql2` / `postgres` 纯 JS 驱动(保持历史行为)。
11
+ * - `'mysql2'`:无论运行时是 Bun 还是 Node,都使用 `mysql2`(仅适用于 `type: 'mysql'`)。
12
+ * 适合 `bun build --compile` 场景,绕开编译二进制内焊死的 `Bun.SQL` MySQL 适配 bug。
13
+ * - `'postgres'`:无论运行时如何,都使用 `postgres` 纯 JS 驱动(仅适用于 `type: 'postgres'`)。
14
+ * - `'bun-sql'`:强制使用 `Bun.SQL`(仅在 Bun 运行时合法,Node.js 下会抛出清晰错误)。
15
+ */
16
+ export type DatabaseDriver = 'auto' | 'bun-sql' | 'mysql2' | 'postgres';
5
17
  /**
6
18
  * SQLite 配置
7
19
  */
@@ -68,6 +80,8 @@ export interface MysqlConfig {
68
80
  }
69
81
  /**
70
82
  * 数据库配置(联合类型)
83
+ *
84
+ * Postgres/MySQL 支持可选的 `driver` 字段,用于显式选择底层驱动(与运行时平台解耦)。
71
85
  */
72
86
  export type DatabaseConfig = {
73
87
  type: 'sqlite';
@@ -75,9 +89,11 @@ export type DatabaseConfig = {
75
89
  } | {
76
90
  type: 'postgres';
77
91
  config: PostgresConfig;
92
+ driver?: DatabaseDriver;
78
93
  } | {
79
94
  type: 'mysql';
80
95
  config: MysqlConfig;
96
+ driver?: DatabaseDriver;
81
97
  };
82
98
  /**
83
99
  * Bun.SQL 连接池配置
@@ -111,6 +127,11 @@ export interface BunSQLConfig {
111
127
  type: 'postgres' | 'mysql';
112
128
  url: string;
113
129
  pool?: BunSQLPoolOptions;
130
+ /**
131
+ * 显式选择底层驱动(与运行时平台解耦)。
132
+ * @default 'auto'
133
+ */
134
+ driver?: DatabaseDriver;
114
135
  }
115
136
  /**
116
137
  * SQLite V2 配置
@@ -177,6 +198,11 @@ export interface DatabaseModuleOptions {
177
198
  * 单租户:数据库类型(V2)
178
199
  */
179
200
  type?: DatabaseType;
201
+ /**
202
+ * 单租户:显式选择底层驱动(V2,与运行时平台解耦)
203
+ * @default 'auto'
204
+ */
205
+ driver?: DatabaseDriver;
180
206
  /**
181
207
  * 单租户:Postgres/MySQL URL(V2)
182
208
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ export declare class Container {
41
41
  * @param token - 提供者标识符(类构造函数或 token)
42
42
  * @param config - 提供者配置
43
43
  */
44
+ register<T>(token: Constructor<T> | string | symbol, implementation: Constructor<unknown>): void;
44
45
  register<T>(token: Constructor<T> | string | symbol, config?: ProviderConfig): void;
45
46
  /**
46
47
  * 注册单例
@@ -66,6 +67,7 @@ export declare class Container {
66
67
  * @param token - 提供者标识符
67
68
  * @returns 解析后的实例
68
69
  */
70
+ resolve(token: string | symbol): any;
69
71
  resolve<T>(token: Constructor<T> | string | symbol): T;
70
72
  /**
71
73
  * 解析依赖(内部方法,支持 string | symbol token)
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/di/container.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,qBAAqB,EAG1B,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AAOjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAUhD;;;GAGG;AACH,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAY;gBAEjB,OAAO,GAAE,gBAAqB;IAGjD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8C;IAExE;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuC;IAElE;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwD;IAExF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAGxB;IAEJ;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG5B;IAEJ;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+B;IAE9D;;;;OAIG;IACI,QAAQ,CAAC,CAAC,EACf,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,EACvC,MAAM,CAAC,EAAE,cAAc,GACtB,IAAI;IA6BP;;;;OAIG;IACI,gBAAgB,CAAC,CAAC,EACvB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,EACvC,QAAQ,EAAE,CAAC,GACV,IAAI;IAQP;;;OAGG;IACI,qBAAqB,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI;IAMpE;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;;;OAIG;IACI,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC;IAyF7D;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAsGvB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAqBnB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IASnB;;;OAGG;IACI,KAAK,IAAI,IAAI;IASpB;;;;OAIG;IACI,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE;IAgBrD;;;OAGG;IACI,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlD;;;OAGG;IACU,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnE;;;;OAIG;IACI,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;IAK3E,OAAO,CAAC,iBAAiB;IAuDzB,OAAO,CAAC,eAAe;CA6BxB"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/di/container.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,qBAAqB,EAG1B,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AAOjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAUhD;;;GAGG;AACH,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAY;gBAEjB,OAAO,GAAE,gBAAqB;IAGjD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8C;IAExE;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuC;IAElE;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwD;IAExF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAGxB;IAEJ;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG5B;IAEJ;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+B;IAE9D;;;;OAIG;IACI,QAAQ,CAAC,CAAC,EACf,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,EACvC,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,GACnC,IAAI;IACA,QAAQ,CAAC,CAAC,EACf,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,EACvC,MAAM,CAAC,EAAE,cAAc,GACtB,IAAI;IAoCP;;;;OAIG;IACI,gBAAgB,CAAC,CAAC,EACvB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,EACvC,QAAQ,EAAE,CAAC,GACV,IAAI;IAQP;;;OAGG;IACI,qBAAqB,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI;IAMpE;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;;;OAIG;IACI,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG;IACpC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC;IA0F7D;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAsGvB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAqBnB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IASnB;;;OAGG;IACI,KAAK,IAAI,IAAI;IASpB;;;;OAIG;IACI,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE;IAgBrD;;;OAGG;IACI,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlD;;;OAGG;IACU,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnE;;;;OAIG;IACI,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;IAK3E,OAAO,CAAC,iBAAiB;IAuDzB,OAAO,CAAC,eAAe;CA6BxB"}
@@ -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;AAUhD,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;IAyCzB,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,4BAA4B,IAAI,OAAO,EAAE;IAwDhD;;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;IAOpD;;OAEG;IACU,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D;;OAEG;IACU,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BnE,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,EAAyB,KAAK,WAAW,EAA2C,MAAM,UAAU,CAAC;AAG/H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAUhD,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;IAyCzB,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,4BAA4B,IAAI,OAAO,EAAE;IAwDhD;;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;IAOpD;;OAEG;IACU,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D;;OAEG;IACU,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BnE,OAAO,CAAC,cAAc;CAgBvB"}
@@ -17,9 +17,19 @@ export interface ValueProvider {
17
17
  }
18
18
  export interface FactoryProvider {
19
19
  provide: ProviderToken;
20
- useFactory: (container: Container) => unknown;
20
+ /**
21
+ * 同步工厂函数。
22
+ * - 当 inject 存在且非空时,按 inject 顺序解析 token,并作为位置参数传入。
23
+ * - 当 inject 缺省或为空时,为保持向后兼容,将当前 Container 作为唯一参数传入。
24
+ */
25
+ useFactory: (...args: any[]) => unknown;
26
+ /**
27
+ * 可选的依赖 token 列表。依赖会在工厂被调用时按容器规则惰性解析。
28
+ */
29
+ inject?: ProviderToken[];
21
30
  lifecycle?: Lifecycle;
22
31
  }
32
+ export declare function invokeFactoryProvider(provider: FactoryProvider, container: Container): unknown;
23
33
  /**
24
34
  * NestJS 风格别名:`provide` 解析为已注册的 `useExisting` 同一实例(不新建)。
25
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/di/module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC;IAC9C,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GACtB,WAAW,CAAC,OAAO,CAAC,GACpB,aAAa,GACb,aAAa,GACb,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,mBAAmB,eAAsC,CAAC;AAEvE,wBAAgB,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,cAAc,CAI/D;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC,CAU7K"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/di/module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,aAAa,CAAC;IACvB;;;;OAIG;IACH,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;IACxC;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,SAAS,GACnB,OAAO,CAMT;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GACtB,WAAW,CAAC,OAAO,CAAC,GACpB,aAAa,GACb,aAAa,GACb,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,mBAAmB,eAAsC,CAAC;AAEvE,wBAAgB,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,cAAc,CAI/D;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC,CAU7K"}
@@ -57,7 +57,7 @@ export interface ProviderConfig {
57
57
  /**
58
58
  * 实际实现类(当 token 为 string/symbol 时用于实例化)
59
59
  */
60
- implementation?: new (...args: unknown[]) => unknown;
60
+ implementation?: Constructor<unknown>;
61
61
  }
62
62
  /**
63
63
  * 依赖元数据
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/di/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAC3B,SAAS,EAAE,OAAO,GACjB,CAAC,CAAC;IAEL;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,eAAiD,CAAC;AAE5F;;GAEG;AACH,oBAAY,SAAS;IACnB;;OAEG;IACH,SAAS,cAAc;IAEvB;;OAEG;IACH,SAAS,cAAc;IAEvB;;OAEG;IACH,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;IAExB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;IAEpC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/di/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAC3B,SAAS,EAAE,OAAO,GACjB,CAAC,CAAC;IAEL;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,eAAiD,CAAC;AAE5F;;GAEG;AACH,oBAAY,SAAS;IACnB;;OAEG;IACH,SAAS,cAAc;IAEvB;;OAEG;IACH,SAAS,cAAc;IAEvB;;OAEG;IACH,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;IAExB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;IAEpC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/error/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAO/C;;GAEG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsErF"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/error/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAQ/C;;GAEG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsErF"}
@@ -5,10 +5,10 @@ import type { MessageParams } from './i18n';
5
5
  */
6
6
  export declare class HttpException extends Error {
7
7
  readonly status: number;
8
- readonly code?: ErrorCode;
8
+ readonly code?: ErrorCode | string;
9
9
  readonly details?: unknown;
10
10
  readonly messageParams?: MessageParams;
11
- constructor(status: number, message: string, details?: unknown, code?: ErrorCode, messageParams?: MessageParams);
11
+ constructor(status: number, message: string, details?: unknown, code?: ErrorCode | string, messageParams?: MessageParams);
12
12
  /**
13
13
  * 创建带错误码的异常
14
14
  * @param code - 错误码
@@ -29,21 +29,21 @@ export declare class HttpException extends Error {
29
29
  * HttpException.withCode(ErrorCode.RESOURCE_NOT_FOUND, undefined, undefined, { resource: 'User' });
30
30
  * ```
31
31
  */
32
- static withCode(code: ErrorCode, message?: string, details?: unknown, messageParams?: MessageParams): HttpException;
32
+ static withCode(code: ErrorCode | string, message?: string, details?: unknown, messageParams?: MessageParams): HttpException;
33
33
  }
34
34
  export declare class BadRequestException extends HttpException {
35
- constructor(message?: string, details?: unknown, code?: ErrorCode, messageParams?: MessageParams);
35
+ constructor(message?: string, details?: unknown, code?: ErrorCode | string, messageParams?: MessageParams);
36
36
  }
37
37
  export declare class UnauthorizedException extends HttpException {
38
- constructor(message?: string, details?: unknown, code?: ErrorCode, messageParams?: MessageParams);
38
+ constructor(message?: string, details?: unknown, code?: ErrorCode | string, messageParams?: MessageParams);
39
39
  }
40
40
  export declare class ForbiddenException extends HttpException {
41
- constructor(message?: string, details?: unknown, code?: ErrorCode, messageParams?: MessageParams);
41
+ constructor(message?: string, details?: unknown, code?: ErrorCode | string, messageParams?: MessageParams);
42
42
  }
43
43
  export declare class NotFoundException extends HttpException {
44
- constructor(message?: string, details?: unknown, code?: ErrorCode, messageParams?: MessageParams);
44
+ constructor(message?: string, details?: unknown, code?: ErrorCode | string, messageParams?: MessageParams);
45
45
  }
46
46
  export declare class InternalServerErrorException extends HttpException {
47
- constructor(message?: string, details?: unknown, code?: ErrorCode, messageParams?: MessageParams);
47
+ constructor(message?: string, details?: unknown, code?: ErrorCode | string, messageParams?: MessageParams);
48
48
  }
49
49
  //# sourceMappingURL=http-exception.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-exception.d.ts","sourceRoot":"","sources":["../../src/error/http-exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6C,MAAM,eAAe,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjC,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClC,SAAgB,aAAa,CAAC,EAAE,aAAa,CAAC;gBAG5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS,EAChB,aAAa,CAAC,EAAE,aAAa;IAU/B;;;;;;;;;;;;;;;;;;;OAmBG;WACW,QAAQ,CACpB,IAAI,EAAE,SAAS,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,EACjB,aAAa,CAAC,EAAE,aAAa,GAC5B,aAAa;CAKjB;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBAElD,OAAO,GAAE,MAAsB,EAC/B,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS,EAChB,aAAa,CAAC,EAAE,aAAa;CAIhC;AAED,qBAAa,qBAAsB,SAAQ,aAAa;gBAEpD,OAAO,GAAE,MAAuB,EAChC,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS,EAChB,aAAa,CAAC,EAAE,aAAa;CAIhC;AAED,qBAAa,kBAAmB,SAAQ,aAAa;gBAEjD,OAAO,GAAE,MAAoB,EAC7B,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS,EAChB,aAAa,CAAC,EAAE,aAAa;CAIhC;AAED,qBAAa,iBAAkB,SAAQ,aAAa;gBAEhD,OAAO,GAAE,MAAoB,EAC7B,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS,EAChB,aAAa,CAAC,EAAE,aAAa;CAIhC;AAED,qBAAa,4BAA6B,SAAQ,aAAa;gBAE3D,OAAO,GAAE,MAAgC,EACzC,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS,EAChB,aAAa,CAAC,EAAE,aAAa;CAIhC"}
1
+ {"version":3,"file":"http-exception.d.ts","sourceRoot":"","sources":["../../src/error/http-exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6C,MAAM,eAAe,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1C,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClC,SAAgB,aAAa,CAAC,EAAE,aAAa,CAAC;gBAG5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,EACzB,aAAa,CAAC,EAAE,aAAa;IAU/B;;;;;;;;;;;;;;;;;;;OAmBG;WACW,QAAQ,CACpB,IAAI,EAAE,SAAS,GAAG,MAAM,EACxB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,EACjB,aAAa,CAAC,EAAE,aAAa,GAC5B,aAAa;CAMjB;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBAElD,OAAO,GAAE,MAAsB,EAC/B,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,EACzB,aAAa,CAAC,EAAE,aAAa;CAIhC;AAED,qBAAa,qBAAsB,SAAQ,aAAa;gBAEpD,OAAO,GAAE,MAAuB,EAChC,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,EACzB,aAAa,CAAC,EAAE,aAAa;CAIhC;AAED,qBAAa,kBAAmB,SAAQ,aAAa;gBAEjD,OAAO,GAAE,MAAoB,EAC7B,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,EACzB,aAAa,CAAC,EAAE,aAAa;CAIhC;AAED,qBAAa,iBAAkB,SAAQ,aAAa;gBAEhD,OAAO,GAAE,MAAoB,EAC7B,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,EACzB,aAAa,CAAC,EAAE,aAAa;CAIhC;AAED,qBAAa,4BAA6B,SAAQ,aAAa;gBAE3D,OAAO,GAAE,MAAgC,EACzC,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,EACzB,aAAa,CAAC,EAAE,aAAa;CAIhC"}
@@ -5,4 +5,5 @@ export { handleError } from './handler';
5
5
  export { ErrorCode, ERROR_CODE_MESSAGES, ERROR_CODE_TO_STATUS } from './error-codes';
6
6
  export { ErrorMessageI18n } from './i18n';
7
7
  export type { SupportedLanguage, MessageParams } from './i18n';
8
+ export type { Context } from '../core/context';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC/D,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -19,11 +19,11 @@ export declare class EventEmitterService implements EventEmitter {
19
19
  /**
20
20
  * 发布事件(同步触发所有监听器,不等待异步监听器完成)
21
21
  */
22
- emit<T>(event: string | symbol, payload: T): void;
22
+ emit<T = undefined>(event: string | symbol, payload?: T): void;
23
23
  /**
24
24
  * 异步发布事件(等待所有监听器完成)
25
25
  */
26
- emitAsync<T>(event: string | symbol, payload: T): Promise<void>;
26
+ emitAsync<T = undefined>(event: string | symbol, payload?: T): Promise<void>;
27
27
  /**
28
28
  * 订阅事件
29
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/events/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,eAAe,EAEhB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD;;OAEG;IACH,OAAO,CAAC,SAAS,CAAyD;IAE1E;;OAEG;IACH,OAAO,CAAC,OAAO,CAAqB;IAEpC;;;OAGG;gBACgB,OAAO,GAAE,kBAAuB;IASnD;;OAEG;IACI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI;IA+BxD;;OAEG;IACU,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C5E;;OAEG;IACI,EAAE,CAAC,CAAC,EACT,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,OAAO,GAAE,eAAoB,GAC5B,MAAM,IAAI;IAKb;;OAEG;IACI,IAAI,CAAC,CAAC,EACX,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,OAAO,GAAE,eAAoB,GAC5B,MAAM,IAAI;IAKb;;OAEG;IACI,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAmBvE;;OAEG;IACI,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASxD;;OAEG;IACI,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAMpD;;OAEG;IACI,UAAU,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;IAIxC;;OAEG;IACH,OAAO,CAAC,WAAW;IAuCnB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;OAEG;IACH,OAAO,CAAC,aAAa;IA4CrB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;OAEG;IACH,OAAO,CAAC,WAAW;CAcpB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/events/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,eAAe,EAEhB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD;;OAEG;IACH,OAAO,CAAC,SAAS,CAAyD;IAE1E;;OAEG;IACH,OAAO,CAAC,OAAO,CAAqB;IAEpC;;;OAGG;gBACgB,OAAO,GAAE,kBAAuB;IASnD;;OAEG;IACI,IAAI,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI;IA+BrE;;OAEG;IACU,SAAS,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CzF;;OAEG;IACI,EAAE,CAAC,CAAC,EACT,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,OAAO,GAAE,eAAoB,GAC5B,MAAM,IAAI;IAKb;;OAEG;IACI,IAAI,CAAC,CAAC,EACX,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,OAAO,GAAE,eAAoB,GAC5B,MAAM,IAAI;IAKb;;OAEG;IACI,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAmBvE;;OAEG;IACI,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASxD;;OAEG;IACI,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAMpD;;OAEG;IACI,UAAU,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;IAIxC;;OAEG;IACH,OAAO,CAAC,WAAW;IAuCnB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;OAEG;IACH,OAAO,CAAC,aAAa;IA4CrB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;OAEG;IACH,OAAO,CAAC,WAAW;CAgBpB"}
@@ -3,7 +3,7 @@
3
3
  * @template T - 事件负载类型
4
4
  */
5
5
  export interface EventListener<T = unknown> {
6
- (payload: T): void | Promise<void>;
6
+ (payload: T): unknown | Promise<unknown>;
7
7
  }
8
8
  /**
9
9
  * 事件元数据
@@ -54,13 +54,13 @@ export interface EventEmitter {
54
54
  * @param event - 事件名称或标识符
55
55
  * @param payload - 事件负载
56
56
  */
57
- emit<T>(event: string | symbol, payload: T): void;
57
+ emit<T = undefined>(event: string | symbol, payload?: T): void;
58
58
  /**
59
59
  * 异步发布事件(等待所有监听器完成)
60
60
  * @param event - 事件名称或标识符
61
61
  * @param payload - 事件负载
62
62
  */
63
- emitAsync<T>(event: string | symbol, payload: T): Promise<void>;
63
+ emitAsync<T = undefined>(event: string | symbol, payload?: T): Promise<void>;
64
64
  /**
65
65
  * 订阅事件
66
66
  * @param event - 事件名称或标识符
@@ -136,6 +136,11 @@ export interface EventModuleOptions {
136
136
  * @default 10
137
137
  */
138
138
  maxListeners?: number;
139
+ /**
140
+ * 默认是否异步处理监听器,兼容早期模块配置。
141
+ * @default false
142
+ */
143
+ async?: boolean;
139
144
  /**
140
145
  * 错误处理函数
141
146
  * @param error - 错误对象
@@ -143,6 +148,10 @@ export interface EventModuleOptions {
143
148
  * @param payload - 事件负载
144
149
  */
145
150
  onError?: (error: Error, event: string | symbol, payload: unknown) => void;
151
+ /**
152
+ * 错误处理函数别名,参数顺序为 (event, error)。
153
+ */
154
+ errorHandler?: (event: string, error: Error, payload: unknown) => void;
146
155
  /**
147
156
  * 是否自动扫描和注册事件监听器
148
157
  * 当设置为 true 时,框架会在应用启动时自动扫描所有模块中使用 @OnEvent 装饰器的类
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"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"}