sedk-mysql
Version:
Simple SQL builder and validator for MySQL
39 lines (38 loc) • 1.59 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;
get ASC(): OrderByItemInfo;
get DESC(): OrderByItemInfo;
get NULLS_FIRST(): OrderByItemInfo;
get NULLS_LAST(): OrderByItemInfo;
get ASC_NULLS_FIRST(): OrderByItemInfo;
get DESC_NULLS_FIRST(): OrderByItemInfo;
get ASC_NULLS_LAST(): OrderByItemInfo;
get DESC_NULLS_LAST(): OrderByItemInfo;
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;
}