UNPKG

@equantic/linq

Version:
18 lines (17 loc) 815 B
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;