database-builder
Version:
Library to assist in creating and maintaining SQL commands.
26 lines (25 loc) • 1.66 kB
TypeScript
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;
}