drizzle-orm 1.0.0-beta.12-b5a187e → 1.0.0-beta.12-18d8bfb

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 (157) hide show
  1. package/alias.cjs +19 -1
  2. package/alias.cjs.map +1 -1
  3. package/alias.d.cts +9 -1
  4. package/alias.d.ts +9 -1
  5. package/alias.js +20 -3
  6. package/alias.js.map +1 -1
  7. package/aws-data-api/pg/migrator.d.cts +2 -2
  8. package/aws-data-api/pg/migrator.d.ts +2 -2
  9. package/better-sqlite3/migrator.d.cts +2 -2
  10. package/better-sqlite3/migrator.d.ts +2 -2
  11. package/bun-sql/migrator.d.ts +5 -5
  12. package/bun-sql/mysql/migrator.d.cts +2 -2
  13. package/bun-sql/mysql/migrator.d.ts +2 -2
  14. package/bun-sql/postgres/migrator.d.ts +2 -2
  15. package/bun-sql/sqlite/migrator.d.ts +2 -2
  16. package/bun-sqlite/migrator.cjs +3 -3
  17. package/bun-sqlite/migrator.cjs.map +1 -1
  18. package/bun-sqlite/migrator.js +3 -3
  19. package/bun-sqlite/migrator.js.map +1 -1
  20. package/cockroach/migrator.d.cts +2 -2
  21. package/cockroach/migrator.d.ts +2 -2
  22. package/cockroach-core/columns/date.common.d.cts +2 -2
  23. package/cockroach-core/dialect.cjs +5 -0
  24. package/cockroach-core/dialect.cjs.map +1 -1
  25. package/cockroach-core/dialect.js +5 -0
  26. package/cockroach-core/dialect.js.map +1 -1
  27. package/cockroach-core/query-builders/update.cjs.map +1 -1
  28. package/cockroach-core/query-builders/update.d.cts +2 -2
  29. package/cockroach-core/query-builders/update.d.ts +2 -2
  30. package/cockroach-core/query-builders/update.js.map +1 -1
  31. package/durable-sqlite/migrator.cjs +2 -2
  32. package/durable-sqlite/migrator.cjs.map +1 -1
  33. package/durable-sqlite/migrator.js +3 -3
  34. package/durable-sqlite/migrator.js.map +1 -1
  35. package/effect-postgres/driver.cjs.map +1 -1
  36. package/effect-postgres/driver.d.cts +1 -1
  37. package/effect-postgres/driver.d.ts +1 -1
  38. package/effect-postgres/driver.js.map +1 -1
  39. package/effect-postgres/migrator.d.cts +2 -2
  40. package/effect-postgres/migrator.d.ts +2 -2
  41. package/expo-sqlite/migrator.cjs +2 -2
  42. package/expo-sqlite/migrator.cjs.map +1 -1
  43. package/expo-sqlite/migrator.js +1 -1
  44. package/expo-sqlite/migrator.js.map +1 -1
  45. package/gel-core/dialect.cjs +5 -0
  46. package/gel-core/dialect.cjs.map +1 -1
  47. package/gel-core/dialect.js +5 -0
  48. package/gel-core/dialect.js.map +1 -1
  49. package/gel-core/query-builders/update.cjs.map +1 -1
  50. package/gel-core/query-builders/update.d.cts +2 -2
  51. package/gel-core/query-builders/update.d.ts +2 -2
  52. package/gel-core/query-builders/update.js.map +1 -1
  53. package/gel-core/utils.d.cts +3 -3
  54. package/gel-core/utils.d.ts +3 -3
  55. package/index.cjs +2 -1
  56. package/index.d.cts +2 -2
  57. package/index.d.ts +2 -2
  58. package/index.js +3 -3
  59. package/migrator.cjs +2 -11
  60. package/migrator.cjs.map +1 -1
  61. package/migrator.d.cts +1 -2
  62. package/migrator.d.ts +1 -2
  63. package/migrator.js +2 -10
  64. package/migrator.js.map +1 -1
  65. package/migrator.utils.cjs +15 -0
  66. package/migrator.utils.cjs.map +1 -0
  67. package/migrator.utils.d.cts +5 -0
  68. package/migrator.utils.d.ts +5 -0
  69. package/migrator.utils.js +14 -0
  70. package/migrator.utils.js.map +1 -0
  71. package/mssql-core/columns/date.common.d.cts +2 -2
  72. package/mssql-core/dialect.cjs +5 -0
  73. package/mssql-core/dialect.cjs.map +1 -1
  74. package/mssql-core/dialect.js +5 -0
  75. package/mssql-core/dialect.js.map +1 -1
  76. package/mssql-core/query-builders/update.cjs.map +1 -1
  77. package/mssql-core/query-builders/update.d.cts +2 -2
  78. package/mssql-core/query-builders/update.d.ts +2 -2
  79. package/mssql-core/query-builders/update.js.map +1 -1
  80. package/mysql-core/dialect.cjs +5 -0
  81. package/mysql-core/dialect.cjs.map +1 -1
  82. package/mysql-core/dialect.js +5 -0
  83. package/mysql-core/dialect.js.map +1 -1
  84. package/mysql-core/query-builders/update.cjs.map +1 -1
  85. package/mysql-core/query-builders/update.d.cts +1 -1
  86. package/mysql-core/query-builders/update.d.ts +1 -1
  87. package/mysql-core/query-builders/update.js.map +1 -1
  88. package/mysql-core/utils.d.cts +2 -2
  89. package/mysql2/migrator.d.cts +2 -2
  90. package/mysql2/migrator.d.ts +2 -2
  91. package/neon/neon-auth.d.ts +9 -9
  92. package/neon/rls.d.ts +2 -2
  93. package/neon-serverless/migrator.d.cts +2 -2
  94. package/neon-serverless/migrator.d.ts +2 -2
  95. package/node-mssql/migrator.d.cts +2 -2
  96. package/node-mssql/migrator.d.ts +2 -2
  97. package/node-postgres/migrator.d.cts +2 -2
  98. package/node-postgres/migrator.d.ts +2 -2
  99. package/op-sqlite/migrator.cjs +2 -2
  100. package/op-sqlite/migrator.cjs.map +1 -1
  101. package/op-sqlite/migrator.d.cts +2 -2
  102. package/op-sqlite/migrator.d.ts +2 -2
  103. package/op-sqlite/migrator.js +3 -3
  104. package/op-sqlite/migrator.js.map +1 -1
  105. package/package.json +13 -1
  106. package/pg-core/dialect.cjs +6 -1
  107. package/pg-core/dialect.cjs.map +1 -1
  108. package/pg-core/dialect.js +6 -1
  109. package/pg-core/dialect.js.map +1 -1
  110. package/pg-core/query-builders/update.cjs.map +1 -1
  111. package/pg-core/query-builders/update.d.cts +2 -2
  112. package/pg-core/query-builders/update.d.ts +2 -2
  113. package/pg-core/query-builders/update.js.map +1 -1
  114. package/pg-core/utils.d.ts +3 -3
  115. package/pglite/migrator.d.cts +2 -2
  116. package/pglite/migrator.d.ts +2 -2
  117. package/planetscale-serverless/migrator.d.cts +2 -2
  118. package/planetscale-serverless/migrator.d.ts +2 -2
  119. package/postgres-js/migrator.d.cts +2 -2
  120. package/postgres-js/migrator.d.ts +2 -2
  121. package/selection-proxy.cjs +1 -1
  122. package/selection-proxy.js +1 -1
  123. package/singlestore/migrator.d.cts +2 -2
  124. package/singlestore/migrator.d.ts +2 -2
  125. package/singlestore-core/dialect.cjs +5 -0
  126. package/singlestore-core/dialect.cjs.map +1 -1
  127. package/singlestore-core/dialect.js +5 -0
  128. package/singlestore-core/dialect.js.map +1 -1
  129. package/singlestore-core/query-builders/update.cjs.map +1 -1
  130. package/singlestore-core/query-builders/update.d.cts +1 -1
  131. package/singlestore-core/query-builders/update.d.ts +1 -1
  132. package/singlestore-core/query-builders/update.js.map +1 -1
  133. package/sql-js/migrator.d.cts +2 -2
  134. package/sqlite-core/dialect.cjs +5 -0
  135. package/sqlite-core/dialect.cjs.map +1 -1
  136. package/sqlite-core/dialect.js +6 -1
  137. package/sqlite-core/dialect.js.map +1 -1
  138. package/sqlite-core/query-builders/raw.d.ts +2 -2
  139. package/sqlite-core/query-builders/update.cjs.map +1 -1
  140. package/sqlite-core/query-builders/update.d.cts +1 -1
  141. package/sqlite-core/query-builders/update.d.ts +1 -1
  142. package/sqlite-core/query-builders/update.js.map +1 -1
  143. package/sqlite-core/utils.d.cts +2 -2
  144. package/sqlite-core/utils.d.ts +2 -2
  145. package/supabase/rls.d.ts +17 -17
  146. package/tidb-serverless/migrator.d.cts +2 -2
  147. package/tidb-serverless/migrator.d.ts +2 -2
  148. package/tursodatabase/migrator.d.cts +2 -2
  149. package/tursodatabase/migrator.d.ts +2 -2
  150. package/utils.cjs +1 -1
  151. package/utils.cjs.map +1 -1
  152. package/utils.d.cts +5 -5
  153. package/utils.d.ts +5 -5
  154. package/utils.js +1 -1
  155. package/utils.js.map +1 -1
  156. package/vercel-postgres/migrator.d.cts +2 -2
  157. package/vercel-postgres/migrator.d.ts +2 -2
package/alias.cjs CHANGED
@@ -3,6 +3,7 @@ const require_table = require('./table.cjs');
3
3
  const require_column_common = require('./column-common.cjs');
4
4
  const require_column = require('./column.cjs');
5
5
  const require_sql_sql = require('./sql/sql.cjs');
6
+ const require_subquery = require('./subquery.cjs');
6
7
  const require_view_common = require('./view-common.cjs');
7
8
 
8
9
  //#region src/alias.ts
@@ -18,6 +19,20 @@ var ColumnTableAliasProxyHandler = class {
18
19
  return columnObj[prop];
19
20
  }
20
21
  };
22
+ var ViewSelectionAliasProxyHandler = class {
23
+ static [require_entity.entityKind] = "ViewSelectionAliasProxyHandler";
24
+ constructor(view, selection, ignoreColumnAlias) {
25
+ this.view = view;
26
+ this.selection = selection;
27
+ this.ignoreColumnAlias = ignoreColumnAlias;
28
+ }
29
+ get(selection, prop) {
30
+ const value = selection[prop];
31
+ if (require_entity.is(value, require_column.Column)) return new Proxy(value, new ColumnTableAliasProxyHandler(this.view, this.ignoreColumnAlias));
32
+ if (require_entity.is(value, require_subquery.Subquery) || require_entity.is(value, require_sql_sql.SQL) || require_entity.is(value, require_sql_sql.SQL.Aliased) || require_sql_sql.isSQLWrapper(value) || typeof value !== "object" || value === null) return value;
33
+ return new Proxy(value, this);
34
+ }
35
+ };
21
36
  var TableAliasProxyHandler = class {
22
37
  static [require_entity.entityKind] = "TableAliasProxyHandler";
23
38
  constructor(alias, replaceOriginalName, ignoreColumnAlias) {
@@ -32,11 +47,13 @@ var TableAliasProxyHandler = class {
32
47
  if (prop === require_view_common.ViewBaseConfig) return {
33
48
  ...target[require_view_common.ViewBaseConfig],
34
49
  name: this.alias,
35
- isAlias: true
50
+ isAlias: true,
51
+ selectedFields: new Proxy(target[require_view_common.ViewBaseConfig].selectedFields, new ViewSelectionAliasProxyHandler(new Proxy(target, this), target[require_view_common.ViewBaseConfig].selectedFields, this.ignoreColumnAlias))
36
52
  };
37
53
  if (prop === require_table.Table.Symbol.Columns) {
38
54
  const columns = target[require_table.Table.Symbol.Columns];
39
55
  if (!columns) return columns;
56
+ if (require_entity.is(target, require_sql_sql.View)) return new Proxy(target[require_table.Table.Symbol.Columns], new ViewSelectionAliasProxyHandler(new Proxy(target, this), target[require_table.Table.Symbol.Columns], this.ignoreColumnAlias));
40
57
  const proxiedColumns = {};
41
58
  Object.keys(columns).map((key) => {
42
59
  proxiedColumns[key] = new Proxy(columns[key], new ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias));
@@ -106,6 +123,7 @@ exports.ColumnAliasProxyHandler = ColumnAliasProxyHandler;
106
123
  exports.ColumnTableAliasProxyHandler = ColumnTableAliasProxyHandler;
107
124
  exports.RelationTableAliasProxyHandler = RelationTableAliasProxyHandler;
108
125
  exports.TableAliasProxyHandler = TableAliasProxyHandler;
126
+ exports.ViewSelectionAliasProxyHandler = ViewSelectionAliasProxyHandler;
109
127
  exports.aliasedColumn = aliasedColumn;
110
128
  exports.aliasedRelation = aliasedRelation;
111
129
  exports.aliasedTable = aliasedTable;
package/alias.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"alias.cjs","names":["entityKind","table: Table | View","ignoreColumnAlias?: boolean","alias: string","replaceOriginalName: boolean","Table","ViewBaseConfig","proxiedColumns: { [key: string]: any }","is","Column","OriginalColumn","SQL","sql"],"sources":["../src/alias.ts"],"sourcesContent":["import type * as V1 from './_relations.ts';\nimport { OriginalColumn } from './column-common.ts';\nimport type { AnyColumn } from './column.ts';\nimport { Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport type { View } from './sql/sql.ts';\nimport { SQL, sql } from './sql/sql.ts';\nimport { Table } from './table.ts';\nimport { ViewBaseConfig } from './view-common.ts';\n\nexport class ColumnTableAliasProxyHandler<TColumn extends Column> implements ProxyHandler<TColumn> {\n\tstatic readonly [entityKind]: string = 'ColumnTableAliasProxyHandler';\n\n\tconstructor(private table: Table | View, private ignoreColumnAlias?: boolean) {}\n\n\tget(columnObj: TColumn, prop: string | symbol): any {\n\t\tif (prop === 'table') {\n\t\t\treturn this.table;\n\t\t}\n\n\t\tif (prop === 'isAlias' && this.ignoreColumnAlias) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn columnObj[prop as keyof TColumn];\n\t}\n}\n\nexport class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'TableAliasProxyHandler';\n\n\tconstructor(private alias: string, private replaceOriginalName: boolean, private ignoreColumnAlias?: boolean) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === Table.Symbol.IsAlias) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === Table.Symbol.Name) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (this.replaceOriginalName && prop === Table.Symbol.OriginalName) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === ViewBaseConfig) {\n\t\t\treturn {\n\t\t\t\t...target[ViewBaseConfig as keyof typeof target],\n\t\t\t\tname: this.alias,\n\t\t\t\tisAlias: true,\n\t\t\t};\n\t\t}\n\n\t\tif (prop === Table.Symbol.Columns) {\n\t\t\tconst columns = (target as Table)[Table.Symbol.Columns];\n\t\t\tif (!columns) {\n\t\t\t\treturn columns;\n\t\t\t}\n\n\t\t\tconst proxiedColumns: { [key: string]: any } = {};\n\n\t\t\tObject.keys(columns).map((key) => {\n\t\t\t\tproxiedColumns[key] = new Proxy(\n\t\t\t\t\tcolumns[key]!,\n\t\t\t\t\tnew ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias),\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn proxiedColumns;\n\t\t}\n\n\t\tconst value = target[prop as keyof typeof target];\n\t\tif (is(value, Column)) {\n\t\t\treturn new Proxy(\n\t\t\t\tvalue as AnyColumn,\n\t\t\t\tnew ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias),\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t}\n}\n\nexport class ColumnAliasProxyHandler<T extends Column> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'ColumnAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: keyof Column): any {\n\t\tif (prop === 'isAlias') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === 'name') {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === 'keyAsName') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (prop === OriginalColumn) {\n\t\t\treturn () => target;\n\t\t}\n\n\t\treturn target[prop];\n\t}\n}\n\nexport class RelationTableAliasProxyHandler<T extends V1.Relation> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'RelationTableAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === 'sourceTable') {\n\t\t\treturn aliasedTable(target.sourceTable, this.alias);\n\t\t}\n\n\t\treturn target[prop as keyof typeof target];\n\t}\n}\n\nexport function aliasedTable<T extends Table | View>(table: T, tableAlias: string): T {\n\treturn new Proxy(table, new TableAliasProxyHandler(tableAlias, false, false));\n}\n\nexport function aliasedColumn<T extends Column>(column: T, alias: string): T {\n\treturn new Proxy(column, new ColumnAliasProxyHandler(alias));\n}\n\nexport function aliasedRelation<T extends V1.Relation>(relation: T, tableAlias: string): T {\n\treturn new Proxy(relation, new RelationTableAliasProxyHandler(tableAlias));\n}\n\nexport function aliasedTableColumn<T extends AnyColumn>(column: T, tableAlias: string): T {\n\treturn new Proxy(\n\t\tcolumn,\n\t\tnew ColumnTableAliasProxyHandler(\n\t\t\tnew Proxy(column.table, new TableAliasProxyHandler(tableAlias, false, false)),\n\t\t\tfalse,\n\t\t),\n\t);\n}\n\nexport function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string): SQL.Aliased {\n\treturn new SQL.Aliased(mapColumnsInSQLToAlias(query.sql, alias), query.fieldAlias);\n}\n\nexport function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL {\n\treturn sql.join(query.queryChunks.map((c) => {\n\t\tif (is(c, Column)) {\n\t\t\treturn aliasedTableColumn(c, alias);\n\t\t}\n\t\tif (is(c, SQL)) {\n\t\t\treturn mapColumnsInSQLToAlias(c, alias);\n\t\t}\n\t\tif (is(c, SQL.Aliased)) {\n\t\t\treturn mapColumnsInAliasedSQLToAlias(c, alias);\n\t\t}\n\t\treturn c;\n\t}));\n}\n\n// Defined separately from the Column class to resolve circular dependency\nColumn.prototype.as = function(alias: string): Column {\n\treturn aliasedColumn(this, alias);\n};\n\nexport function getOriginalColumnFromAlias<T extends Column>(column: T): T {\n\treturn column[OriginalColumn]();\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"alias.cjs","names":["entityKind","table: Table | View","ignoreColumnAlias?: boolean","view: View","selection: TSelection","is","Column","Subquery","SQL","isSQLWrapper","alias: string","replaceOriginalName: boolean","Table","ViewBaseConfig","View","proxiedColumns: { [key: string]: any }","OriginalColumn","sql"],"sources":["../src/alias.ts"],"sourcesContent":["import type * as V1 from './_relations.ts';\nimport { OriginalColumn } from './column-common.ts';\nimport type { AnyColumn } from './column.ts';\nimport { Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { View } from './sql/sql.ts';\nimport { isSQLWrapper, SQL, sql } from './sql/sql.ts';\nimport { Subquery } from './subquery.ts';\nimport { Table } from './table.ts';\nimport { ViewBaseConfig } from './view-common.ts';\n\nexport class ColumnTableAliasProxyHandler<TColumn extends Column> implements ProxyHandler<TColumn> {\n\tstatic readonly [entityKind]: string = 'ColumnTableAliasProxyHandler';\n\n\tconstructor(private table: Table | View, private ignoreColumnAlias?: boolean) {}\n\n\tget(columnObj: TColumn, prop: string | symbol): any {\n\t\tif (prop === 'table') {\n\t\t\treturn this.table;\n\t\t}\n\n\t\tif (prop === 'isAlias' && this.ignoreColumnAlias) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn columnObj[prop as keyof TColumn];\n\t}\n}\n\nexport class ViewSelectionAliasProxyHandler<TSelection extends Record<string, unknown>>\n\timplements ProxyHandler<TSelection>\n{\n\tstatic readonly [entityKind]: string = 'ViewSelectionAliasProxyHandler';\n\n\tconstructor(protected view: View, protected selection: TSelection, private ignoreColumnAlias?: boolean) {}\n\n\tget(selection: TSelection, prop: string | symbol): any {\n\t\tconst value = selection[prop as keyof TSelection];\n\n\t\tif (is(value, Column)) return new Proxy(value, new ColumnTableAliasProxyHandler(this.view, this.ignoreColumnAlias));\n\t\tif (\n\t\t\tis(value, Subquery) || is(value, SQL) || is(value, SQL.Aliased) || isSQLWrapper(value)\n\t\t\t|| (typeof value !== 'object' || value === null)\n\t\t) return value;\n\n\t\treturn new Proxy(value as Record<string, unknown>, this);\n\t}\n}\n\nexport class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'TableAliasProxyHandler';\n\n\tconstructor(private alias: string, private replaceOriginalName: boolean, private ignoreColumnAlias?: boolean) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === Table.Symbol.IsAlias) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === Table.Symbol.Name) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (this.replaceOriginalName && prop === Table.Symbol.OriginalName) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === ViewBaseConfig) {\n\t\t\treturn {\n\t\t\t\t...target[ViewBaseConfig as keyof typeof target],\n\t\t\t\tname: this.alias,\n\t\t\t\tisAlias: true,\n\t\t\t\tselectedFields: new Proxy(\n\t\t\t\t\t(<View> target)[ViewBaseConfig].selectedFields,\n\t\t\t\t\tnew ViewSelectionAliasProxyHandler(\n\t\t\t\t\t\tnew Proxy(target, this) as View,\n\t\t\t\t\t\t(<View> target)[ViewBaseConfig].selectedFields,\n\t\t\t\t\t\tthis.ignoreColumnAlias,\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\n\t\tif (prop === Table.Symbol.Columns) {\n\t\t\tconst columns = (target as Table)[Table.Symbol.Columns];\n\t\t\tif (!columns) {\n\t\t\t\treturn columns;\n\t\t\t}\n\n\t\t\tif (is(target, View)) {\n\t\t\t\treturn new Proxy(\n\t\t\t\t\t(<View> target)[Table.Symbol.Columns],\n\t\t\t\t\tnew ViewSelectionAliasProxyHandler(\n\t\t\t\t\t\tnew Proxy(target, this) as View,\n\t\t\t\t\t\t(<View> target)[Table.Symbol.Columns],\n\t\t\t\t\t\tthis.ignoreColumnAlias,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst proxiedColumns: { [key: string]: any } = {};\n\n\t\t\tObject.keys(columns).map((key) => {\n\t\t\t\tproxiedColumns[key] = new Proxy(\n\t\t\t\t\tcolumns[key]!,\n\t\t\t\t\tnew ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias),\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn proxiedColumns;\n\t\t}\n\n\t\tconst value = target[prop as keyof typeof target];\n\t\tif (is(value, Column)) {\n\t\t\treturn new Proxy(\n\t\t\t\tvalue as AnyColumn,\n\t\t\t\tnew ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias),\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t}\n}\n\nexport class ColumnAliasProxyHandler<T extends Column> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'ColumnAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: keyof Column): any {\n\t\tif (prop === 'isAlias') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === 'name') {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === 'keyAsName') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (prop === OriginalColumn) {\n\t\t\treturn () => target;\n\t\t}\n\n\t\treturn target[prop];\n\t}\n}\n\nexport class RelationTableAliasProxyHandler<T extends V1.Relation> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'RelationTableAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === 'sourceTable') {\n\t\t\treturn aliasedTable(target.sourceTable, this.alias);\n\t\t}\n\n\t\treturn target[prop as keyof typeof target];\n\t}\n}\n\nexport function aliasedTable<T extends Table | View>(table: T, tableAlias: string): T {\n\treturn new Proxy(table, new TableAliasProxyHandler(tableAlias, false, false));\n}\n\nexport function aliasedColumn<T extends Column>(column: T, alias: string): T {\n\treturn new Proxy(column, new ColumnAliasProxyHandler(alias));\n}\n\nexport function aliasedRelation<T extends V1.Relation>(relation: T, tableAlias: string): T {\n\treturn new Proxy(relation, new RelationTableAliasProxyHandler(tableAlias));\n}\n\nexport function aliasedTableColumn<T extends AnyColumn>(column: T, tableAlias: string): T {\n\treturn new Proxy(\n\t\tcolumn,\n\t\tnew ColumnTableAliasProxyHandler(\n\t\t\tnew Proxy(column.table, new TableAliasProxyHandler(tableAlias, false, false)),\n\t\t\tfalse,\n\t\t),\n\t);\n}\n\nexport function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string): SQL.Aliased {\n\treturn new SQL.Aliased(mapColumnsInSQLToAlias(query.sql, alias), query.fieldAlias);\n}\n\nexport function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL {\n\treturn sql.join(query.queryChunks.map((c) => {\n\t\tif (is(c, Column)) {\n\t\t\treturn aliasedTableColumn(c, alias);\n\t\t}\n\t\tif (is(c, SQL)) {\n\t\t\treturn mapColumnsInSQLToAlias(c, alias);\n\t\t}\n\t\tif (is(c, SQL.Aliased)) {\n\t\t\treturn mapColumnsInAliasedSQLToAlias(c, alias);\n\t\t}\n\t\treturn c;\n\t}));\n}\n\n// Defined separately from the Column class to resolve circular dependency\nColumn.prototype.as = function(alias: string): Column {\n\treturn aliasedColumn(this, alias);\n};\n\nexport function getOriginalColumnFromAlias<T extends Column>(column: T): T {\n\treturn column[OriginalColumn]();\n}\n"],"mappings":";;;;;;;;;AAWA,IAAa,+BAAb,MAAmG;CAClG,QAAiBA,6BAAsB;CAEvC,YAAY,AAAQC,OAAqB,AAAQC,mBAA6B;EAA1D;EAA6B;;CAEjD,IAAI,WAAoB,MAA4B;AACnD,MAAI,SAAS,QACZ,QAAO,KAAK;AAGb,MAAI,SAAS,aAAa,KAAK,kBAC9B,QAAO;AAGR,SAAO,UAAU;;;AAInB,IAAa,iCAAb,MAEA;CACC,QAAiBF,6BAAsB;CAEvC,YAAY,AAAUG,MAAY,AAAUC,WAAuB,AAAQF,mBAA6B;EAAlF;EAAsB;EAA+B;;CAE3E,IAAI,WAAuB,MAA4B;EACtD,MAAM,QAAQ,UAAU;AAExB,MAAIG,kBAAG,OAAOC,sBAAO,CAAE,QAAO,IAAI,MAAM,OAAO,IAAI,6BAA6B,KAAK,MAAM,KAAK,kBAAkB,CAAC;AACnH,MACCD,kBAAG,OAAOE,0BAAS,IAAIF,kBAAG,OAAOG,oBAAI,IAAIH,kBAAG,OAAOG,oBAAI,QAAQ,IAAIC,6BAAa,MAAM,IAClF,OAAO,UAAU,YAAY,UAAU,KAC1C,QAAO;AAET,SAAO,IAAI,MAAM,OAAkC,KAAK;;;AAI1D,IAAa,yBAAb,MAAuF;CACtF,QAAiBT,6BAAsB;CAEvC,YAAY,AAAQU,OAAe,AAAQC,qBAA8B,AAAQT,mBAA6B;EAA1F;EAAuB;EAAsC;;CAEjF,IAAI,QAAW,MAA4B;AAC1C,MAAI,SAASU,oBAAM,OAAO,QACzB,QAAO;AAGR,MAAI,SAASA,oBAAM,OAAO,KACzB,QAAO,KAAK;AAGb,MAAI,KAAK,uBAAuB,SAASA,oBAAM,OAAO,aACrD,QAAO,KAAK;AAGb,MAAI,SAASC,mCACZ,QAAO;GACN,GAAG,OAAOA;GACV,MAAM,KAAK;GACX,SAAS;GACT,gBAAgB,IAAI,MACX,OAAQA,oCAAgB,gBAChC,IAAI,+BACH,IAAI,MAAM,QAAQ,KAAK,EACf,OAAQA,oCAAgB,gBAChC,KAAK,kBACL,CACD;GACD;AAGF,MAAI,SAASD,oBAAM,OAAO,SAAS;GAClC,MAAM,UAAW,OAAiBA,oBAAM,OAAO;AAC/C,OAAI,CAAC,QACJ,QAAO;AAGR,OAAIP,kBAAG,QAAQS,qBAAK,CACnB,QAAO,IAAI,MACF,OAAQF,oBAAM,OAAO,UAC7B,IAAI,+BACH,IAAI,MAAM,QAAQ,KAAK,EACf,OAAQA,oBAAM,OAAO,UAC7B,KAAK,kBACL,CACD;GAGF,MAAMG,iBAAyC,EAAE;AAEjD,UAAO,KAAK,QAAQ,CAAC,KAAK,QAAQ;AACjC,mBAAe,OAAO,IAAI,MACzB,QAAQ,MACR,IAAI,6BAA6B,IAAI,MAAM,QAAQ,KAAK,EAAE,KAAK,kBAAkB,CACjF;KACA;AAEF,UAAO;;EAGR,MAAM,QAAQ,OAAO;AACrB,MAAIV,kBAAG,OAAOC,sBAAO,CACpB,QAAO,IAAI,MACV,OACA,IAAI,6BAA6B,IAAI,MAAM,QAAQ,KAAK,EAAE,KAAK,kBAAkB,CACjF;AAGF,SAAO;;;AAIT,IAAa,0BAAb,MAAkF;CACjF,QAAiBN,6BAAsB;CAEvC,YAAY,AAAQU,OAAe;EAAf;;CAEpB,IAAI,QAAW,MAAyB;AACvC,MAAI,SAAS,UACZ,QAAO;AAGR,MAAI,SAAS,OACZ,QAAO,KAAK;AAGb,MAAI,SAAS,YACZ,QAAO;AAGR,MAAI,SAASM,qCACZ,cAAa;AAGd,SAAO,OAAO;;;AAIhB,IAAa,iCAAb,MAA8F;CAC7F,QAAiBhB,6BAAsB;CAEvC,YAAY,AAAQU,OAAe;EAAf;;CAEpB,IAAI,QAAW,MAA4B;AAC1C,MAAI,SAAS,cACZ,QAAO,aAAa,OAAO,aAAa,KAAK,MAAM;AAGpD,SAAO,OAAO;;;AAIhB,SAAgB,aAAqC,OAAU,YAAuB;AACrF,QAAO,IAAI,MAAM,OAAO,IAAI,uBAAuB,YAAY,OAAO,MAAM,CAAC;;AAG9E,SAAgB,cAAgC,QAAW,OAAkB;AAC5E,QAAO,IAAI,MAAM,QAAQ,IAAI,wBAAwB,MAAM,CAAC;;AAG7D,SAAgB,gBAAuC,UAAa,YAAuB;AAC1F,QAAO,IAAI,MAAM,UAAU,IAAI,+BAA+B,WAAW,CAAC;;AAG3E,SAAgB,mBAAwC,QAAW,YAAuB;AACzF,QAAO,IAAI,MACV,QACA,IAAI,6BACH,IAAI,MAAM,OAAO,OAAO,IAAI,uBAAuB,YAAY,OAAO,MAAM,CAAC,EAC7E,MACA,CACD;;AAGF,SAAgB,8BAA8B,OAAoB,OAA4B;AAC7F,QAAO,IAAIF,oBAAI,QAAQ,uBAAuB,MAAM,KAAK,MAAM,EAAE,MAAM,WAAW;;AAGnF,SAAgB,uBAAuB,OAAY,OAAoB;AACtE,QAAOS,oBAAI,KAAK,MAAM,YAAY,KAAK,MAAM;AAC5C,MAAIZ,kBAAG,GAAGC,sBAAO,CAChB,QAAO,mBAAmB,GAAG,MAAM;AAEpC,MAAID,kBAAG,GAAGG,oBAAI,CACb,QAAO,uBAAuB,GAAG,MAAM;AAExC,MAAIH,kBAAG,GAAGG,oBAAI,QAAQ,CACrB,QAAO,8BAA8B,GAAG,MAAM;AAE/C,SAAO;GACN,CAAC;;AAIJ,sBAAO,UAAU,KAAK,SAAS,OAAuB;AACrD,QAAO,cAAc,MAAM,MAAM;;AAGlC,SAAgB,2BAA6C,QAAc;AAC1E,QAAO,OAAOQ,uCAAiB"}
package/alias.d.cts CHANGED
@@ -12,6 +12,14 @@ declare class ColumnTableAliasProxyHandler<TColumn extends Column> implements Pr
12
12
  constructor(table: Table | View, ignoreColumnAlias?: boolean | undefined);
13
13
  get(columnObj: TColumn, prop: string | symbol): any;
14
14
  }
15
+ declare class ViewSelectionAliasProxyHandler<TSelection extends Record<string, unknown>> implements ProxyHandler<TSelection> {
16
+ protected view: View;
17
+ protected selection: TSelection;
18
+ private ignoreColumnAlias?;
19
+ static readonly [entityKind]: string;
20
+ constructor(view: View, selection: TSelection, ignoreColumnAlias?: boolean | undefined);
21
+ get(selection: TSelection, prop: string | symbol): any;
22
+ }
15
23
  declare class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {
16
24
  private alias;
17
25
  private replaceOriginalName;
@@ -40,5 +48,5 @@ declare function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string
40
48
  declare function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL;
41
49
  declare function getOriginalColumnFromAlias<T extends Column>(column: T): T;
42
50
  //#endregion
43
- export { ColumnAliasProxyHandler, ColumnTableAliasProxyHandler, RelationTableAliasProxyHandler, TableAliasProxyHandler, aliasedColumn, aliasedRelation, aliasedTable, aliasedTableColumn, getOriginalColumnFromAlias, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias };
51
+ export { ColumnAliasProxyHandler, ColumnTableAliasProxyHandler, RelationTableAliasProxyHandler, TableAliasProxyHandler, ViewSelectionAliasProxyHandler, aliasedColumn, aliasedRelation, aliasedTable, aliasedTableColumn, getOriginalColumnFromAlias, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias };
44
52
  //# sourceMappingURL=alias.d.cts.map
package/alias.d.ts CHANGED
@@ -12,6 +12,14 @@ declare class ColumnTableAliasProxyHandler<TColumn extends Column> implements Pr
12
12
  constructor(table: Table | View, ignoreColumnAlias?: boolean | undefined);
13
13
  get(columnObj: TColumn, prop: string | symbol): any;
14
14
  }
15
+ declare class ViewSelectionAliasProxyHandler<TSelection extends Record<string, unknown>> implements ProxyHandler<TSelection> {
16
+ protected view: View;
17
+ protected selection: TSelection;
18
+ private ignoreColumnAlias?;
19
+ static readonly [entityKind]: string;
20
+ constructor(view: View, selection: TSelection, ignoreColumnAlias?: boolean | undefined);
21
+ get(selection: TSelection, prop: string | symbol): any;
22
+ }
15
23
  declare class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {
16
24
  private alias;
17
25
  private replaceOriginalName;
@@ -40,5 +48,5 @@ declare function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string
40
48
  declare function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL;
41
49
  declare function getOriginalColumnFromAlias<T extends Column>(column: T): T;
42
50
  //#endregion
43
- export { ColumnAliasProxyHandler, ColumnTableAliasProxyHandler, RelationTableAliasProxyHandler, TableAliasProxyHandler, aliasedColumn, aliasedRelation, aliasedTable, aliasedTableColumn, getOriginalColumnFromAlias, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias };
51
+ export { ColumnAliasProxyHandler, ColumnTableAliasProxyHandler, RelationTableAliasProxyHandler, TableAliasProxyHandler, ViewSelectionAliasProxyHandler, aliasedColumn, aliasedRelation, aliasedTable, aliasedTableColumn, getOriginalColumnFromAlias, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias };
44
52
  //# sourceMappingURL=alias.d.ts.map
package/alias.js CHANGED
@@ -2,7 +2,8 @@ import { entityKind, is } from "./entity.js";
2
2
  import { Table } from "./table.js";
3
3
  import { OriginalColumn } from "./column-common.js";
4
4
  import { Column } from "./column.js";
5
- import { SQL, sql } from "./sql/sql.js";
5
+ import { SQL, View, isSQLWrapper, sql } from "./sql/sql.js";
6
+ import { Subquery } from "./subquery.js";
6
7
  import { ViewBaseConfig } from "./view-common.js";
7
8
 
8
9
  //#region src/alias.ts
@@ -18,6 +19,20 @@ var ColumnTableAliasProxyHandler = class {
18
19
  return columnObj[prop];
19
20
  }
20
21
  };
22
+ var ViewSelectionAliasProxyHandler = class {
23
+ static [entityKind] = "ViewSelectionAliasProxyHandler";
24
+ constructor(view, selection, ignoreColumnAlias) {
25
+ this.view = view;
26
+ this.selection = selection;
27
+ this.ignoreColumnAlias = ignoreColumnAlias;
28
+ }
29
+ get(selection, prop) {
30
+ const value = selection[prop];
31
+ if (is(value, Column)) return new Proxy(value, new ColumnTableAliasProxyHandler(this.view, this.ignoreColumnAlias));
32
+ if (is(value, Subquery) || is(value, SQL) || is(value, SQL.Aliased) || isSQLWrapper(value) || typeof value !== "object" || value === null) return value;
33
+ return new Proxy(value, this);
34
+ }
35
+ };
21
36
  var TableAliasProxyHandler = class {
22
37
  static [entityKind] = "TableAliasProxyHandler";
23
38
  constructor(alias, replaceOriginalName, ignoreColumnAlias) {
@@ -32,11 +47,13 @@ var TableAliasProxyHandler = class {
32
47
  if (prop === ViewBaseConfig) return {
33
48
  ...target[ViewBaseConfig],
34
49
  name: this.alias,
35
- isAlias: true
50
+ isAlias: true,
51
+ selectedFields: new Proxy(target[ViewBaseConfig].selectedFields, new ViewSelectionAliasProxyHandler(new Proxy(target, this), target[ViewBaseConfig].selectedFields, this.ignoreColumnAlias))
36
52
  };
37
53
  if (prop === Table.Symbol.Columns) {
38
54
  const columns = target[Table.Symbol.Columns];
39
55
  if (!columns) return columns;
56
+ if (is(target, View)) return new Proxy(target[Table.Symbol.Columns], new ViewSelectionAliasProxyHandler(new Proxy(target, this), target[Table.Symbol.Columns], this.ignoreColumnAlias));
40
57
  const proxiedColumns = {};
41
58
  Object.keys(columns).map((key) => {
42
59
  proxiedColumns[key] = new Proxy(columns[key], new ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias));
@@ -102,5 +119,5 @@ function getOriginalColumnFromAlias(column) {
102
119
  }
103
120
 
104
121
  //#endregion
105
- export { ColumnAliasProxyHandler, ColumnTableAliasProxyHandler, RelationTableAliasProxyHandler, TableAliasProxyHandler, aliasedColumn, aliasedRelation, aliasedTable, aliasedTableColumn, getOriginalColumnFromAlias, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias };
122
+ export { ColumnAliasProxyHandler, ColumnTableAliasProxyHandler, RelationTableAliasProxyHandler, TableAliasProxyHandler, ViewSelectionAliasProxyHandler, aliasedColumn, aliasedRelation, aliasedTable, aliasedTableColumn, getOriginalColumnFromAlias, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias };
106
123
  //# sourceMappingURL=alias.js.map
package/alias.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"alias.js","names":["table: Table | View","ignoreColumnAlias?: boolean","alias: string","replaceOriginalName: boolean","proxiedColumns: { [key: string]: any }"],"sources":["../src/alias.ts"],"sourcesContent":["import type * as V1 from './_relations.ts';\nimport { OriginalColumn } from './column-common.ts';\nimport type { AnyColumn } from './column.ts';\nimport { Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport type { View } from './sql/sql.ts';\nimport { SQL, sql } from './sql/sql.ts';\nimport { Table } from './table.ts';\nimport { ViewBaseConfig } from './view-common.ts';\n\nexport class ColumnTableAliasProxyHandler<TColumn extends Column> implements ProxyHandler<TColumn> {\n\tstatic readonly [entityKind]: string = 'ColumnTableAliasProxyHandler';\n\n\tconstructor(private table: Table | View, private ignoreColumnAlias?: boolean) {}\n\n\tget(columnObj: TColumn, prop: string | symbol): any {\n\t\tif (prop === 'table') {\n\t\t\treturn this.table;\n\t\t}\n\n\t\tif (prop === 'isAlias' && this.ignoreColumnAlias) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn columnObj[prop as keyof TColumn];\n\t}\n}\n\nexport class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'TableAliasProxyHandler';\n\n\tconstructor(private alias: string, private replaceOriginalName: boolean, private ignoreColumnAlias?: boolean) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === Table.Symbol.IsAlias) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === Table.Symbol.Name) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (this.replaceOriginalName && prop === Table.Symbol.OriginalName) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === ViewBaseConfig) {\n\t\t\treturn {\n\t\t\t\t...target[ViewBaseConfig as keyof typeof target],\n\t\t\t\tname: this.alias,\n\t\t\t\tisAlias: true,\n\t\t\t};\n\t\t}\n\n\t\tif (prop === Table.Symbol.Columns) {\n\t\t\tconst columns = (target as Table)[Table.Symbol.Columns];\n\t\t\tif (!columns) {\n\t\t\t\treturn columns;\n\t\t\t}\n\n\t\t\tconst proxiedColumns: { [key: string]: any } = {};\n\n\t\t\tObject.keys(columns).map((key) => {\n\t\t\t\tproxiedColumns[key] = new Proxy(\n\t\t\t\t\tcolumns[key]!,\n\t\t\t\t\tnew ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias),\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn proxiedColumns;\n\t\t}\n\n\t\tconst value = target[prop as keyof typeof target];\n\t\tif (is(value, Column)) {\n\t\t\treturn new Proxy(\n\t\t\t\tvalue as AnyColumn,\n\t\t\t\tnew ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias),\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t}\n}\n\nexport class ColumnAliasProxyHandler<T extends Column> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'ColumnAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: keyof Column): any {\n\t\tif (prop === 'isAlias') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === 'name') {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === 'keyAsName') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (prop === OriginalColumn) {\n\t\t\treturn () => target;\n\t\t}\n\n\t\treturn target[prop];\n\t}\n}\n\nexport class RelationTableAliasProxyHandler<T extends V1.Relation> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'RelationTableAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === 'sourceTable') {\n\t\t\treturn aliasedTable(target.sourceTable, this.alias);\n\t\t}\n\n\t\treturn target[prop as keyof typeof target];\n\t}\n}\n\nexport function aliasedTable<T extends Table | View>(table: T, tableAlias: string): T {\n\treturn new Proxy(table, new TableAliasProxyHandler(tableAlias, false, false));\n}\n\nexport function aliasedColumn<T extends Column>(column: T, alias: string): T {\n\treturn new Proxy(column, new ColumnAliasProxyHandler(alias));\n}\n\nexport function aliasedRelation<T extends V1.Relation>(relation: T, tableAlias: string): T {\n\treturn new Proxy(relation, new RelationTableAliasProxyHandler(tableAlias));\n}\n\nexport function aliasedTableColumn<T extends AnyColumn>(column: T, tableAlias: string): T {\n\treturn new Proxy(\n\t\tcolumn,\n\t\tnew ColumnTableAliasProxyHandler(\n\t\t\tnew Proxy(column.table, new TableAliasProxyHandler(tableAlias, false, false)),\n\t\t\tfalse,\n\t\t),\n\t);\n}\n\nexport function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string): SQL.Aliased {\n\treturn new SQL.Aliased(mapColumnsInSQLToAlias(query.sql, alias), query.fieldAlias);\n}\n\nexport function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL {\n\treturn sql.join(query.queryChunks.map((c) => {\n\t\tif (is(c, Column)) {\n\t\t\treturn aliasedTableColumn(c, alias);\n\t\t}\n\t\tif (is(c, SQL)) {\n\t\t\treturn mapColumnsInSQLToAlias(c, alias);\n\t\t}\n\t\tif (is(c, SQL.Aliased)) {\n\t\t\treturn mapColumnsInAliasedSQLToAlias(c, alias);\n\t\t}\n\t\treturn c;\n\t}));\n}\n\n// Defined separately from the Column class to resolve circular dependency\nColumn.prototype.as = function(alias: string): Column {\n\treturn aliasedColumn(this, alias);\n};\n\nexport function getOriginalColumnFromAlias<T extends Column>(column: T): T {\n\treturn column[OriginalColumn]();\n}\n"],"mappings":";;;;;;;;AAUA,IAAa,+BAAb,MAAmG;CAClG,QAAiB,cAAsB;CAEvC,YAAY,AAAQA,OAAqB,AAAQC,mBAA6B;EAA1D;EAA6B;;CAEjD,IAAI,WAAoB,MAA4B;AACnD,MAAI,SAAS,QACZ,QAAO,KAAK;AAGb,MAAI,SAAS,aAAa,KAAK,kBAC9B,QAAO;AAGR,SAAO,UAAU;;;AAInB,IAAa,yBAAb,MAAuF;CACtF,QAAiB,cAAsB;CAEvC,YAAY,AAAQC,OAAe,AAAQC,qBAA8B,AAAQF,mBAA6B;EAA1F;EAAuB;EAAsC;;CAEjF,IAAI,QAAW,MAA4B;AAC1C,MAAI,SAAS,MAAM,OAAO,QACzB,QAAO;AAGR,MAAI,SAAS,MAAM,OAAO,KACzB,QAAO,KAAK;AAGb,MAAI,KAAK,uBAAuB,SAAS,MAAM,OAAO,aACrD,QAAO,KAAK;AAGb,MAAI,SAAS,eACZ,QAAO;GACN,GAAG,OAAO;GACV,MAAM,KAAK;GACX,SAAS;GACT;AAGF,MAAI,SAAS,MAAM,OAAO,SAAS;GAClC,MAAM,UAAW,OAAiB,MAAM,OAAO;AAC/C,OAAI,CAAC,QACJ,QAAO;GAGR,MAAMG,iBAAyC,EAAE;AAEjD,UAAO,KAAK,QAAQ,CAAC,KAAK,QAAQ;AACjC,mBAAe,OAAO,IAAI,MACzB,QAAQ,MACR,IAAI,6BAA6B,IAAI,MAAM,QAAQ,KAAK,EAAE,KAAK,kBAAkB,CACjF;KACA;AAEF,UAAO;;EAGR,MAAM,QAAQ,OAAO;AACrB,MAAI,GAAG,OAAO,OAAO,CACpB,QAAO,IAAI,MACV,OACA,IAAI,6BAA6B,IAAI,MAAM,QAAQ,KAAK,EAAE,KAAK,kBAAkB,CACjF;AAGF,SAAO;;;AAIT,IAAa,0BAAb,MAAkF;CACjF,QAAiB,cAAsB;CAEvC,YAAY,AAAQF,OAAe;EAAf;;CAEpB,IAAI,QAAW,MAAyB;AACvC,MAAI,SAAS,UACZ,QAAO;AAGR,MAAI,SAAS,OACZ,QAAO,KAAK;AAGb,MAAI,SAAS,YACZ,QAAO;AAGR,MAAI,SAAS,eACZ,cAAa;AAGd,SAAO,OAAO;;;AAIhB,IAAa,iCAAb,MAA8F;CAC7F,QAAiB,cAAsB;CAEvC,YAAY,AAAQA,OAAe;EAAf;;CAEpB,IAAI,QAAW,MAA4B;AAC1C,MAAI,SAAS,cACZ,QAAO,aAAa,OAAO,aAAa,KAAK,MAAM;AAGpD,SAAO,OAAO;;;AAIhB,SAAgB,aAAqC,OAAU,YAAuB;AACrF,QAAO,IAAI,MAAM,OAAO,IAAI,uBAAuB,YAAY,OAAO,MAAM,CAAC;;AAG9E,SAAgB,cAAgC,QAAW,OAAkB;AAC5E,QAAO,IAAI,MAAM,QAAQ,IAAI,wBAAwB,MAAM,CAAC;;AAG7D,SAAgB,gBAAuC,UAAa,YAAuB;AAC1F,QAAO,IAAI,MAAM,UAAU,IAAI,+BAA+B,WAAW,CAAC;;AAG3E,SAAgB,mBAAwC,QAAW,YAAuB;AACzF,QAAO,IAAI,MACV,QACA,IAAI,6BACH,IAAI,MAAM,OAAO,OAAO,IAAI,uBAAuB,YAAY,OAAO,MAAM,CAAC,EAC7E,MACA,CACD;;AAGF,SAAgB,8BAA8B,OAAoB,OAA4B;AAC7F,QAAO,IAAI,IAAI,QAAQ,uBAAuB,MAAM,KAAK,MAAM,EAAE,MAAM,WAAW;;AAGnF,SAAgB,uBAAuB,OAAY,OAAoB;AACtE,QAAO,IAAI,KAAK,MAAM,YAAY,KAAK,MAAM;AAC5C,MAAI,GAAG,GAAG,OAAO,CAChB,QAAO,mBAAmB,GAAG,MAAM;AAEpC,MAAI,GAAG,GAAG,IAAI,CACb,QAAO,uBAAuB,GAAG,MAAM;AAExC,MAAI,GAAG,GAAG,IAAI,QAAQ,CACrB,QAAO,8BAA8B,GAAG,MAAM;AAE/C,SAAO;GACN,CAAC;;AAIJ,OAAO,UAAU,KAAK,SAAS,OAAuB;AACrD,QAAO,cAAc,MAAM,MAAM;;AAGlC,SAAgB,2BAA6C,QAAc;AAC1E,QAAO,OAAO,iBAAiB"}
1
+ {"version":3,"file":"alias.js","names":["table: Table | View","ignoreColumnAlias?: boolean","view: View","selection: TSelection","alias: string","replaceOriginalName: boolean","proxiedColumns: { [key: string]: any }"],"sources":["../src/alias.ts"],"sourcesContent":["import type * as V1 from './_relations.ts';\nimport { OriginalColumn } from './column-common.ts';\nimport type { AnyColumn } from './column.ts';\nimport { Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { View } from './sql/sql.ts';\nimport { isSQLWrapper, SQL, sql } from './sql/sql.ts';\nimport { Subquery } from './subquery.ts';\nimport { Table } from './table.ts';\nimport { ViewBaseConfig } from './view-common.ts';\n\nexport class ColumnTableAliasProxyHandler<TColumn extends Column> implements ProxyHandler<TColumn> {\n\tstatic readonly [entityKind]: string = 'ColumnTableAliasProxyHandler';\n\n\tconstructor(private table: Table | View, private ignoreColumnAlias?: boolean) {}\n\n\tget(columnObj: TColumn, prop: string | symbol): any {\n\t\tif (prop === 'table') {\n\t\t\treturn this.table;\n\t\t}\n\n\t\tif (prop === 'isAlias' && this.ignoreColumnAlias) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn columnObj[prop as keyof TColumn];\n\t}\n}\n\nexport class ViewSelectionAliasProxyHandler<TSelection extends Record<string, unknown>>\n\timplements ProxyHandler<TSelection>\n{\n\tstatic readonly [entityKind]: string = 'ViewSelectionAliasProxyHandler';\n\n\tconstructor(protected view: View, protected selection: TSelection, private ignoreColumnAlias?: boolean) {}\n\n\tget(selection: TSelection, prop: string | symbol): any {\n\t\tconst value = selection[prop as keyof TSelection];\n\n\t\tif (is(value, Column)) return new Proxy(value, new ColumnTableAliasProxyHandler(this.view, this.ignoreColumnAlias));\n\t\tif (\n\t\t\tis(value, Subquery) || is(value, SQL) || is(value, SQL.Aliased) || isSQLWrapper(value)\n\t\t\t|| (typeof value !== 'object' || value === null)\n\t\t) return value;\n\n\t\treturn new Proxy(value as Record<string, unknown>, this);\n\t}\n}\n\nexport class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'TableAliasProxyHandler';\n\n\tconstructor(private alias: string, private replaceOriginalName: boolean, private ignoreColumnAlias?: boolean) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === Table.Symbol.IsAlias) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === Table.Symbol.Name) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (this.replaceOriginalName && prop === Table.Symbol.OriginalName) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === ViewBaseConfig) {\n\t\t\treturn {\n\t\t\t\t...target[ViewBaseConfig as keyof typeof target],\n\t\t\t\tname: this.alias,\n\t\t\t\tisAlias: true,\n\t\t\t\tselectedFields: new Proxy(\n\t\t\t\t\t(<View> target)[ViewBaseConfig].selectedFields,\n\t\t\t\t\tnew ViewSelectionAliasProxyHandler(\n\t\t\t\t\t\tnew Proxy(target, this) as View,\n\t\t\t\t\t\t(<View> target)[ViewBaseConfig].selectedFields,\n\t\t\t\t\t\tthis.ignoreColumnAlias,\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\n\t\tif (prop === Table.Symbol.Columns) {\n\t\t\tconst columns = (target as Table)[Table.Symbol.Columns];\n\t\t\tif (!columns) {\n\t\t\t\treturn columns;\n\t\t\t}\n\n\t\t\tif (is(target, View)) {\n\t\t\t\treturn new Proxy(\n\t\t\t\t\t(<View> target)[Table.Symbol.Columns],\n\t\t\t\t\tnew ViewSelectionAliasProxyHandler(\n\t\t\t\t\t\tnew Proxy(target, this) as View,\n\t\t\t\t\t\t(<View> target)[Table.Symbol.Columns],\n\t\t\t\t\t\tthis.ignoreColumnAlias,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst proxiedColumns: { [key: string]: any } = {};\n\n\t\t\tObject.keys(columns).map((key) => {\n\t\t\t\tproxiedColumns[key] = new Proxy(\n\t\t\t\t\tcolumns[key]!,\n\t\t\t\t\tnew ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias),\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn proxiedColumns;\n\t\t}\n\n\t\tconst value = target[prop as keyof typeof target];\n\t\tif (is(value, Column)) {\n\t\t\treturn new Proxy(\n\t\t\t\tvalue as AnyColumn,\n\t\t\t\tnew ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias),\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t}\n}\n\nexport class ColumnAliasProxyHandler<T extends Column> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'ColumnAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: keyof Column): any {\n\t\tif (prop === 'isAlias') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === 'name') {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === 'keyAsName') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (prop === OriginalColumn) {\n\t\t\treturn () => target;\n\t\t}\n\n\t\treturn target[prop];\n\t}\n}\n\nexport class RelationTableAliasProxyHandler<T extends V1.Relation> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'RelationTableAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === 'sourceTable') {\n\t\t\treturn aliasedTable(target.sourceTable, this.alias);\n\t\t}\n\n\t\treturn target[prop as keyof typeof target];\n\t}\n}\n\nexport function aliasedTable<T extends Table | View>(table: T, tableAlias: string): T {\n\treturn new Proxy(table, new TableAliasProxyHandler(tableAlias, false, false));\n}\n\nexport function aliasedColumn<T extends Column>(column: T, alias: string): T {\n\treturn new Proxy(column, new ColumnAliasProxyHandler(alias));\n}\n\nexport function aliasedRelation<T extends V1.Relation>(relation: T, tableAlias: string): T {\n\treturn new Proxy(relation, new RelationTableAliasProxyHandler(tableAlias));\n}\n\nexport function aliasedTableColumn<T extends AnyColumn>(column: T, tableAlias: string): T {\n\treturn new Proxy(\n\t\tcolumn,\n\t\tnew ColumnTableAliasProxyHandler(\n\t\t\tnew Proxy(column.table, new TableAliasProxyHandler(tableAlias, false, false)),\n\t\t\tfalse,\n\t\t),\n\t);\n}\n\nexport function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string): SQL.Aliased {\n\treturn new SQL.Aliased(mapColumnsInSQLToAlias(query.sql, alias), query.fieldAlias);\n}\n\nexport function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL {\n\treturn sql.join(query.queryChunks.map((c) => {\n\t\tif (is(c, Column)) {\n\t\t\treturn aliasedTableColumn(c, alias);\n\t\t}\n\t\tif (is(c, SQL)) {\n\t\t\treturn mapColumnsInSQLToAlias(c, alias);\n\t\t}\n\t\tif (is(c, SQL.Aliased)) {\n\t\t\treturn mapColumnsInAliasedSQLToAlias(c, alias);\n\t\t}\n\t\treturn c;\n\t}));\n}\n\n// Defined separately from the Column class to resolve circular dependency\nColumn.prototype.as = function(alias: string): Column {\n\treturn aliasedColumn(this, alias);\n};\n\nexport function getOriginalColumnFromAlias<T extends Column>(column: T): T {\n\treturn column[OriginalColumn]();\n}\n"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { AwsDataApiPgDatabase } from "./driver.cjs";
2
- import * as __migrator_ts11 from "../../migrator.cjs";
2
+ import * as __migrator_ts0 from "../../migrator.cjs";
3
3
  import { MigrationConfig } from "../../migrator.cjs";
4
4
  import { AnyRelations } from "../../relations.cjs";
5
5
 
6
6
  //#region src/aws-data-api/pg/migrator.d.ts
7
- declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: AwsDataApiPgDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts11.MigratorInitFailResponse>;
7
+ declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: AwsDataApiPgDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts0.MigratorInitFailResponse>;
8
8
  //#endregion
9
9
  export { migrate };
10
10
  //# sourceMappingURL=migrator.d.cts.map
@@ -1,10 +1,10 @@
1
1
  import { AwsDataApiPgDatabase } from "./driver.js";
2
- import * as __migrator_ts10 from "../../migrator.js";
2
+ import * as __migrator_ts4 from "../../migrator.js";
3
3
  import { MigrationConfig } from "../../migrator.js";
4
4
  import { AnyRelations } from "../../relations.js";
5
5
 
6
6
  //#region src/aws-data-api/pg/migrator.d.ts
7
- declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: AwsDataApiPgDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts10.MigratorInitFailResponse>;
7
+ declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: AwsDataApiPgDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts4.MigratorInitFailResponse>;
8
8
  //#endregion
9
9
  export { migrate };
10
10
  //# sourceMappingURL=migrator.d.ts.map
@@ -1,10 +1,10 @@
1
1
  import { BetterSQLite3Database } from "./driver.cjs";
2
- import * as __migrator_ts9 from "../migrator.cjs";
2
+ import * as __migrator_ts22 from "../migrator.cjs";
3
3
  import { MigrationConfig } from "../migrator.cjs";
4
4
  import { AnyRelations } from "../relations.cjs";
5
5
 
6
6
  //#region src/better-sqlite3/migrator.d.ts
7
- declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BetterSQLite3Database<TSchema, TRelations>, config: MigrationConfig): void | __migrator_ts9.MigratorInitFailResponse;
7
+ declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BetterSQLite3Database<TSchema, TRelations>, config: MigrationConfig): void | __migrator_ts22.MigratorInitFailResponse;
8
8
  //#endregion
9
9
  export { migrate };
10
10
  //# sourceMappingURL=migrator.d.cts.map
@@ -1,10 +1,10 @@
1
1
  import { BetterSQLite3Database } from "./driver.js";
2
- import * as __migrator_ts9 from "../migrator.js";
2
+ import * as __migrator_ts16 from "../migrator.js";
3
3
  import { MigrationConfig } from "../migrator.js";
4
4
  import { AnyRelations } from "../relations.js";
5
5
 
6
6
  //#region src/better-sqlite3/migrator.d.ts
7
- declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BetterSQLite3Database<TSchema, TRelations>, config: MigrationConfig): void | __migrator_ts9.MigratorInitFailResponse;
7
+ declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BetterSQLite3Database<TSchema, TRelations>, config: MigrationConfig): void | __migrator_ts16.MigratorInitFailResponse;
8
8
  //#endregion
9
9
  export { migrate };
10
10
  //# sourceMappingURL=migrator.d.ts.map
@@ -1,16 +1,16 @@
1
1
  import { BunMySqlDatabase } from "./mysql/driver.js";
2
2
  import { BunSQLDatabase } from "./postgres/driver.js";
3
3
  import { BunSQLiteDatabase } from "./sqlite/driver.js";
4
- import * as __migrator_ts13 from "../migrator.js";
4
+ import * as __migrator_ts17 from "../migrator.js";
5
5
  import { MigrationConfig } from "../migrator.js";
6
6
  import { AnyRelations } from "../relations.js";
7
7
 
8
8
  //#region src/bun-sql/migrator.d.ts
9
- declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts13.MigratorInitFailResponse>;
9
+ declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts17.MigratorInitFailResponse>;
10
10
  declare namespace migrate {
11
- function postgres<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts13.MigratorInitFailResponse>;
12
- function sqlite<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLiteDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts13.MigratorInitFailResponse>;
13
- function mysql<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunMySqlDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts13.MigratorInitFailResponse>;
11
+ function postgres<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts17.MigratorInitFailResponse>;
12
+ function sqlite<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLiteDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts17.MigratorInitFailResponse>;
13
+ function mysql<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunMySqlDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts17.MigratorInitFailResponse>;
14
14
  }
15
15
  //#endregion
16
16
  export { migrate };
@@ -1,10 +1,10 @@
1
1
  import { BunMySqlDatabase } from "./driver.cjs";
2
- import * as __migrator_ts20 from "../../migrator.cjs";
2
+ import * as __migrator_ts2 from "../../migrator.cjs";
3
3
  import { MigrationConfig } from "../../migrator.cjs";
4
4
  import { AnyRelations } from "../../relations.cjs";
5
5
 
6
6
  //#region src/bun-sql/mysql/migrator.d.ts
7
- declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunMySqlDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts20.MigratorInitFailResponse>;
7
+ declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunMySqlDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts2.MigratorInitFailResponse>;
8
8
  //#endregion
9
9
  export { migrate };
10
10
  //# sourceMappingURL=migrator.d.cts.map
@@ -1,10 +1,10 @@
1
1
  import { BunMySqlDatabase } from "./driver.js";
2
- import * as __migrator_ts12 from "../../migrator.js";
2
+ import * as __migrator_ts6 from "../../migrator.js";
3
3
  import { MigrationConfig } from "../../migrator.js";
4
4
  import { AnyRelations } from "../../relations.js";
5
5
 
6
6
  //#region src/bun-sql/mysql/migrator.d.ts
7
- declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunMySqlDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts12.MigratorInitFailResponse>;
7
+ declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunMySqlDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts6.MigratorInitFailResponse>;
8
8
  //#endregion
9
9
  export { migrate };
10
10
  //# sourceMappingURL=migrator.d.ts.map
@@ -1,10 +1,10 @@
1
1
  import { BunSQLDatabase } from "./driver.js";
2
- import * as __migrator_ts20 from "../../migrator.js";
2
+ import * as __migrator_ts21 from "../../migrator.js";
3
3
  import { MigrationConfig } from "../../migrator.js";
4
4
  import { AnyRelations } from "../../relations.js";
5
5
 
6
6
  //#region src/bun-sql/postgres/migrator.d.ts
7
- declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts20.MigratorInitFailResponse>;
7
+ declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts21.MigratorInitFailResponse>;
8
8
  //#endregion
9
9
  export { migrate };
10
10
  //# sourceMappingURL=migrator.d.ts.map
@@ -1,10 +1,10 @@
1
1
  import { BunSQLiteDatabase } from "./driver.js";
2
- import * as __migrator_ts11 from "../../migrator.js";
2
+ import * as __migrator_ts22 from "../../migrator.js";
3
3
  import { MigrationConfig } from "../../migrator.js";
4
4
  import { AnyRelations } from "../../relations.js";
5
5
 
6
6
  //#region src/bun-sql/sqlite/migrator.d.ts
7
- declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLiteDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts11.MigratorInitFailResponse>;
7
+ declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLiteDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void | __migrator_ts22.MigratorInitFailResponse>;
8
8
  //#endregion
9
9
  export { migrate };
10
10
  //# sourceMappingURL=migrator.d.ts.map
@@ -3,9 +3,9 @@ let __migrator_ts = require("../migrator.cjs");
3
3
 
4
4
  //#region src/bun-sqlite/migrator.ts
5
5
  function migrate(db, config) {
6
- if ("migrationsJournal" in config) {
7
- const journal = config.migrationsJournal;
8
- const migrationsTable = config.migrationsTable;
6
+ if (Array.isArray(config) || "migrationsJournal" in config) {
7
+ const journal = Array.isArray(config) ? config : config.migrationsJournal;
8
+ const migrationsTable = Array.isArray(config) ? void 0 : config.migrationsTable;
9
9
  const migrations$1 = journal.map((d) => ({
10
10
  sql: d.sql.split("--> statement-breakpoint"),
11
11
  folderMillis: d.timestamp,
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.cjs","names":["migrations: MigrationMeta[]","migrations"],"sources":["../../src/bun-sqlite/migrator.ts"],"sourcesContent":["import type {\n\tMigrationConfig,\n\tMigrationFromJournalConfig,\n\tMigrationMeta,\n\tMigrationsJournal,\n\tMigratorInitFailResponse,\n} from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { SQLiteBunDatabase } from './driver.ts';\n\nexport function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations>(\n\tdb: SQLiteBunDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n): void | MigratorInitFailResponse;\nexport function migrate<\n\tTSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tdb: SQLiteBunDatabase<TSchema, TRelations>,\n\tconfig: MigrationFromJournalConfig | MigrationsJournal,\n): void;\nexport function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations>(\n\tdb: SQLiteBunDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig | MigrationFromJournalConfig | MigrationsJournal,\n): void | MigratorInitFailResponse {\n\tif ('migrationsJournal' in config) {\n\t\tconst journal = config.migrationsJournal;\n\t\tconst migrationsTable = config.migrationsTable;\n\n\t\tconst migrations: MigrationMeta[] = journal.map((d) => ({\n\t\t\tsql: d.sql.split('--> statement-breakpoint'),\n\t\t\tfolderMillis: d.timestamp,\n\t\t\thash: '',\n\t\t\tbps: true,\n\t\t}));\n\n\t\treturn db.dialect.migrate(migrations, db.session, {\n\t\t\tmigrationsTable,\n\t\t});\n\t}\n\n\tconst migrations = readMigrationFiles(config as MigrationConfig);\n\treturn db.dialect.migrate(migrations, db.session, config as MigrationConfig);\n}\n"],"mappings":";;;;AAsBA,SAAgB,QACf,IACA,QACkC;AAClC,KAAI,uBAAuB,QAAQ;EAClC,MAAM,UAAU,OAAO;EACvB,MAAM,kBAAkB,OAAO;EAE/B,MAAMA,eAA8B,QAAQ,KAAK,OAAO;GACvD,KAAK,EAAE,IAAI,MAAM,2BAA2B;GAC5C,cAAc,EAAE;GAChB,MAAM;GACN,KAAK;GACL,EAAE;AAEH,SAAO,GAAG,QAAQ,QAAQC,cAAY,GAAG,SAAS,EACjD,iBACA,CAAC;;CAGH,MAAM,mDAAgC,OAA0B;AAChE,QAAO,GAAG,QAAQ,QAAQ,YAAY,GAAG,SAAS,OAA0B"}
1
+ {"version":3,"file":"migrator.cjs","names":["migrations: MigrationMeta[]","migrations"],"sources":["../../src/bun-sqlite/migrator.ts"],"sourcesContent":["import type {\n\tMigrationConfig,\n\tMigrationFromJournalConfig,\n\tMigrationMeta,\n\tMigrationsJournal,\n\tMigratorInitFailResponse,\n} from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { SQLiteBunDatabase } from './driver.ts';\n\nexport function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations>(\n\tdb: SQLiteBunDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n): void | MigratorInitFailResponse;\nexport function migrate<\n\tTSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tdb: SQLiteBunDatabase<TSchema, TRelations>,\n\tconfig: MigrationFromJournalConfig | MigrationsJournal,\n): void;\nexport function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations>(\n\tdb: SQLiteBunDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig | MigrationFromJournalConfig | MigrationsJournal,\n): void | MigratorInitFailResponse {\n\tif (Array.isArray(config) || 'migrationsJournal' in config) {\n\t\tconst journal = Array.isArray(config) ? config : config.migrationsJournal;\n\t\tconst migrationsTable = Array.isArray(config) ? undefined : config.migrationsTable;\n\n\t\tconst migrations: MigrationMeta[] = journal.map((d) => ({\n\t\t\tsql: d.sql.split('--> statement-breakpoint'),\n\t\t\tfolderMillis: d.timestamp,\n\t\t\thash: '',\n\t\t\tbps: true,\n\t\t}));\n\n\t\treturn db.dialect.migrate(migrations, db.session, {\n\t\t\tmigrationsTable,\n\t\t});\n\t}\n\n\tconst migrations = readMigrationFiles(config as MigrationConfig);\n\treturn db.dialect.migrate(migrations, db.session, config as MigrationConfig);\n}\n"],"mappings":";;;;AAsBA,SAAgB,QACf,IACA,QACkC;AAClC,KAAI,MAAM,QAAQ,OAAO,IAAI,uBAAuB,QAAQ;EAC3D,MAAM,UAAU,MAAM,QAAQ,OAAO,GAAG,SAAS,OAAO;EACxD,MAAM,kBAAkB,MAAM,QAAQ,OAAO,GAAG,SAAY,OAAO;EAEnE,MAAMA,eAA8B,QAAQ,KAAK,OAAO;GACvD,KAAK,EAAE,IAAI,MAAM,2BAA2B;GAC5C,cAAc,EAAE;GAChB,MAAM;GACN,KAAK;GACL,EAAE;AAEH,SAAO,GAAG,QAAQ,QAAQC,cAAY,GAAG,SAAS,EACjD,iBACA,CAAC;;CAGH,MAAM,mDAAgC,OAA0B;AAChE,QAAO,GAAG,QAAQ,QAAQ,YAAY,GAAG,SAAS,OAA0B"}
@@ -2,9 +2,9 @@ import { readMigrationFiles } from "../migrator.js";
2
2
 
3
3
  //#region src/bun-sqlite/migrator.ts
4
4
  function migrate(db, config) {
5
- if ("migrationsJournal" in config) {
6
- const journal = config.migrationsJournal;
7
- const migrationsTable = config.migrationsTable;
5
+ if (Array.isArray(config) || "migrationsJournal" in config) {
6
+ const journal = Array.isArray(config) ? config : config.migrationsJournal;
7
+ const migrationsTable = Array.isArray(config) ? void 0 : config.migrationsTable;
8
8
  const migrations$1 = journal.map((d) => ({
9
9
  sql: d.sql.split("--> statement-breakpoint"),
10
10
  folderMillis: d.timestamp,
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.js","names":["migrations: MigrationMeta[]","migrations"],"sources":["../../src/bun-sqlite/migrator.ts"],"sourcesContent":["import type {\n\tMigrationConfig,\n\tMigrationFromJournalConfig,\n\tMigrationMeta,\n\tMigrationsJournal,\n\tMigratorInitFailResponse,\n} from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { SQLiteBunDatabase } from './driver.ts';\n\nexport function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations>(\n\tdb: SQLiteBunDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n): void | MigratorInitFailResponse;\nexport function migrate<\n\tTSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tdb: SQLiteBunDatabase<TSchema, TRelations>,\n\tconfig: MigrationFromJournalConfig | MigrationsJournal,\n): void;\nexport function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations>(\n\tdb: SQLiteBunDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig | MigrationFromJournalConfig | MigrationsJournal,\n): void | MigratorInitFailResponse {\n\tif ('migrationsJournal' in config) {\n\t\tconst journal = config.migrationsJournal;\n\t\tconst migrationsTable = config.migrationsTable;\n\n\t\tconst migrations: MigrationMeta[] = journal.map((d) => ({\n\t\t\tsql: d.sql.split('--> statement-breakpoint'),\n\t\t\tfolderMillis: d.timestamp,\n\t\t\thash: '',\n\t\t\tbps: true,\n\t\t}));\n\n\t\treturn db.dialect.migrate(migrations, db.session, {\n\t\t\tmigrationsTable,\n\t\t});\n\t}\n\n\tconst migrations = readMigrationFiles(config as MigrationConfig);\n\treturn db.dialect.migrate(migrations, db.session, config as MigrationConfig);\n}\n"],"mappings":";;;AAsBA,SAAgB,QACf,IACA,QACkC;AAClC,KAAI,uBAAuB,QAAQ;EAClC,MAAM,UAAU,OAAO;EACvB,MAAM,kBAAkB,OAAO;EAE/B,MAAMA,eAA8B,QAAQ,KAAK,OAAO;GACvD,KAAK,EAAE,IAAI,MAAM,2BAA2B;GAC5C,cAAc,EAAE;GAChB,MAAM;GACN,KAAK;GACL,EAAE;AAEH,SAAO,GAAG,QAAQ,QAAQC,cAAY,GAAG,SAAS,EACjD,iBACA,CAAC;;CAGH,MAAM,aAAa,mBAAmB,OAA0B;AAChE,QAAO,GAAG,QAAQ,QAAQ,YAAY,GAAG,SAAS,OAA0B"}
1
+ {"version":3,"file":"migrator.js","names":["migrations: MigrationMeta[]","migrations"],"sources":["../../src/bun-sqlite/migrator.ts"],"sourcesContent":["import type {\n\tMigrationConfig,\n\tMigrationFromJournalConfig,\n\tMigrationMeta,\n\tMigrationsJournal,\n\tMigratorInitFailResponse,\n} from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { SQLiteBunDatabase } from './driver.ts';\n\nexport function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations>(\n\tdb: SQLiteBunDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n): void | MigratorInitFailResponse;\nexport function migrate<\n\tTSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tdb: SQLiteBunDatabase<TSchema, TRelations>,\n\tconfig: MigrationFromJournalConfig | MigrationsJournal,\n): void;\nexport function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations>(\n\tdb: SQLiteBunDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig | MigrationFromJournalConfig | MigrationsJournal,\n): void | MigratorInitFailResponse {\n\tif (Array.isArray(config) || 'migrationsJournal' in config) {\n\t\tconst journal = Array.isArray(config) ? config : config.migrationsJournal;\n\t\tconst migrationsTable = Array.isArray(config) ? undefined : config.migrationsTable;\n\n\t\tconst migrations: MigrationMeta[] = journal.map((d) => ({\n\t\t\tsql: d.sql.split('--> statement-breakpoint'),\n\t\t\tfolderMillis: d.timestamp,\n\t\t\thash: '',\n\t\t\tbps: true,\n\t\t}));\n\n\t\treturn db.dialect.migrate(migrations, db.session, {\n\t\t\tmigrationsTable,\n\t\t});\n\t}\n\n\tconst migrations = readMigrationFiles(config as MigrationConfig);\n\treturn db.dialect.migrate(migrations, db.session, config as MigrationConfig);\n}\n"],"mappings":";;;AAsBA,SAAgB,QACf,IACA,QACkC;AAClC,KAAI,MAAM,QAAQ,OAAO,IAAI,uBAAuB,QAAQ;EAC3D,MAAM,UAAU,MAAM,QAAQ,OAAO,GAAG,SAAS,OAAO;EACxD,MAAM,kBAAkB,MAAM,QAAQ,OAAO,GAAG,SAAY,OAAO;EAEnE,MAAMA,eAA8B,QAAQ,KAAK,OAAO;GACvD,KAAK,EAAE,IAAI,MAAM,2BAA2B;GAC5C,cAAc,EAAE;GAChB,MAAM;GACN,KAAK;GACL,EAAE;AAEH,SAAO,GAAG,QAAQ,QAAQC,cAAY,GAAG,SAAS,EACjD,iBACA,CAAC;;CAGH,MAAM,aAAa,mBAAmB,OAA0B;AAChE,QAAO,GAAG,QAAQ,QAAQ,YAAY,GAAG,SAAS,OAA0B"}
@@ -1,9 +1,9 @@
1
1
  import { NodeCockroachDatabase } from "./driver.cjs";
2
- import * as __migrator_ts21 from "../migrator.cjs";
2
+ import * as __migrator_ts10 from "../migrator.cjs";
3
3
  import { MigrationConfig } from "../migrator.cjs";
4
4
 
5
5
  //#region src/cockroach/migrator.d.ts
6
- declare function migrate<TSchema extends Record<string, unknown>>(db: NodeCockroachDatabase<TSchema>, config: MigrationConfig): Promise<void | __migrator_ts21.MigratorInitFailResponse>;
6
+ declare function migrate<TSchema extends Record<string, unknown>>(db: NodeCockroachDatabase<TSchema>, config: MigrationConfig): Promise<void | __migrator_ts10.MigratorInitFailResponse>;
7
7
  //#endregion
8
8
  export { migrate };
9
9
  //# sourceMappingURL=migrator.d.cts.map
@@ -1,9 +1,9 @@
1
1
  import { NodeCockroachDatabase } from "./driver.js";
2
- import * as __migrator_ts22 from "../migrator.js";
2
+ import * as __migrator_ts5 from "../migrator.js";
3
3
  import { MigrationConfig } from "../migrator.js";
4
4
 
5
5
  //#region src/cockroach/migrator.d.ts
6
- declare function migrate<TSchema extends Record<string, unknown>>(db: NodeCockroachDatabase<TSchema>, config: MigrationConfig): Promise<void | __migrator_ts22.MigratorInitFailResponse>;
6
+ declare function migrate<TSchema extends Record<string, unknown>>(db: NodeCockroachDatabase<TSchema>, config: MigrationConfig): Promise<void | __migrator_ts5.MigratorInitFailResponse>;
7
7
  //#endregion
8
8
  export { migrate };
9
9
  //# sourceMappingURL=migrator.d.ts.map
@@ -1,12 +1,12 @@
1
1
  import { CockroachColumnWithArrayBuilder } from "./common.cjs";
2
2
  import { entityKind } from "../../entity.cjs";
3
- import * as __column_builder_ts1 from "../../column-builder.cjs";
3
+ import * as __column_builder_ts0 from "../../column-builder.cjs";
4
4
  import { ColumnBuilderBaseConfig, ColumnType } from "../../column-builder.cjs";
5
5
 
6
6
  //#region src/cockroach-core/columns/date.common.d.ts
7
7
  declare abstract class CockroachDateColumnBaseBuilder<T extends ColumnBuilderBaseConfig<ColumnType>, TRuntimeConfig extends object = object> extends CockroachColumnWithArrayBuilder<T, TRuntimeConfig> {
8
8
  static readonly [entityKind]: string;
9
- defaultNow(): __column_builder_ts1.HasDefault<this>;
9
+ defaultNow(): __column_builder_ts0.HasDefault<this>;
10
10
  }
11
11
  //#endregion
12
12
  export { CockroachDateColumnBaseBuilder };
@@ -174,6 +174,11 @@ var CockroachDialect = class {
174
174
  if (table[__table_ts.Table.Symbol.Schema]) fullName = __sql_sql_ts.sql`${__sql_sql_ts.sql.identifier(table[__table_ts.Table.Symbol.Schema])}.${fullName}`;
175
175
  return __sql_sql_ts.sql`${fullName} ${__sql_sql_ts.sql.identifier(table[__table_ts.Table.Symbol.Name])}`;
176
176
  }
177
+ if ((0, __entity_ts.is)(table, __sql_index_ts.View) && table[__view_common_ts.ViewBaseConfig].isAlias) {
178
+ let fullName = __sql_sql_ts.sql`${__sql_sql_ts.sql.identifier(table[__view_common_ts.ViewBaseConfig].originalName)}`;
179
+ if (table[__view_common_ts.ViewBaseConfig].schema) fullName = __sql_sql_ts.sql`${__sql_sql_ts.sql.identifier(table[__view_common_ts.ViewBaseConfig].schema)}.${fullName}`;
180
+ return __sql_sql_ts.sql`${fullName} ${__sql_sql_ts.sql.identifier(table[__view_common_ts.ViewBaseConfig].name)}`;
181
+ }
177
182
  return table;
178
183
  }
179
184
  buildSelectQuery({ withList, fields, fieldsFlat, where, having, table, joins, orderBy, groupBy, limit, offset, lockingClause, distinct, setOperators }) {