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.

39 lines (38 loc) 2.71 kB
import { HasIsValue, ITableOrView } from "../utils/ITableOrView"; import type { Column, ColumnWithDefaultValue, ComputedColumn, OptionalColumn, PrimaryKeyAutogeneratedColumn, PrimaryKeyColumn, __ColumnPrivate } from "../utils/Column"; import type { TypeAdapter } from "../TypeAdapter"; import type { QueryColumns, SqlBuilder, ToSql } from "../sqlBuilders/SqlBuilder"; import { ValueType } from "../expressions/values"; import { ValueSourceImpl } from "./ValueSourceImpl"; import { isColumnObject, type } from "../utils/symbols"; export declare class ColumnImpl extends ValueSourceImpl implements Column, __ColumnPrivate, ToSql { [type]: 'column'; [isColumnObject]: true; __name: string; __tableOrView: ITableOrView<any>; __hasDefault: boolean; __isPrimaryKey: boolean; __isAutogeneratedPrimaryKey: boolean; __isComputed: boolean; __sequenceName?: string; constructor(table: ITableOrView<any>, name: string, valueType: ValueType, valueTypeName: string, typeAdapter: TypeAdapter | undefined); __toSql(sqlBuilder: SqlBuilder, params: any[]): string; __toSqlForCondition(sqlBuilder: SqlBuilder, params: any[]): string; __asColumn(): this & Column; __asOptionalColumn(): this & OptionalColumn; __asColumnWithDefaultValue(): this & ColumnWithDefaultValue; __asOptionalColumnWithDefaultValue(): this & OptionalColumn & ColumnWithDefaultValue; __asAutogeneratedPrimaryKey(): this & ColumnWithDefaultValue & PrimaryKeyColumn & PrimaryKeyAutogeneratedColumn; __asAutogeneratedPrimaryKeyBySequence(sequenceName: string): this & ColumnWithDefaultValue & PrimaryKeyColumn & PrimaryKeyAutogeneratedColumn; __asPrimaryKey(): this & PrimaryKeyColumn; __asComputedColumn(): this & ComputedColumn; __asOptionalComputedColumn(): this & OptionalColumn & ComputedColumn; __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; } export declare function createColumnsFrom(sqlBuilder: HasIsValue, columns: QueryColumns, target: QueryColumns, table: ITableOrView<any>): void; export declare function createColumnsFromInnerObject(sqlBuilder: HasIsValue, columns: QueryColumns, target: QueryColumns, table: ITableOrView<any>, prefix: string): void; export declare function getInnerObjetRuleToApply(sqlBuilder: HasIsValue, columns: QueryColumns): 1 | 2 | 3 | 4;