@cheetah.js/orm
Version:
A simple ORM for Cheetah.js
29 lines (28 loc) • 1.11 kB
TypeScript
import { Statement } from '../driver/driver.interface';
import { EntityStorage, Options } from '../domain/entities';
export declare class SqlColumnManager {
private entityStorage;
private statements;
private entity;
constructor(entityStorage: EntityStorage, statements: Statement<any>, entity: Options);
generateColumns(model: Function, updatedColumns: string[]): string[];
processUserColumns(columns: string[]): string[];
getColumnsForEntity(entity: Function, alias: string): string[];
discoverAlias(column: string, onlyAlias?: boolean): string | undefined;
private getJoinColumns;
private getPropertyColumns;
private getRelationColumns;
private extractAliases;
private filterValid;
private isNestedColumn;
private buildSimpleColumnAlias;
private buildNestedColumnAlias;
private validateJoinsExist;
private resolveNestedAlias;
private buildJoinMaps;
private findNextAlias;
private formatColumnWithAlias;
private getColumnNameFromProperty;
private getColumnNameFromPropertyForEntity;
private getEntityFromAlias;
}