UNPKG

database-builder

Version:

Library to assist in creating and maintaining SQL commands.

41 lines (40 loc) 2.36 kB
import { ReturnExpression } from "lambda-expression"; import { ValueTypeToParse } from "./core/utils"; import { DatabaseHelper } from "./database-helper"; import { FieldType } from "./core/enums/field-type"; import { PrimaryKeyType } from "./core/enums/primary-key-type"; import { GetMapper } from "./mapper/interface-get-mapper"; import { MetadataTableBase } from "./metadata-table-base"; import { WhereBuilder } from "./crud/where-builder"; import { DatabaseTypes } from "./definitions"; export declare class MetadataTable<T> extends MetadataTableBase<T> { private _databaseHelper; private _getMapper; readOnly: boolean; tableName: string; instance: T; private _autoMapperCalled; private _expressionUtils; constructor(_newable: new () => T, _databaseHelper: DatabaseHelper, _getMapper: GetMapper, readOnly?: boolean, tableName?: string); column<TReturn>(expression: ReturnExpression<TReturn, T>, type?: (new () => TReturn) | DatabaseTypes, primaryKeyType?: PrimaryKeyType): MetadataTable<T>; hasQueryFilter(whereCallback: (where: WhereBuilder<T>) => void): MetadataTable<T>; hasMany<TArray, TReturn extends TArray[]>(expression: ReturnExpression<TReturn, T>, type: new () => TArray, tableName: string): MetadataTable<T>; referenceKey<TKey, TReturn>(expression: ReturnExpression<TKey, T>, expressionKey: ReturnExpression<TReturn, TKey>, type?: new () => TReturn): MetadataTable<T>; reference<TReturn>(expression: ReturnExpression<TReturn, T>, type?: new () => TReturn): MetadataTable<T>; key<TReturn>(expression: ReturnExpression<TReturn, T>, primaryKeyType?: PrimaryKeyType, type?: new () => TReturn): MetadataTable<T>; ignore<TReturn>(expression: ReturnExpression<TReturn, T>): MetadataTable<T>; autoMapper(references?: boolean, referencesId?: boolean, referencesIdRecursive?: boolean): MetadataTable<T>; protected getTypeByValue(value: ValueTypeToParse): FieldType; private validInstanceMapper; private validExpressionMapper; private columnName; private getTypeByExpression; private getMapper; private isKeyColumn; private autoMapperColumns; private addReference; private mapperReference; private getMapperColumnReference; private autoColumnsModelReferencesRecursive; private addDependencyArray; }