@sqb/connect
Version:
Multi-dialect database connection framework written with TypeScript
39 lines (38 loc) • 3.27 kB
TypeScript
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>;
}