import { LambdaExpression } from "lambda-expression"; import { ValueTypeToParse } from "../core/utils"; import { WhereCompiled } from "./where-compiled"; import { ColumnRef } from "../core/column-ref"; import { SqlCompilable } from "./sql-compilable"; export interface WhereBaseBuilderContract> { ref(column: string, alias?: string): ColumnRef; not(): TWhere; and(): TWhere; or(): TWhere; scope(scopeCallback: (scope: TWhere) => void): TWhere; /** * @deprecated Use `equal` * @param expression * @param column */ equalColumn(expression: TExpression, column: string): TWhere; /** * @deprecated use `equal` */ equalValue(expression: TExpression, value: ValueTypeToParse): TWhere; equal(expression1: TExpression, expression2: TExpression): TWhere; /** * @deprecated use `like` */ likeValue(expression: TExpression, value: string): TWhere; like(expression1: TExpression, expression2: TExpression): TWhere; contains(expression: TExpression, value: string): TWhere; startsWith(expression: TExpression, value: string): TWhere; endsWith(expression: TExpression, value: string): TWhere; isNull(expression1: TExpression): TWhere; /** * @deprecated use `great` */ greatValue(expression: TExpression, value: ValueTypeToParse): TWhere; great(expression1: TExpression, expression2: TExpression): TWhere; /** * @deprecated use `greatAndEqual` */ greatAndEqualValue(expression: TExpression, value: ValueTypeToParse): TWhere; greatAndEqual(expression1: TExpression, expression2: TExpression): TWhere; /** * @deprecated use `less` */ lessValue(expression: TExpression, value: ValueTypeToParse): TWhere; less(expression1: TExpression, expression2: TExpression): TWhere; /** * @deprecated use `lessAndEqual` */ lessAndEqualValue(expression: TExpression, value: ValueTypeToParse): TWhere; lessAndEqual(expression1: TExpression, expression2: TExpression): TWhere; /** * @deprecated use `between` */ betweenValue(expression: TExpression, value1: ValueTypeToParse, value2: ValueTypeToParse): TWhere; between(expression: TExpression, startExpression: TExpression, endExpression: TExpression): TWhere; /** * @deprecated use `in` */ inValues(expression: TExpression, values: ValueTypeToParse[]): TWhere; in(expression: TExpression, valuesOrQuery: ValueTypeToParse[] | SqlCompilable): TWhere; /** * @deprecated use `in` */ inSelect(expression: TExpression, query: SqlCompilable): TWhere; compile(): WhereCompiled; expression(expression: LambdaExpression): TWhere; }