UNPKG

ts-sql-query

Version:

Type-safe SQL query builder like QueryDSL or JOOQ in Java or Linq in .Net for TypeScript with MariaDB, MySql, Oracle, PostgreSql, Sqlite and SqlServer support.

57 lines (56 loc) 4.96 kB
import { SqlBuilder, DeleteData, JoinData, ToSql } from "../sqlBuilders/SqlBuilder"; import { HasAddWiths, HasIsValue, ITable, ITableOrView, IWithView, OuterJoinSource } from "../utils/ITableOrView"; import { IBooleanValueSource, IIfValueSource, AnyValueSource, AlwaysIfValueSource } from "../expressions/values"; import type { DeleteExpression, ExecutableDelete, DynamicExecutableDeleteExpression, DeleteExpressionAllowingNoWhere, DeleteCustomization, CustomizableExecutableDelete, ComposableExecutableDelete, ComposeExpression, ComposeExpressionDeletingInternalProperty, ComposeExpressionDeletingExternalProperty, ComposableCustomizableExecutableDelete, ReturnableExecutableDelete, ExecutableDeleteReturning, DeleteColumns, DeleteWhereExpression, DeleteWhereExpressionAllowingNoWhere, DeleteWhereJoinExpression, DynamicOnExpression, OnExpression, DeleteExpressionWithoutJoin, DeleteUsingExpression, DeleteWhereJoinExpressionAllowingNoWhere, DynamicOnExpressionAllowingNoWhere, OnExpressionAllowingNoWhere, DeleteExpressionWithoutJoinAllowingNoWhere, DeleteUsingExpressionAllowingNoWhere, ComposableCustomizableExecutableDeleteProjectableAsNullable } from "../expressions/delete"; import type { int } from "ts-extended-types"; import { database, resultType, tableOrView, type } from "../utils/symbols"; import { ComposeSplitQueryBuilder } from "./ComposeSliptQueryBuilder"; import { Column } from "../utils/Column"; export declare class DeleteQueryBuilder extends ComposeSplitQueryBuilder implements HasAddWiths, ToSql, DeleteExpression<any, any>, DeleteExpressionAllowingNoWhere<any, any>, CustomizableExecutableDelete<any>, ExecutableDelete<any>, DynamicExecutableDeleteExpression<any, any>, DeleteData, ComposableExecutableDelete<any, any, any>, ComposeExpression<any, any, any, any, any, any>, ComposeExpressionDeletingInternalProperty<any, any, any, any, any, any>, ComposeExpressionDeletingExternalProperty<any, any, any, any, any, any>, ComposableCustomizableExecutableDelete<any, any, any>, ReturnableExecutableDelete<any, any>, ExecutableDeleteReturning<any, any, any>, DeleteWhereExpression<any, any>, DeleteWhereExpressionAllowingNoWhere<any, any>, DeleteWhereJoinExpression<any, any>, DynamicOnExpression<any, any>, OnExpression<any, any>, DeleteExpressionWithoutJoin<any, any>, DeleteUsingExpression<any, any>, DeleteWhereJoinExpressionAllowingNoWhere<any, any>, DynamicOnExpressionAllowingNoWhere<any, any>, OnExpressionAllowingNoWhere<any, any>, DeleteExpressionWithoutJoinAllowingNoWhere<any, any>, DeleteUsingExpressionAllowingNoWhere<any, any>, ComposableCustomizableExecutableDeleteProjectableAsNullable<any, any> { [type]: any; [database]: any; [tableOrView]: any; [resultType]: any; __table: ITable<any>; __where?: AlwaysIfValueSource<any, any>; __allowNoWhere: boolean; __withs: Array<IWithView<any>>; __customization?: DeleteCustomization<any>; __using?: Array<ITableOrView<any>>; __joins?: Array<JoinData>; __oneColumn?: boolean; __lastJoin?: JoinData; __query: string; __params: any[]; constructor(sqlBuilder: SqlBuilder, table: ITable<any>, allowNoWhere: boolean); executeDelete(min?: number, max?: number): Promise<int> & Promise<number>; executeDeleteNoneOrOne(): Promise<any>; executeDeleteOne(): Promise<any>; executeDeleteMany(min?: number, max?: number): Promise<any>; query(): string; params(): any[]; __toSql(_sqlBuilder: SqlBuilder, params: any[]): string; __toSqlForCondition(sqlBuilder: SqlBuilder, params: any[]): string; dynamicWhere(): this; where(condition: IBooleanValueSource<any, any> | IIfValueSource<any, any>): this; and(condition: IBooleanValueSource<any, any> | IIfValueSource<any, any>): this; or(condition: IBooleanValueSource<any, any> | IIfValueSource<any, any>): this; using(table: ITableOrView<any>): any; join(table: ITableOrView<any>): any; innerJoin(table: ITableOrView<any>): any; leftJoin(source: OuterJoinSource<any, any>): any; leftOuterJoin(source: OuterJoinSource<any, any>): any; dynamicOn(): any; on(condition: IBooleanValueSource<any, any> | IIfValueSource<any, any>): any; __finishJoin(): void; customizeQuery(customization: DeleteCustomization<any>): this; returning(columns: DeleteColumns<any, any>): this; projectingOptionalValuesAsNullable(): any; returningOneColumn(column: AnyValueSource): this; __addWiths(sqlBuilder: HasIsValue, withs: Array<IWithView<any>>): void; __registerTableOrView(_sqlBuilder: HasIsValue, _requiredTablesOrViews: Set<ITableOrView<any>>): void; __registerRequiredColumn(_sqlBuilder: HasIsValue, _requiredColumns: Set<Column>, _onlyForTablesOrViews: Set<ITableOrView<any>>): void; __getOldValues(_sqlBuilder: HasIsValue): ITableOrView<any> | undefined; __getValuesForInsert(_sqlBuilder: HasIsValue): ITableOrView<any> | undefined; __isAllowed(sqlBuilder: HasIsValue): boolean; }