@downcity/city 0.2.76 → 0.2.78
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/bin/core/base/base-runtime.d.ts +7 -2
- package/bin/core/base/base-runtime.d.ts.map +1 -1
- package/bin/core/base/base-runtime.js +22 -8
- package/bin/core/base/base-runtime.js.map +1 -1
- package/bin/core/base/base.js +1 -1
- package/bin/core/base/base.js.map +1 -1
- package/bin/core/types.d.ts +7 -22
- package/bin/core/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* City 组装模块。
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* 关键说明(中文)
|
|
5
|
+
* - 用户只需要传入 Drizzle db,方言、底层 client 全部由 City 自己从 db 推断。
|
|
6
|
+
* - 用户既不需要传 `dialect`,也不需要传 `raw`,避免参数语义重复。
|
|
6
7
|
*/
|
|
7
8
|
import type { CityBaseOptions } from "../types.js";
|
|
8
9
|
import type { Runtime } from "../runtime.js";
|
|
9
10
|
/**
|
|
10
11
|
* 从 CityBaseOptions 创建 runtime。
|
|
12
|
+
*
|
|
13
|
+
* 关键说明(中文)
|
|
14
|
+
* - 通过 Drizzle 暴露的 `db.dialect` 自动推断 sqlite / pg 方言。
|
|
15
|
+
* - 通过 `db.$client` 提取底层 client,既用于 DDL 也作为 raw 暴露给需要它的 service。
|
|
11
16
|
*/
|
|
12
17
|
export declare function create_runtime_from_db(options: CityBaseOptions): Runtime;
|
|
13
18
|
//# sourceMappingURL=base-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-runtime.d.ts","sourceRoot":"","sources":["../../../src/core/base/base-runtime.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"base-runtime.d.ts","sourceRoot":"","sources":["../../../src/core/base/base-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAA8B,OAAO,EAAE,MAAM,eAAe,CAAC;AAGzE;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAYxE"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* City 组装模块。
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* 关键说明(中文)
|
|
5
|
+
* - 用户只需要传入 Drizzle db,方言、底层 client 全部由 City 自己从 db 推断。
|
|
6
|
+
* - 用户既不需要传 `dialect`,也不需要传 `raw`,避免参数语义重复。
|
|
6
7
|
*/
|
|
7
8
|
import { pgEnv, sqliteEnv } from "../../service/env/schema.js";
|
|
8
9
|
import { pgTowns, sqliteTowns } from "../../service/towns/schema.js";
|
|
9
10
|
import { normalizeEnvKey, parseDotenvEntries } from "../../utils/helpers.js";
|
|
10
11
|
/**
|
|
11
12
|
* 从 CityBaseOptions 创建 runtime。
|
|
13
|
+
*
|
|
14
|
+
* 关键说明(中文)
|
|
15
|
+
* - 通过 Drizzle 暴露的 `db.dialect` 自动推断 sqlite / pg 方言。
|
|
16
|
+
* - 通过 `db.$client` 提取底层 client,既用于 DDL 也作为 raw 暴露给需要它的 service。
|
|
12
17
|
*/
|
|
13
18
|
export function create_runtime_from_db(options) {
|
|
14
|
-
const dialect =
|
|
19
|
+
const dialect = infer_dialect(options.db);
|
|
15
20
|
const builtin_tables = builtin_tables_for(dialect);
|
|
16
21
|
const client = extract_db_client(options.db);
|
|
17
22
|
return {
|
|
@@ -19,7 +24,7 @@ export function create_runtime_from_db(options) {
|
|
|
19
24
|
client,
|
|
20
25
|
env: new DatabaseEnvProvider(),
|
|
21
26
|
builtinTables: builtin_tables,
|
|
22
|
-
raw: options.
|
|
27
|
+
raw: options.db.$client,
|
|
23
28
|
};
|
|
24
29
|
}
|
|
25
30
|
/**
|
|
@@ -32,14 +37,23 @@ function builtin_tables_for(dialect) {
|
|
|
32
37
|
}
|
|
33
38
|
/**
|
|
34
39
|
* 从 Drizzle 实例推断方言。
|
|
40
|
+
*
|
|
41
|
+
* 关键说明(中文)
|
|
42
|
+
* - Drizzle v0.30+ 会在 db 上挂一个 `dialect` 实例(SQLiteSyncDialect / SQLiteAsyncDialect / PgDialect)。
|
|
43
|
+
* - 我们直接读 dialect 实例的构造函数名,比读 db 自身名字更稳定,覆盖 better-sqlite3 / d1 / node-sqlite / pg。
|
|
35
44
|
*/
|
|
36
45
|
function infer_dialect(db) {
|
|
37
|
-
const
|
|
38
|
-
if (/
|
|
46
|
+
const dialect_name = db.dialect?.constructor?.name ?? "";
|
|
47
|
+
if (/SQLite/i.test(dialect_name))
|
|
48
|
+
return "sqlite";
|
|
49
|
+
if (/Pg/i.test(dialect_name))
|
|
39
50
|
return "pg";
|
|
40
|
-
|
|
51
|
+
const ctor_name = db.constructor?.name ?? "";
|
|
52
|
+
if (/sqlite|d1/i.test(ctor_name))
|
|
41
53
|
return "sqlite";
|
|
42
|
-
|
|
54
|
+
if (/pg|postgres/i.test(ctor_name))
|
|
55
|
+
return "pg";
|
|
56
|
+
throw new Error("Unable to infer Drizzle dialect from db. Please pass a Drizzle SQLite or Postgres database.");
|
|
43
57
|
}
|
|
44
58
|
/**
|
|
45
59
|
* 提取底层数据库 client。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-runtime.js","sourceRoot":"","sources":["../../../src/core/base/base-runtime.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"base-runtime.js","sourceRoot":"","sources":["../../../src/core/base/base-runtime.ts"],"names":[],"mappings":"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"}
|
package/bin/core/base/base.js
CHANGED
|
@@ -27,7 +27,7 @@ export class CityBase {
|
|
|
27
27
|
authenticator;
|
|
28
28
|
town_store;
|
|
29
29
|
constructor(options) {
|
|
30
|
-
this.runtime =
|
|
30
|
+
this.runtime = create_runtime_from_db(options);
|
|
31
31
|
this.use(new EnvService());
|
|
32
32
|
this.use(new TownsService());
|
|
33
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/core/base/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,oBAAoB,EAA0B,MAAM,sCAAsC,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAQ3D,MAAM,OAAO,QAAQ;IACF,OAAO,CAAU;IACjB,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE/C,QAAQ,CAAY;IACpB,MAAM,CAAyB;IAC/B,SAAS,CAA6B;IACtC,YAAY,CAAiB;IAC7B,IAAI,CAAQ;IACZ,aAAa,CAAiB;IAC9B,UAAU,CAAa;IAE/B,YAAY,OAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/core/base/base.ts"],"names":[],"mappings":"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"}
|
package/bin/core/types.d.ts
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 包含创建 City 实例和健康检查所需的所有类型定义。
|
|
5
5
|
*/
|
|
6
|
-
import type { Runtime } from "./runtime.js";
|
|
7
6
|
import type { Database } from "../store/db.js";
|
|
8
7
|
/**
|
|
9
8
|
* 单次请求的运行时执行上下文。
|
|
@@ -44,35 +43,21 @@ export interface CityBaseHealthStatus {
|
|
|
44
43
|
/**
|
|
45
44
|
* 创建 City 实例时传入的顶层配置。
|
|
46
45
|
*
|
|
47
|
-
*
|
|
46
|
+
* 关键说明(中文)
|
|
47
|
+
* - 只接收一个 Drizzle db 对象,City 自己从中推断方言和底层 client。
|
|
48
|
+
* - 不再需要传 `dialect`、`raw`、`runtime` 等冗余选项。
|
|
48
49
|
*/
|
|
49
50
|
export interface CityBaseOptions {
|
|
50
51
|
/**
|
|
51
52
|
* Drizzle database 对象。
|
|
52
53
|
*
|
|
53
|
-
*
|
|
54
|
+
* 关键说明(中文)
|
|
55
|
+
* - 支持 SQLite(含 D1)与 Postgres 方言;City 直接从 `db.dialect` 推断方言。
|
|
56
|
+
* - 支持的底层 client 通过 `db.$client` 暴露给 accounts 等需要原始连接的 service。
|
|
54
57
|
*/
|
|
55
58
|
db: Database & {
|
|
56
59
|
$client?: unknown;
|
|
60
|
+
dialect?: unknown;
|
|
57
61
|
};
|
|
58
|
-
/**
|
|
59
|
-
* 数据库方言。
|
|
60
|
-
*
|
|
61
|
-
* 默认会从 Drizzle db 自动推断;当自定义 db 无法推断时可以显式传入。
|
|
62
|
-
*/
|
|
63
|
-
dialect?: "pg" | "sqlite";
|
|
64
|
-
/**
|
|
65
|
-
* 原始数据库实例。
|
|
66
|
-
*
|
|
67
|
-
* 某些服务需要把底层数据库传给第三方库时使用,例如 accounts 服务。
|
|
68
|
-
* 默认使用 db.$client。
|
|
69
|
-
*/
|
|
70
|
-
raw?: unknown;
|
|
71
|
-
/**
|
|
72
|
-
* 内部运行时能力。
|
|
73
|
-
*
|
|
74
|
-
* 保留给测试和高级适配场景;普通用户不需要传入。
|
|
75
|
-
*/
|
|
76
|
-
runtime?: Runtime;
|
|
77
62
|
}
|
|
78
63
|
//# sourceMappingURL=types.d.ts.map
|
package/bin/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB;IACrB,SAAS,CAAC,EAAE,2BAA2B,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,yBAAyB;IACzB,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,EAAE,EAAE,QAAQ,GAAG;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACzD"}
|