typhex 0.1.0-alpha.0 → 0.1.0-alpha.2
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/CHANGELOG.md +15 -0
- package/README.md +1 -1
- package/dist/arrow/aggregates.d.ts +5 -1
- package/dist/arrow/aggregates.d.ts.map +1 -1
- package/dist/arrow/aggregates.js +23 -1
- package/dist/arrow/aggregates.js.map +1 -1
- package/dist/arrow/index.d.ts +7 -3
- package/dist/arrow/index.d.ts.map +1 -1
- package/dist/arrow/index.js +24 -3
- package/dist/arrow/index.js.map +1 -1
- package/dist/dbs/base-migrator.d.ts +0 -1
- package/dist/dbs/base-migrator.d.ts.map +1 -1
- package/dist/dbs/base-migrator.js +5 -7
- package/dist/dbs/base-migrator.js.map +1 -1
- package/dist/dbs/postgres/driver.d.ts.map +1 -1
- package/dist/dbs/postgres/driver.js +3 -0
- package/dist/dbs/postgres/driver.js.map +1 -1
- package/dist/dbs/postgres/query-compiler.d.ts +6 -2
- package/dist/dbs/postgres/query-compiler.d.ts.map +1 -1
- package/dist/dbs/postgres/query-compiler.js +11 -11
- package/dist/dbs/postgres/query-compiler.js.map +1 -1
- package/dist/dbs/query-compiler.d.ts +13 -13
- package/dist/dbs/query-compiler.d.ts.map +1 -1
- package/dist/dbs/query-compiler.js +11 -37
- package/dist/dbs/query-compiler.js.map +1 -1
- package/dist/dbs/sqlite/index.d.ts +2 -2
- package/dist/dbs/sqlite/index.d.ts.map +1 -1
- package/dist/dbs/sqlite/index.js +1 -1
- package/dist/dbs/sqlite/index.js.map +1 -1
- package/dist/dbs/sqlite/query-compiler.d.ts +4 -1
- package/dist/dbs/sqlite/query-compiler.d.ts.map +1 -1
- package/dist/dbs/sqlite/query-compiler.js +11 -2
- package/dist/dbs/sqlite/query-compiler.js.map +1 -1
- package/dist/dbs/types.d.ts +5 -11
- package/dist/dbs/types.d.ts.map +1 -1
- package/dist/dbs/types.js +1 -1
- package/dist/dbs/types.js.map +1 -1
- package/dist/driver/compile-only.d.ts +8 -0
- package/dist/driver/compile-only.d.ts.map +1 -0
- package/dist/driver/compile-only.js +26 -0
- package/dist/driver/compile-only.js.map +1 -0
- package/dist/driver/sqlite.d.ts.map +1 -1
- package/dist/driver/sqlite.js +3 -0
- package/dist/driver/sqlite.js.map +1 -1
- package/dist/entity/entity.d.ts +1 -1
- package/dist/entity/entity.d.ts.map +1 -1
- package/dist/entity/entity.js +14 -11
- package/dist/entity/entity.js.map +1 -1
- package/dist/entity/global-driver.d.ts +5 -3
- package/dist/entity/global-driver.d.ts.map +1 -1
- package/dist/entity/global-driver.js +51 -2
- package/dist/entity/global-driver.js.map +1 -1
- package/dist/entity/index.d.ts +1 -1
- package/dist/entity/index.d.ts.map +1 -1
- package/dist/entity/index.js +1 -1
- package/dist/entity/index.js.map +1 -1
- package/dist/entity/pk-columns.d.ts +0 -2
- package/dist/entity/pk-columns.d.ts.map +1 -1
- package/dist/entity/pk-columns.js +2 -10
- package/dist/entity/pk-columns.js.map +1 -1
- package/dist/entity/relations.d.ts +0 -4
- package/dist/entity/relations.d.ts.map +1 -1
- package/dist/entity/relations.js.map +1 -1
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/migration/cli.js +120 -117
- package/dist/migration/cli.js.map +1 -1
- package/dist/migration/index.d.ts +1 -1
- package/dist/migration/index.d.ts.map +1 -1
- package/dist/migration/runner.d.ts +2 -6
- package/dist/migration/runner.d.ts.map +1 -1
- package/dist/migration/runner.js +1 -3
- package/dist/migration/runner.js.map +1 -1
- package/dist/migration/types.d.ts +0 -5
- package/dist/migration/types.d.ts.map +1 -1
- package/dist/orm/db.d.ts +16 -10
- package/dist/orm/db.d.ts.map +1 -1
- package/dist/orm/db.js +37 -9
- package/dist/orm/db.js.map +1 -1
- package/dist/orm/helpers/insert-graph/insert-graph-batch-executor.d.ts +2 -2
- package/dist/orm/helpers/insert-graph/insert-graph-batch-executor.d.ts.map +1 -1
- package/dist/orm/helpers/insert-graph/insert-graph-batch-executor.js.map +1 -1
- package/dist/orm/helpers/insert-graph/insert-graph-executor.d.ts +3 -3
- package/dist/orm/helpers/insert-graph/insert-graph-executor.d.ts.map +1 -1
- package/dist/orm/helpers/insert-graph/insert-graph-executor.js.map +1 -1
- package/dist/orm/helpers/insert-graph/insert-graph-planner.d.ts +3 -3
- package/dist/orm/helpers/insert-graph/insert-graph-planner.d.ts.map +1 -1
- package/dist/orm/helpers/insert-graph/insert-graph-planner.js +1 -1
- package/dist/orm/helpers/insert-graph/insert-graph-planner.js.map +1 -1
- package/dist/orm/helpers/insert-graph/insert-graph-sequential-executor.d.ts +2 -2
- package/dist/orm/helpers/insert-graph/insert-graph-sequential-executor.d.ts.map +1 -1
- package/dist/orm/helpers/insert-graph/insert-graph-sequential-executor.js.map +1 -1
- package/dist/orm/helpers/insert-graph/sequence-id-assigner.d.ts +2 -2
- package/dist/orm/helpers/insert-graph/sequence-id-assigner.d.ts.map +1 -1
- package/dist/orm/helpers/insert-graph/sequence-id-assigner.js.map +1 -1
- package/dist/orm/helpers/query-plan/query-plan.d.ts +19 -11
- package/dist/orm/helpers/query-plan/query-plan.d.ts.map +1 -1
- package/dist/orm/helpers/query-plan/query-plan.js +24 -4
- package/dist/orm/helpers/query-plan/query-plan.js.map +1 -1
- package/dist/orm/helpers/relations/relation-assembler.d.ts.map +1 -1
- package/dist/orm/helpers/relations/relation-assembler.js +14 -5
- package/dist/orm/helpers/relations/relation-assembler.js.map +1 -1
- package/dist/orm/helpers/relations/relation-fetcher.d.ts +20 -0
- package/dist/orm/helpers/relations/relation-fetcher.d.ts.map +1 -1
- package/dist/orm/helpers/relations/relation-fetcher.js +106 -23
- package/dist/orm/helpers/relations/relation-fetcher.js.map +1 -1
- package/dist/orm/index.d.ts +1 -1
- package/dist/orm/index.d.ts.map +1 -1
- package/dist/orm/index.js +1 -1
- package/dist/orm/index.js.map +1 -1
- package/dist/orm/insert-builder.d.ts +37 -0
- package/dist/orm/insert-builder.d.ts.map +1 -0
- package/dist/orm/insert-builder.js +134 -0
- package/dist/orm/insert-builder.js.map +1 -0
- package/dist/orm/query-builder.d.ts +51 -52
- package/dist/orm/query-builder.d.ts.map +1 -1
- package/dist/orm/query-builder.js +197 -223
- package/dist/orm/query-builder.js.map +1 -1
- package/dist/orm/query-execution-context.d.ts +5 -0
- package/dist/orm/query-execution-context.d.ts.map +1 -0
- package/dist/orm/query-execution-context.js +16 -0
- package/dist/orm/query-execution-context.js.map +1 -0
- package/dist/orm/query-helpers.d.ts.map +1 -1
- package/dist/orm/query-helpers.js +1 -1
- package/dist/orm/query-helpers.js.map +1 -1
- package/dist/orm/query-state.d.ts +10 -6
- package/dist/orm/query-state.d.ts.map +1 -1
- package/dist/orm/query-state.js.map +1 -1
- package/dist/orm/statement.d.ts +33 -0
- package/dist/orm/statement.d.ts.map +1 -0
- package/dist/orm/statement.js +31 -0
- package/dist/orm/statement.js.map +1 -0
- package/dist/parser/group-by.d.ts.map +1 -1
- package/dist/parser/group-by.js +2 -1
- package/dist/parser/group-by.js.map +1 -1
- package/dist/parser/predicate-walk.d.ts.map +1 -1
- package/dist/parser/predicate-walk.js +12 -32
- package/dist/parser/predicate-walk.js.map +1 -1
- package/dist/parser/resolve.js +1 -1
- package/dist/parser/resolve.js.map +1 -1
- package/dist/parser/select.js +3 -3
- package/dist/parser/select.js.map +1 -1
- package/dist/schema/column-definition.d.ts +10 -0
- package/dist/schema/column-definition.d.ts.map +1 -0
- package/dist/schema/column-definition.js +13 -0
- package/dist/schema/column-definition.js.map +1 -0
- package/dist/transformer/ir-emit.d.ts.map +1 -1
- package/dist/transformer/ir-emit.js +3 -0
- package/dist/transformer/ir-emit.js.map +1 -1
- package/dist/transformer/select-transformer.d.ts.map +1 -1
- package/dist/transformer/select-transformer.js +18 -0
- package/dist/transformer/select-transformer.js.map +1 -1
- package/dist/transformer/ts-aggregates.d.ts.map +1 -1
- package/dist/transformer/ts-aggregates.js +9 -14
- package/dist/transformer/ts-aggregates.js.map +1 -1
- package/dist/transformer/where-transformer.d.ts.map +1 -1
- package/dist/transformer/where-transformer.js +15 -24
- package/dist/transformer/where-transformer.js.map +1 -1
- package/docs/guide/entities-relations.md +12 -3
- package/docs/guide/getting-started.md +10 -3
- package/docs/public-api.md +6 -6
- package/docs/reference/api.md +14 -6
- package/docs/reference/architecture.md +11 -3
- package/etc/typhex.api.md +59 -59
- package/package.json +2 -2
- package/dist/dbs/sqlite/driver.d.ts +0 -9
- package/dist/dbs/sqlite/driver.d.ts.map +0 -1
- package/dist/dbs/sqlite/driver.js +0 -66
- package/dist/dbs/sqlite/driver.js.map +0 -1
- package/dist/schema/index.d.ts +0 -2
- package/dist/schema/index.d.ts.map +0 -1
- package/dist/schema/index.js +0 -2
- package/dist/schema/index.js.map +0 -1
- package/dist/schema/types.d.ts +0 -16
- package/dist/schema/types.d.ts.map +0 -1
- package/dist/schema/types.js +0 -40
- package/dist/schema/types.js.map +0 -1
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* subclasses override protected pieces where SQL differs.
|
|
6
6
|
*/
|
|
7
7
|
import { getColumnDef, resolveParamSentinels, SQL_DEFAULT } from "./types.js";
|
|
8
|
-
import { QueryPlanBuilder } from "../orm/helpers/query-plan/query-plan.js";
|
|
9
8
|
function wrapUnionAllBranchSql(sql, plan) {
|
|
10
9
|
const needsParens = plan.orderBy.length > 0 || plan.limitNum != null || plan.offsetNum != null;
|
|
11
10
|
return needsParens ? `(${sql})` : sql;
|
|
@@ -28,11 +27,6 @@ export class BaseQueryCompiler {
|
|
|
28
27
|
return `(~${operandSql})`;
|
|
29
28
|
return `(NOT ${operandSql})`;
|
|
30
29
|
}
|
|
31
|
-
compileXorSql(left, right) {
|
|
32
|
-
if (this.dialect === "postgres")
|
|
33
|
-
return `(${left} # ${right})`;
|
|
34
|
-
return `((${left} & ~${right}) | (~${left} & ${right}))`;
|
|
35
|
-
}
|
|
36
30
|
compileBinarySql(op, left, right) {
|
|
37
31
|
if (op === "&&")
|
|
38
32
|
return `(${left} AND ${right})`;
|
|
@@ -138,19 +132,12 @@ export class BaseQueryCompiler {
|
|
|
138
132
|
params: inner.params,
|
|
139
133
|
};
|
|
140
134
|
}
|
|
141
|
-
compileCteBodies(ctes
|
|
135
|
+
compileCteBodies(ctes) {
|
|
142
136
|
if (!ctes?.length)
|
|
143
137
|
return [];
|
|
144
138
|
const bodies = [];
|
|
145
139
|
for (const clause of ctes) {
|
|
146
|
-
const
|
|
147
|
-
const innerPlan = QueryPlanBuilder.build(innerState, { kind: "select" });
|
|
148
|
-
const priorNames = [...allowedCteNames, ...bodies.map((c) => c.name)];
|
|
149
|
-
const allowedForInner = clause.kind === "recursive" ? [...priorNames, clause.name] : priorNames;
|
|
150
|
-
const body = this.compilePlan(innerPlan, {
|
|
151
|
-
paramStartIndex: 1,
|
|
152
|
-
allowedCteNames: allowedForInner,
|
|
153
|
-
});
|
|
140
|
+
const body = this.compilePlan(clause.plan, { paramStartIndex: 1 });
|
|
154
141
|
bodies.push({
|
|
155
142
|
name: clause.name,
|
|
156
143
|
bodySql: body.sql,
|
|
@@ -160,7 +147,7 @@ export class BaseQueryCompiler {
|
|
|
160
147
|
}
|
|
161
148
|
return bodies;
|
|
162
149
|
}
|
|
163
|
-
resolvePlanFromClause(plan,
|
|
150
|
+
resolvePlanFromClause(plan, paramStartIndex) {
|
|
164
151
|
const source = plan.fromSource ?? { kind: "table" };
|
|
165
152
|
const alias = this.escapeIdentifier(plan.tableAlias);
|
|
166
153
|
switch (source.kind) {
|
|
@@ -175,11 +162,9 @@ export class BaseQueryCompiler {
|
|
|
175
162
|
fromParams: [],
|
|
176
163
|
};
|
|
177
164
|
case "subquery": {
|
|
178
|
-
const
|
|
179
|
-
const compiled = this.compilePlan(innerPlan, {
|
|
165
|
+
const compiled = this.compilePlan(source.plan, {
|
|
180
166
|
wrap: true,
|
|
181
167
|
paramStartIndex,
|
|
182
|
-
allowedCteNames: compileOptions.allowedCteNames,
|
|
183
168
|
});
|
|
184
169
|
return {
|
|
185
170
|
fromClause: `${compiled.sql} AS ${alias}`,
|
|
@@ -189,14 +174,8 @@ export class BaseQueryCompiler {
|
|
|
189
174
|
}
|
|
190
175
|
}
|
|
191
176
|
prepareReadPlan(plan, options) {
|
|
192
|
-
const compiledCteBodies = options.skipCteRender
|
|
193
|
-
|
|
194
|
-
: this.compileCteBodies(plan.ctes, options.allowedCteNames);
|
|
195
|
-
const allowedCteNames = [
|
|
196
|
-
...(options.allowedCteNames ?? []),
|
|
197
|
-
...compiledCteBodies.map((c) => c.name),
|
|
198
|
-
];
|
|
199
|
-
const fromResolved = this.resolvePlanFromClause(plan, allowedCteNames, options.paramStartIndex ?? 1, options);
|
|
177
|
+
const compiledCteBodies = options.skipCteRender ? [] : this.compileCteBodies(plan.ctes);
|
|
178
|
+
const fromResolved = this.resolvePlanFromClause(plan, options.paramStartIndex ?? 1);
|
|
200
179
|
const { expand, paramStartIndex } = this.createExpander({
|
|
201
180
|
...options,
|
|
202
181
|
paramStartIndex: (options.paramStartIndex ?? 1) + fromResolved.fromParams.length,
|
|
@@ -342,9 +321,6 @@ export class BaseQueryCompiler {
|
|
|
342
321
|
escapeIdentifier(name) {
|
|
343
322
|
return `"${name.replaceAll('"', '""')}"`;
|
|
344
323
|
}
|
|
345
|
-
placeholder(index) {
|
|
346
|
-
return this.dialect === "postgres" ? `$${index}` : "?";
|
|
347
|
-
}
|
|
348
324
|
toColumnDef(def) {
|
|
349
325
|
return getColumnDef(def, this.dialect);
|
|
350
326
|
}
|
|
@@ -548,7 +524,7 @@ export class BaseQueryCompiler {
|
|
|
548
524
|
})
|
|
549
525
|
.join(", ");
|
|
550
526
|
const fixedWhere = this.fixMutationWhereAlias(table, whereSql, alias, useFrom);
|
|
551
|
-
const where = this.
|
|
527
|
+
const where = this.shiftUpdateWherePlaceholders(fixedWhere, params.length);
|
|
552
528
|
params.push(...whereParams);
|
|
553
529
|
let sql;
|
|
554
530
|
if (useFrom) {
|
|
@@ -684,7 +660,7 @@ export class BaseQueryCompiler {
|
|
|
684
660
|
}
|
|
685
661
|
}
|
|
686
662
|
buildJoinClause(join, mainAlias, onSql) {
|
|
687
|
-
const kw =
|
|
663
|
+
const kw = this.joinKeyword(join.joinType);
|
|
688
664
|
if (join.on) {
|
|
689
665
|
return ` ${kw} ${this.escapeIdentifier(join.targetTable)} AS ${this.escapeIdentifier(join.alias)} ON ${onSql}`;
|
|
690
666
|
}
|
|
@@ -693,6 +669,9 @@ export class BaseQueryCompiler {
|
|
|
693
669
|
.join(" AND ");
|
|
694
670
|
return ` ${kw} ${this.escapeIdentifier(join.targetTable)} AS ${this.escapeIdentifier(join.alias)} ON ${on}`;
|
|
695
671
|
}
|
|
672
|
+
joinKeyword(joinType) {
|
|
673
|
+
return BaseQueryCompiler.JOIN_SQL_KEYWORDS[joinType] ?? "LEFT JOIN";
|
|
674
|
+
}
|
|
696
675
|
appendOnConflict(baseSql, onConflict, insertColumns) {
|
|
697
676
|
const conflictCols = onConflict.conflictColumns.map((c) => this.escapeIdentifier(c)).join(", ");
|
|
698
677
|
if (onConflict.action === "nothing") {
|
|
@@ -717,11 +696,6 @@ export class BaseQueryCompiler {
|
|
|
717
696
|
return { sql: "DEFAULT", params: [] };
|
|
718
697
|
return { sql: this.placeholder(paramIndex), params: [value] };
|
|
719
698
|
}
|
|
720
|
-
renumberUpdateWhereParams(whereSql, offset) {
|
|
721
|
-
if (this.dialect !== "postgres")
|
|
722
|
-
return whereSql;
|
|
723
|
-
return whereSql.replaceAll(/\$(\d+)/g, (_, n) => `$${Number.parseInt(n, 10) + offset}`);
|
|
724
|
-
}
|
|
725
699
|
registeredCteNames(plan) {
|
|
726
700
|
return new Set([
|
|
727
701
|
...(plan.inScopeRegisteredCteNames ?? []),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-compiler.js","sourceRoot":"","sources":["../../src/dbs/query-compiler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-compiler.js","sourceRoot":"","sources":["../../src/dbs/query-compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { createSqliteDriver } from "
|
|
2
|
-
export type { SqliteDriverOptions } from "
|
|
1
|
+
export { createSqliteDriver } from "../../driver/sqlite.js";
|
|
2
|
+
export type { SqliteDriverOptions } from "../../driver/sqlite.js";
|
|
3
3
|
export { sqliteDialect } from "./dialect.js";
|
|
4
4
|
export { sqliteMigrator } from "./migrator.js";
|
|
5
5
|
export { sqliteQueryCompiler } from "./query-compiler.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dbs/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dbs/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/dbs/sqlite/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dbs/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dbs/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -6,6 +6,9 @@ type AlterColumnAction = Extract<DiffAction, {
|
|
|
6
6
|
}>;
|
|
7
7
|
export declare class SqliteQueryCompiler extends BaseQueryCompiler {
|
|
8
8
|
protected readonly dialect: "sqlite";
|
|
9
|
+
protected placeholder(): string;
|
|
10
|
+
protected compileXorSql(left: string, right: string): string;
|
|
11
|
+
protected shiftUpdateWherePlaceholders(whereSql: string): string;
|
|
9
12
|
compileNextSequenceValues(): CompileResult;
|
|
10
13
|
compileTrackingTable(): CompileResult;
|
|
11
14
|
compileListTables(): CompileResult;
|
|
@@ -16,7 +19,7 @@ export declare class SqliteQueryCompiler extends BaseQueryCompiler {
|
|
|
16
19
|
protected excludedTableName(): string;
|
|
17
20
|
protected singleInsertReturnsRows(): boolean;
|
|
18
21
|
protected compileAlterColumn(action: AlterColumnAction, reverse: boolean): string;
|
|
19
|
-
protected renderInsertManyValue(value: unknown
|
|
22
|
+
protected renderInsertManyValue(value: unknown): {
|
|
20
23
|
sql: string;
|
|
21
24
|
params: unknown[];
|
|
22
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-compiler.d.ts","sourceRoot":"","sources":["../../../src/dbs/sqlite/query-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,KAAK,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,CAAC;AAEvE,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAU;IAE/C,yBAAyB,IAAI,aAAa;IAI1C,oBAAoB,IAAI,aAAa;IAWrC,iBAAiB,IAAI,aAAa;IAOlC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAIhD,SAAS,CAAC,kBAAkB,CAC1B,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,OAAO,EAAE,EACzB,SAAS,CAAC,EAAE,MAAM,GACjB,wBAAwB;IAe3B,SAAS,CAAC,iBAAiB,CACzB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,EAAE,EACrB,MAAM,EAAE,eAAe,EAAE,EACzB,gBAAgB,EAAE,MAAM,GACvB,aAAa;IAWhB,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,MAAM;IASpE,SAAS,CAAC,iBAAiB,IAAI,MAAM;IAIrC,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;IASjF,SAAS,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"query-compiler.d.ts","sourceRoot":"","sources":["../../../src/dbs/sqlite/query-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,KAAK,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,CAAC;AAEvE,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAU;IAE/C,SAAS,CAAC,WAAW,IAAI,MAAM;IAI/B,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAI5D,SAAS,CAAC,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIhE,yBAAyB,IAAI,aAAa;IAI1C,oBAAoB,IAAI,aAAa;IAWrC,iBAAiB,IAAI,aAAa;IAOlC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAIhD,SAAS,CAAC,kBAAkB,CAC1B,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,OAAO,EAAE,EACzB,SAAS,CAAC,EAAE,MAAM,GACjB,wBAAwB;IAe3B,SAAS,CAAC,iBAAiB,CACzB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,EAAE,EACrB,MAAM,EAAE,eAAe,EAAE,EACzB,gBAAgB,EAAE,MAAM,GACvB,aAAa;IAWhB,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,MAAM;IASpE,SAAS,CAAC,iBAAiB,IAAI,MAAM;IAIrC,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;IASjF,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE;CAMpF;AAED,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}
|
|
@@ -2,6 +2,15 @@ import { BaseQueryCompiler } from "../query-compiler.js";
|
|
|
2
2
|
import { SQL_DEFAULT } from "../types.js";
|
|
3
3
|
export class SqliteQueryCompiler extends BaseQueryCompiler {
|
|
4
4
|
dialect = "sqlite";
|
|
5
|
+
placeholder() {
|
|
6
|
+
return "?";
|
|
7
|
+
}
|
|
8
|
+
compileXorSql(left, right) {
|
|
9
|
+
return `((${left} & ~${right}) | (~${left} & ${right}))`;
|
|
10
|
+
}
|
|
11
|
+
shiftUpdateWherePlaceholders(whereSql) {
|
|
12
|
+
return whereSql;
|
|
13
|
+
}
|
|
5
14
|
compileNextSequenceValues() {
|
|
6
15
|
throw new Error("SQLite does not support sequence allocation");
|
|
7
16
|
}
|
|
@@ -69,9 +78,9 @@ export class SqliteQueryCompiler extends BaseQueryCompiler {
|
|
|
69
78
|
throw new Error(`SQLite cannot ${direction} ALTER COLUMN on ${action.table}.${action.column} ` +
|
|
70
79
|
`(changes: ${dimensions}). The table must be recreated; please write the migration manually.`);
|
|
71
80
|
}
|
|
72
|
-
renderInsertManyValue(value
|
|
81
|
+
renderInsertManyValue(value) {
|
|
73
82
|
return {
|
|
74
|
-
sql: this.placeholder(
|
|
83
|
+
sql: this.placeholder(),
|
|
75
84
|
params: [value === SQL_DEFAULT ? null : value],
|
|
76
85
|
};
|
|
77
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-compiler.js","sourceRoot":"","sources":["../../../src/dbs/sqlite/query-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAOzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,MAAM,OAAO,mBAAoB,SAAQ,iBAAiB;IACrC,OAAO,GAAG,QAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"query-compiler.js","sourceRoot":"","sources":["../../../src/dbs/sqlite/query-compiler.ts"],"names":[],"mappings":"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"}
|
package/dist/dbs/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { Connection, Driver, ExecuteResult, TransactionOptions } from "../d
|
|
|
5
5
|
import type { DialectName } from "../dialect.js";
|
|
6
6
|
export type { DialectName };
|
|
7
7
|
/** Column definition: string (all dialects) or per-dialect map. */
|
|
8
|
-
export type
|
|
8
|
+
export type DialectColumnDef = string | {
|
|
9
9
|
[K in DialectName]?: string;
|
|
10
10
|
};
|
|
11
11
|
export interface CompileResult {
|
|
@@ -48,7 +48,7 @@ export type ColumnChange = {
|
|
|
48
48
|
export type DiffAction = {
|
|
49
49
|
kind: "add_table";
|
|
50
50
|
table: string;
|
|
51
|
-
schema: Record<string,
|
|
51
|
+
schema: Record<string, DialectColumnDef>;
|
|
52
52
|
} | {
|
|
53
53
|
kind: "drop_table";
|
|
54
54
|
table: string;
|
|
@@ -57,7 +57,7 @@ export type DiffAction = {
|
|
|
57
57
|
kind: "add_column";
|
|
58
58
|
table: string;
|
|
59
59
|
column: string;
|
|
60
|
-
definition:
|
|
60
|
+
definition: DialectColumnDef;
|
|
61
61
|
} | {
|
|
62
62
|
kind: "drop_column";
|
|
63
63
|
table: string;
|
|
@@ -68,18 +68,12 @@ export type DiffAction = {
|
|
|
68
68
|
table: string;
|
|
69
69
|
column: string;
|
|
70
70
|
oldDef: string;
|
|
71
|
-
newDef:
|
|
71
|
+
newDef: DialectColumnDef;
|
|
72
72
|
columnInfo: DbColumnInfo;
|
|
73
73
|
changes: ColumnChange[];
|
|
74
74
|
};
|
|
75
75
|
export type { Connection, ExecuteResult };
|
|
76
76
|
export type { TransactionOptions, Driver };
|
|
77
|
-
/** Registered CTE (uncompiled). The authoritative inner shape is `QueryState` from `query-state.ts`. */
|
|
78
|
-
export interface WithClause {
|
|
79
|
-
name: string;
|
|
80
|
-
kind: "simple" | "recursive";
|
|
81
|
-
inner: unknown;
|
|
82
|
-
}
|
|
83
77
|
/** Compiled CTE body before prepending to outer SQL. */
|
|
84
78
|
export interface CompiledCteBody {
|
|
85
79
|
name: string;
|
|
@@ -88,5 +82,5 @@ export interface CompiledCteBody {
|
|
|
88
82
|
recursive?: boolean;
|
|
89
83
|
}
|
|
90
84
|
/** Resolve column definition for a dialect. */
|
|
91
|
-
export declare function getColumnDef(def:
|
|
85
|
+
export declare function getColumnDef(def: DialectColumnDef, dialect: DialectName): string;
|
|
92
86
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/dbs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dbs/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,MAAM,EACN,aAAa,EAEb,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMjD,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B,mEAAmE;AACnE,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dbs/types.ts"],"names":[],"mappings":"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"}
|
package/dist/dbs/types.js
CHANGED
|
@@ -17,7 +17,7 @@ export function resolveParamSentinels(params, paramValues) {
|
|
|
17
17
|
export function getColumnDef(def, dialect) {
|
|
18
18
|
if (typeof def === "string")
|
|
19
19
|
return def;
|
|
20
|
-
const resolved = def[dialect]
|
|
20
|
+
const resolved = def[dialect];
|
|
21
21
|
if (resolved == null) {
|
|
22
22
|
throw new Error(`No column definition provided for dialect "${dialect}"`);
|
|
23
23
|
}
|
package/dist/dbs/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dbs/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dbs/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyIH,gBAAgB;AAChB,MAAM,CAAC,MAAM,WAAW,GAAkB,MAAM,CAAC,aAAa,CAAC,CAAC;AAIhE,gBAAgB;AAChB,MAAM,UAAU,qBAAqB,CACnC,MAAiB,EACjB,WAAoC;IAEpC,MAAM,cAAc,GAAG,SAAkB,CAAC;IAC1C,MAAM,UAAU,GAAG,CAAC,CAAU,EAA4B,EAAE,CAC1D,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,cAAc,IAAI,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AA6CD,+CAA+C;AAC/C,MAAM,UAAU,YAAY,CAAC,GAAqB,EAAE,OAAoB;IACtE,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,GAAG,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compile-only mode: when TYPHEX_COMPILE_ONLY is set, driver factories return a
|
|
3
|
+
* stub driver that carries the full dialect (so `toSql()` works) but never opens
|
|
4
|
+
* a real connection and refuses to execute SQL. Intended for tooling that needs
|
|
5
|
+
* to extract SQL from application code without touching a database.
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=compile-only.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-only.d.ts","sourceRoot":"","sources":["../../src/driver/compile-only.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compile-only mode: when TYPHEX_COMPILE_ONLY is set, driver factories return a
|
|
3
|
+
* stub driver that carries the full dialect (so `toSql()` works) but never opens
|
|
4
|
+
* a real connection and refuses to execute SQL. Intended for tooling that needs
|
|
5
|
+
* to extract SQL from application code without touching a database.
|
|
6
|
+
*/
|
|
7
|
+
/** @internal */
|
|
8
|
+
export function isCompileOnlyEnabled() {
|
|
9
|
+
const flag = process?.env?.TYPHEX_COMPILE_ONLY;
|
|
10
|
+
return flag === "1" || flag === "true" || flag === "yes";
|
|
11
|
+
}
|
|
12
|
+
/** @internal */
|
|
13
|
+
export function createCompileOnlyDriver(dialect) {
|
|
14
|
+
const refuse = () => {
|
|
15
|
+
throw new Error("[typhex] TYPHEX_COMPILE_ONLY is set: refusing to open a connection or execute SQL. " +
|
|
16
|
+
"Unset TYPHEX_COMPILE_ONLY to run queries.");
|
|
17
|
+
};
|
|
18
|
+
return {
|
|
19
|
+
dialect,
|
|
20
|
+
execute: async () => refuse(),
|
|
21
|
+
connect: async () => refuse(),
|
|
22
|
+
createTrx: refuse,
|
|
23
|
+
close: async () => { },
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=compile-only.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-only.js","sourceRoot":"","sources":["../../src/driver/compile-only.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,gBAAgB;AAChB,MAAM,UAAU,oBAAoB;IAClC,MAAM,IAAI,GAAG,OAAO,EAAE,GAAG,EAAE,mBAAmB,CAAC;IAC/C,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK,CAAC;AAC3D,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,MAAM,GAAG,GAAU,EAAE;QACzB,MAAM,IAAI,KAAK,CACb,qFAAqF;YACnF,2CAA2C,CAC9C,CAAC;IACJ,CAAC,CAAC;IACF,OAAO;QACL,OAAO;QACP,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE;QAC7B,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE;QAC7B,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;KACtB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/driver/sqlite.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,MAAM,EAKP,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/driver/sqlite.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,MAAM,EAKP,MAAM,YAAY,CAAC;AA0CpB,yFAAyF;AACzF,MAAM,WAAW,mBAAmB;IAClC,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,0DAA0D;AAC1D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAwCvE"}
|
package/dist/driver/sqlite.js
CHANGED
|
@@ -6,6 +6,7 @@ import { createRequire } from "node:module";
|
|
|
6
6
|
import { SqliteTrx } from "../dbs/sqlite/trx.js";
|
|
7
7
|
import { sqliteDialect } from "../dbs/sqlite/dialect.js";
|
|
8
8
|
import { isRecord } from "../utils.js";
|
|
9
|
+
import { createCompileOnlyDriver, isCompileOnlyEnabled } from "./compile-only.js";
|
|
9
10
|
const require = createRequire(import.meta.url);
|
|
10
11
|
/** Convert a value to a type SQLite can bind (number, string, bigint, Buffer, null). */
|
|
11
12
|
function toBindable(value) {
|
|
@@ -42,6 +43,8 @@ export function createSqliteDriver(options) {
|
|
|
42
43
|
if (!path) {
|
|
43
44
|
throw new Error("createSqliteDriver: `path` (or `database`) is required");
|
|
44
45
|
}
|
|
46
|
+
if (isCompileOnlyEnabled())
|
|
47
|
+
return createCompileOnlyDriver(sqliteDialect);
|
|
45
48
|
const Database = require("better-sqlite3");
|
|
46
49
|
const db = new Database(path);
|
|
47
50
|
function makeConnection() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/driver/sqlite.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQ5C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/driver/sqlite.ts"],"names":[],"mappings":"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"}
|
package/dist/entity/entity.d.ts
CHANGED
|
@@ -8,7 +8,6 @@ import { QueryBuilder } from "../orm/query-builder.js";
|
|
|
8
8
|
import type { InferTable, Flatten, Materialized, MaterializeShape } from "./schema-inference.js";
|
|
9
9
|
import type { RelationDef, RelationsMap, RelationQueryable, RelationQueryBuilder, ManyRelation } from "./relations.js";
|
|
10
10
|
import type { TableDef, EntityBase } from "./types.js";
|
|
11
|
-
export { getPkColumnsFromSchema } from "./pk-columns.js";
|
|
12
11
|
/** Resolved relation value type for a `RelationDef` R: an array for to-many, a single instance for to-one. */
|
|
13
12
|
export type RelationLoadedValue<R> = R extends RelationDef<infer E, infer TType> ? E extends AnyEntityClass ? unknown extends E ? TType extends "one-to-many" | "many-to-many" ? RelationQueryBuilder<any> & EntityBase[] : EntityBase : TType extends "one-to-many" | "many-to-many" ? ManyRelation<EntityInstance<E>> : EntityInstance<E> : TType extends "one-to-many" | "many-to-many" ? RelationQueryBuilder<any> & EntityBase[] : EntityBase : never;
|
|
14
13
|
/** Base row type: materialized columns merged with loaded relation values and `EntityBase`. */
|
|
@@ -64,4 +63,5 @@ export interface EntityClass<_TTable extends string, TSchema extends Record<stri
|
|
|
64
63
|
* instances and create() get correct types (e.g. id: number, name: string).
|
|
65
64
|
*/
|
|
66
65
|
export declare function Entity<TTable extends string, const TSchema extends Record<string, string>, const TRels extends RelationsMap = {}>(tableName: TTable, schema: TSchema, relations?: TRels): EntityClass<TTable, TSchema, TRels>;
|
|
66
|
+
export {};
|
|
67
67
|
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/entity/entity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/entity/entity.ts"],"names":[],"mappings":"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"}
|