database-builder
Version:
Library to assist in creating and maintaining SQL commands.
25 lines (24 loc) • 1.11 kB
TypeScript
import { ProjectionModel } from "./../crud/projection-model";
import { Projection } from "../crud/enums/projection";
import { ExpressionQuery } from "./utils";
export declare class ProjectionsUtils<T> {
private _aliasTable;
private _addAliasTableToAlias;
private _addAliasDefault;
private _registerProjetionCallback?;
static readonly WILDCARD = "*";
private _pendingProjections;
constructor(_aliasTable: string, _addAliasTableToAlias?: boolean, _addAliasDefault?: boolean, _registerProjetionCallback?: (projection: ProjectionModel) => void);
apply<TReturn>(expression?: ExpressionQuery<TReturn, T>, projections?: Projection[], alias?: string, args?: any[]): ProjectionModel;
create(column: string, projections?: Projection[], alias?: string, args?: any[]): ProjectionModel;
addAliasTable(column: string): string;
private _apply;
private checkApply;
private register;
private createProjection;
private defaultAliasAs;
private builderProjections;
private builderProjection;
private buildArgs;
private buildColumn;
}