sedk-postgres
Version:
Simple SQL builder and validator
57 lines (56 loc) • 2.17 kB
TypeScript
import { Artifacts } from '../steps/BaseStep';
import { INameGiver } from './INameGiver';
import { Table } from './Table';
import { Condition, IStatementGiver, PrimitiveType, ValueLike } from '../models';
import { ComparisonOperator } from '../operators';
import { OrderByItemInfo } from '../orderBy';
import { BuilderData } from '../builder';
import { ItemInfo } from '../ItemInfo';
import { UpdateSetItemInfo } from '../UpdateSetItemInfo';
export type ColumnObj = {
name: string;
};
export declare abstract class Column implements INameGiver, IStatementGiver {
protected readonly data: ColumnObj;
private mTable?;
protected constructor(data: ColumnObj);
set table(table: Table);
get table(): Table;
get name(): string;
get fqName(): string;
getDoubleQuotedName(): string;
as(alias: string): ItemInfo;
/** @deprecated */
get asc(): OrderByItemInfo;
get ASC(): OrderByItemInfo;
/** @deprecated */
get desc(): OrderByItemInfo;
get DESC(): OrderByItemInfo;
/** @deprecated */
get nullsFirst(): OrderByItemInfo;
get NULLS_FIRST(): OrderByItemInfo;
/** @deprecated */
get nullsLast(): OrderByItemInfo;
get NULLS_LAST(): OrderByItemInfo;
/** @deprecated */
get ascNullsFirst(): OrderByItemInfo;
get ASC_NULLS_FIRST(): OrderByItemInfo;
/** @deprecated */
get descNullsFirst(): OrderByItemInfo;
get DESC_NULLS_FIRST(): OrderByItemInfo;
/** @deprecated */
get ascNullsLast(): OrderByItemInfo;
get ASC_NULLS_LAST(): OrderByItemInfo;
/** @deprecated */
get descNullsLast(): OrderByItemInfo;
get DESC_NULLS_LAST(): OrderByItemInfo;
/** @deprecated - since v0.15.0 use eqDEFAULT */
get letDefault(): UpdateSetItemInfo;
get eqDEFAULT(): UpdateSetItemInfo;
getStmt(data: BuilderData, artifacts: Artifacts): string;
abstract in(...values: ValueLike[]): Condition;
abstract in$(...values: PrimitiveType[]): Condition;
abstract notIn(...values: ValueLike[]): Condition;
abstract notIn$(...values: PrimitiveType[]): Condition;
protected static throwIfArrayIsEmpty(arr: ValueLike[], operator: ComparisonOperator): void;
}