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.
Files changed (179) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +1 -1
  3. package/dist/arrow/aggregates.d.ts +5 -1
  4. package/dist/arrow/aggregates.d.ts.map +1 -1
  5. package/dist/arrow/aggregates.js +23 -1
  6. package/dist/arrow/aggregates.js.map +1 -1
  7. package/dist/arrow/index.d.ts +7 -3
  8. package/dist/arrow/index.d.ts.map +1 -1
  9. package/dist/arrow/index.js +24 -3
  10. package/dist/arrow/index.js.map +1 -1
  11. package/dist/dbs/base-migrator.d.ts +0 -1
  12. package/dist/dbs/base-migrator.d.ts.map +1 -1
  13. package/dist/dbs/base-migrator.js +5 -7
  14. package/dist/dbs/base-migrator.js.map +1 -1
  15. package/dist/dbs/postgres/driver.d.ts.map +1 -1
  16. package/dist/dbs/postgres/driver.js +3 -0
  17. package/dist/dbs/postgres/driver.js.map +1 -1
  18. package/dist/dbs/postgres/query-compiler.d.ts +6 -2
  19. package/dist/dbs/postgres/query-compiler.d.ts.map +1 -1
  20. package/dist/dbs/postgres/query-compiler.js +11 -11
  21. package/dist/dbs/postgres/query-compiler.js.map +1 -1
  22. package/dist/dbs/query-compiler.d.ts +13 -13
  23. package/dist/dbs/query-compiler.d.ts.map +1 -1
  24. package/dist/dbs/query-compiler.js +11 -37
  25. package/dist/dbs/query-compiler.js.map +1 -1
  26. package/dist/dbs/sqlite/index.d.ts +2 -2
  27. package/dist/dbs/sqlite/index.d.ts.map +1 -1
  28. package/dist/dbs/sqlite/index.js +1 -1
  29. package/dist/dbs/sqlite/index.js.map +1 -1
  30. package/dist/dbs/sqlite/query-compiler.d.ts +4 -1
  31. package/dist/dbs/sqlite/query-compiler.d.ts.map +1 -1
  32. package/dist/dbs/sqlite/query-compiler.js +11 -2
  33. package/dist/dbs/sqlite/query-compiler.js.map +1 -1
  34. package/dist/dbs/types.d.ts +5 -11
  35. package/dist/dbs/types.d.ts.map +1 -1
  36. package/dist/dbs/types.js +1 -1
  37. package/dist/dbs/types.js.map +1 -1
  38. package/dist/driver/compile-only.d.ts +8 -0
  39. package/dist/driver/compile-only.d.ts.map +1 -0
  40. package/dist/driver/compile-only.js +26 -0
  41. package/dist/driver/compile-only.js.map +1 -0
  42. package/dist/driver/sqlite.d.ts.map +1 -1
  43. package/dist/driver/sqlite.js +3 -0
  44. package/dist/driver/sqlite.js.map +1 -1
  45. package/dist/entity/entity.d.ts +1 -1
  46. package/dist/entity/entity.d.ts.map +1 -1
  47. package/dist/entity/entity.js +14 -11
  48. package/dist/entity/entity.js.map +1 -1
  49. package/dist/entity/global-driver.d.ts +5 -3
  50. package/dist/entity/global-driver.d.ts.map +1 -1
  51. package/dist/entity/global-driver.js +51 -2
  52. package/dist/entity/global-driver.js.map +1 -1
  53. package/dist/entity/index.d.ts +1 -1
  54. package/dist/entity/index.d.ts.map +1 -1
  55. package/dist/entity/index.js +1 -1
  56. package/dist/entity/index.js.map +1 -1
  57. package/dist/entity/pk-columns.d.ts +0 -2
  58. package/dist/entity/pk-columns.d.ts.map +1 -1
  59. package/dist/entity/pk-columns.js +2 -10
  60. package/dist/entity/pk-columns.js.map +1 -1
  61. package/dist/entity/relations.d.ts +0 -4
  62. package/dist/entity/relations.d.ts.map +1 -1
  63. package/dist/entity/relations.js.map +1 -1
  64. package/dist/index.d.ts +3 -4
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +1 -1
  67. package/dist/index.js.map +1 -1
  68. package/dist/migration/cli.js +120 -117
  69. package/dist/migration/cli.js.map +1 -1
  70. package/dist/migration/index.d.ts +1 -1
  71. package/dist/migration/index.d.ts.map +1 -1
  72. package/dist/migration/runner.d.ts +2 -6
  73. package/dist/migration/runner.d.ts.map +1 -1
  74. package/dist/migration/runner.js +1 -3
  75. package/dist/migration/runner.js.map +1 -1
  76. package/dist/migration/types.d.ts +0 -5
  77. package/dist/migration/types.d.ts.map +1 -1
  78. package/dist/orm/db.d.ts +16 -10
  79. package/dist/orm/db.d.ts.map +1 -1
  80. package/dist/orm/db.js +37 -9
  81. package/dist/orm/db.js.map +1 -1
  82. package/dist/orm/helpers/insert-graph/insert-graph-batch-executor.d.ts +2 -2
  83. package/dist/orm/helpers/insert-graph/insert-graph-batch-executor.d.ts.map +1 -1
  84. package/dist/orm/helpers/insert-graph/insert-graph-batch-executor.js.map +1 -1
  85. package/dist/orm/helpers/insert-graph/insert-graph-executor.d.ts +3 -3
  86. package/dist/orm/helpers/insert-graph/insert-graph-executor.d.ts.map +1 -1
  87. package/dist/orm/helpers/insert-graph/insert-graph-executor.js.map +1 -1
  88. package/dist/orm/helpers/insert-graph/insert-graph-planner.d.ts +3 -3
  89. package/dist/orm/helpers/insert-graph/insert-graph-planner.d.ts.map +1 -1
  90. package/dist/orm/helpers/insert-graph/insert-graph-planner.js +1 -1
  91. package/dist/orm/helpers/insert-graph/insert-graph-planner.js.map +1 -1
  92. package/dist/orm/helpers/insert-graph/insert-graph-sequential-executor.d.ts +2 -2
  93. package/dist/orm/helpers/insert-graph/insert-graph-sequential-executor.d.ts.map +1 -1
  94. package/dist/orm/helpers/insert-graph/insert-graph-sequential-executor.js.map +1 -1
  95. package/dist/orm/helpers/insert-graph/sequence-id-assigner.d.ts +2 -2
  96. package/dist/orm/helpers/insert-graph/sequence-id-assigner.d.ts.map +1 -1
  97. package/dist/orm/helpers/insert-graph/sequence-id-assigner.js.map +1 -1
  98. package/dist/orm/helpers/query-plan/query-plan.d.ts +19 -11
  99. package/dist/orm/helpers/query-plan/query-plan.d.ts.map +1 -1
  100. package/dist/orm/helpers/query-plan/query-plan.js +24 -4
  101. package/dist/orm/helpers/query-plan/query-plan.js.map +1 -1
  102. package/dist/orm/helpers/relations/relation-assembler.d.ts.map +1 -1
  103. package/dist/orm/helpers/relations/relation-assembler.js +14 -5
  104. package/dist/orm/helpers/relations/relation-assembler.js.map +1 -1
  105. package/dist/orm/helpers/relations/relation-fetcher.d.ts +20 -0
  106. package/dist/orm/helpers/relations/relation-fetcher.d.ts.map +1 -1
  107. package/dist/orm/helpers/relations/relation-fetcher.js +106 -23
  108. package/dist/orm/helpers/relations/relation-fetcher.js.map +1 -1
  109. package/dist/orm/index.d.ts +1 -1
  110. package/dist/orm/index.d.ts.map +1 -1
  111. package/dist/orm/index.js +1 -1
  112. package/dist/orm/index.js.map +1 -1
  113. package/dist/orm/insert-builder.d.ts +37 -0
  114. package/dist/orm/insert-builder.d.ts.map +1 -0
  115. package/dist/orm/insert-builder.js +134 -0
  116. package/dist/orm/insert-builder.js.map +1 -0
  117. package/dist/orm/query-builder.d.ts +51 -52
  118. package/dist/orm/query-builder.d.ts.map +1 -1
  119. package/dist/orm/query-builder.js +197 -223
  120. package/dist/orm/query-builder.js.map +1 -1
  121. package/dist/orm/query-execution-context.d.ts +5 -0
  122. package/dist/orm/query-execution-context.d.ts.map +1 -0
  123. package/dist/orm/query-execution-context.js +16 -0
  124. package/dist/orm/query-execution-context.js.map +1 -0
  125. package/dist/orm/query-helpers.d.ts.map +1 -1
  126. package/dist/orm/query-helpers.js +1 -1
  127. package/dist/orm/query-helpers.js.map +1 -1
  128. package/dist/orm/query-state.d.ts +10 -6
  129. package/dist/orm/query-state.d.ts.map +1 -1
  130. package/dist/orm/query-state.js.map +1 -1
  131. package/dist/orm/statement.d.ts +33 -0
  132. package/dist/orm/statement.d.ts.map +1 -0
  133. package/dist/orm/statement.js +31 -0
  134. package/dist/orm/statement.js.map +1 -0
  135. package/dist/parser/group-by.d.ts.map +1 -1
  136. package/dist/parser/group-by.js +2 -1
  137. package/dist/parser/group-by.js.map +1 -1
  138. package/dist/parser/predicate-walk.d.ts.map +1 -1
  139. package/dist/parser/predicate-walk.js +12 -32
  140. package/dist/parser/predicate-walk.js.map +1 -1
  141. package/dist/parser/resolve.js +1 -1
  142. package/dist/parser/resolve.js.map +1 -1
  143. package/dist/parser/select.js +3 -3
  144. package/dist/parser/select.js.map +1 -1
  145. package/dist/schema/column-definition.d.ts +10 -0
  146. package/dist/schema/column-definition.d.ts.map +1 -0
  147. package/dist/schema/column-definition.js +13 -0
  148. package/dist/schema/column-definition.js.map +1 -0
  149. package/dist/transformer/ir-emit.d.ts.map +1 -1
  150. package/dist/transformer/ir-emit.js +3 -0
  151. package/dist/transformer/ir-emit.js.map +1 -1
  152. package/dist/transformer/select-transformer.d.ts.map +1 -1
  153. package/dist/transformer/select-transformer.js +18 -0
  154. package/dist/transformer/select-transformer.js.map +1 -1
  155. package/dist/transformer/ts-aggregates.d.ts.map +1 -1
  156. package/dist/transformer/ts-aggregates.js +9 -14
  157. package/dist/transformer/ts-aggregates.js.map +1 -1
  158. package/dist/transformer/where-transformer.d.ts.map +1 -1
  159. package/dist/transformer/where-transformer.js +15 -24
  160. package/dist/transformer/where-transformer.js.map +1 -1
  161. package/docs/guide/entities-relations.md +12 -3
  162. package/docs/guide/getting-started.md +10 -3
  163. package/docs/public-api.md +6 -6
  164. package/docs/reference/api.md +14 -6
  165. package/docs/reference/architecture.md +11 -3
  166. package/etc/typhex.api.md +59 -59
  167. package/package.json +2 -2
  168. package/dist/dbs/sqlite/driver.d.ts +0 -9
  169. package/dist/dbs/sqlite/driver.d.ts.map +0 -1
  170. package/dist/dbs/sqlite/driver.js +0 -66
  171. package/dist/dbs/sqlite/driver.js.map +0 -1
  172. package/dist/schema/index.d.ts +0 -2
  173. package/dist/schema/index.d.ts.map +0 -1
  174. package/dist/schema/index.js +0 -2
  175. package/dist/schema/index.js.map +0 -1
  176. package/dist/schema/types.d.ts +0 -16
  177. package/dist/schema/types.d.ts.map +0 -1
  178. package/dist/schema/types.js +0 -40
  179. 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, allowedCteNames = []) {
135
+ compileCteBodies(ctes) {
142
136
  if (!ctes?.length)
143
137
  return [];
144
138
  const bodies = [];
145
139
  for (const clause of ctes) {
146
- const innerState = clause.inner;
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, allowedCteNames, paramStartIndex, compileOptions = {}) {
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 innerPlan = QueryPlanBuilder.build(source.state, { kind: "select" });
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.renumberUpdateWhereParams(fixedWhere, params.length);
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 = BaseQueryCompiler.JOIN_SQL_KEYWORDS[join.joinType] ?? "LEFT JOIN";
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 "./driver.js";
2
- export type { SqliteDriverOptions } from "./driver.js";
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,aAAa,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
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"}
@@ -1,4 +1,4 @@
1
- export { createSqliteDriver } from "./driver.js";
1
+ export { createSqliteDriver } from "../../driver/sqlite.js";
2
2
  export { sqliteDialect } from "./dialect.js";
3
3
  export { sqliteMigrator } from "./migrator.js";
4
4
  export { sqliteQueryCompiler } from "./query-compiler.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dbs/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
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, paramIndex: number): {
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,CAC7B,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,GACjB;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE;CAMtC;AAED,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}
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, paramIndex) {
81
+ renderInsertManyValue(value) {
73
82
  return {
74
- sql: this.placeholder(paramIndex),
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":"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"}
1
+ {"version":3,"file":"query-compiler.js","sourceRoot":"","sources":["../../../src/dbs/sqlite/query-compiler.ts"],"names":[],"mappings":"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"}
@@ -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 ColumnDef = string | {
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, ColumnDef>;
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: ColumnDef;
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: ColumnDef;
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: ColumnDef, dialect: DialectName): string;
85
+ export declare function getColumnDef(def: DialectColumnDef, dialect: DialectName): string;
92
86
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dbs/types.ts"],"names":[],"mappings":"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"}
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] ?? def.sqlite ?? def.postgres;
20
+ const resolved = def[dialect];
21
21
  if (resolved == null) {
22
22
  throw new Error(`No column definition provided for dialect "${dialect}"`);
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dbs/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkJH,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,GAAc,EAAE,OAAoB;IAC/D,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC;IAC5D,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,GAAG,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
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;AAyCpB,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,CAuCvE"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/driver/sqlite.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/entity/entity.ts"],"names":[],"mappings":"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"}