@pangza/orm 0.0.0-stage → 1.0.1

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 (142) hide show
  1. package/README.md +2 -2
  2. package/dist/BaseMapper.d.ts +112 -0
  3. package/dist/BaseMapper.d.ts.map +1 -0
  4. package/dist/BaseMapper.js +653 -0
  5. package/dist/BaseMapper.js.map +1 -0
  6. package/dist/DataSource.d.ts +61 -0
  7. package/dist/DataSource.d.ts.map +1 -0
  8. package/dist/DataSource.js +350 -0
  9. package/dist/DataSource.js.map +1 -0
  10. package/dist/Db.d.ts +67 -0
  11. package/dist/Db.d.ts.map +1 -0
  12. package/dist/Db.js +222 -0
  13. package/dist/Db.js.map +1 -0
  14. package/dist/IdType.d.ts +22 -0
  15. package/dist/IdType.d.ts.map +1 -0
  16. package/dist/IdType.js +34 -0
  17. package/dist/IdType.js.map +1 -0
  18. package/dist/QueryWrapper.d.ts +110 -0
  19. package/dist/QueryWrapper.d.ts.map +1 -0
  20. package/dist/QueryWrapper.js +343 -0
  21. package/dist/QueryWrapper.js.map +1 -0
  22. package/dist/config.d.ts +12 -0
  23. package/dist/config.d.ts.map +1 -0
  24. package/dist/config.js +80 -0
  25. package/dist/config.js.map +1 -0
  26. package/dist/dialect.d.ts +41 -0
  27. package/dist/dialect.d.ts.map +1 -0
  28. package/dist/dialect.js +171 -0
  29. package/dist/dialect.js.map +1 -0
  30. package/dist/enable.d.ts +12 -0
  31. package/dist/enable.d.ts.map +1 -0
  32. package/dist/enable.js +31 -0
  33. package/dist/enable.js.map +1 -0
  34. package/dist/entityDecorators.d.ts +77 -0
  35. package/dist/entityDecorators.d.ts.map +1 -0
  36. package/dist/entityDecorators.js +150 -0
  37. package/dist/entityDecorators.js.map +1 -0
  38. package/dist/errors.d.ts +11 -0
  39. package/dist/errors.d.ts.map +1 -0
  40. package/dist/errors.js +22 -0
  41. package/dist/errors.js.map +1 -0
  42. package/dist/fieldSelect.d.ts +49 -0
  43. package/dist/fieldSelect.d.ts.map +1 -0
  44. package/dist/fieldSelect.js +53 -0
  45. package/dist/fieldSelect.js.map +1 -0
  46. package/dist/fill.d.ts +8 -0
  47. package/dist/fill.d.ts.map +1 -0
  48. package/dist/fill.js +47 -0
  49. package/dist/fill.js.map +1 -0
  50. package/dist/flag.d.ts +2 -0
  51. package/dist/flag.d.ts.map +1 -0
  52. package/dist/flag.js +8 -0
  53. package/dist/flag.js.map +1 -0
  54. package/dist/hydrate.d.ts +38 -0
  55. package/dist/hydrate.d.ts.map +1 -0
  56. package/dist/hydrate.js +325 -0
  57. package/dist/hydrate.js.map +1 -0
  58. package/dist/identifier.d.ts +14 -0
  59. package/dist/identifier.d.ts.map +1 -0
  60. package/dist/identifier.js +51 -0
  61. package/dist/identifier.js.map +1 -0
  62. package/dist/index.d.ts +41 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +122 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/relation.d.ts +72 -0
  67. package/dist/relation.d.ts.map +1 -0
  68. package/dist/relation.js +150 -0
  69. package/dist/relation.js.map +1 -0
  70. package/dist/resultMap.d.ts +7 -0
  71. package/dist/resultMap.d.ts.map +1 -0
  72. package/dist/resultMap.js +25 -0
  73. package/dist/resultMap.js.map +1 -0
  74. package/dist/security.d.ts +16 -0
  75. package/dist/security.d.ts.map +1 -0
  76. package/dist/security.js +50 -0
  77. package/dist/security.js.map +1 -0
  78. package/dist/sqlDecorators.d.ts +60 -0
  79. package/dist/sqlDecorators.d.ts.map +1 -0
  80. package/dist/sqlDecorators.js +147 -0
  81. package/dist/sqlDecorators.js.map +1 -0
  82. package/dist/sqlLog.d.ts +30 -0
  83. package/dist/sqlLog.d.ts.map +1 -0
  84. package/dist/sqlLog.js +183 -0
  85. package/dist/sqlLog.js.map +1 -0
  86. package/dist/sqlTemplate.d.ts +38 -0
  87. package/dist/sqlTemplate.d.ts.map +1 -0
  88. package/dist/sqlTemplate.js +112 -0
  89. package/dist/sqlTemplate.js.map +1 -0
  90. package/dist/table.d.ts +17 -0
  91. package/dist/table.d.ts.map +1 -0
  92. package/dist/table.js +55 -0
  93. package/dist/table.js.map +1 -0
  94. package/dist/tableSearch.d.ts +72 -0
  95. package/dist/tableSearch.d.ts.map +1 -0
  96. package/dist/tableSearch.js +232 -0
  97. package/dist/tableSearch.js.map +1 -0
  98. package/dist/transactional.d.ts +27 -0
  99. package/dist/transactional.d.ts.map +1 -0
  100. package/dist/transactional.js +57 -0
  101. package/dist/transactional.js.map +1 -0
  102. package/dist/types.d.ts +155 -0
  103. package/dist/types.d.ts.map +1 -0
  104. package/dist/types.js +3 -0
  105. package/dist/types.js.map +1 -0
  106. package/dist/xml/MapperXml.d.ts +24 -0
  107. package/dist/xml/MapperXml.d.ts.map +1 -0
  108. package/dist/xml/MapperXml.js +92 -0
  109. package/dist/xml/MapperXml.js.map +1 -0
  110. package/dist/xml/execute.d.ts +12 -0
  111. package/dist/xml/execute.d.ts.map +1 -0
  112. package/dist/xml/execute.js +54 -0
  113. package/dist/xml/execute.js.map +1 -0
  114. package/dist/xml/index.d.ts +11 -0
  115. package/dist/xml/index.d.ts.map +1 -0
  116. package/dist/xml/index.js +29 -0
  117. package/dist/xml/index.js.map +1 -0
  118. package/dist/xml/loadMappers.d.ts +14 -0
  119. package/dist/xml/loadMappers.d.ts.map +1 -0
  120. package/dist/xml/loadMappers.js +171 -0
  121. package/dist/xml/loadMappers.js.map +1 -0
  122. package/dist/xml/parseMapperXml.d.ts +6 -0
  123. package/dist/xml/parseMapperXml.d.ts.map +1 -0
  124. package/dist/xml/parseMapperXml.js +225 -0
  125. package/dist/xml/parseMapperXml.js.map +1 -0
  126. package/dist/xml/registry.d.ts +15 -0
  127. package/dist/xml/registry.d.ts.map +1 -0
  128. package/dist/xml/registry.js +57 -0
  129. package/dist/xml/registry.js.map +1 -0
  130. package/dist/xml/renderSql.d.ts +6 -0
  131. package/dist/xml/renderSql.d.ts.map +1 -0
  132. package/dist/xml/renderSql.js +187 -0
  133. package/dist/xml/renderSql.js.map +1 -0
  134. package/dist/xml/types.d.ts +52 -0
  135. package/dist/xml/types.d.ts.map +1 -0
  136. package/dist/xml/types.js +3 -0
  137. package/dist/xml/types.js.map +1 -0
  138. package/dist/xml/xmlMapper.d.ts +16 -0
  139. package/dist/xml/xmlMapper.d.ts.map +1 -0
  140. package/dist/xml/xmlMapper.js +49 -0
  141. package/dist/xml/xmlMapper.js.map +1 -0
  142. package/package.json +35 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseMapper.js","sourceRoot":"","sources":["../src/BaseMapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { type DbType, type Dialect } from "./dialect";
2
+ /** 数据源连接配置 */
3
+ export interface DataSourceConfig {
4
+ /** 数据源名称,默认 default */
5
+ name?: string;
6
+ /** 数据库类型,默认 mysql */
7
+ type?: DbType | string;
8
+ host?: string;
9
+ port?: number;
10
+ user?: string;
11
+ password?: string;
12
+ database?: string;
13
+ connectionLimit?: number;
14
+ /** SQL Server 加密等扩展项 */
15
+ options?: Record<string, unknown>;
16
+ }
17
+ export type { DbType, Dialect };
18
+ interface TxConnection {
19
+ query: (sql: string, params: unknown[]) => Promise<unknown>;
20
+ begin: () => Promise<void>;
21
+ commit: () => Promise<void>;
22
+ rollback: () => Promise<void>;
23
+ release: () => void;
24
+ }
25
+ interface PoolDriver {
26
+ query: (sql: string, params: unknown[]) => Promise<unknown>;
27
+ getConnection: () => Promise<TxConnection>;
28
+ end: () => Promise<void>;
29
+ }
30
+ /**
31
+ * 单个命名数据源:连接池 + 方言 + 事务 ALS。
32
+ */
33
+ export declare class DataSource {
34
+ readonly name: string;
35
+ readonly type: DbType;
36
+ readonly dialect: Dialect;
37
+ readonly config: Required<Pick<DataSourceConfig, "host" | "port" | "user" | "password" | "database" | "connectionLimit">> & DataSourceConfig;
38
+ private driver;
39
+ private connecting;
40
+ private suppressConnect;
41
+ private readonly txStore;
42
+ constructor(config?: DataSourceConfig);
43
+ /** 测试注入 */
44
+ useDriverForTest(driver: PoolDriver | null): void;
45
+ isReady(): boolean;
46
+ inTransaction(): boolean;
47
+ connect(): Promise<void>;
48
+ disconnect(): Promise<void>;
49
+ private ensureReady;
50
+ /** 执行 SQL(自动按方言转换占位符) */
51
+ query<T = unknown>(sql: string, params?: unknown[]): Promise<T>;
52
+ /**
53
+ * 开启事务。
54
+ * - REQUIRED(默认):已有事务则加入,否则新建
55
+ * - REQUIRES_NEW:始终新建独立连接事务(外层事务挂起,内层提交/回滚互不影响)
56
+ */
57
+ transaction<T>(fn: () => Promise<T>, options?: {
58
+ propagation?: "REQUIRED" | "REQUIRES_NEW";
59
+ }): Promise<T>;
60
+ }
61
+ //# sourceMappingURL=DataSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSource.d.ts","sourceRoot":"","sources":["../src/DataSource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAIlE,cAAc;AACd,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAEhC,UAAU,YAAY;IACpB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,UAAU,UAAU;IAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,aAAa,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3C,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CACvB,IAAI,CACF,gBAAgB,EAChB,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,CACvE,CACF,GACC,gBAAgB,CAAC;IAEnB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;gBAErD,MAAM,GAAE,gBAAqB;IAuBzC,WAAW;IACX,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAKjD,OAAO,IAAI,OAAO;IAIlB,aAAa,IAAI,OAAO;IAIlB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAMnB,WAAW;IAUzB,yBAAyB;IACnB,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAUzE;;;;OAIG;IACG,WAAW,CAAC,CAAC,EACjB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,UAAU,GAAG,cAAc,CAAA;KAAE,GACtD,OAAO,CAAC,CAAC,CAAC;CAwBd"}
@@ -0,0 +1,350 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.DataSource = void 0;
37
+ const async_hooks_1 = require("async_hooks");
38
+ const Logger_1 = require("@pangza/core/Logger");
39
+ const dialect_1 = require("./dialect");
40
+ const log = (0, Logger_1.getLogger)("ORM");
41
+ /**
42
+ * 单个命名数据源:连接池 + 方言 + 事务 ALS。
43
+ */
44
+ class DataSource {
45
+ constructor(config = {}) {
46
+ this.driver = null;
47
+ this.connecting = null;
48
+ this.suppressConnect = false;
49
+ this.txStore = new async_hooks_1.AsyncLocalStorage();
50
+ this.name = (config.name ?? "default").trim() || "default";
51
+ this.dialect = (0, dialect_1.getDialect)(config.type ?? "mysql");
52
+ this.type = this.dialect.type;
53
+ this.config = {
54
+ host: config.host ?? "127.0.0.1",
55
+ port: config.port ??
56
+ (this.type === "postgresql"
57
+ ? 5432
58
+ : this.type === "sqlserver"
59
+ ? 1433
60
+ : 3306),
61
+ user: config.user ?? "root",
62
+ password: config.password ?? "",
63
+ database: config.database ?? "pangza",
64
+ connectionLimit: config.connectionLimit ?? 10,
65
+ ...config,
66
+ name: this.name,
67
+ type: this.type,
68
+ };
69
+ }
70
+ /** 测试注入 */
71
+ useDriverForTest(driver) {
72
+ this.suppressConnect = true;
73
+ this.driver = driver;
74
+ }
75
+ isReady() {
76
+ return !!this.driver;
77
+ }
78
+ inTransaction() {
79
+ return !!this.txStore.getStore();
80
+ }
81
+ async connect() {
82
+ if (this.suppressConnect)
83
+ return;
84
+ if (this.driver)
85
+ return;
86
+ if (this.connecting)
87
+ return this.connecting;
88
+ this.connecting = (async () => {
89
+ if (this.suppressConnect)
90
+ return;
91
+ this.driver = await createDriver(this.type, this.config);
92
+ // 探活
93
+ await this.driver.query(this.type === "postgresql" ? "SELECT 1 AS ok" : "SELECT 1 AS ok", []);
94
+ log.info(`[${this.name}] 已连接 ${this.type} ${this.config.host}:${this.config.port}/${this.config.database}`);
95
+ })();
96
+ try {
97
+ await this.connecting;
98
+ }
99
+ finally {
100
+ this.connecting = null;
101
+ }
102
+ }
103
+ async disconnect() {
104
+ if (!this.driver)
105
+ return;
106
+ await this.driver.end();
107
+ this.driver = null;
108
+ }
109
+ async ensureReady() {
110
+ if (!this.driver)
111
+ await this.connect();
112
+ if (!this.driver) {
113
+ throw new Error(`数据源 [${this.name}] 不可用,请检查配置 (type=${this.type})`);
114
+ }
115
+ return this.driver;
116
+ }
117
+ /** 执行 SQL(自动按方言转换占位符) */
118
+ async query(sql, params = []) {
119
+ const executable = this.dialect.convertPlaceholders(sql);
120
+ const tx = this.txStore.getStore();
121
+ if (tx) {
122
+ return (await tx.query(executable, params));
123
+ }
124
+ const driver = await this.ensureReady();
125
+ return (await driver.query(executable, params));
126
+ }
127
+ /**
128
+ * 开启事务。
129
+ * - REQUIRED(默认):已有事务则加入,否则新建
130
+ * - REQUIRES_NEW:始终新建独立连接事务(外层事务挂起,内层提交/回滚互不影响)
131
+ */
132
+ async transaction(fn, options) {
133
+ const propagation = options?.propagation ?? "REQUIRED";
134
+ const current = this.txStore.getStore();
135
+ if (propagation === "REQUIRED" && current) {
136
+ return fn();
137
+ }
138
+ const driver = await this.ensureReady();
139
+ const conn = await driver.getConnection();
140
+ try {
141
+ await conn.begin();
142
+ const result = await this.txStore.run(conn, () => fn());
143
+ await conn.commit();
144
+ return result;
145
+ }
146
+ catch (err) {
147
+ try {
148
+ await conn.rollback();
149
+ }
150
+ catch {
151
+ // ignore
152
+ }
153
+ throw err;
154
+ }
155
+ finally {
156
+ conn.release();
157
+ }
158
+ }
159
+ }
160
+ exports.DataSource = DataSource;
161
+ async function createDriver(type, config) {
162
+ if (type === "mysql") {
163
+ return createMysqlDriver(config);
164
+ }
165
+ if (type === "postgresql") {
166
+ return createPgDriver(config);
167
+ }
168
+ return createMssqlDriver(config);
169
+ }
170
+ async function createMysqlDriver(config) {
171
+ const mysql = await Promise.resolve().then(() => __importStar(require("mysql2/promise")));
172
+ const pool = mysql.createPool({
173
+ host: config.host,
174
+ port: config.port,
175
+ user: config.user,
176
+ password: config.password,
177
+ database: config.database,
178
+ connectionLimit: config.connectionLimit,
179
+ waitForConnections: true,
180
+ namedPlaceholders: false,
181
+ });
182
+ return {
183
+ async query(sql, params) {
184
+ const [rows] = await pool.execute(sql, params);
185
+ return rows;
186
+ },
187
+ async getConnection() {
188
+ const conn = await pool.getConnection();
189
+ return {
190
+ async query(sql, params) {
191
+ const [rows] = await conn.execute(sql, params);
192
+ return rows;
193
+ },
194
+ async begin() {
195
+ await conn.beginTransaction();
196
+ },
197
+ async commit() {
198
+ await conn.commit();
199
+ },
200
+ async rollback() {
201
+ await conn.rollback();
202
+ },
203
+ release() {
204
+ conn.release();
205
+ },
206
+ };
207
+ },
208
+ async end() {
209
+ await pool.end();
210
+ },
211
+ };
212
+ }
213
+ async function createPgDriver(config) {
214
+ const pg = await Promise.resolve().then(() => __importStar(require("pg")));
215
+ const pool = new pg.Pool({
216
+ host: config.host,
217
+ port: config.port,
218
+ user: config.user,
219
+ password: config.password,
220
+ database: config.database,
221
+ max: config.connectionLimit,
222
+ });
223
+ return {
224
+ async query(sql, params) {
225
+ const res = await pool.query(sql, params);
226
+ // SELECT / RETURNING → rows;DML → 兼容 header
227
+ if (Array.isArray(res.rows) && res.rows.length > 0) {
228
+ return res.rows;
229
+ }
230
+ if (/^\s*(INSERT|UPDATE|DELETE)/i.test(sql)) {
231
+ return {
232
+ insertId: 0,
233
+ affectedRows: res.rowCount ?? 0,
234
+ rowCount: res.rowCount ?? 0,
235
+ rows: res.rows,
236
+ };
237
+ }
238
+ return res.rows;
239
+ },
240
+ async getConnection() {
241
+ const client = await pool.connect();
242
+ return {
243
+ async query(sql, params) {
244
+ const res = await client.query(sql, params);
245
+ if (Array.isArray(res.rows) && res.rows.length > 0) {
246
+ return res.rows;
247
+ }
248
+ if (/^\s*(INSERT|UPDATE|DELETE)/i.test(sql)) {
249
+ return {
250
+ insertId: 0,
251
+ affectedRows: res.rowCount ?? 0,
252
+ rowCount: res.rowCount ?? 0,
253
+ rows: res.rows,
254
+ };
255
+ }
256
+ return res.rows;
257
+ },
258
+ async begin() {
259
+ await client.query("BEGIN");
260
+ },
261
+ async commit() {
262
+ await client.query("COMMIT");
263
+ },
264
+ async rollback() {
265
+ await client.query("ROLLBACK");
266
+ },
267
+ release() {
268
+ client.release();
269
+ },
270
+ };
271
+ },
272
+ async end() {
273
+ await pool.end();
274
+ },
275
+ };
276
+ }
277
+ async function createMssqlDriver(config) {
278
+ const sql = await Promise.resolve().then(() => __importStar(require("mssql")));
279
+ const pool = await new sql.ConnectionPool({
280
+ server: config.host,
281
+ port: config.port,
282
+ user: config.user,
283
+ password: config.password,
284
+ database: config.database,
285
+ options: {
286
+ encrypt: false,
287
+ trustServerCertificate: true,
288
+ ...(config.options ?? {}),
289
+ },
290
+ pool: {
291
+ max: config.connectionLimit,
292
+ min: 0,
293
+ },
294
+ }).connect();
295
+ const run = async (request, sqlText, params) => {
296
+ params.forEach((value, idx) => {
297
+ request.input(`p${idx + 1}`, value);
298
+ });
299
+ const result = await request.query(sqlText);
300
+ if (Array.isArray(result.recordset) && result.recordset.length > 0) {
301
+ return result.recordset;
302
+ }
303
+ const affected = Array.isArray(result.rowsAffected)
304
+ ? Number(result.rowsAffected[0] ?? 0)
305
+ : 0;
306
+ return {
307
+ insertId: 0,
308
+ affectedRows: affected,
309
+ rowsAffected: result.rowsAffected,
310
+ rows: result.recordset ?? [],
311
+ };
312
+ };
313
+ return {
314
+ async query(sqlText, params) {
315
+ const request = pool.request();
316
+ return run(request, sqlText, params);
317
+ },
318
+ async getConnection() {
319
+ const tx = new sql.Transaction(pool);
320
+ let begun = false;
321
+ return {
322
+ async query(sqlText, params) {
323
+ const request = new sql.Request(tx);
324
+ return run(request, sqlText, params);
325
+ },
326
+ async begin() {
327
+ await tx.begin();
328
+ begun = true;
329
+ },
330
+ async commit() {
331
+ if (begun)
332
+ await tx.commit();
333
+ begun = false;
334
+ },
335
+ async rollback() {
336
+ if (begun)
337
+ await tx.rollback();
338
+ begun = false;
339
+ },
340
+ release() {
341
+ // ConnectionPool 事务结束后无需手动 release
342
+ },
343
+ };
344
+ },
345
+ async end() {
346
+ await pool.close();
347
+ },
348
+ };
349
+ }
350
+ //# sourceMappingURL=DataSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSource.js","sourceRoot":"","sources":["../src/DataSource.ts"],"names":[],"mappings":"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"}
package/dist/Db.d.ts ADDED
@@ -0,0 +1,67 @@
1
+ import { DataSource, type DataSourceConfig, type DbType, type Dialect } from "./DataSource";
2
+ import { getDialect } from "./dialect";
3
+ export type { DataSourceConfig, DbType, Dialect };
4
+ export { DataSource, getDialect };
5
+ /** 兼容旧类型名 */
6
+ export type MysqlConfig = DataSourceConfig;
7
+ /**
8
+ * 多数据源门面(默认名 default)。
9
+ *
10
+ * @example
11
+ * // 默认库(项目根目录 application*.yaml 的 datasource.default)
12
+ * await Db.query("SELECT 1")
13
+ *
14
+ * // 注册 PostgreSQL
15
+ * Db.register("pg", { type: "postgresql", host: "127.0.0.1", database: "app", user: "postgres", password: "x" })
16
+ * await Db.queryOn("pg", 'SELECT * FROM "user" WHERE id = ?', [1])
17
+ *
18
+ * // Mapper / 装饰器指定数据源
19
+ * @Mapper(UserEntity, { datasource: "pg" })
20
+ * @Select("SELECT ...", { datasource: "pg" })
21
+ */
22
+ declare class Db {
23
+ private static readonly sources;
24
+ private static readonly DEFAULT;
25
+ /** 注册或覆盖数据源 */
26
+ static register(nameOrConfig: string | DataSourceConfig, config?: DataSourceConfig): DataSource;
27
+ /** 确保默认数据源(来自 YAML datasource.default);并按需注册 postgresql / sqlserver */
28
+ static ensureDefault(): DataSource;
29
+ /** YAML 中 postgresql / sqlserver 的 host 非空时自动注册命名数据源 */
30
+ private static registerOptionalFromEnv;
31
+ static getDataSource(name?: string): DataSource;
32
+ /** 按数据库类型查找唯一数据源(用于 @Select({ db: "postgresql" })) */
33
+ static findByType(type: DbType | string): string;
34
+ static getDialect(name?: string): Dialect;
35
+ static listDataSources(): string[];
36
+ /** @deprecated 使用 register;保留覆盖默认连接配置 */
37
+ static configure(config?: DataSourceConfig): void;
38
+ static isReady(name?: string): boolean;
39
+ /** 测试注入默认池驱动 */
40
+ static usePoolForTest(pool: unknown): void;
41
+ static connect(config?: DataSourceConfig): Promise<void>;
42
+ static connectAll(): Promise<void>;
43
+ static disconnect(name?: string): Promise<void>;
44
+ static inTransaction(name?: string): boolean;
45
+ /** 默认数据源执行 SQL */
46
+ static query<T = unknown>(sql: string, params?: unknown[]): Promise<T>;
47
+ /** 指定数据源执行 SQL */
48
+ static queryOn<T = unknown>(datasource: string, sql: string, params?: unknown[]): Promise<T>;
49
+ static getPool(): Promise<unknown>;
50
+ static transaction<T>(fn: () => Promise<T>, options?: {
51
+ propagation?: "REQUIRED" | "REQUIRES_NEW";
52
+ }): Promise<T>;
53
+ static transactionOn<T>(datasource: string, fn: () => Promise<T>, options?: {
54
+ propagation?: "REQUIRED" | "REQUIRES_NEW";
55
+ }): Promise<T>;
56
+ }
57
+ export type ResultSetHeader = {
58
+ insertId?: number;
59
+ affectedRows?: number;
60
+ rowCount?: number;
61
+ rowsAffected?: number[];
62
+ rows?: unknown[];
63
+ };
64
+ export type RowDataPacket = Record<string, any>;
65
+ export type PoolConnection = unknown;
66
+ export default Db;
67
+ //# sourceMappingURL=Db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Db.d.ts","sourceRoot":"","sources":["../src/Db.ts"],"names":[],"mappings":"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"}