query.d.ts 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { entityKind } from "../../entity.js";
  2. import { QueryPromise } from "../../query-promise.js";
  3. import { type BuildQueryResult, type DBQueryConfig, type TableRelationalConfig, type TablesRelationalConfig } from "../../relations.js";
  4. import type { Query } from "../../sql/sql.js";
  5. import type { KnownKeysOnly } from "../../utils.js";
  6. import type { MySqlDialect } from "../dialect.js";
  7. import type { Mode, MySqlPreparedQueryConfig, MySqlSession, PreparedQueryHKTBase, PreparedQueryKind } from "../session.js";
  8. import type { MySqlTable } from "../table.js";
  9. export declare class RelationalQueryBuilder<TPreparedQueryHKT extends PreparedQueryHKTBase, TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {
  10. private fullSchema;
  11. private schema;
  12. private tableNamesMap;
  13. private table;
  14. private tableConfig;
  15. private dialect;
  16. private session;
  17. private mode;
  18. static readonly [entityKind]: string;
  19. constructor(fullSchema: Record<string, unknown>, schema: TSchema, tableNamesMap: Record<string, string>, table: MySqlTable, tableConfig: TableRelationalConfig, dialect: MySqlDialect, session: MySqlSession, mode: Mode);
  20. findMany<TConfig extends DBQueryConfig<'many', true, TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', true, TSchema, TFields>>): MySqlRelationalQuery<TPreparedQueryHKT, BuildQueryResult<TSchema, TFields, TConfig>[]>;
  21. findFirst<TSelection extends Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>(config?: KnownKeysOnly<TSelection, Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>): MySqlRelationalQuery<TPreparedQueryHKT, BuildQueryResult<TSchema, TFields, TSelection> | undefined>;
  22. }
  23. export declare class MySqlRelationalQuery<TPreparedQueryHKT extends PreparedQueryHKTBase, TResult> extends QueryPromise<TResult> {
  24. private fullSchema;
  25. private schema;
  26. private tableNamesMap;
  27. private table;
  28. private tableConfig;
  29. private dialect;
  30. private session;
  31. private config;
  32. private queryMode;
  33. private mode?;
  34. static readonly [entityKind]: string;
  35. protected $brand: 'MySqlRelationalQuery';
  36. constructor(fullSchema: Record<string, unknown>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, table: MySqlTable, tableConfig: TableRelationalConfig, dialect: MySqlDialect, session: MySqlSession, config: DBQueryConfig<'many', true> | true, queryMode: 'many' | 'first', mode?: Mode | undefined);
  37. prepare(): PreparedQueryKind<TPreparedQueryHKT, MySqlPreparedQueryConfig & {
  38. execute: TResult;
  39. }, true>;
  40. private _getQuery;
  41. private _toSQL;
  42. toSQL(): Query;
  43. execute(): Promise<TResult>;
  44. }