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.

208 lines (207 loc) 40 kB
import { BooleanValueSource, NumberValueSource, StringValueSource, DateValueSource, TimeValueSource, DateTimeValueSource, EqualableValueSource, IntValueSource, DoubleValueSource, LocalDateValueSource, LocalTimeValueSource, LocalDateTimeValueSource, TypeSafeStringValueSource, StringNumberValueSource, StringIntValueSource, StringDoubleValueSource, ComparableValueSource, BigintValueSource, TypeSafeBigintValueSource, TypeSafeUuidValueSource, UuidValueSource, IBooleanValueSource, IStringIntValueSource, IStringNumberValueSource, IIntValueSource, INumberValueSource, ITypeSafeBigintValueSource, IBigintValueSource, IStringDoubleValueSource, IDoubleValueSource, ITypeSafeStringValueSource, IStringValueSource, ITypeSafeUuidValueSource, IUuidValueSource, ILocalDateValueSource, IDateValueSource, ILocalTimeValueSource, ITimeValueSource, ILocalDateTimeValueSource, IDateTimeValueSource, IEqualableValueSource, IComparableValueSource, CustomIntValueSource, CustomDoubleValueSource, CustomUuidValueSource, CustomLocalDateTimeValueSource, ICustomIntValueSource, ICustomDoubleValueSource, ICustomUuidValueSource, ICustomLocalDateValueSource, ICustomLocalTimeValueSource, ICustomLocalDateTimeValueSource, CustomLocalDateValueSource, CustomLocalTimeValueSource } from "./expressions/values"; import { IView, OfDB } from "./utils/ITableOrView"; import type { TypeAdapter } from "./TypeAdapter"; import type { AliasedTableOrView, OuterJoinSourceOf } from "./utils/tableOrViewUtils"; import { Column, OptionalColumn } from "./utils/Column"; import type { AnyDB, TypeSafeDB } from "./databases"; import { database, tableOrViewRef, type, viewName } from "./utils/symbols"; import { IConnection } from "./utils/IConnection"; import type { VIEW } from "./typeMarks/VIEW"; import type { BigintFragmentExpression, BooleanFragmentExpression, ComparableFragmentExpression, CustomDoubleFragmentExpression, CustomIntFragmentExpression, CustomLocalDateFragmentExpression, CustomLocalDateTimeFragmentExpression, CustomLocalTimeFragmentExpression, CustomUuidFragmentExpression, DateFragmentExpression, DateTimeFragmentExpression, DoubleFragmentExpression, EqualableFragmentExpression, IntFragmentExpression, LocalDateFragmentExpression, LocalDateTimeFragmentExpression, LocalTimeFragmentExpression, NumberFragmentExpression, StringDoubleFragmentExpression, StringFragmentExpression, StringIntFragmentExpression, StringNumberFragmentExpression, TimeFragmentExpression, TypeSafeBigintFragmentExpression, TypeSafeStringFragmentExpression, TypeSafeUuidFragmentExpression, UuidFragmentExpression } from "./expressions/fragment"; declare class ViewOf<REF extends VIEW<AnyDB, any>> implements IView<REF> { [database]: REF[typeof database]; [type]: 'view'; [viewName]: REF[typeof viewName]; [tableOrViewRef]: REF; private __name; private __as?; private __forUseInLeftJoin?; private __type; private __template?; constructor(name: string); as<ALIAS extends string>(as: ALIAS): AliasedTableOrView<this, ALIAS>; forUseInLeftJoin(): OuterJoinSourceOf<this, ''>; forUseInLeftJoinAs<ALIAS extends string>(as: ALIAS): OuterJoinSourceOf<this, ALIAS>; protected column(name: string, type: 'boolean', adapter?: TypeAdapter): BooleanValueSource<REF, 'required'> & Column; /** @deprecated 'stringInt' type is deprecated, define your customInt instead */ protected column(this: OfDB<TypeSafeDB>, name: string, type: 'stringInt', adapter?: TypeAdapter): StringIntValueSource<REF, 'required'> & Column; /** @deprecated 'stringInt' type is deprecated, define your customInt instead */ protected column(name: string, type: 'stringInt', adapter?: TypeAdapter): StringNumberValueSource<REF, 'required'> & Column; protected column(this: OfDB<TypeSafeDB>, name: string, type: 'int', adapter?: TypeAdapter): IntValueSource<REF, 'required'> & Column; protected column(name: string, type: 'int', adapter?: TypeAdapter): NumberValueSource<REF, 'required'> & Column; protected column(this: OfDB<TypeSafeDB>, name: string, type: 'bigint', adapter?: TypeAdapter): TypeSafeBigintValueSource<REF, 'required'> & Column; protected column(name: string, type: 'bigint', adapter?: TypeAdapter): BigintValueSource<REF, 'required'> & Column; /** @deprecated 'stringDouble' type is deprecated, define your customInt instead */ protected column(this: OfDB<TypeSafeDB>, name: string, type: 'stringDouble', adapter?: TypeAdapter): StringDoubleValueSource<REF, 'required'> & Column; /** @deprecated 'stringDouble' type is deprecated, define your customInt instead */ protected column(name: string, type: 'stringDouble', adapter?: TypeAdapter): StringNumberValueSource<REF, 'required'> & Column; protected column(this: OfDB<TypeSafeDB>, name: string, type: 'double', adapter?: TypeAdapter): DoubleValueSource<REF, 'required'> & Column; protected column(name: string, type: 'double', adapter?: TypeAdapter): NumberValueSource<REF, 'required'> & Column; protected column(this: OfDB<TypeSafeDB>, name: string, type: 'string', adapter?: TypeAdapter): TypeSafeStringValueSource<REF, 'required'> & Column; protected column(name: string, type: 'string', adapter?: TypeAdapter): StringValueSource<REF, 'required'> & Column; protected column(this: OfDB<TypeSafeDB>, name: string, type: 'uuid', adapter?: TypeAdapter): TypeSafeUuidValueSource<REF, 'required'> & Column; protected column(name: string, type: 'uuid', adapter?: TypeAdapter): UuidValueSource<REF, 'required'> & Column; protected column(this: OfDB<TypeSafeDB>, name: string, type: 'localDate', adapter?: TypeAdapter): LocalDateValueSource<REF, 'required'> & Column; protected column(name: string, type: 'localDate', adapter?: TypeAdapter): DateValueSource<REF, 'required'> & Column; protected column(this: OfDB<TypeSafeDB>, name: string, type: 'localTime', adapter?: TypeAdapter): LocalTimeValueSource<REF, 'required'> & Column; protected column(name: string, type: 'localTime', adapter?: TypeAdapter): TimeValueSource<REF, 'required'> & Column; protected column(this: OfDB<TypeSafeDB>, name: string, type: 'localDateTime', adapter?: TypeAdapter): LocalDateTimeValueSource<REF, 'required'> & Column; protected column(name: string, type: 'localDateTime', adapter?: TypeAdapter): DateTimeValueSource<REF, 'required'> & Column; protected column<T, TYPE_NAME extends string>(name: string, type: 'customInt', typeName: TYPE_NAME, adapter?: TypeAdapter): CustomIntValueSource<REF, T, TYPE_NAME, 'required'> & Column; protected column<T, TYPE_NAME extends string>(name: string, type: 'customDouble', typeName: TYPE_NAME, adapter?: TypeAdapter): CustomDoubleValueSource<REF, T, TYPE_NAME, 'required'> & Column; protected column<T, TYPE_NAME extends string>(name: string, type: 'customUuid', typeName: TYPE_NAME, adapter?: TypeAdapter): CustomUuidValueSource<REF, T, TYPE_NAME, 'required'> & Column; protected column<T, TYPE_NAME extends string>(name: string, type: 'customLocalDate', typeName: TYPE_NAME, adapter?: TypeAdapter): CustomLocalDateValueSource<REF, T, TYPE_NAME, 'required'> & Column; protected column<T, TYPE_NAME extends string>(name: string, type: 'customLocalTime', typeName: TYPE_NAME, adapter?: TypeAdapter): CustomLocalTimeValueSource<REF, T, TYPE_NAME, 'required'> & Column; protected column<T, TYPE_NAME extends string>(name: string, type: 'customLocalDateTime', typeName: TYPE_NAME, adapter?: TypeAdapter): CustomLocalDateTimeValueSource<REF, T, TYPE_NAME, 'required'> & Column; protected column<T, TYPE_NAME extends string>(name: string, type: 'enum', typeName: TYPE_NAME, adapter?: TypeAdapter): EqualableValueSource<REF, T, TYPE_NAME, 'required'> & Column; protected column<T, TYPE_NAME extends string>(name: string, type: 'custom', typeName: TYPE_NAME, adapter?: TypeAdapter): EqualableValueSource<REF, T, TYPE_NAME, 'required'> & Column; protected column<T, TYPE_NAME extends string>(name: string, type: 'customComparable', typeName: TYPE_NAME, adapter?: TypeAdapter): ComparableValueSource<REF, T, TYPE_NAME, 'required'> & Column; protected column<T>(name: string, type: 'customInt', typeName: string, adapter?: TypeAdapter): CustomIntValueSource<REF, T, T, 'required'> & Column; protected column<T>(name: string, type: 'customDouble', typeName: string, adapter?: TypeAdapter): CustomDoubleValueSource<REF, T, T, 'required'> & Column; protected column<T>(name: string, type: 'customUuid', typeName: string, adapter?: TypeAdapter): CustomUuidValueSource<REF, T, T, 'required'> & Column; protected column<T>(name: string, type: 'customLocalDate', typeName: string, adapter?: TypeAdapter): CustomLocalDateValueSource<REF, T, T, 'required'> & Column; protected column<T>(name: string, type: 'customLocalTime', typeName: string, adapter?: TypeAdapter): CustomLocalTimeValueSource<REF, T, T, 'required'> & Column; protected column<T>(name: string, type: 'customLocalDateTime', typeName: string, adapter?: TypeAdapter): CustomLocalDateTimeValueSource<REF, T, T, 'required'> & Column; protected column<T>(name: string, type: 'enum', typeName: string, adapter?: TypeAdapter): EqualableValueSource<REF, T, T, 'required'> & Column; protected column<T>(name: string, type: 'custom', typeName: string, adapter?: TypeAdapter): EqualableValueSource<REF, T, T, 'required'> & Column; protected column<T>(name: string, type: 'customComparable', typeName: string, adapter?: TypeAdapter): ComparableValueSource<REF, T, T, 'required'> & Column; protected optionalColumn(name: string, type: 'boolean', adapter?: TypeAdapter): BooleanValueSource<REF, 'optional'> & OptionalColumn; /** @deprecated 'stringInt' type is deprecated, define your customInt instead */ protected optionalColumn(this: OfDB<TypeSafeDB>, name: string, type: 'stringInt', adapter?: TypeAdapter): StringIntValueSource<REF, 'optional'> & OptionalColumn; /** @deprecated 'stringInt' type is deprecated, define your customInt instead */ protected optionalColumn(name: string, type: 'stringInt', adapter?: TypeAdapter): StringNumberValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(this: OfDB<TypeSafeDB>, name: string, type: 'int', adapter?: TypeAdapter): IntValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(name: string, type: 'int', adapter?: TypeAdapter): NumberValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(this: OfDB<TypeSafeDB>, name: string, type: 'bigint', adapter?: TypeAdapter): TypeSafeBigintValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(name: string, type: 'bigint', adapter?: TypeAdapter): BigintValueSource<REF, 'optional'> & OptionalColumn; /** @deprecated 'stringDouble' type is deprecated, define your customInt instead */ protected optionalColumn(this: OfDB<TypeSafeDB>, name: string, type: 'stringDouble', adapter?: TypeAdapter): StringDoubleValueSource<REF, 'optional'> & OptionalColumn; /** @deprecated 'stringDouble' type is deprecated, define your customInt instead */ protected optionalColumn(name: string, type: 'stringDouble', adapter?: TypeAdapter): StringNumberValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(this: OfDB<TypeSafeDB>, name: string, type: 'double', adapter?: TypeAdapter): DoubleValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(name: string, type: 'double', adapter?: TypeAdapter): NumberValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(this: OfDB<TypeSafeDB>, name: string, type: 'string', adapter?: TypeAdapter): TypeSafeStringValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(name: string, type: 'string', adapter?: TypeAdapter): StringValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(this: OfDB<TypeSafeDB>, name: string, type: 'uuid', adapter?: TypeAdapter): TypeSafeUuidValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(name: string, type: 'uuid', adapter?: TypeAdapter): UuidValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(this: OfDB<TypeSafeDB>, name: string, type: 'localDate', adapter?: TypeAdapter): LocalDateValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(name: string, type: 'localDate', adapter?: TypeAdapter): DateValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(this: OfDB<TypeSafeDB>, name: string, type: 'localTime', adapter?: TypeAdapter): LocalTimeValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(name: string, type: 'localTime', adapter?: TypeAdapter): TimeValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(this: OfDB<TypeSafeDB>, name: string, type: 'localDateTime', adapter?: TypeAdapter): LocalDateTimeValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn(name: string, type: 'localDateTime', adapter?: TypeAdapter): DateTimeValueSource<REF, 'optional'> & OptionalColumn; protected optionalColumn<T, TYPE_NAME extends string>(name: string, type: 'customInt', typeName: TYPE_NAME, adapter?: TypeAdapter): CustomIntValueSource<REF, T, TYPE_NAME, 'optional'> & OptionalColumn; protected optionalColumn<T, TYPE_NAME extends string>(name: string, type: 'customDouble', typeName: TYPE_NAME, adapter?: TypeAdapter): CustomDoubleValueSource<REF, T, TYPE_NAME, 'optional'> & OptionalColumn; protected optionalColumn<T, TYPE_NAME extends string>(name: string, type: 'customUuid', typeName: TYPE_NAME, adapter?: TypeAdapter): CustomUuidValueSource<REF, T, TYPE_NAME, 'optional'> & OptionalColumn; protected optionalColumn<T, TYPE_NAME extends string>(name: string, type: 'customLocalDate', typeName: TYPE_NAME, adapter?: TypeAdapter): CustomLocalDateValueSource<REF, T, TYPE_NAME, 'optional'> & OptionalColumn; protected optionalColumn<T, TYPE_NAME extends string>(name: string, type: 'customLocalTime', typeName: TYPE_NAME, adapter?: TypeAdapter): CustomLocalTimeValueSource<REF, T, TYPE_NAME, 'optional'> & OptionalColumn; protected optionalColumn<T, TYPE_NAME extends string>(name: string, type: 'customLocalDateTime', typeName: TYPE_NAME, adapter?: TypeAdapter): CustomLocalDateTimeValueSource<REF, T, TYPE_NAME, 'optional'> & OptionalColumn; protected optionalColumn<T, TYPE_NAME extends string>(name: string, type: 'enum', typeName: TYPE_NAME, adapter?: TypeAdapter): EqualableValueSource<REF, T, TYPE_NAME, 'optional'> & OptionalColumn; protected optionalColumn<T, TYPE_NAME extends string>(name: string, type: 'custom', typeName: TYPE_NAME, adapter?: TypeAdapter): EqualableValueSource<REF, T, TYPE_NAME, 'optional'> & OptionalColumn; protected optionalColumn<T, TYPE_NAME extends string>(name: string, type: 'customComparable', typeName: TYPE_NAME, adapter?: TypeAdapter): ComparableValueSource<REF, T, TYPE_NAME, 'optional'> & OptionalColumn; protected optionalColumn<T>(name: string, type: 'customInt', typeName: string, adapter?: TypeAdapter): CustomIntValueSource<REF, T, T, 'optional'> & OptionalColumn; protected optionalColumn<T>(name: string, type: 'customDouble', typeName: string, adapter?: TypeAdapter): CustomDoubleValueSource<REF, T, T, 'optional'> & OptionalColumn; protected optionalColumn<T>(name: string, type: 'customUuid', typeName: string, adapter?: TypeAdapter): CustomUuidValueSource<REF, T, T, 'optional'> & OptionalColumn; protected optionalColumn<T>(name: string, type: 'customLocalDate', typeName: string, adapter?: TypeAdapter): CustomLocalDateValueSource<REF, T, T, 'optional'> & OptionalColumn; protected optionalColumn<T>(name: string, type: 'customLocalTime', typeName: string, adapter?: TypeAdapter): CustomLocalTimeValueSource<REF, T, T, 'optional'> & OptionalColumn; protected optionalColumn<T>(name: string, type: 'customLocalDateTime', typeName: string, adapter?: TypeAdapter): CustomLocalDateTimeValueSource<REF, T, T, 'optional'> & OptionalColumn; protected optionalColumn<T>(name: string, type: 'enum', typeName: string, adapter?: TypeAdapter): EqualableValueSource<REF, T, T, 'optional'> & OptionalColumn; protected optionalColumn<T>(name: string, type: 'custom', typeName: string, adapter?: TypeAdapter): EqualableValueSource<REF, T, T, 'optional'> & OptionalColumn; protected optionalColumn<T>(name: string, type: 'customComparable', typeName: string, adapter?: TypeAdapter): ComparableValueSource<REF, T, T, 'optional'> & OptionalColumn; protected virtualColumnFromFragment(type: 'boolean', fn: (fragment: BooleanFragmentExpression<REF[typeof database], 'required'>) => IBooleanValueSource<REF, 'required'>, adapter?: TypeAdapter): BooleanValueSource<REF, 'required'>; /** @deprecated 'stringInt' type is deprecated, define your customInt instead */ protected virtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'stringInt', fn: (fragment: StringIntFragmentExpression<REF[typeof database], 'required'>) => IStringIntValueSource<REF, 'required'>, adapter?: TypeAdapter): StringIntValueSource<REF, 'required'>; /** @deprecated 'stringInt' type is deprecated, define your customInt instead */ protected virtualColumnFromFragment(type: 'stringInt', fn: (fragment: StringNumberFragmentExpression<REF[typeof database], 'required'>) => IStringNumberValueSource<REF, 'required'>, adapter?: TypeAdapter): StringNumberValueSource<REF, 'required'>; protected virtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'int', fn: (fragment: IntFragmentExpression<REF[typeof database], 'required'>) => IIntValueSource<REF, 'required'>, adapter?: TypeAdapter): IntValueSource<REF, 'required'>; protected virtualColumnFromFragment(type: 'int', fn: (fragment: NumberFragmentExpression<REF[typeof database], 'required'>) => INumberValueSource<REF, 'required'>, adapter?: TypeAdapter): NumberValueSource<REF, 'required'>; protected virtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'bigint', fn: (fragment: TypeSafeBigintFragmentExpression<REF[typeof database], 'required'>) => ITypeSafeBigintValueSource<REF, 'required'>, adapter?: TypeAdapter): TypeSafeBigintValueSource<REF, 'required'>; protected virtualColumnFromFragment(type: 'bigint', fn: (fragment: BigintFragmentExpression<REF[typeof database], 'required'>) => IBigintValueSource<REF, 'required'>, adapter?: TypeAdapter): BigintValueSource<REF, 'required'>; /** @deprecated 'stringDouble' type is deprecated, define your customInt instead */ protected virtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'stringDouble', fn: (fragment: StringDoubleFragmentExpression<REF[typeof database], 'required'>) => IStringDoubleValueSource<REF, 'required'>, adapter?: TypeAdapter): StringDoubleValueSource<REF, 'required'>; /** @deprecated 'stringDouble' type is deprecated, define your customInt instead */ protected virtualColumnFromFragment(type: 'stringDouble', fn: (fragment: StringNumberFragmentExpression<REF[typeof database], 'required'>) => IStringNumberValueSource<REF, 'required'>, adapter?: TypeAdapter): StringNumberValueSource<REF, 'required'>; protected virtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'double', fn: (fragment: DoubleFragmentExpression<REF[typeof database], 'required'>) => IDoubleValueSource<REF, 'required'>, adapter?: TypeAdapter): DoubleValueSource<REF, 'required'>; protected virtualColumnFromFragment(type: 'double', fn: (fragment: NumberFragmentExpression<REF[typeof database], 'required'>) => INumberValueSource<REF, 'required'>, adapter?: TypeAdapter): NumberValueSource<REF, 'required'>; protected virtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'string', fn: (fragment: TypeSafeStringFragmentExpression<REF[typeof database], 'required'>) => ITypeSafeStringValueSource<REF, 'required'>, adapter?: TypeAdapter): TypeSafeStringValueSource<REF, 'required'>; protected virtualColumnFromFragment(type: 'string', fn: (fragment: StringFragmentExpression<REF[typeof database], 'required'>) => IStringValueSource<REF, 'required'>, adapter?: TypeAdapter): StringValueSource<REF, 'required'>; protected virtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'uuid', fn: (fragment: TypeSafeUuidFragmentExpression<REF[typeof database], 'required'>) => ITypeSafeUuidValueSource<REF, 'required'>, adapter?: TypeAdapter): TypeSafeUuidValueSource<REF, 'required'>; protected virtualColumnFromFragment(type: 'uuid', fn: (fragment: UuidFragmentExpression<REF[typeof database], 'required'>) => IUuidValueSource<REF, 'required'>, adapter?: TypeAdapter): UuidValueSource<REF, 'required'>; protected virtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'localDate', fn: (fragment: LocalDateFragmentExpression<REF[typeof database], 'required'>) => ILocalDateValueSource<REF, 'required'>, adapter?: TypeAdapter): LocalDateValueSource<REF, 'required'>; protected virtualColumnFromFragment(type: 'localDate', fn: (fragment: DateFragmentExpression<REF[typeof database], 'required'>) => IDateValueSource<REF, 'required'>, adapter?: TypeAdapter): DateValueSource<REF, 'required'>; protected virtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'localTime', fn: (fragment: LocalTimeFragmentExpression<REF[typeof database], 'required'>) => ILocalTimeValueSource<REF, 'required'>, adapter?: TypeAdapter): LocalTimeValueSource<REF, 'required'>; protected virtualColumnFromFragment(type: 'localTime', fn: (fragment: TimeFragmentExpression<REF[typeof database], 'required'>) => ITimeValueSource<REF, 'required'>, adapter?: TypeAdapter): TimeValueSource<REF, 'required'>; protected virtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'localDateTime', fn: (fragment: LocalDateTimeFragmentExpression<REF[typeof database], 'required'>) => ILocalDateTimeValueSource<REF, 'required'>, adapter?: TypeAdapter): LocalDateTimeValueSource<REF, 'required'>; protected virtualColumnFromFragment(type: 'localDateTime', fn: (fragment: DateTimeFragmentExpression<REF[typeof database], 'required'>) => IDateTimeValueSource<REF, 'required'>, adapter?: TypeAdapter): DateTimeValueSource<REF, 'required'>; protected virtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'customInt', typeName: TYPE_NAME, fn: (fragment: CustomIntFragmentExpression<REF[typeof database], T, TYPE_NAME, 'required'>) => ICustomIntValueSource<REF, T, TYPE_NAME, 'required'>, adapter?: TypeAdapter): CustomIntValueSource<REF, T, TYPE_NAME, 'required'>; protected virtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'customDouble', typeName: TYPE_NAME, fn: (fragment: CustomDoubleFragmentExpression<REF[typeof database], T, TYPE_NAME, 'required'>) => ICustomDoubleValueSource<REF, T, TYPE_NAME, 'required'>, adapter?: TypeAdapter): CustomDoubleValueSource<REF, T, TYPE_NAME, 'required'>; protected virtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'customUuid', typeName: TYPE_NAME, fn: (fragment: CustomUuidFragmentExpression<REF[typeof database], T, TYPE_NAME, 'required'>) => ICustomUuidValueSource<REF, T, TYPE_NAME, 'required'>, adapter?: TypeAdapter): CustomUuidValueSource<REF, T, TYPE_NAME, 'required'>; protected virtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'customLocalDate', typeName: TYPE_NAME, fn: (fragment: CustomLocalDateFragmentExpression<REF[typeof database], T, TYPE_NAME, 'required'>) => ICustomLocalDateValueSource<REF, T, TYPE_NAME, 'required'>, adapter?: TypeAdapter): CustomLocalDateValueSource<REF, T, TYPE_NAME, 'required'>; protected virtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'customLocalTime', typeName: TYPE_NAME, fn: (fragment: CustomLocalTimeFragmentExpression<REF[typeof database], T, TYPE_NAME, 'required'>) => ICustomLocalTimeValueSource<REF, T, TYPE_NAME, 'required'>, adapter?: TypeAdapter): CustomLocalTimeValueSource<REF, T, TYPE_NAME, 'required'>; protected virtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'customLocalDateTime', typeName: TYPE_NAME, fn: (fragment: CustomLocalDateTimeFragmentExpression<REF[typeof database], T, TYPE_NAME, 'required'>) => ICustomLocalDateTimeValueSource<REF, T, TYPE_NAME, 'required'>, adapter?: TypeAdapter): CustomLocalDateTimeValueSource<REF, T, TYPE_NAME, 'required'>; protected virtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'enum', typeName: TYPE_NAME, fn: (fragment: EqualableFragmentExpression<REF[typeof database], T, TYPE_NAME, 'required'>) => IEqualableValueSource<REF, T, TYPE_NAME, 'required'>, adapter?: TypeAdapter): EqualableValueSource<REF, T, TYPE_NAME, 'required'>; protected virtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'custom', typeName: TYPE_NAME, fn: (fragment: EqualableFragmentExpression<REF[typeof database], T, TYPE_NAME, 'required'>) => IEqualableValueSource<REF, T, TYPE_NAME, 'required'>, adapter?: TypeAdapter): EqualableValueSource<REF, T, TYPE_NAME, 'required'>; protected virtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'customComparable', typeName: TYPE_NAME, fn: (fragment: ComparableFragmentExpression<REF[typeof database], T, TYPE_NAME, 'required'>) => IComparableValueSource<REF, T, TYPE_NAME, 'required'>, adapter?: TypeAdapter): ComparableValueSource<REF, T, TYPE_NAME, 'required'>; protected virtualColumnFromFragment<T>(type: 'customInt', typeName: string, fn: (fragment: CustomIntFragmentExpression<REF[typeof database], T, T, 'required'>) => ICustomIntValueSource<REF, T, T, 'required'>, adapter?: TypeAdapter): CustomIntValueSource<REF, T, T, 'required'>; protected virtualColumnFromFragment<T>(type: 'customDouble', typeName: string, fn: (fragment: CustomDoubleFragmentExpression<REF[typeof database], T, T, 'required'>) => ICustomDoubleValueSource<REF, T, T, 'required'>, adapter?: TypeAdapter): CustomDoubleValueSource<REF, T, T, 'required'>; protected virtualColumnFromFragment<T>(type: 'customUuid', typeName: string, fn: (fragment: CustomUuidFragmentExpression<REF[typeof database], T, T, 'required'>) => ICustomUuidValueSource<REF, T, T, 'required'>, adapter?: TypeAdapter): CustomUuidValueSource<REF, T, T, 'required'>; protected virtualColumnFromFragment<T>(type: 'customLocalDate', typeName: string, fn: (fragment: CustomLocalDateFragmentExpression<REF[typeof database], T, T, 'required'>) => ICustomLocalDateValueSource<REF, T, T, 'required'>, adapter?: TypeAdapter): CustomLocalDateValueSource<REF, T, T, 'required'>; protected virtualColumnFromFragment<T>(type: 'customLocalTime', typeName: string, fn: (fragment: CustomLocalTimeFragmentExpression<REF[typeof database], T, T, 'required'>) => ICustomLocalTimeValueSource<REF, T, T, 'required'>, adapter?: TypeAdapter): CustomLocalTimeValueSource<REF, T, T, 'required'>; protected virtualColumnFromFragment<T>(type: 'customLocalDateTime', typeName: string, fn: (fragment: CustomLocalDateTimeFragmentExpression<REF[typeof database], T, T, 'required'>) => ICustomLocalDateTimeValueSource<REF, T, T, 'required'>, adapter?: TypeAdapter): CustomLocalDateTimeValueSource<REF, T, T, 'required'>; protected virtualColumnFromFragment<T>(type: 'enum', typeName: string, fn: (fragment: EqualableFragmentExpression<REF[typeof database], T, T, 'required'>) => IEqualableValueSource<REF, T, T, 'required'>, adapter?: TypeAdapter): EqualableValueSource<REF, T, T, 'required'>; protected virtualColumnFromFragment<T>(type: 'custom', typeName: string, fn: (fragment: EqualableFragmentExpression<REF[typeof database], T, T, 'required'>) => IEqualableValueSource<REF, T, T, 'required'>, adapter?: TypeAdapter): EqualableValueSource<REF, T, T, 'required'>; protected virtualColumnFromFragment<T>(type: 'customComparable', typeName: string, fn: (fragment: ComparableFragmentExpression<REF[typeof database], T, T, 'required'>) => IComparableValueSource<REF, T, T, 'required'>, adapter?: TypeAdapter): ComparableValueSource<REF, T, T, 'required'>; protected optionalVirtualColumnFromFragment(type: 'boolean', fn: (fragment: BooleanFragmentExpression<REF[typeof database], 'optional'>) => IBooleanValueSource<REF, 'optional'>, adapter?: TypeAdapter): BooleanValueSource<REF, 'optional'>; /** @deprecated 'stringInt' type is deprecated, define your customInt instead */ protected optionalVirtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'stringInt', fn: (fragment: StringIntFragmentExpression<REF[typeof database], 'optional'>) => IStringIntValueSource<REF, 'optional'>, adapter?: TypeAdapter): StringIntValueSource<REF, 'optional'>; /** @deprecated 'stringInt' type is deprecated, define your customInt instead */ protected optionalVirtualColumnFromFragment(type: 'stringInt', fn: (fragment: StringNumberFragmentExpression<REF[typeof database], 'optional'>) => IStringNumberValueSource<REF, 'optional'>, adapter?: TypeAdapter): StringNumberValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'int', fn: (fragment: IntFragmentExpression<REF[typeof database], 'optional'>) => IIntValueSource<REF, 'optional'>, adapter?: TypeAdapter): IntValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(type: 'int', fn: (fragment: NumberFragmentExpression<REF[typeof database], 'optional'>) => INumberValueSource<REF, 'optional'>, adapter?: TypeAdapter): NumberValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'bigint', fn: (fragment: TypeSafeBigintFragmentExpression<REF[typeof database], 'optional'>) => ITypeSafeBigintValueSource<REF, 'optional'>, adapter?: TypeAdapter): TypeSafeBigintValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(type: 'bigint', fn: (fragment: BigintFragmentExpression<REF[typeof database], 'optional'>) => IBigintValueSource<REF, 'optional'>, adapter?: TypeAdapter): BigintValueSource<REF, 'optional'>; /** @deprecated 'stringDouble' type is deprecated, define your customInt instead */ protected optionalVirtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'stringDouble', fn: (fragment: StringDoubleFragmentExpression<REF[typeof database], 'optional'>) => IStringDoubleValueSource<REF, 'optional'>, adapter?: TypeAdapter): StringDoubleValueSource<REF, 'optional'>; /** @deprecated 'stringDouble' type is deprecated, define your customInt instead */ protected optionalVirtualColumnFromFragment(type: 'stringDouble', fn: (fragment: StringNumberFragmentExpression<REF[typeof database], 'optional'>) => IStringNumberValueSource<REF, 'optional'>, adapter?: TypeAdapter): StringNumberValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'double', fn: (fragment: DoubleFragmentExpression<REF[typeof database], 'optional'>) => IDoubleValueSource<REF, 'optional'>, adapter?: TypeAdapter): DoubleValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(type: 'double', fn: (fragment: NumberFragmentExpression<REF[typeof database], 'optional'>) => INumberValueSource<REF, 'optional'>, adapter?: TypeAdapter): NumberValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'string', fn: (fragment: TypeSafeStringFragmentExpression<REF[typeof database], 'optional'>) => ITypeSafeStringValueSource<REF, 'optional'>, adapter?: TypeAdapter): TypeSafeStringValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(type: 'string', fn: (fragment: StringFragmentExpression<REF[typeof database], 'optional'>) => IStringValueSource<REF, 'optional'>, adapter?: TypeAdapter): StringValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'uuid', fn: (fragment: TypeSafeUuidFragmentExpression<REF[typeof database], 'optional'>) => ITypeSafeUuidValueSource<REF, 'optional'>, adapter?: TypeAdapter): TypeSafeUuidValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(type: 'uuid', fn: (fragment: UuidFragmentExpression<REF[typeof database], 'optional'>) => IUuidValueSource<REF, 'optional'>, adapter?: TypeAdapter): UuidValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'localDate', fn: (fragment: LocalDateFragmentExpression<REF[typeof database], 'optional'>) => ILocalDateValueSource<REF, 'optional'>, adapter?: TypeAdapter): LocalDateValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(type: 'localDate', fn: (fragment: DateFragmentExpression<REF[typeof database], 'optional'>) => IDateValueSource<REF, 'optional'>, adapter?: TypeAdapter): DateValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'localTime', fn: (fragment: LocalTimeFragmentExpression<REF[typeof database], 'optional'>) => ILocalTimeValueSource<REF, 'optional'>, adapter?: TypeAdapter): LocalTimeValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(type: 'localTime', fn: (fragment: TimeFragmentExpression<REF[typeof database], 'optional'>) => ITimeValueSource<REF, 'optional'>, adapter?: TypeAdapter): TimeValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(this: OfDB<TypeSafeDB>, type: 'localDateTime', fn: (fragment: LocalDateTimeFragmentExpression<REF[typeof database], 'optional'>) => ILocalDateTimeValueSource<REF, 'optional'>, adapter?: TypeAdapter): LocalDateTimeValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment(type: 'localDateTime', fn: (fragment: DateTimeFragmentExpression<REF[typeof database], 'optional'>) => IDateTimeValueSource<REF, 'optional'>, adapter?: TypeAdapter): DateTimeValueSource<REF, 'optional'>; protected optionalVirtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'customInt', typeName: TYPE_NAME, fn: (fragment: CustomIntFragmentExpression<REF[typeof database], T, TYPE_NAME, 'optional'>) => ICustomIntValueSource<REF, T, TYPE_NAME, 'optional'>, adapter?: TypeAdapter): CustomIntValueSource<REF, T, TYPE_NAME, 'optional'>; protected optionalVirtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'customDouble', typeName: TYPE_NAME, fn: (fragment: CustomDoubleFragmentExpression<REF[typeof database], T, TYPE_NAME, 'optional'>) => ICustomDoubleValueSource<REF, T, TYPE_NAME, 'optional'>, adapter?: TypeAdapter): CustomDoubleValueSource<REF, T, TYPE_NAME, 'optional'>; protected optionalVirtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'customUuid', typeName: TYPE_NAME, fn: (fragment: CustomUuidFragmentExpression<REF[typeof database], T, TYPE_NAME, 'optional'>) => ICustomUuidValueSource<REF, T, TYPE_NAME, 'optional'>, adapter?: TypeAdapter): CustomUuidValueSource<REF, T, TYPE_NAME, 'optional'>; protected optionalVirtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'customLocalDate', typeName: TYPE_NAME, fn: (fragment: CustomLocalDateFragmentExpression<REF[typeof database], T, TYPE_NAME, 'optional'>) => ICustomLocalDateValueSource<REF, T, TYPE_NAME, 'optional'>, adapter?: TypeAdapter): CustomLocalDateValueSource<REF, T, TYPE_NAME, 'optional'>; protected optionalVirtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'customLocalTime', typeName: TYPE_NAME, fn: (fragment: CustomLocalTimeFragmentExpression<REF[typeof database], T, TYPE_NAME, 'optional'>) => ICustomLocalTimeValueSource<REF, T, TYPE_NAME, 'optional'>, adapter?: TypeAdapter): CustomLocalTimeValueSource<REF, T, TYPE_NAME, 'optional'>; protected optionalVirtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'customLocalDateTime', typeName: TYPE_NAME, fn: (fragment: CustomLocalDateTimeFragmentExpression<REF[typeof database], T, TYPE_NAME, 'optional'>) => ICustomLocalDateTimeValueSource<REF, T, TYPE_NAME, 'optional'>, adapter?: TypeAdapter): CustomLocalDateTimeValueSource<REF, T, TYPE_NAME, 'optional'>; protected optionalVirtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'enum', typeName: TYPE_NAME, fn: (fragment: EqualableFragmentExpression<REF[typeof database], T, TYPE_NAME, 'optional'>) => IEqualableValueSource<REF, T, TYPE_NAME, 'optional'>, adapter?: TypeAdapter): EqualableValueSource<REF, T, TYPE_NAME, 'optional'>; protected optionalVirtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'custom', typeName: TYPE_NAME, fn: (fragment: EqualableFragmentExpression<REF[typeof database], T, TYPE_NAME, 'optional'>) => IEqualableValueSource<REF, T, TYPE_NAME, 'optional'>, adapter?: TypeAdapter): EqualableValueSource<REF, T, TYPE_NAME, 'optional'>; protected optionalVirtualColumnFromFragment<T, TYPE_NAME extends string>(type: 'customComparable', typeName: TYPE_NAME, fn: (fragment: ComparableFragmentExpression<REF[typeof database], T, TYPE_NAME, 'optional'>) => IComparableValueSource<REF, T, TYPE_NAME, 'optional'>, adapter?: TypeAdapter): ComparableValueSource<REF, T, TYPE_NAME, 'optional'>; protected optionalVirtualColumnFromFragment<T>(type: 'customInt', typeName: string, fn: (fragment: CustomIntFragmentExpression<REF[typeof database], T, T, 'optional'>) => ICustomIntValueSource<REF, T, T, 'optional'>, adapter?: TypeAdapter): CustomIntValueSource<REF, T, T, 'optional'>; protected optionalVirtualColumnFromFragment<T>(type: 'customDouble', typeName: string, fn: (fragment: CustomDoubleFragmentExpression<REF[typeof database], T, T, 'optional'>) => ICustomDoubleValueSource<REF, T, T, 'optional'>, adapter?: TypeAdapter): CustomDoubleValueSource<REF, T, T, 'optional'>; protected optionalVirtualColumnFromFragment<T>(type: 'customUuid', typeName: string, fn: (fragment: CustomUuidFragmentExpression<REF[typeof database], T, T, 'optional'>) => ICustomUuidValueSource<REF, T, T, 'optional'>, adapter?: TypeAdapter): CustomUuidValueSource<REF, T, T, 'optional'>; protected optionalVirtualColumnFromFragment<T>(type: 'customLocalDate', typeName: string, fn: (fragment: CustomLocalDateFragmentExpression<REF[typeof database], T, T, 'optional'>) => ICustomLocalDateValueSource<REF, T, T, 'optional'>, adapter?: TypeAdapter): CustomLocalDateValueSource<REF, T, T, 'optional'>; protected optionalVirtualColumnFromFragment<T>(type: 'customLocalTime', typeName: string, fn: (fragment: CustomLocalTimeFragmentExpression<REF[typeof database], T, T, 'optional'>) => ICustomLocalTimeValueSource<REF, T, T, 'optional'>, adapter?: TypeAdapter): CustomLocalTimeValueSource<REF, T, T, 'optional'>; protected optionalVirtualColumnFromFragment<T>(type: 'customLocalDateTime', typeName: string, fn: (fragment: CustomLocalDateTimeFragmentExpression<REF[typeof database], T, T, 'optional'>) => ICustomLocalDateTimeValueSource<REF, T, T, 'optional'>, adapter?: TypeAdapter): CustomLocalDateTimeValueSource<REF, T, T, 'optional'>; protected optionalVirtualColumnFromFragment<T>(type: 'enum', typeName: string, fn: (fragment: EqualableFragmentExpression<REF[typeof database], T, T, 'optional'>) => IEqualableValueSource<REF, T, T, 'optional'>, adapter?: TypeAdapter): EqualableValueSource<REF, T, T, 'optional'>; protected optionalVirtualColumnFromFragment<T>(type: 'custom', typeName: string, fn: (fragment: EqualableFragmentExpression<REF[typeof database], T, T, 'optional'>) => IEqualableValueSource<REF, T, T, 'optional'>, adapter?: TypeAdapter): EqualableValueSource<REF, T, T, 'optional'>; protected optionalVirtualColumnFromFragment<T>(type: 'customComparable', typeName: string, fn: (fragment: ComparableFragmentExpression<REF[typeof database], T, T, 'optional'>) => IComparableValueSource<REF, T, T, 'optional'>, adapter?: TypeAdapter): ComparableValueSource<REF, T, T, 'optional'>; private __addWiths; private __registerTableOrView; private __registerRequiredColumn; private __getOldValues; private __getValuesForInsert; private __isAllowed; } export declare class View<Connection extends IConnection<any>, NAME extends string> extends ViewOf<VIEW<Connection[typeof database], NAME>> { constructor(name: string); } export {};