database-builder
Version:
Library to assist in creating and maintaining SQL commands.
69 lines (68 loc) • 2.85 kB
TypeScript
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<T, TExpression, TWhere extends WhereBaseBuilderContract<T, TExpression, TWhere>> {
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<T>): TWhere;
}