UNPKG

slim-ef

Version:

An implementation of basic entity framework functionnalities in typescript

57 lines (56 loc) 2.81 kB
import { ExpressionResult, SlimExpressionFunction } from 'slim-exp'; import { ISpecification, FieldsSelector, CriteriaExpression, FunctionQueryType } from './specification.interface'; export declare class BaseSpecification<T extends object> implements ISpecification<T> { private _includes; private _distinct; private _chainedIncludes; private _criterias; private _orderBy; private _groupBy; private _orderByDescending; private _thenOrderBy; private _thenGroupBy; private _take; private _skip; private _isPagingEnabled; private _selector; private _func; private _initializeThenInclude; getIncludePaths(): string[]; getIncludes(): SlimExpressionFunction<T>[]; getDistinct(): boolean; getFunction(): { type: FunctionQueryType; func: SlimExpressionFunction<T>; }; getChainedIncludes(): { initial: SlimExpressionFunction<T>; chain: SlimExpressionFunction<any, any>[]; }[]; getCriterias(): CriteriaExpression<T>[]; getOrderBy(): SlimExpressionFunction<T>; getGroupBy(): SlimExpressionFunction<T>; getOrderByDescending(): SlimExpressionFunction<T>; getThenOrderBy(): SlimExpressionFunction<T>[]; getThenGroupBy(): SlimExpressionFunction<T>[]; getTake(): number; getSkip(): number; getIsPagingEnabled(): boolean; getSelector(): FieldsSelector<T>; applyPaging(skip: number, take: number): void; addInclude(include: SlimExpressionFunction<T>): void; applyDistinct(distinct?: boolean): void; addChainedInclude<S extends object>(include: SlimExpressionFunction<T, S>, include2: SlimExpressionFunction<S>): any; addChainedInclude<S extends object, R extends object>(include: SlimExpressionFunction<T, S>, include2: SlimExpressionFunction<S, R>, include3: SlimExpressionFunction<R>): any; addChainedInclude<S extends object, R extends object, P extends object>(include: SlimExpressionFunction<T, S>, include2: SlimExpressionFunction<S, R>, include3: SlimExpressionFunction<R, P>, include4: SlimExpressionFunction<P>): any; addCriteria<C extends object, S extends ExpressionResult>(func: SlimExpressionFunction<T, S, C>, context?: C | null): void; applySelector(selector: FieldsSelector<T>): void; applyOrderBy(orderBy: SlimExpressionFunction<T>): void; applyGroupBy(groupBy: SlimExpressionFunction<T>): void; applyFunction(type: FunctionQueryType, func: SlimExpressionFunction<T>): void; applyThenOrderBy(thenOrderBy: SlimExpressionFunction<T>): void; applyThenGroupBy(thenBy: SlimExpressionFunction<T>): void; applyOrderByDescending(orderBy: SlimExpressionFunction<T>): void; extend(spec: ISpecification<T>): void; clearSpecs(): void; }