database-builder
Version:
Library to assist in creating and maintaining SQL commands.
25 lines (24 loc) • 1.36 kB
TypeScript
import { ExpressionOrColumn, ValueTypeToParse } from "./utils";
import { MapperTable } from "../mapper-table";
import { Column } from "./column";
import { FieldType } from "./enums/field-type";
import { ColumnsCompiled } from "./columns-compiled";
import { PrimaryKeyType } from "./enums/primary-key-type";
export declare abstract class ColumnsBaseBuilder<TThis extends ColumnsBaseBuilder<TThis, T, TColumn>, T, TColumn extends Column> {
protected readonly mapperTable: MapperTable;
protected readonly toSave: T | Array<T>;
protected _columns: TColumn[];
private _databaseHelper;
constructor(mapperTable: MapperTable, toSave: T | Array<T>);
get columns(): TColumn[];
allColumns(): void;
setColumn(column: string, type: FieldType, primaryKeyType: PrimaryKeyType): TThis;
set<TReturn extends ValueTypeToParse>(columnExpression: ExpressionOrColumn<TReturn, T>, primaryKeyType: PrimaryKeyType, type?: new () => TReturn): TThis;
compile(): ColumnsCompiled;
protected isCompositeKey(): boolean;
protected abstract columnFormat(column: TColumn): string;
protected abstract getInstance(): TThis;
protected abstract setColumnValue(column: string, value: ValueTypeToParse[], fieldType: FieldType, primaryKeyType: PrimaryKeyType): TThis;
private setAllColumns;
private getFieldType;
}