UNPKG

@sqb/connect

Version:

Multi-dialect database connection framework written with TypeScript

44 lines (43 loc) 1.73 kB
import { SqbConnection } from '../../client/sqb-connection.js'; import { AssociationNode } from '../model/association-node.js'; import { EntityMetadata } from '../model/entity-metadata.js'; import { Repository } from '../repository.class.js'; import { FieldsProjection } from '../util/parse-fields-projection.js'; import { RowConverter } from './row-converter.js'; export type FindCommandArgs = { entity: EntityMetadata; connection: SqbConnection; } & Repository.FindManyOptions; export declare class FindCommand { maxEagerFetch: number; maxSubQueries: number; readonly mainEntity: EntityMetadata; readonly resultEntity: EntityMetadata; readonly converter: RowConverter; readonly mainAlias: string; resultAlias: string; private _joins; private _selectColumns; private _filter; private _sort?; protected constructor(selectEntity: EntityMetadata, outputEntity: EntityMetadata); static create(source: EntityMetadata | AssociationNode, opts?: { maxSubQueries?: number; maxEagerFetch?: number; }): Promise<FindCommand>; static execute(args: FindCommandArgs): Promise<any[]>; addFields(opts?: { tableAlias?: string; converter?: RowConverter; entity?: EntityMetadata; projection?: FieldsProjection | string | string[]; sort?: string[]; prefix?: string; suffix?: string; }): Promise<void>; private _selectColumn; filter(filter: any): Promise<void>; sort(sortFields: string[]): Promise<void>; execute(args: Pick<FindCommandArgs, 'connection' | 'distinct' | 'offset' | 'limit' | 'params' | 'onTransformRow' | 'prettyPrint'>): Promise<any[]>; private _getEntityFromAlias; }