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.
37 lines (36 loc) • 1.97 kB
TypeScript
import { HasIsValue, ITableOrView, IWithView, __ITableOrViewPrivate } from "../utils/ITableOrView";
import type { AliasedTableOrView, OuterJoinSourceOf, WITH_VIEW } from "../utils/tableOrViewUtils";
import type { AnyDB } from "../databases";
import type { SelectData, SqlBuilder, WithSelectData } from "../sqlBuilders/SqlBuilder";
import { database, tableOrViewRef, type } from "../utils/symbols";
import { RawFragment } from "../utils/RawFragment";
import { Column } from "../utils/Column";
export declare class WithViewImpl<NAME extends string, REF extends WITH_VIEW<AnyDB, NAME>> implements IWithView<REF>, WithSelectData, __ITableOrViewPrivate {
[database]: REF[typeof database];
[type]: 'with';
[tableOrViewRef]: REF;
__sqlBuilder: SqlBuilder;
__name: string;
__as?: string;
__forUseInLeftJoin?: boolean;
__type: 'with';
__selectData: SelectData;
__originalWith?: WithViewImpl<any, any>;
__ignoreWith?: boolean;
__recursive?: boolean;
__template?: RawFragment<any>;
__hasExternalDependencies?: boolean;
constructor(sqlBuilder: SqlBuilder, name: string, selectData: SelectData);
[type]: "with";
[tableOrViewRef]: REF;
[database]: REF[typeof database];
as<ALIAS extends string>(as: ALIAS): AliasedTableOrView<this, ALIAS>;
forUseInLeftJoin(): OuterJoinSourceOf<this, ''>;
forUseInLeftJoinAs<ALIAS extends string>(as: ALIAS): OuterJoinSourceOf<this, ALIAS>;
__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;
}