@ailnaf/zoddb 0.0.0-stage → 0.2.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 (93) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/LICENSE +15 -0
  3. package/README.md +440 -2
  4. package/dist/aggregate.d.ts +42 -0
  5. package/dist/aggregate.d.ts.map +1 -0
  6. package/dist/aggregate.js +77 -0
  7. package/dist/aggregate.js.map +1 -0
  8. package/dist/auth-schema.d.ts +26 -0
  9. package/dist/auth-schema.d.ts.map +1 -0
  10. package/dist/auth-schema.js +139 -0
  11. package/dist/auth-schema.js.map +1 -0
  12. package/dist/better-auth-adapter.d.ts +21 -0
  13. package/dist/better-auth-adapter.d.ts.map +1 -0
  14. package/dist/better-auth-adapter.js +175 -0
  15. package/dist/better-auth-adapter.js.map +1 -0
  16. package/dist/cli.d.ts +3 -0
  17. package/dist/cli.d.ts.map +1 -0
  18. package/dist/cli.js +341 -0
  19. package/dist/cli.js.map +1 -0
  20. package/dist/config.d.ts +22 -0
  21. package/dist/config.d.ts.map +1 -0
  22. package/dist/config.js +52 -0
  23. package/dist/config.js.map +1 -0
  24. package/dist/db.d.ts +183 -0
  25. package/dist/db.d.ts.map +1 -0
  26. package/dist/db.js +1063 -0
  27. package/dist/db.js.map +1 -0
  28. package/dist/ddl.d.ts +21 -0
  29. package/dist/ddl.d.ts.map +1 -0
  30. package/dist/ddl.js +127 -0
  31. package/dist/ddl.js.map +1 -0
  32. package/dist/dev.d.ts +9 -0
  33. package/dist/dev.d.ts.map +1 -0
  34. package/dist/dev.js +21 -0
  35. package/dist/dev.js.map +1 -0
  36. package/dist/errors.d.ts +63 -0
  37. package/dist/errors.d.ts.map +1 -0
  38. package/dist/errors.js +122 -0
  39. package/dist/errors.js.map +1 -0
  40. package/dist/filter.d.ts +67 -0
  41. package/dist/filter.d.ts.map +1 -0
  42. package/dist/filter.js +230 -0
  43. package/dist/filter.js.map +1 -0
  44. package/dist/graph.d.ts +54 -0
  45. package/dist/graph.d.ts.map +1 -0
  46. package/dist/graph.js +52 -0
  47. package/dist/graph.js.map +1 -0
  48. package/dist/index.d.ts +8 -0
  49. package/dist/index.d.ts.map +1 -0
  50. package/dist/index.js +6 -0
  51. package/dist/index.js.map +1 -0
  52. package/dist/init.d.ts +12 -0
  53. package/dist/init.d.ts.map +1 -0
  54. package/dist/init.js +62 -0
  55. package/dist/init.js.map +1 -0
  56. package/dist/migrate.d.ts +58 -0
  57. package/dist/migrate.d.ts.map +1 -0
  58. package/dist/migrate.js +447 -0
  59. package/dist/migrate.js.map +1 -0
  60. package/dist/migrations.d.ts +80 -0
  61. package/dist/migrations.d.ts.map +1 -0
  62. package/dist/migrations.js +281 -0
  63. package/dist/migrations.js.map +1 -0
  64. package/dist/relation-graph.d.ts +50 -0
  65. package/dist/relation-graph.d.ts.map +1 -0
  66. package/dist/relation-graph.js +93 -0
  67. package/dist/relation-graph.js.map +1 -0
  68. package/dist/relations.d.ts +128 -0
  69. package/dist/relations.d.ts.map +1 -0
  70. package/dist/relations.js +21 -0
  71. package/dist/relations.js.map +1 -0
  72. package/dist/schema.d.ts +247 -0
  73. package/dist/schema.d.ts.map +1 -0
  74. package/dist/schema.js +584 -0
  75. package/dist/schema.js.map +1 -0
  76. package/dist/studio/page.d.ts +3 -0
  77. package/dist/studio/page.d.ts.map +1 -0
  78. package/dist/studio/page.js +708 -0
  79. package/dist/studio/page.js.map +1 -0
  80. package/dist/studio/server.d.ts +26 -0
  81. package/dist/studio/server.d.ts.map +1 -0
  82. package/dist/studio/server.js +415 -0
  83. package/dist/studio/server.js.map +1 -0
  84. package/dist/table.d.ts +156 -0
  85. package/dist/table.d.ts.map +1 -0
  86. package/dist/table.js +165 -0
  87. package/dist/table.js.map +1 -0
  88. package/dist/where.d.ts +18 -0
  89. package/dist/where.d.ts.map +1 -0
  90. package/dist/where.js +76 -0
  91. package/dist/where.js.map +1 -0
  92. package/docs/api.md +476 -0
  93. package/package.json +70 -4
package/dist/db.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
package/dist/ddl.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ import { type ColumnPlan, type EnumDef, type SqlFragment, type Table } from './table.js';
2
+ export interface CreateSchemaOptions {
3
+ /** 默认 true:重复执行不报错 */
4
+ ifNotExists?: boolean;
5
+ }
6
+ export declare function renderDefaultValue(v: unknown): string;
7
+ /** 通过 table() 盖的 owner 章反查被引用列;未盖章说明用户传了游离的 ColumnBuilder */
8
+ export declare function resolveRef(p: ColumnPlan): {
9
+ table: string;
10
+ column: string;
11
+ onDelete?: string;
12
+ } | undefined;
13
+ export declare function renderCreateEnum(def: EnumDef): string;
14
+ export declare function renderColumnDefinition(p: ColumnPlan): string;
15
+ /**
16
+ * 从 table() 定义生成 `create table if not exists`。
17
+ * 只做建表:不 drop、不 alter、不做 diff(迁移引擎是判负线)。
18
+ */
19
+ export declare function createSchema(input: Table | readonly Table[], opts?: CreateSchemaOptions): string;
20
+ export type { SqlFragment };
21
+ //# sourceMappingURL=ddl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../src/ddl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvG,MAAM,WAAW,mBAAmB;IAClC,sBAAsB;IACtB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAKD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAcrD;AAED,6DAA6D;AAC7D,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAY1G;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAErD;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAW5D;AAyBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,EAAE,EAAE,IAAI,GAAE,mBAAwB,GAAG,MAAM,CAsCpG;AAED,YAAY,EAAE,WAAW,EAAE,CAAA"}
package/dist/ddl.js ADDED
@@ -0,0 +1,127 @@
1
+ import { isSqlFragment } from './table.js';
2
+ const quoteIdent = (s) => `"${s.replace(/"/g, '""')}"`;
3
+ const quoteLiteral = (s) => `'${s.replace(/'/g, "''")}'`;
4
+ export function renderDefaultValue(v) {
5
+ if (v === null)
6
+ return 'null';
7
+ if (typeof v === 'string')
8
+ return quoteLiteral(v);
9
+ if (typeof v === 'number' || typeof v === 'bigint')
10
+ return String(v);
11
+ if (typeof v === 'boolean')
12
+ return v ? 'true' : 'false';
13
+ if (v instanceof Date)
14
+ return quoteLiteral(v.toISOString());
15
+ if (isSqlFragment(v)) {
16
+ let out = v.strings[0] ?? '';
17
+ v.params.forEach((p, i) => {
18
+ out += renderDefaultValue(p) + (v.strings[i + 1] ?? '');
19
+ });
20
+ return out;
21
+ }
22
+ throw new Error(`createSchema: 不支持的默认值 ${String(v)}(只接受字面量或 sql\`...\`)`);
23
+ }
24
+ /** 通过 table() 盖的 owner 章反查被引用列;未盖章说明用户传了游离的 ColumnBuilder */
25
+ export function resolveRef(p) {
26
+ if (!p.ref)
27
+ return undefined;
28
+ const target = p.ref.thunk();
29
+ const owner = target._owner;
30
+ if (!owner) {
31
+ throw new Error(`createSchema: 列 "${p.outKey}" 的 references 目标不在任何表定义里`);
32
+ }
33
+ const targetPlan = owner.table.__plan.find(c => c.outKey === owner.outKey);
34
+ if (!targetPlan)
35
+ throw new Error(`createSchema: 找不到 ${owner.table.name}.${owner.outKey} 的列定义`);
36
+ return p.ref.onDelete
37
+ ? { table: owner.table.name, column: targetPlan.dbKey, onDelete: p.ref.onDelete }
38
+ : { table: owner.table.name, column: targetPlan.dbKey };
39
+ }
40
+ export function renderCreateEnum(def) {
41
+ return `do $$ begin\n create type ${quoteIdent(def.name)} as enum (${def.values.map(quoteLiteral).join(', ')});\nexception when duplicate_object then null;\nend $$;`;
42
+ }
43
+ export function renderColumnDefinition(p) {
44
+ const parts = [quoteIdent(p.dbKey), p.sqlType];
45
+ if (p.pk)
46
+ parts.push('primary key');
47
+ if (!p.pk && !p.nullable)
48
+ parts.push('not null');
49
+ if (p.defaultValue !== undefined)
50
+ parts.push(`default ${renderDefaultValue(p.defaultValue)}`);
51
+ if (p.unique && !p.pk)
52
+ parts.push('unique');
53
+ const ref = resolveRef(p);
54
+ if (ref) {
55
+ parts.push(`references ${quoteIdent(ref.table)}(${quoteIdent(ref.column)})${ref.onDelete ? ` on delete ${ref.onDelete}` : ''}`);
56
+ }
57
+ return ` ${parts.join(' ')}`;
58
+ }
59
+ function sortTables(tables) {
60
+ const byName = new Map(tables.map(t => [t.name, t]));
61
+ if (byName.size !== tables.length)
62
+ throw new Error('createSchema: 表名重复');
63
+ const state = new Map();
64
+ const out = [];
65
+ const visit = (t, stack) => {
66
+ const s = state.get(t.name);
67
+ if (s === 2)
68
+ return;
69
+ if (s === 1)
70
+ throw new Error(`createSchema: 表引用出现循环:${[...stack, t.name].join(' → ')}`);
71
+ state.set(t.name, 1);
72
+ for (const p of t.__plan) {
73
+ const ref = resolveRef(p);
74
+ if (!ref || ref.table === t.name)
75
+ continue;
76
+ const dep = byName.get(ref.table);
77
+ if (dep)
78
+ visit(dep, [...stack, t.name]);
79
+ }
80
+ state.set(t.name, 2);
81
+ out.push(t);
82
+ };
83
+ for (const t of tables)
84
+ visit(t, []);
85
+ return out;
86
+ }
87
+ /**
88
+ * 从 table() 定义生成 `create table if not exists`。
89
+ * 只做建表:不 drop、不 alter、不做 diff(迁移引擎是判负线)。
90
+ */
91
+ export function createSchema(input, opts = {}) {
92
+ const tables = sortTables(Array.isArray(input) ? input : [input]);
93
+ const head = opts.ifNotExists === false ? 'create table' : 'create table if not exists';
94
+ const enums = new Map();
95
+ for (const t of tables) {
96
+ for (const p of t.__plan) {
97
+ if (!p.enum)
98
+ continue;
99
+ const prev = enums.get(p.enum.name);
100
+ if (prev && JSON.stringify(prev) !== JSON.stringify(p.enum.values)) {
101
+ throw new Error(`createSchema: enum ${p.enum.name} 在不同列上的值不一致`);
102
+ }
103
+ enums.set(p.enum.name, p.enum.values);
104
+ }
105
+ }
106
+ const parts = [...enums].map(([name, values]) => renderCreateEnum({ name, values }));
107
+ for (const t of tables) {
108
+ const lines = t.__plan.map(renderColumnDefinition);
109
+ if (t.__primaryKey.length > 0) {
110
+ lines.push(` constraint ${quoteIdent(`${t.name}_pkey`)} primary key (${t.__primaryKey.map(quoteIdent).join(', ')})`);
111
+ }
112
+ for (const cols of t.__uniques) {
113
+ lines.push(` constraint ${quoteIdent(`${t.name}_${cols.join('_')}_key`)} unique (${cols.map(quoteIdent).join(', ')})`);
114
+ }
115
+ for (const c of t.__checks) {
116
+ lines.push(` constraint ${quoteIdent(c.name)} check (${c.expression})`);
117
+ }
118
+ parts.push(`${head} ${quoteIdent(t.name)} (\n${lines.join(',\n')}\n);`);
119
+ }
120
+ for (const t of tables) {
121
+ for (const idx of t.__indexes) {
122
+ parts.push(`create ${idx.unique ? 'unique ' : ''}index if not exists ${quoteIdent(idx.name)} on ${quoteIdent(t.name)} (${idx.columns.map(quoteIdent).join(', ')});`);
123
+ }
124
+ }
125
+ return parts.join('\n\n');
126
+ }
127
+ //# sourceMappingURL=ddl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ddl.js","sourceRoot":"","sources":["../src/ddl.ts"],"names":[],"mappings":"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"}
package/dist/dev.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import { type MigrationInput } from './migrations.js';
2
+ export interface DevCycleResult {
3
+ generated?: string;
4
+ applied: string[];
5
+ skipped: string[];
6
+ }
7
+ /** 一次 dev 循环:diff → 写 additive 迁移 → 应用。破坏性变更由 generateMigration 抛错。 */
8
+ export declare function devCycle(url: string, dir: string, input: MigrationInput): Promise<DevCycleResult>;
9
+ //# sourceMappingURL=dev.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsC,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEzF,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,uEAAuE;AACvE,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,cAAc,CAAC,CAczB"}
package/dist/dev.js ADDED
@@ -0,0 +1,21 @@
1
+ import postgres from 'postgres';
2
+ import { createDb } from './db.js';
3
+ import { applyMigrations, generateMigration } from './migrations.js';
4
+ /** 一次 dev 循环:diff → 写 additive 迁移 → 应用。破坏性变更由 generateMigration 抛错。 */
5
+ export async function devCycle(url, dir, input) {
6
+ const raw = postgres(url, { max: 1, onnotice: () => { } });
7
+ const db = createDb(raw);
8
+ try {
9
+ const gen = await generateMigration(db, input, { dir, name: 'dev' });
10
+ const res = await applyMigrations(db, dir);
11
+ return {
12
+ ...(gen ? { generated: gen.file } : {}),
13
+ applied: res.applied,
14
+ skipped: res.skipped,
15
+ };
16
+ }
17
+ finally {
18
+ await db.close();
19
+ }
20
+ }
21
+ //# sourceMappingURL=dev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAuB,MAAM,iBAAiB,CAAA;AAQzF,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,GAAW,EACX,GAAW,EACX,KAAqB;IAErB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAA;IACzD,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACpE,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAC1C,OAAO;YACL,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAA;IACH,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,63 @@
1
+ import type { z } from 'zod';
2
+ export declare class ZodDbError extends Error {
3
+ constructor(message: string, options?: {
4
+ cause?: unknown;
5
+ });
6
+ }
7
+ /** postgres.js 会把 undefined 静默转成 NULL(= 意外写入/意外 where),必须在边界拦下 */
8
+ export declare class UndefinedParamError extends ZodDbError {
9
+ readonly position: number;
10
+ readonly kind: 'param' | 'array-element';
11
+ constructor(position: number, kind?: 'param' | 'array-element');
12
+ }
13
+ export declare class NoRowsError extends ZodDbError {
14
+ readonly table?: string | undefined;
15
+ constructor(table?: string | undefined);
16
+ }
17
+ export declare class RowValidationError extends ZodDbError {
18
+ readonly table: string;
19
+ readonly rowIndex: number;
20
+ readonly issues: z.core.$ZodIssue[];
21
+ readonly column?: string | undefined;
22
+ readonly missingColumn: boolean;
23
+ constructor(table: string, rowIndex: number, issues: z.core.$ZodIssue[], column?: string | undefined, missingColumn?: boolean);
24
+ }
25
+ /** include 的 key 必须与 SQL 里的别名一致;不一致时默认报错,而不是静默给空数组 */
26
+ export declare class IncludeAliasError extends ZodDbError {
27
+ readonly table: string;
28
+ readonly alias: string;
29
+ readonly rowIndex: number;
30
+ constructor(table: string, alias: string, rowIndex: number);
31
+ }
32
+ export interface PgErrorFields {
33
+ code?: string;
34
+ message?: string;
35
+ table_name?: string;
36
+ column_name?: string;
37
+ constraint_name?: string;
38
+ detail?: string;
39
+ }
40
+ export declare class DestructiveMigrationError extends ZodDbError {
41
+ readonly statements: readonly string[];
42
+ constructor(statements: readonly string[]);
43
+ }
44
+ export declare class PgError extends ZodDbError {
45
+ readonly pg: PgErrorFields;
46
+ readonly code?: string;
47
+ readonly table?: string;
48
+ readonly column?: string;
49
+ readonly constraint?: string;
50
+ constructor(pg: PgErrorFields);
51
+ }
52
+ export declare class UniqueViolationError extends PgError {
53
+ readonly columns: string[];
54
+ constructor(pg: PgErrorFields, columns?: string[]);
55
+ }
56
+ export declare class NotNullViolationError extends PgError {
57
+ }
58
+ export declare class ForeignKeyViolationError extends PgError {
59
+ }
60
+ export declare const isPgError: (e: unknown) => e is PgErrorFields;
61
+ /** 约束名 → 列名。优先用表的列名精确还原(`users_created_at_key` 不会被切成 3 段) */
62
+ export declare function uniqueColumns(constraint: string | undefined, table: string | undefined, columnNames?: string[]): string[];
63
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,qBAAa,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAGzD;CACF;AAED,kEAAkE;AAClE,qBAAa,mBAAoB,SAAQ,UAAU;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe;IAA/E,YAAqB,QAAQ,EAAE,MAAM,EAAW,IAAI,GAAE,OAAO,GAAG,eAAyB,EAMxF;CACF;AAED,qBAAa,WAAY,SAAQ,UAAU;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM;IAAnC,YAAqB,KAAK,CAAC,EAAE,MAAM,YAAA,EAElC;CACF;AAED,qBAAa,kBAAmB,SAAQ,UAAU;IAE9C,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IACxB,QAAQ,CAAC,aAAa;IALxB,YACW,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAC1B,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,aAAa,UAAQ,EAO/B;CACF;AAED,sDAAsD;AACtD,qBAAa,iBAAkB,SAAQ,UAAU;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAArF,YAAqB,KAAK,EAAE,MAAM,EAAW,KAAK,EAAE,MAAM,EAAW,QAAQ,EAAE,MAAM,EAEpF;CACF;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,yBAA0B,SAAQ,UAAU;IAC3C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE;IAAlD,YAAqB,UAAU,EAAE,SAAS,MAAM,EAAE,EAEjD;CACF;AAED,qBAAa,OAAQ,SAAQ,UAAU;IAKzB,QAAQ,CAAC,EAAE,EAAE,aAAa;IAJtC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,YAAqB,EAAE,EAAE,aAAa,EAMrC;CACF;AAED,qBAAa,oBAAqB,SAAQ,OAAO;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;IAC1B,YAAY,EAAE,EAAE,aAAa,EAAE,OAAO,GAAE,MAAM,EAAO,EAGpD;CACF;AAED,qBAAa,qBAAsB,SAAQ,OAAO;CAAG;AACrD,qBAAa,wBAAyB,SAAQ,OAAO;CAAG;AAExD,eAAO,MAAM,SAAS,MAAO,OAAO,KAAG,CAAC,IAAI,aAC0C,CAAA;AAgBtF,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAY7H"}
package/dist/errors.js ADDED
@@ -0,0 +1,122 @@
1
+ export class ZodDbError extends Error {
2
+ constructor(message, options) {
3
+ super(message, options);
4
+ this.name = new.target.name;
5
+ }
6
+ }
7
+ /** postgres.js 会把 undefined 静默转成 NULL(= 意外写入/意外 where),必须在边界拦下 */
8
+ export class UndefinedParamError extends ZodDbError {
9
+ position;
10
+ kind;
11
+ constructor(position, kind = 'param') {
12
+ super(kind === 'array-element'
13
+ ? `参数 #${position} 的数组元素为 undefined:postgres.js 会转成 NULL,已拒绝执行`
14
+ : `参数 #${position} 为 undefined:postgres.js 会转成 NULL,已拒绝执行`);
15
+ this.position = position;
16
+ this.kind = kind;
17
+ }
18
+ }
19
+ export class NoRowsError extends ZodDbError {
20
+ table;
21
+ constructor(table) {
22
+ super(`期望 1 行,实际 0 行${table ? `(${table})` : ''}`);
23
+ this.table = table;
24
+ }
25
+ }
26
+ export class RowValidationError extends ZodDbError {
27
+ table;
28
+ rowIndex;
29
+ issues;
30
+ column;
31
+ missingColumn;
32
+ constructor(table, rowIndex, issues, column, missingColumn = false) {
33
+ const first = issues[0];
34
+ const where = `行校验失败 ${table}[${rowIndex}]${column ? `.${column}` : ''}`;
35
+ super(missingColumn
36
+ ? `${where}: 列未出现在结果中(部分列查询请用 db.select(table, { ${column ?? '…'}: true }) 或 validate:'never')`
37
+ : `${where}${first ? `: ${first.message}` : ''}`);
38
+ this.table = table;
39
+ this.rowIndex = rowIndex;
40
+ this.issues = issues;
41
+ this.column = column;
42
+ this.missingColumn = missingColumn;
43
+ }
44
+ }
45
+ /** include 的 key 必须与 SQL 里的别名一致;不一致时默认报错,而不是静默给空数组 */
46
+ export class IncludeAliasError extends ZodDbError {
47
+ table;
48
+ alias;
49
+ rowIndex;
50
+ constructor(table, alias, rowIndex) {
51
+ super(`include 别名 "${alias}" 不在 ${table} 的返回行中(行 ${rowIndex}):SQL 里需要 AS "${alias}"`);
52
+ this.table = table;
53
+ this.alias = alias;
54
+ this.rowIndex = rowIndex;
55
+ }
56
+ }
57
+ export class DestructiveMigrationError extends ZodDbError {
58
+ statements;
59
+ constructor(statements) {
60
+ super(`检测到 ${statements.length} 条破坏性迁移,默认拒绝执行(确认后传 allowDestructive: true):\n${statements.map(s => ` - ${s}`).join('\n')}`);
61
+ this.statements = statements;
62
+ }
63
+ }
64
+ export class PgError extends ZodDbError {
65
+ pg;
66
+ code;
67
+ table;
68
+ column;
69
+ constraint;
70
+ constructor(pg) {
71
+ super(pg.message ?? 'postgres error', { cause: pg });
72
+ this.pg = pg;
73
+ this.code = pg.code;
74
+ this.table = pg.table_name;
75
+ this.column = pg.column_name;
76
+ this.constraint = pg.constraint_name;
77
+ }
78
+ }
79
+ export class UniqueViolationError extends PgError {
80
+ columns;
81
+ constructor(pg, columns = []) {
82
+ super(pg);
83
+ this.columns = columns;
84
+ }
85
+ }
86
+ export class NotNullViolationError extends PgError {
87
+ }
88
+ export class ForeignKeyViolationError extends PgError {
89
+ }
90
+ export const isPgError = (e) => typeof e === 'object' && e !== null && typeof e.code === 'string';
91
+ function splitByColumns(body, columns) {
92
+ if (columns.length === 0)
93
+ return body.split('_');
94
+ const sorted = [...columns].sort((a, b) => b.length - a.length);
95
+ const out = [];
96
+ let rest = body;
97
+ while (rest.length > 0) {
98
+ const hit = sorted.find(c => rest === c || rest.startsWith(`${c}_`));
99
+ if (!hit)
100
+ return body.split('_');
101
+ out.push(hit);
102
+ rest = rest.length === hit.length ? '' : rest.slice(hit.length + 1);
103
+ }
104
+ return out;
105
+ }
106
+ /** 约束名 → 列名。优先用表的列名精确还原(`users_created_at_key` 不会被切成 3 段) */
107
+ export function uniqueColumns(constraint, table, columnNames = []) {
108
+ if (!constraint)
109
+ return [];
110
+ if (table) {
111
+ const prefix = `${table}_`;
112
+ if (constraint.startsWith(prefix)) {
113
+ const rest = constraint.slice(prefix.length);
114
+ for (const suffix of ['_key', '_pkey', '_excl']) {
115
+ if (rest.endsWith(suffix))
116
+ return splitByColumns(rest.slice(0, -suffix.length), columnNames);
117
+ }
118
+ }
119
+ }
120
+ return [];
121
+ }
122
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import type { RowOf, Table } from './table.js';
2
+ import { type RelationDef, type RelationMapOf, type Relations } from './relations.js';
3
+ /** 单列操作符;eq/ne 对 nullable 列允许 null */
4
+ export type FilterOperator<V> = {
5
+ eq?: V;
6
+ ne?: V;
7
+ lt?: NonNullable<V>;
8
+ lte?: NonNullable<V>;
9
+ gt?: NonNullable<V>;
10
+ gte?: NonNullable<V>;
11
+ in?: readonly NonNullable<V>[];
12
+ notIn?: readonly NonNullable<V>[];
13
+ like?: string;
14
+ contains?: string;
15
+ startsWith?: string;
16
+ endsWith?: string;
17
+ isNull?: boolean;
18
+ mode?: 'insensitive';
19
+ };
20
+ export type FilterValue<V> = V | FilterOperator<V> | (null extends V ? null : never);
21
+ type ColumnWhere<T extends Table> = {
22
+ [K in keyof RowOf<T>]?: FilterValue<RowOf<T>[K]>;
23
+ };
24
+ type PrevDepth<D extends number> = D extends 2 ? 1 : 0;
25
+ type RelationTargetWhere<T extends Table, R extends readonly Relations[], D extends number> = ColumnWhere<T> & (D extends 0 ? {} : RelationWhere<T, R, D>) & {
26
+ AND?: readonly RelationTargetWhere<T, R, D>[];
27
+ OR?: readonly RelationTargetWhere<T, R, D>[];
28
+ NOT?: RelationTargetWhere<T, R, D>;
29
+ };
30
+ /** 关系过滤目标;depth 是剩余可继续展开的关系层数 */
31
+ export type RelationFilter<Def, R extends readonly Relations[], D extends number> = Def extends RelationDef<'many' | 'one', infer U> ? {
32
+ some?: RelationTargetWhere<U, R, PrevDepth<D>>;
33
+ none?: RelationTargetWhere<U, R, PrevDepth<D>>;
34
+ every?: RelationTargetWhere<U, R, PrevDepth<D>>;
35
+ } : never;
36
+ type RelationWhere<T extends Table, R extends readonly Relations[], D extends number> = {
37
+ [K in keyof RelationMapOf<R, T>]?: RelationFilter<RelationMapOf<R, T>[K], R, D>;
38
+ };
39
+ export type WhereFilter<T extends Table, R extends readonly Relations[] = [], D extends number = 2> = ColumnWhere<T> & (D extends 0 ? {} : RelationWhere<T, R, D>) & {
40
+ AND?: readonly WhereFilter<T, R, D>[];
41
+ OR?: readonly WhereFilter<T, R, D>[];
42
+ NOT?: WhereFilter<T, R, D>;
43
+ };
44
+ export type OrderBy<T extends Table> = {
45
+ [K in keyof RowOf<T>]?: 'asc' | 'desc';
46
+ };
47
+ export interface FindManyOptions<T extends Table, R extends readonly Relations[] = []> {
48
+ where?: WhereFilter<T, R>;
49
+ orderBy?: OrderBy<T> | readonly OrderBy<T>[];
50
+ limit?: number;
51
+ offset?: number;
52
+ /** keyset 分页:排序列最后一行的值;必须覆盖全部 orderBy 列 */
53
+ cursor?: Partial<RowOf<T>>;
54
+ }
55
+ export declare const escapeLike: (s: string) => string;
56
+ export declare function compileWhere(table: Table, filter: WhereFilter<Table, readonly Relations[]>, offset?: number, relations?: readonly Relations[], sourceAlias?: string): {
57
+ text: string;
58
+ params: unknown[];
59
+ };
60
+ /** keyset:把游标编译为参数化条件;startParam 用于与 where 参数拼接 */
61
+ export declare function compileCursor(table: Table, orderBy: OrderBy<Table> | readonly OrderBy<Table>[] | undefined, cursor: Record<string, unknown>, startParam: number): {
62
+ text: string;
63
+ params: unknown[];
64
+ };
65
+ export declare function compileOrderBy(table: Table, orderBy: OrderBy<Table> | readonly OrderBy<Table>[]): string;
66
+ export {};
67
+ //# sourceMappingURL=filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":"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"}