UNPKG

slim-ef

Version:

An implementation of basic entity framework functionnalities in typescript

36 lines (35 loc) 1.44 kB
import { ISpecification, IQuerySpecificationEvaluator, QueryType } from './specification.interface'; import { SelectQueryBuilder } from 'typeorm'; import { SlimExpressionFunction } from 'slim-exp'; export declare class SQLQuerySpecificationEvaluator<T extends object> implements IQuerySpecificationEvaluator<T> { private readonly initialQuery; private readonly spec; private registerdAliases; private _query; private _queryReady; private _discriminator; private _selectBuilder; constructor(initialQuery: (alias: string) => SelectQueryBuilder<T>, spec: ISpecification<T>); _applyLeftJoin(query: SelectQueryBuilder<T>, intialAlias: string, exp: SlimExpressionFunction<T> | string): { propertyName: string; entityAlias: string; }; private _applyJoin; private _getFieldNameAndAlias; private _getPropertyAlias; private _getFieldFromRegisteredAlias; private _isOrBinding; private _generateQuery; private _chunkDownToQuery; private _applyRecursively; private _getQuerySequence; private _buildQueryFromExpression; private _polyfillDate; private _handleFunctionInvokation; private _getUniqueParamName; getParams(): any; getQuery<R extends object>(): Promise<string>; private _buildSelect; private _applyFunction; executeQuery<R extends object = T, Q = R[]>(type: QueryType): Promise<Q>; }