@cheetah.js/orm
Version:
A simple ORM for Cheetah.js
39 lines (38 loc) • 1.47 kB
TypeScript
import { FilterQuery, Relationship, Statement } from '../driver/driver.interface';
import { EntityStorage } from '../domain/entities';
type ApplyJoinCallback = (relationship: Relationship<any>, value: FilterQuery<any>, alias: string) => string;
export declare class SqlConditionBuilder<T> {
private entityStorage;
private applyJoinCallback;
private statements;
private readonly OPERATORS;
private lastKeyNotOperator;
constructor(entityStorage: EntityStorage, applyJoinCallback: ApplyJoinCallback, statements: Statement<T>);
build(condition: FilterQuery<T>, alias: string, model: Function): string;
private processConditions;
private processEntry;
private handleRelationship;
private handleScalarValue;
private handleObjectValue;
private buildLogicalOperatorCondition;
private buildOperatorConditions;
private buildOperatorCondition;
private buildSimpleCondition;
private buildInCondition;
private buildNotInCondition;
private buildLikeCondition;
private buildComparisonCondition;
private buildNestedLogicalCondition;
private wrapWithLogicalOperator;
private extractValueFromValueObject;
private formatValue;
private findRelationship;
private isScalarValue;
private isArrayValue;
private isLogicalOperator;
private extractLogicalOperator;
private trackLastNonOperatorKey;
private resolveColumnName;
private resolveRelationColumn;
}
export {};