UNPKG

angular-odata

Version:

Client side OData typescript library for Angular

77 lines (76 loc) 3.28 kB
import { Parser, ParserOptions } from '../../../types'; import { QueryCustomType } from '../builder'; import { Expression } from './base'; import { CountExpression, CountField } from './count'; import { Normalize, ODataFunctions, ODataOperators, Renderable } from './syntax'; export type FilterConnector = 'and' | 'or'; export type FilterExpressionBuilder<T> = { t: Required<T>; e: (connector?: FilterConnector) => FilterExpression<T>; o: ODataOperators<T>; f: ODataFunctions<T>; }; export declare class FilterExpression<F> extends Expression<F> { private _connector; private _negated; constructor({ children, connector, negated, }?: { children?: Renderable[]; connector?: FilterConnector; negated?: boolean; }); get [Symbol.toStringTag](): string; static factory<T>(opts: (builder: FilterExpressionBuilder<T>, current?: FilterExpression<T>) => FilterExpression<T>, current?: FilterExpression<T>): FilterExpression<T>; toJson(): { $type: string; children: any[]; } & { connector: FilterConnector; negated: boolean; }; static fromJson<T>(json: { [name: string]: any; }): FilterExpression<T>; connector(): FilterConnector; negated(): boolean; render({ aliases, escape, prefix, parser, options, }?: { aliases?: QueryCustomType[]; escape?: boolean; prefix?: string; parser?: Parser<any>; options?: ParserOptions; }): string; clone(): FilterExpression<F>; private _add; or(exp: FilterExpression<F>): FilterExpression<F>; and(exp: FilterExpression<F>): FilterExpression<F>; not(exp: FilterExpression<F>): FilterExpression<F>; eq(left: any, right: any, normalize?: Normalize): FilterExpression<F>; ne(left: any, right: any, normalize?: Normalize): FilterExpression<F>; gt(left: any, right: any, normalize?: Normalize): FilterExpression<F>; ge(left: any, right: any, normalize?: Normalize): FilterExpression<F>; lt(left: any, right: any, normalize?: Normalize): FilterExpression<F>; le(left: any, right: any, normalize?: Normalize): FilterExpression<F>; has(left: any, right: any, normalize?: Normalize): FilterExpression<F>; in(left: any, right: any, normalize?: Normalize): FilterExpression<F>; contains(left: any, right: any, normalize?: Normalize): FilterExpression<F>; startsWith(left: any, right: any, normalize?: Normalize): FilterExpression<F>; endsWith(left: any, right: any, normalize?: Normalize): FilterExpression<F>; any<N>(left: N[], opts?: (e: { e: (connector?: FilterConnector) => FilterExpression<N>; t: N; o: ODataOperators<N>; f: ODataFunctions<N>; }) => FilterExpression<N>, alias?: string): FilterExpression<F>; all<N>(left: N[], opts?: (e: { t: N; e: (connector?: FilterConnector) => FilterExpression<N>; o: ODataOperators<N>; f: ODataFunctions<N>; }) => FilterExpression<N>, alias?: string): FilterExpression<F>; count<N>(left: N[], opts?: (e: { t: N; f: CountField<N>; }) => CountExpression<N>): FilterExpression<F>; isof(type: string): FilterExpression<F>; isof(left: F, type: string): FilterExpression<F>; }