UNPKG

database-builder

Version:

Library to assist in creating and maintaining SQL commands.

26 lines (25 loc) 1.66 kB
import { WhereBuilder } from "./where-builder"; import { ColumnsValuesBuilder } from "../core/columns-values-builder"; import { ColumnsCompiled } from "../core/columns-compiled"; import { MapperTable } from "../mapper-table"; import { SqlBaseBuilder } from "./sql-base-builder"; import { QueryCompiled } from "../core/query-compiled"; import { ConfigDatabase } from "./config-database"; import { CommanderBuilder } from "./commander-builder"; export declare abstract class CrudBaseBuilder<T, TColumnsBuilder extends ColumnsValuesBuilder<T, TColumnsBuilder>> extends SqlBaseBuilder<T> { config: ConfigDatabase; private _columnsCompiled; protected readonly _commanderBuilder: CommanderBuilder; constructor(typeT: new () => T, mapperTable: MapperTable, config: ConfigDatabase, alias?: string); compile(): QueryCompiled | QueryCompiled[]; protected getColumnsCompiled(): ColumnsCompiled; protected columnsBase<TBuilder extends CrudBaseBuilder<T, TColumnsBuilder>>(columnsCallback: (columns: TColumnsBuilder) => void, instanceSetColumnsBuilder: TColumnsBuilder, instanceReturn: TBuilder): TBuilder; protected whereBase<TBuilder extends CrudBaseBuilder<T, TColumnsBuilder>>(whereCallback: (where: WhereBuilder<T>) => void, instanceReturn: TBuilder, withAlias?: boolean): TBuilder; protected abstract setDefaultColumns(): void; abstract getModel(): T | Array<T>; private compileColumns; get specifiedColumns(): import("../core/column").Column[]; private _columnsBuilder; protected get columnsBuilder(): TColumnsBuilder; protected abstract createColumnsBuilder(): TColumnsBuilder; }