@dangao/bun-server 2.0.8 → 2.1.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.
- package/README.md +4 -0
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/core/application.d.ts +6 -1
- package/dist/core/application.d.ts.map +1 -1
- package/dist/core/server.d.ts +5 -0
- package/dist/core/server.d.ts.map +1 -1
- package/dist/database/database-context.d.ts +25 -0
- package/dist/database/database-context.d.ts.map +1 -0
- package/dist/database/database-extension.d.ts +8 -9
- package/dist/database/database-extension.d.ts.map +1 -1
- package/dist/database/database-module.d.ts +7 -1
- package/dist/database/database-module.d.ts.map +1 -1
- package/dist/database/db-proxy.d.ts +12 -0
- package/dist/database/db-proxy.d.ts.map +1 -0
- package/dist/database/index.d.ts +6 -1
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/orm/transaction-interceptor.d.ts +0 -16
- package/dist/database/orm/transaction-interceptor.d.ts.map +1 -1
- package/dist/database/orm/transaction-manager.d.ts +10 -61
- package/dist/database/orm/transaction-manager.d.ts.map +1 -1
- package/dist/database/service.d.ts.map +1 -1
- package/dist/database/sql-manager.d.ts +14 -0
- package/dist/database/sql-manager.d.ts.map +1 -0
- package/dist/database/sqlite-adapter.d.ts +32 -0
- package/dist/database/sqlite-adapter.d.ts.map +1 -0
- package/dist/database/strategy-decorator.d.ts +8 -0
- package/dist/database/strategy-decorator.d.ts.map +1 -0
- package/dist/database/types.d.ts +122 -1
- package/dist/database/types.d.ts.map +1 -1
- package/dist/di/module-registry.d.ts.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3115 -2586
- package/dist/microservice/service-registry/service-registry-module.d.ts +16 -0
- package/dist/microservice/service-registry/service-registry-module.d.ts.map +1 -1
- package/dist/router/index.d.ts +1 -0
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/registry.d.ts +1 -1
- package/dist/router/registry.d.ts.map +1 -1
- package/dist/router/route.d.ts +2 -1
- package/dist/router/route.d.ts.map +1 -1
- package/dist/router/router.d.ts +1 -1
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/timeout-decorator.d.ts +6 -0
- package/dist/router/timeout-decorator.d.ts.map +1 -0
- package/docs/database.md +48 -15
- package/docs/idle-timeout.md +42 -0
- package/docs/lifecycle.md +6 -0
- package/docs/microservice-nacos.md +1 -0
- package/docs/microservice-service-registry.md +7 -0
- package/docs/zh/database.md +48 -15
- package/docs/zh/idle-timeout.md +41 -0
- package/docs/zh/lifecycle.md +5 -0
- package/docs/zh/microservice-nacos.md +1 -0
- package/docs/zh/microservice-service-registry.md +6 -0
- package/package.json +1 -1
- package/src/controller/controller.ts +11 -1
- package/src/core/application.ts +60 -1
- package/src/core/server.ts +10 -0
- package/src/database/database-context.ts +43 -0
- package/src/database/database-extension.ts +12 -45
- package/src/database/database-module.ts +254 -11
- package/src/database/db-proxy.ts +75 -0
- package/src/database/index.ts +29 -0
- package/src/database/orm/transaction-interceptor.ts +12 -149
- package/src/database/orm/transaction-manager.ts +143 -210
- package/src/database/service.ts +28 -2
- package/src/database/sql-manager.ts +62 -0
- package/src/database/sqlite-adapter.ts +121 -0
- package/src/database/strategy-decorator.ts +42 -0
- package/src/database/types.ts +133 -1
- package/src/di/module-registry.ts +20 -4
- package/src/index.ts +27 -1
- package/src/microservice/service-registry/service-registry-module.ts +25 -1
- package/src/router/index.ts +1 -0
- package/src/router/registry.ts +10 -1
- package/src/router/route.ts +31 -3
- package/src/router/router.ts +10 -1
- package/src/router/timeout-decorator.ts +35 -0
- package/tests/core/application.test.ts +10 -0
- package/tests/database/database-module.test.ts +91 -430
- package/tests/database/db-proxy.test.ts +93 -0
- package/tests/database/sql-manager.test.ts +43 -0
- package/tests/database/sqlite-adapter.test.ts +45 -0
- package/tests/database/strategy-decorator.test.ts +29 -0
- package/tests/database/transaction.test.ts +84 -222
- package/tests/di/lifecycle.test.ts +37 -0
- package/tests/microservice/service-registry.test.ts +15 -0
- package/tests/router/timeout-decorator.test.ts +48 -0
package/README.md
CHANGED
|
@@ -42,6 +42,8 @@
|
|
|
42
42
|
and `ResponseBuilder` helpers.
|
|
43
43
|
- 🧩 **Dependency injection container** with `@Injectable`, `@Inject`, module
|
|
44
44
|
metadata, lifecycle management and cached dependency plans.
|
|
45
|
+
- 🗄️ **Database v2** with `db` proxy, route-level pool/session strategy,
|
|
46
|
+
multi-tenant manager and unified transactions.
|
|
45
47
|
- 🧵 **Middleware pipeline** with global/class/method scopes plus built-ins
|
|
46
48
|
(logging, error, CORS, upload, static, ...).
|
|
47
49
|
- ✅ **Input validation** via decorators and `ValidationError` integration.
|
|
@@ -420,11 +422,13 @@ Examples are organized by difficulty and feature category:
|
|
|
420
422
|
- `full-app.ts` - Validation, uploads, static files, WebSocket
|
|
421
423
|
- `lifecycle-app.ts` - Lifecycle hooks (OnModuleInit, OnModuleDestroy, etc.)
|
|
422
424
|
- `async-config-app.ts` - Async module config with `forRootAsync()`
|
|
425
|
+
- `idle-timeout-app.ts` - Global and route-level idleTimeout
|
|
423
426
|
|
|
424
427
|
- **[Official Modules](./examples/02-official-modules/)** - Ready-to-use modules
|
|
425
428
|
- `auth-app.ts` - JWT + OAuth2 authentication (with Web UI)
|
|
426
429
|
- `session-app.ts` - Session management
|
|
427
430
|
- `database-app.ts` - Database connection and queries
|
|
431
|
+
- `nacos-auto-register-app.ts` - Nacos autoRegister switch example
|
|
428
432
|
- `orm-app.ts` - Entity + Repository pattern
|
|
429
433
|
- `cache-app.ts` - Caching with decorators
|
|
430
434
|
- `queue-app.ts` - Task queues and Cron jobs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller/controller.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller/controller.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAUhD;;GAEG;AACH,eAAO,MAAM,uBAAuB,eAAuB,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAW,IACzB,QAAQ,WAAW,CAAC,OAAO,CAAC,UAI9C;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;IACxE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA8C;IAEnF,OAAO;IAIP;;OAEG;WACW,WAAW,IAAI,kBAAkB;IAO/C;;;OAGG;IACI,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI;IAyKnF;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,YAAY;IA+BpB;;;OAGG;IACI,YAAY,IAAI,SAAS;IAIhC;;;OAGG;IACI,iBAAiB,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;IAIlD;;;OAGG;IACI,wBAAwB,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;IAIzD;;OAEG;IACI,KAAK,IAAI,IAAI;CAKrB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BunServer } from './server';
|
|
2
2
|
import type { Middleware } from '../middleware';
|
|
3
3
|
import type { ApplicationExtension } from '../extensions/types';
|
|
4
|
-
import type
|
|
4
|
+
import { type ModuleClass } from '../di/module';
|
|
5
5
|
import type { Constructor } from './types';
|
|
6
6
|
/**
|
|
7
7
|
* 应用配置选项
|
|
@@ -32,6 +32,11 @@ export interface ApplicationOptions {
|
|
|
32
32
|
* @default false
|
|
33
33
|
*/
|
|
34
34
|
reusePort?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* 连接空闲超时时间(毫秒)
|
|
37
|
+
* 框架内部会自动转换为 Bun.serve 的秒单位
|
|
38
|
+
*/
|
|
39
|
+
idleTimeout?: number;
|
|
35
40
|
}
|
|
36
41
|
/**
|
|
37
42
|
* 应用主类
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,MAAM,UAAU,CAAC;AAMzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,MAAM,UAAU,CAAC;AAMzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAW3C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,uBAAuB,CAAkB;gBAE9B,OAAO,GAAE,kBAAuB;IA6BnD;;;OAGG;IACI,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAIxC;;OAEG;IACU,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDpE;;OAEG;YACW,oBAAoB;IAqBlC;;;OAGG;YACW,sBAAsB;IAyBpC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBlC;;;;;OAKG;IACU,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB9D;;OAEG;YACW,eAAe;IAkB7B;;;;OAIG;YACW,aAAa;IAyC3B;;;OAGG;IACI,kBAAkB,CAAC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IAKtE;;;OAGG;IACI,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAqBrD;;;OAGG;IACH,OAAO,CAAC,kCAAkC;IAc1C;;;OAGG;IACI,wBAAwB,CAAC,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IAIzE;;;OAGG;IACI,iBAAiB,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI;IAK/D;;;OAGG;IACI,SAAS,IAAI,SAAS,GAAG,SAAS;IAIzC;;;OAGG;YACW,gBAAgB;IA0C9B;;;OAGG;YACW,kBAAkB;IAgDhC;;;OAGG;IACI,YAAY;IAInB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAS7B"}
|
package/dist/core/server.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE1D;;OAEG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAE7C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE1D;;OAEG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAE7C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,CAAkC;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,eAAe,CAAC,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAC,CAAa;gBAElB,OAAO,EAAE,aAAa;IAIzC;;OAEG;IACI,KAAK,IAAI,IAAI;IAsHpB;;OAEG;IACI,IAAI,IAAI,IAAI;IAWnB;;;;;OAKG;IACU,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C9D;;OAEG;IACI,iBAAiB,IAAI,MAAM;IAIlC;;OAEG;IACI,mBAAmB,IAAI,OAAO;IAIrC;;;OAGG;IACI,SAAS,IAAI,MAAM,CAAC,uBAAuB,CAAC,GAAG,SAAS;IAI/D;;;OAGG;IACI,SAAS,IAAI,OAAO;IAI3B;;;OAGG;IACI,OAAO,IAAI,MAAM;IAOxB;;OAEG;IACI,WAAW,IAAI,MAAM,GAAG,SAAS;CAGzC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
import type { TransactionStatus } from './orm/transaction-types';
|
|
3
|
+
import type { SqliteAdapter } from './sqlite-adapter';
|
|
4
|
+
export type SqlTemplateCall = (strings: TemplateStringsArray, ...values: unknown[]) => Promise<unknown>;
|
|
5
|
+
export interface ReservedSqlSession extends SqlTemplateCall {
|
|
6
|
+
begin<T>(fn: () => Promise<T>): Promise<T>;
|
|
7
|
+
release(): Promise<void> | void;
|
|
8
|
+
}
|
|
9
|
+
export interface TransactionState {
|
|
10
|
+
id: string;
|
|
11
|
+
status: TransactionStatus;
|
|
12
|
+
level: number;
|
|
13
|
+
savepoints: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface DatabaseSession {
|
|
16
|
+
reserved?: ReservedSqlSession;
|
|
17
|
+
sqlite?: SqliteAdapter;
|
|
18
|
+
tenantId: string;
|
|
19
|
+
transaction?: TransactionState;
|
|
20
|
+
lazyReserve?: () => Promise<ReservedSqlSession>;
|
|
21
|
+
}
|
|
22
|
+
export declare const databaseSessionStore: AsyncLocalStorage<DatabaseSession>;
|
|
23
|
+
export declare function getCurrentSession(): DatabaseSession | undefined;
|
|
24
|
+
export declare function runWithSession<T>(session: DatabaseSession, fn: () => Promise<T>): Promise<T>;
|
|
25
|
+
//# sourceMappingURL=database-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-context.d.ts","sourceRoot":"","sources":["../../src/database/database-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,OAAO,EAAE,KACjB,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACjD;AAED,eAAO,MAAM,oBAAoB,oCAA2C,CAAC;AAE7E,wBAAgB,iBAAiB,IAAI,eAAe,GAAG,SAAS,CAE/D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,EAAE,eAAe,EACxB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAEZ"}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import type { Container } from '../di/container';
|
|
2
2
|
import type { ApplicationExtension } from '../extensions/types';
|
|
3
|
+
import type { BunSQLManager } from './sql-manager';
|
|
4
|
+
import type { SqliteManager } from './sqlite-adapter';
|
|
3
5
|
/**
|
|
4
6
|
* 数据库扩展
|
|
5
|
-
*
|
|
7
|
+
* 注册事务拦截器,并在应用关闭时释放数据库资源
|
|
6
8
|
*/
|
|
7
9
|
export declare class DatabaseExtension implements ApplicationExtension {
|
|
10
|
+
private readonly sqlManager?;
|
|
11
|
+
private readonly sqliteManager?;
|
|
12
|
+
constructor(sqlManager?: BunSQLManager | undefined, sqliteManager?: SqliteManager | undefined);
|
|
8
13
|
register(container: Container): void;
|
|
9
14
|
/**
|
|
10
|
-
*
|
|
11
|
-
* 应该在应用启动时调用
|
|
15
|
+
* 关闭数据库资源
|
|
12
16
|
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* 关闭数据库连接
|
|
16
|
-
* 应该在应用停止时调用
|
|
17
|
-
*/
|
|
18
|
-
close(container: Container): Promise<void>;
|
|
17
|
+
close(_container: Container): Promise<void>;
|
|
19
18
|
}
|
|
20
19
|
//# sourceMappingURL=database-extension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-extension.d.ts","sourceRoot":"","sources":["../../src/database/database-extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"database-extension.d.ts","sourceRoot":"","sources":["../../src/database/database-extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAQhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,oBAAoB;IAE1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;gBADd,UAAU,CAAC,EAAE,aAAa,YAAA,EAC1B,aAAa,CAAC,EAAE,aAAa,YAAA;IAGzC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAoB3C;;OAEG;IACU,KAAK,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAIzD"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { type AsyncModuleOptions } from '../di/async-module';
|
|
2
2
|
import { DatabaseHealthIndicator } from './health-indicator';
|
|
3
3
|
import { DatabaseService } from './service';
|
|
4
|
-
import { type DatabaseModuleOptions } from './types';
|
|
4
|
+
import { type BunSQLConfig, type DatabaseModuleOptions, type SqliteV2Config } from './types';
|
|
5
5
|
export declare class DatabaseModule {
|
|
6
|
+
private static isBunSqlType;
|
|
7
|
+
static normalizeConfig(options: DatabaseModuleOptions): Array<{
|
|
8
|
+
tenantId: string;
|
|
9
|
+
config: BunSQLConfig | SqliteV2Config;
|
|
10
|
+
}>;
|
|
11
|
+
private static createDatabaseMiddleware;
|
|
6
12
|
/**
|
|
7
13
|
* 创建数据库模块
|
|
8
14
|
* @param options - 模块配置
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-module.d.ts","sourceRoot":"","sources":["../../src/database/database-module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"database-module.d.ts","sourceRoot":"","sources":["../../src/database/database-module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAA0B,MAAM,oBAAoB,CAAC;AAKrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAI7D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAML,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AASjB,qBAGa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,YAAY;WAMb,eAAe,CAC3B,OAAO,EAAE,qBAAqB,GAC7B,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAAA;KAAE,CAAC;IA0FrE,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAyEvC;;;OAGG;WACW,OAAO,CACnB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,cAAc;IA+IxB;;;;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,12 @@
|
|
|
1
|
+
import type { BunSQLManager } from './sql-manager';
|
|
2
|
+
import type { TransactionManager } from './orm/transaction-manager';
|
|
3
|
+
type DbResult = Promise<unknown>;
|
|
4
|
+
export interface DbProxy {
|
|
5
|
+
(strings: TemplateStringsArray, ...values: unknown[]): DbResult;
|
|
6
|
+
transaction<T>(fn: () => Promise<T>): Promise<T>;
|
|
7
|
+
tenant(tenantId: string): DbProxy;
|
|
8
|
+
}
|
|
9
|
+
export declare function initDbProxy(sqlManager: BunSQLManager, txManager: TransactionManager): void;
|
|
10
|
+
export declare const db: DbProxy;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=db-proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-proxy.d.ts","sourceRoot":"","sources":["../../src/database/db-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,KAAK,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEjC,MAAM,WAAW,OAAO;IACtB,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAChE,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAKD,wBAAgB,WAAW,CACzB,UAAU,EAAE,aAAa,EACzB,SAAS,EAAE,kBAAkB,GAC5B,IAAI,CAGN;AAoDD,eAAO,MAAM,EAAE,EAAE,OAAoB,CAAC"}
|
package/dist/database/index.d.ts
CHANGED
|
@@ -4,6 +4,11 @@ export { DatabaseConnectionManager } from './connection-manager';
|
|
|
4
4
|
export { ConnectionPool } from './connection-pool';
|
|
5
5
|
export { DatabaseHealthIndicator } from './health-indicator';
|
|
6
6
|
export { DatabaseExtension } from './database-extension';
|
|
7
|
-
export {
|
|
7
|
+
export { BunSQLManager } from './sql-manager';
|
|
8
|
+
export { SqliteAdapter, SqliteManager, Semaphore } from './sqlite-adapter';
|
|
9
|
+
export { db, initDbProxy, type DbProxy, } from './db-proxy';
|
|
10
|
+
export { DbStrategy, Session as DbSession, DB_STRATEGY_KEY, getDbStrategy, type DbStrategyType, } from './strategy-decorator';
|
|
11
|
+
export { databaseSessionStore, getCurrentSession, runWithSession, type DatabaseSession, type TransactionState, type ReservedSqlSession, } from './database-context';
|
|
12
|
+
export { BUN_SQL_MANAGER_TOKEN, DB_TOKEN, DATABASE_OPTIONS_TOKEN, DATABASE_SERVICE_TOKEN, SQLITE_MANAGER_TOKEN, type BunSQLConfig, type BunSQLPoolOptions, type ConnectionInfo, type ConnectionPoolOptions, type DatabaseConfig, type DatabaseModuleOptions, type DatabaseType, type MysqlConfig, type PostgresConfig, type SqliteV2Config, type SqliteConfig, type TenantConfig, } from './types';
|
|
8
13
|
export { 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 './orm';
|
|
9
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,cAAc,IAAI,uBAAuB,EAC9C,KAAK,cAAc,EACnB,KAAK,cAAc,EAEnB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EACL,EAAE,EACF,WAAW,EACX,KAAK,OAAO,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,OAAO,IAAI,SAAS,EACpB,eAAe,EACf,aAAa,EACb,KAAK,cAAc,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,QAAQ,EACR,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,cAAc,IAAI,uBAAuB,EAC9C,KAAK,cAAc,EACnB,KAAK,cAAc,EAEnB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,OAAO,CAAC"}
|
|
@@ -17,21 +17,5 @@ export declare class TransactionInterceptor implements Interceptor {
|
|
|
17
17
|
* @deprecated 使用拦截器机制,此方法保留用于向后兼容
|
|
18
18
|
*/
|
|
19
19
|
static executeWithTransaction<T>(target: unknown, propertyKey: string | symbol, originalMethod: (...args: unknown[]) => T | Promise<T>, args: unknown[], container: Container): Promise<T>;
|
|
20
|
-
/**
|
|
21
|
-
* 在新事务中执行方法
|
|
22
|
-
*/
|
|
23
|
-
private static executeInNewTransaction;
|
|
24
|
-
/**
|
|
25
|
-
* 在现有事务中执行方法
|
|
26
|
-
*/
|
|
27
|
-
private static executeInExistingTransaction;
|
|
28
|
-
/**
|
|
29
|
-
* 在嵌套事务中执行方法
|
|
30
|
-
*/
|
|
31
|
-
private static executeInNestedTransaction;
|
|
32
|
-
/**
|
|
33
|
-
* 判断是否应该回滚
|
|
34
|
-
*/
|
|
35
|
-
private static shouldRollback;
|
|
36
20
|
}
|
|
37
21
|
//# sourceMappingURL=transaction-interceptor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-interceptor.d.ts","sourceRoot":"","sources":["../../../src/database/orm/transaction-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,WAAW;IACxD;;;OAGG;IACU,OAAO,CAAC,CAAC,EACpB,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACtD,IAAI,EAAE,OAAO,EAAE,EACf,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"transaction-interceptor.d.ts","sourceRoot":"","sources":["../../../src/database/orm/transaction-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,WAAW;IACxD;;;OAGG;IACU,OAAO,CAAC,CAAC,EACpB,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACtD,IAAI,EAAE,OAAO,EAAE,EACf,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,CAAC,CAAC;IAqFb;;;OAGG;WACiB,sBAAsB,CAAC,CAAC,EAC1C,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACtD,IAAI,EAAE,OAAO,EAAE,EACf,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,CAAC,CAAC;CAKd"}
|
|
@@ -1,77 +1,26 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BunSQLManager } from '../sql-manager';
|
|
2
2
|
import { type TransactionOptions, type TransactionContext } from './transaction-types';
|
|
3
3
|
/**
|
|
4
4
|
* 事务管理器
|
|
5
5
|
* 管理数据库事务的生命周期
|
|
6
6
|
*/
|
|
7
7
|
export declare class TransactionManager {
|
|
8
|
-
private readonly
|
|
9
|
-
|
|
10
|
-
private readonly connectionTransactions;
|
|
11
|
-
constructor(databaseService: DatabaseService);
|
|
8
|
+
private readonly sqlManager;
|
|
9
|
+
constructor(sqlManager: BunSQLManager);
|
|
12
10
|
/**
|
|
13
|
-
*
|
|
11
|
+
* 在当前 session 中执行事务
|
|
14
12
|
*/
|
|
15
|
-
|
|
13
|
+
runInTransaction<T>(fn: () => Promise<T>, options?: TransactionOptions): Promise<T>;
|
|
16
14
|
/**
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
|
-
commitTransaction(transactionId: string): Promise<void>;
|
|
20
|
-
/**
|
|
21
|
-
* 回滚事务
|
|
22
|
-
*/
|
|
23
|
-
rollbackTransaction(transactionId: string): Promise<void>;
|
|
24
|
-
/**
|
|
25
|
-
* 创建保存点(用于嵌套事务)
|
|
26
|
-
*/
|
|
27
|
-
createSavepoint(transactionId: string): Promise<string>;
|
|
28
|
-
/**
|
|
29
|
-
* 回滚到保存点
|
|
30
|
-
*/
|
|
31
|
-
rollbackToSavepoint(transactionId: string, savepointName: string): Promise<void>;
|
|
32
|
-
/**
|
|
33
|
-
* 获取当前事务上下文
|
|
15
|
+
* REQUIRES_NEW:使用独立连接开启新事务
|
|
34
16
|
*/
|
|
17
|
+
runInNewTransaction<T>(fn: () => Promise<T>, options?: TransactionOptions): Promise<T>;
|
|
18
|
+
runInNestedTransaction<T>(fn: () => Promise<T>, options?: TransactionOptions): Promise<T>;
|
|
35
19
|
getCurrentTransaction(): TransactionContext | null;
|
|
36
|
-
/**
|
|
37
|
-
* 检查是否有活动事务
|
|
38
|
-
*/
|
|
39
20
|
hasActiveTransaction(): boolean;
|
|
40
|
-
|
|
41
|
-
* 生成事务 ID
|
|
42
|
-
*/
|
|
21
|
+
runInSqliteTransaction<T>(fn: () => Promise<T>): Promise<T>;
|
|
43
22
|
private generateTransactionId;
|
|
44
|
-
/**
|
|
45
|
-
* 查找连接对应的事务 ID
|
|
46
|
-
*/
|
|
47
|
-
private findConnectionByTransactionId;
|
|
48
|
-
/**
|
|
49
|
-
* 清理事务
|
|
50
|
-
*/
|
|
51
|
-
private cleanupTransaction;
|
|
52
|
-
/**
|
|
53
|
-
* 执行 BEGIN 语句
|
|
54
|
-
*/
|
|
55
|
-
private executeBegin;
|
|
56
|
-
/**
|
|
57
|
-
* 执行 COMMIT 语句
|
|
58
|
-
*/
|
|
59
|
-
private executeCommit;
|
|
60
|
-
/**
|
|
61
|
-
* 执行 ROLLBACK 语句
|
|
62
|
-
*/
|
|
63
|
-
private executeRollback;
|
|
64
|
-
/**
|
|
65
|
-
* 执行 SAVEPOINT 语句
|
|
66
|
-
*/
|
|
67
|
-
private executeSavepoint;
|
|
68
|
-
/**
|
|
69
|
-
* 执行 ROLLBACK TO SAVEPOINT 语句
|
|
70
|
-
*/
|
|
71
|
-
private executeRollbackToSavepoint;
|
|
72
|
-
/**
|
|
73
|
-
* 获取隔离级别的 SQL
|
|
74
|
-
*/
|
|
75
23
|
private getIsolationLevelSQL;
|
|
24
|
+
private shouldRollback;
|
|
76
25
|
}
|
|
77
26
|
//# sourceMappingURL=transaction-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-manager.d.ts","sourceRoot":"","sources":["../../../src/database/orm/transaction-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transaction-manager.d.ts","sourceRoot":"","sources":["../../../src/database/orm/transaction-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAE7B;;;GAGG;AACH,qBACa,kBAAkB;IAG3B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,aAAa;IAG5C;;OAEG;IACU,gBAAgB,CAAC,CAAC,EAC7B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,CAAC,CAAC;IAqDb;;OAEG;IACU,mBAAmB,CAAC,CAAC,EAChC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,CAAC,CAAC;IAgBA,sBAAsB,CAAC,CAAC,EACnC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,CAAC,CAAC;IA4BN,qBAAqB,IAAI,kBAAkB,GAAG,IAAI;IAclD,oBAAoB,IAAI,OAAO;IAKzB,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAoBxE,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,cAAc;CAqBvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/database/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/database/service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,qBACa,eAAe;IAC1B,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,OAAO,CAAwB;gBAEpB,OAAO,EAAE,qBAAqB;IA2BjD;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC;;OAEG;IACI,YAAY;;;;;;IAInB;;OAEG;IACI,aAAa,IAAI,OAAO;IAI/B;;OAEG;IACH,IAAW,MAAM,IAAI,qBAAqB,CAEzC;IAED;;OAEG;IACI,eAAe,IAAI,cAAc,CAAC,MAAM,CAAC;IAIhD;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ5C;;OAEG;IACI,iBAAiB,IAAI,cAAc;IAI1C;;;OAGG;IACI,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAsB9E;;OAEG;IACH,OAAO,CAAC,WAAW;IA6BnB;;;OAGG;YACW,WAAW;IA+CzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;CAiB7B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SQL } from 'bun';
|
|
2
|
+
import type { BunSQLConfig } from './types';
|
|
3
|
+
export declare class BunSQLManager {
|
|
4
|
+
private readonly instances;
|
|
5
|
+
private defaultTenantId;
|
|
6
|
+
getOrCreate(tenantId: string, config: BunSQLConfig): SQL;
|
|
7
|
+
hasTenant(tenantId: string): boolean;
|
|
8
|
+
get(tenantId: string): SQL | undefined;
|
|
9
|
+
setDefaultTenant(tenantId: string): void;
|
|
10
|
+
getDefault(): SQL;
|
|
11
|
+
destroy(tenantId: string, timeout?: number): Promise<void>;
|
|
12
|
+
destroyAll(timeout?: number): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=sql-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-manager.d.ts","sourceRoot":"","sources":["../../src/database/sql-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,eAAe,CAAa;IAE7B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,GAAG;IAiBxD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIpC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAItC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIxC,UAAU,IAAI,GAAG;IAUX,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAStD,UAAU,CAAC,OAAO,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC;CAIrD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type SQLQueryBindings } from 'bun:sqlite';
|
|
2
|
+
import type { SqliteV2Config } from './types';
|
|
3
|
+
export interface DisposableLock {
|
|
4
|
+
[Symbol.dispose](): void;
|
|
5
|
+
}
|
|
6
|
+
export declare class Semaphore {
|
|
7
|
+
private readonly max;
|
|
8
|
+
private active;
|
|
9
|
+
private readonly queue;
|
|
10
|
+
constructor(max: number);
|
|
11
|
+
acquire(): Promise<DisposableLock>;
|
|
12
|
+
private createDisposable;
|
|
13
|
+
}
|
|
14
|
+
export declare class SqliteAdapter {
|
|
15
|
+
private readonly db;
|
|
16
|
+
readonly semaphore: Semaphore;
|
|
17
|
+
constructor(config: SqliteV2Config);
|
|
18
|
+
query<T = unknown>(sql: string, params?: SQLQueryBindings[]): T[];
|
|
19
|
+
execute(sql: string, params?: SQLQueryBindings[]): Promise<void>;
|
|
20
|
+
close(): void;
|
|
21
|
+
}
|
|
22
|
+
export declare class SqliteManager {
|
|
23
|
+
private readonly instances;
|
|
24
|
+
private defaultTenantId;
|
|
25
|
+
getOrCreate(tenantId: string, config: SqliteV2Config): SqliteAdapter;
|
|
26
|
+
setDefaultTenant(tenantId: string): void;
|
|
27
|
+
getDefault(): SqliteAdapter;
|
|
28
|
+
getAdapter(tenantId: string): SqliteAdapter;
|
|
29
|
+
destroy(tenantId: string): void;
|
|
30
|
+
destroyAll(): void;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=sqlite-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-adapter.d.ts","sourceRoot":"","sources":["../../src/database/sqlite-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC7B,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;CAC1B;AAED,qBAAa,SAAS;IAID,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHvC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;gBAEX,GAAG,EAAE,MAAM;IAElC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;IAW/C,OAAO,CAAC,gBAAgB;CAczB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,SAAgB,SAAS,EAAE,SAAS,CAAC;gBAElB,MAAM,EAAE,cAAc;IAQlC,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,gBAAgB,EAAO,GAAG,CAAC,EAAE;IAK/D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,gBAAgB,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1E,KAAK,IAAI,IAAI;CAGrB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,eAAe,CAAa;IAE7B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,aAAa;IAUpE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIxC,UAAU,IAAI,aAAa;IAU3B,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa;IAQ3C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAS/B,UAAU,IAAI,IAAI;CAM1B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import type { Constructor } from '@/core/types';
|
|
3
|
+
export declare const DB_STRATEGY_KEY: unique symbol;
|
|
4
|
+
export type DbStrategyType = 'pool' | 'session';
|
|
5
|
+
export declare function DbStrategy(strategy: DbStrategyType): MethodDecorator & ClassDecorator;
|
|
6
|
+
export declare function Session(): MethodDecorator & ClassDecorator;
|
|
7
|
+
export declare function getDbStrategy(controllerClass: Constructor<unknown>, methodName: string): DbStrategyType | undefined;
|
|
8
|
+
//# sourceMappingURL=strategy-decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy-decorator.d.ts","sourceRoot":"","sources":["../../src/database/strategy-decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,eAAO,MAAM,eAAe,eAAiD,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhD,wBAAgB,UAAU,CACxB,QAAQ,EAAE,cAAc,GACvB,eAAe,GAAG,cAAc,CAQlC;AAED,wBAAgB,OAAO,IAAI,eAAe,GAAG,cAAc,CAE1D;AAED,wBAAgB,aAAa,CAC3B,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,EACrC,UAAU,EAAE,MAAM,GACjB,cAAc,GAAG,SAAS,CAa5B"}
|
package/dist/database/types.d.ts
CHANGED
|
@@ -79,6 +79,55 @@ export type DatabaseConfig = {
|
|
|
79
79
|
type: 'mysql';
|
|
80
80
|
config: MysqlConfig;
|
|
81
81
|
};
|
|
82
|
+
/**
|
|
83
|
+
* Bun.SQL 连接池配置
|
|
84
|
+
*/
|
|
85
|
+
export interface BunSQLPoolOptions {
|
|
86
|
+
/**
|
|
87
|
+
* 最大物理连接数
|
|
88
|
+
* @default 10
|
|
89
|
+
*/
|
|
90
|
+
max?: number;
|
|
91
|
+
/**
|
|
92
|
+
* 空闲连接超时(秒)
|
|
93
|
+
* @default 30
|
|
94
|
+
*/
|
|
95
|
+
idleTimeout?: number;
|
|
96
|
+
/**
|
|
97
|
+
* 连接最大生存时间(秒)
|
|
98
|
+
* @default 0
|
|
99
|
+
*/
|
|
100
|
+
maxLifetime?: number;
|
|
101
|
+
/**
|
|
102
|
+
* 获取连接超时(毫秒)
|
|
103
|
+
* @default 30000
|
|
104
|
+
*/
|
|
105
|
+
connectionTimeout?: number;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Bun.SQL 配置(Postgres/MySQL)
|
|
109
|
+
*/
|
|
110
|
+
export interface BunSQLConfig {
|
|
111
|
+
type: 'postgres' | 'mysql';
|
|
112
|
+
url: string;
|
|
113
|
+
pool?: BunSQLPoolOptions;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* SQLite V2 配置
|
|
117
|
+
*/
|
|
118
|
+
export interface SqliteV2Config {
|
|
119
|
+
type: 'sqlite';
|
|
120
|
+
database: string;
|
|
121
|
+
wal?: boolean;
|
|
122
|
+
maxWriteConcurrency?: number;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* 多租户配置
|
|
126
|
+
*/
|
|
127
|
+
export interface TenantConfig {
|
|
128
|
+
id: string;
|
|
129
|
+
config: BunSQLConfig | SqliteV2Config;
|
|
130
|
+
}
|
|
82
131
|
/**
|
|
83
132
|
* 连接池配置
|
|
84
133
|
*/
|
|
@@ -108,12 +157,56 @@ export interface ConnectionPoolOptions {
|
|
|
108
157
|
* DatabaseModule 配置选项
|
|
109
158
|
*/
|
|
110
159
|
export interface DatabaseModuleOptions {
|
|
160
|
+
/**
|
|
161
|
+
* 全局默认连接策略
|
|
162
|
+
* - pool: 每次查询走共享池(默认)
|
|
163
|
+
* - session: 首次查询惰性 reserve,整个请求复用同一连接
|
|
164
|
+
* @default "pool"
|
|
165
|
+
*/
|
|
166
|
+
defaultStrategy?: 'pool' | 'session';
|
|
167
|
+
/**
|
|
168
|
+
* 多租户配置
|
|
169
|
+
*/
|
|
170
|
+
tenants?: TenantConfig[];
|
|
171
|
+
/**
|
|
172
|
+
* 默认租户 ID
|
|
173
|
+
* @default "default"
|
|
174
|
+
*/
|
|
175
|
+
defaultTenant?: string;
|
|
176
|
+
/**
|
|
177
|
+
* 单租户:数据库类型(V2)
|
|
178
|
+
*/
|
|
179
|
+
type?: DatabaseType;
|
|
180
|
+
/**
|
|
181
|
+
* 单租户:Postgres/MySQL URL(V2)
|
|
182
|
+
*/
|
|
183
|
+
url?: string;
|
|
184
|
+
/**
|
|
185
|
+
* 单租户:SQLite 文件路径(V2)
|
|
186
|
+
*/
|
|
187
|
+
databasePath?: string;
|
|
188
|
+
/**
|
|
189
|
+
* 单租户:SQLite WAL 模式
|
|
190
|
+
* @default true
|
|
191
|
+
*/
|
|
192
|
+
wal?: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* 单租户:SQLite 最大写并发
|
|
195
|
+
* @default 1
|
|
196
|
+
*/
|
|
197
|
+
maxWriteConcurrency?: number;
|
|
198
|
+
/**
|
|
199
|
+
* Bun.SQL 连接池参数(V2)
|
|
200
|
+
*/
|
|
201
|
+
bunSqlPool?: BunSQLPoolOptions;
|
|
111
202
|
/**
|
|
112
203
|
* 数据库配置
|
|
204
|
+
* @deprecated 使用 V2 字段(type/url/databasePath)或 tenants
|
|
113
205
|
*/
|
|
114
|
-
database
|
|
206
|
+
database?: DatabaseConfig;
|
|
115
207
|
/**
|
|
116
208
|
* 连接池配置
|
|
209
|
+
* @deprecated 旧连接池配置,仅用于兼容旧 DatabaseService
|
|
117
210
|
*/
|
|
118
211
|
pool?: ConnectionPoolOptions;
|
|
119
212
|
/**
|
|
@@ -135,6 +228,22 @@ export interface DatabaseModuleOptions {
|
|
|
135
228
|
*/
|
|
136
229
|
drizzle?: unknown;
|
|
137
230
|
};
|
|
231
|
+
/**
|
|
232
|
+
* @deprecated 旧字段兼容(用于构造 URL)
|
|
233
|
+
*/
|
|
234
|
+
host?: string;
|
|
235
|
+
/**
|
|
236
|
+
* @deprecated 旧字段兼容(用于构造 URL)
|
|
237
|
+
*/
|
|
238
|
+
port?: number;
|
|
239
|
+
/**
|
|
240
|
+
* @deprecated 旧字段兼容(用于构造 URL)
|
|
241
|
+
*/
|
|
242
|
+
username?: string;
|
|
243
|
+
/**
|
|
244
|
+
* @deprecated 旧字段兼容(用于构造 URL)
|
|
245
|
+
*/
|
|
246
|
+
password?: string;
|
|
138
247
|
}
|
|
139
248
|
/**
|
|
140
249
|
* 数据库连接状态
|
|
@@ -165,4 +274,16 @@ export declare const DATABASE_SERVICE_TOKEN: unique symbol;
|
|
|
165
274
|
* DatabaseModule Options Token
|
|
166
275
|
*/
|
|
167
276
|
export declare const DATABASE_OPTIONS_TOKEN: unique symbol;
|
|
277
|
+
/**
|
|
278
|
+
* BunSQLManager Token
|
|
279
|
+
*/
|
|
280
|
+
export declare const BUN_SQL_MANAGER_TOKEN: unique symbol;
|
|
281
|
+
/**
|
|
282
|
+
* SQLite manager Token
|
|
283
|
+
*/
|
|
284
|
+
export declare const SQLITE_MANAGER_TOKEN: unique symbol;
|
|
285
|
+
/**
|
|
286
|
+
* db proxy Token
|
|
287
|
+
*/
|
|
288
|
+
export declare const DB_TOKEN: unique symbol;
|
|
168
289
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;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;
|
|
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;IAuC/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"}
|