UNPKG

igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

16 lines (15 loc) 902 B
import { IFilteringExpression } from './filtering-expression.interface'; import { IFilteringExpressionsTree } from './filtering-expressions-tree'; export interface IFilteringStrategy { filter(data: any[], expressionsTree: IFilteringExpressionsTree): any[]; } export declare abstract class BaseFilteringStrategy implements IFilteringStrategy { abstract filter(data: any[], expressionsTree: IFilteringExpressionsTree): any[]; protected abstract getFieldValue(rec: object, fieldName: string): any; findMatchByExpression(rec: object, expr: IFilteringExpression): boolean; matchRecord(rec: object, expressions: IFilteringExpressionsTree | IFilteringExpression): boolean; } export declare class FilteringStrategy extends BaseFilteringStrategy { filter<T>(data: T[], expressionsTree: IFilteringExpressionsTree): T[]; protected getFieldValue(rec: object, fieldName: string): any; }