UNPKG

@sqb/connect

Version:

Multi-dialect database connection framework written with TypeScript

39 lines (38 loc) 3.27 kB
import { Maybe, Type } from 'ts-gems'; import { AssociationFieldMetadata } from '../model/association-field-metadata.js'; import { ColumnFieldMetadata } from '../model/column-field-metadata.js'; import { EmbeddedFieldMetadata } from '../model/embedded-field-metadata.js'; import { AnyFieldMetadata, EntityMetadata, EntityOptions } from '../model/entity-metadata.js'; import { IndexMetadata } from '../model/index-metadata.js'; export declare function Entity(options?: EntityOptions | string): ClassDecorator; export declare namespace Entity { const getMetadata: typeof EntityMetadata.get; const getOwnMetadata: typeof EntityMetadata.getOwn; function getField<T>(ctor: Type<T>, key: keyof T | string): Maybe<AnyFieldMetadata>; function getColumnField<T>(ctor: Type<T>, key: keyof T | string): Maybe<ColumnFieldMetadata>; function getEmbeddedField<T>(ctor: Type<T>, key: keyof T | string): Maybe<EmbeddedFieldMetadata>; function getAssociationField<T>(ctor: Type<T>, key: keyof T | string): Maybe<AssociationFieldMetadata>; function getColumnFieldByFieldName(ctor: Type, fieldName: string): Maybe<ColumnFieldMetadata>; function find(ctor: Type, predicate: (el: AnyFieldMetadata) => boolean): Maybe<AnyFieldMetadata>; function getFieldNames(ctor: Type, filter?: (el: AnyFieldMetadata) => boolean): string[]; function getColumnFieldNames(ctor: Type): string[]; function getEmbeddedFieldNames(ctor: Type): string[]; function getAssociationFieldNames(ctor: Type): string[]; function getNonAssociationFieldNames(ctor: Type): string[]; function getInsertColumnNames(ctor: Type): string[]; function getUpdateColumnNames(ctor: Type): string[]; function getPrimaryIndex(ctor: Type): Maybe<IndexMetadata>; function getPrimaryIndexColumns(ctor: Type): ColumnFieldMetadata[]; function mixin<A, B>(derivedCtor: Type<A>, baseB: Type<B>): Type<A & B>; function mixin<A, B, C>(derivedCtor: Type<A>, baseB: Type<B>, baseC: Type<C>): Type<A & B & C>; function mixin<A, B, C, D>(derivedCtor: Type<A>, baseB: Type<B>, baseC: Type<C>, baseD: Type<D>): Type<A & B & C & D>; function mixin<A, B, C, D, E>(derivedCtor: Type<A>, baseB: Type<B>, baseC: Type<C>, baseD: Type<D>, baseE: Type<E>): Type<A & B & C & D & E>; function mixin<A, B, C, D, E, F>(derivedCtor: Type<A>, baseB: Type<B>, baseC: Type<C>, baseD: Type<D>, baseE: Type<E>, baseF: Type<F>): Type<A & B & C & D & E & F>; function Pick<T, K extends keyof T>(classRef: Type<T>, keys: readonly K[]): Type<Pick<T, (typeof keys)[number]>>; function Omit<T, K extends keyof T>(classRef: Type<T>, keys: readonly K[]): Type<Omit<T, (typeof keys)[number]>>; function Union<A, B>(baseA: Type<A>, baseB: Type<B>): Type<A & B>; function Union<A, B, C>(baseA: Type<A>, baseB: Type<B>, baseC: Type<C>): Type<A & B & C>; function Union<A, B, C, D>(baseA: Type<A>, baseB: Type<B>, baseC: Type<C>, baseD: Type<D>): Type<A & B & C & D>; function Union<A, B, C, D, E>(baseA: Type<A>, baseB: Type<B>, baseC: Type<C>, baseD: Type<D>, baseE: Type<E>): Type<A & B & C & D & E>; function Union<A, B, C, D, E, F>(baseA: Type<A>, baseB: Type<B>, baseC: Type<C>, baseD: Type<D>, baseE: Type<E>, baseF: Type<F>): Type<A & B & C & D & E & F>; }