@equantic/linq
Version:
eQuantic Linq for JavaScript
18 lines (17 loc) • 815 B
TypeScript
import type { FieldPath } from '../base.js';
import { CompositeOperator } from './CompositeOperator.js';
export type FilterOperator = 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'ct' | 'in' | 'sw' | 'ew';
export interface IFilteringInfo<TData extends object = any> {
column: FieldPath<TData>;
operator?: FilterOperator;
}
export interface IFiltering<TData extends object> extends IFilteringInfo<TData> {
value: any;
}
export interface ICompositeFiltering {
values: string[];
compositeOperator: CompositeOperator;
}
export declare const funcRegex: RegExp;
export declare function parseExpression<TData extends object = any>(exp: string): IFiltering<TData>;
export declare function parseComposite<TData extends object = any>(exp: string, result: IFiltering<TData>[]): ICompositeFiltering | null;