sedk-mysql
Version:
Simple SQL builder and validator for MySQL
47 lines (46 loc) • 1.96 kB
TypeScript
import { Artifacts } from '../steps/BaseStep';
import { UpdateSetItemInfo } from '../UpdateSetItemInfo';
import { BinderStore } from '../binder';
import { BuilderData } from '../builder';
import { BooleanColumn, Column, DateColumn, NumberColumn, TextColumn } from '../database';
import { ItemInfo } from '../ItemInfo';
import { Qualifier } from '../operators';
import { Expression, ExpressionType } from './Expression';
import { IStatementGiver } from './IStatementGiver';
import { ConditionOperand, Operand } from './Operand';
import { BooleanLike } from './types';
type ConditionConstructor = {
leftExpression: Expression;
operator?: Qualifier;
rightExpression?: Expression;
notLeft?: boolean;
notRight?: boolean;
};
export declare class Condition implements Expression, IStatementGiver {
readonly operator?: Qualifier;
readonly leftOperand: ConditionOperand;
readonly rightOperand?: ConditionOperand;
readonly type: ExpressionType.NULL | ExpressionType.BOOLEAN;
constructor(con: ConditionConstructor);
getStmt(data: BuilderData, artifacts: Artifacts, binderStore: BinderStore): string;
as(alias: string): ItemInfo;
eq(value: BooleanLike): Condition;
eq$(value: boolean): Condition;
ne(value: BooleanLike): Condition;
ne$(value: boolean): Condition;
isEq(value: null | boolean): Condition;
isEq$(value: null | boolean): Condition;
isNe(value: null | boolean): Condition;
isNe$(value: null | boolean): Condition;
get NOT(): Condition;
getColumns(): Column[];
private static getResultExpressionType;
private static isListComparisonOperator;
private static throwInvalidConditionError;
}
export declare class UpdateCondition extends Condition implements UpdateSetItemInfo {
readonly operand: Operand;
readonly column: Column;
constructor(column: BooleanColumn | NumberColumn | TextColumn | DateColumn, rightExpression: Expression);
}
export {};