alias.d.ts 1.5 KB

12345678910111213141516171819202122232425262728293031
  1. import type { AnyColumn } from "./column.js";
  2. import { Column } from "./column.js";
  3. import { entityKind } from "./entity.js";
  4. import type { Relation } from "./relations.js";
  5. import type { View } from "./sql/sql.js";
  6. import { SQL } from "./sql/sql.js";
  7. import { Table } from "./table.js";
  8. export declare class ColumnAliasProxyHandler<TColumn extends Column> implements ProxyHandler<TColumn> {
  9. private table;
  10. static readonly [entityKind]: string;
  11. constructor(table: Table | View);
  12. get(columnObj: TColumn, prop: string | symbol): any;
  13. }
  14. export declare class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {
  15. private alias;
  16. private replaceOriginalName;
  17. static readonly [entityKind]: string;
  18. constructor(alias: string, replaceOriginalName: boolean);
  19. get(target: T, prop: string | symbol): any;
  20. }
  21. export declare class RelationTableAliasProxyHandler<T extends Relation> implements ProxyHandler<T> {
  22. private alias;
  23. static readonly [entityKind]: string;
  24. constructor(alias: string);
  25. get(target: T, prop: string | symbol): any;
  26. }
  27. export declare function aliasedTable<T extends Table | View>(table: T, tableAlias: string): T;
  28. export declare function aliasedRelation<T extends Relation>(relation: T, tableAlias: string): T;
  29. export declare function aliasedTableColumn<T extends AnyColumn>(column: T, tableAlias: string): T;
  30. export declare function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string): SQL.Aliased;
  31. export declare function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL;