angular-odata
Version:
Client side OData typescript library for Angular
63 lines (62 loc) • 2.1 kB
TypeScript
import { Parser, ParserOptions } from '../../../types';
import { QueryCustomType } from '../builder';
import { Expression } from './base';
import { Renderable } from './syntax';
export type SearchConnector = 'AND' | 'OR';
export declare class SearchTerm implements Renderable {
protected value: string;
constructor(value: string);
get [Symbol.toStringTag](): string;
toJson(): {
$type: string;
value: string;
};
render({ aliases, escape, prefix, parser, options, }: {
aliases?: QueryCustomType[];
escape?: boolean;
prefix?: string;
parser?: Parser<any>;
options?: ParserOptions;
}): string;
clone(): SearchTerm;
resolve(parser: any): any;
}
export type SearchExpressionBuilder<T> = {
e: (connector?: SearchConnector) => SearchExpression<T>;
};
export declare class SearchExpression<T> extends Expression<T> {
private _connector;
private _negated;
constructor({ children, connector, negated, }?: {
children?: Renderable[];
connector?: SearchConnector;
negated?: boolean;
});
get [Symbol.toStringTag](): string;
static factory<T>(opts: (builder: SearchExpressionBuilder<T>, current?: SearchExpression<T>) => SearchExpression<T>, current?: SearchExpression<T>): SearchExpression<T>;
private _add;
render({ aliases, escape, prefix, parser, options, }?: {
aliases?: QueryCustomType[];
escape?: boolean;
prefix?: string;
parser?: Parser<T>;
options?: ParserOptions;
}): string;
clone(): SearchExpression<T>;
toJson(): {
$type: string;
children: any[];
} & {
connector: SearchConnector;
negated: boolean;
};
static fromJson<T>(json: {
[name: string]: any;
}): SearchExpression<T>;
connector(): SearchConnector;
negated(): boolean;
or(exp: SearchExpression<T>): SearchExpression<T>;
and(exp: SearchExpression<T>): SearchExpression<T>;
not(exp: SearchExpression<T>): SearchExpression<T>;
term(value: any): SearchExpression<T>;
}