angular-odata
Version:
Client side OData typescript library for Angular
69 lines (68 loc) • 3 kB
TypeScript
import { Parser, ParserOptions } from '../../../types';
import { QueryCustomType, Unpacked } from '../builder';
import { Expression } from './base';
import { ComputeExpression, ComputeExpressionBuilder } from './compute';
import { FilterExpression, FilterExpressionBuilder } from './filter';
import { OrderByExpression, OrderByExpressionBuilder } from './orderby';
import { SearchExpression, SearchExpressionBuilder } from './search';
import { SelectExpression, SelectExpressionBuilder } from './select';
import { Renderable } from './syntax';
export declare class ExpandField<T> implements Renderable {
protected field: any;
private values;
constructor(field: any, values?: {
[name: string]: any;
});
get [Symbol.toStringTag](): string;
toJson(): {
field: any;
};
render({ aliases, escape, prefix, parser, options, }: {
aliases?: QueryCustomType[];
escape?: boolean;
prefix?: string;
parser?: Parser<T>;
options?: ParserOptions;
}): string;
clone(): ExpandField<T>;
resolve(parser: any): any;
select(opts: (builder: SelectExpressionBuilder<T>, current?: SelectExpression<T>) => SelectExpression<T>): SelectExpression<T>;
expand(opts: (builder: ExpandExpressionBuilder<T>, current?: ExpandExpression<T>) => ExpandExpression<T>): ExpandExpression<T>;
filter(opts: (builder: FilterExpressionBuilder<T>, current?: FilterExpression<T>) => FilterExpression<T>): FilterExpression<T>;
search(opts: (builder: SearchExpressionBuilder<T>) => SearchExpression<T>): SearchExpression<T>;
orderBy(opts: (builder: OrderByExpressionBuilder<T>, current?: OrderByExpression<T>) => OrderByExpression<T>): OrderByExpression<T>;
compute(opts: (builder: ComputeExpressionBuilder<T>, current?: ComputeExpression<T>) => ComputeExpression<T>): ComputeExpression<T>;
skip(n: number): number;
top(n: number): number;
levels(n: number | 'max'): number | "max";
count(): boolean;
private option;
}
export type ExpandExpressionBuilder<T> = {
t: Required<T>;
e: () => ExpandExpression<T>;
};
export declare class ExpandExpression<T> extends Expression<T> {
constructor({ children, }?: {
children?: Renderable[];
});
get [Symbol.toStringTag](): string;
static factory<T>(opts: (builder: ExpandExpressionBuilder<T>, current?: ExpandExpression<T>) => ExpandExpression<T>, current?: ExpandExpression<T>): ExpandExpression<T>;
toJson(): {
$type: string;
children: any[];
};
static fromJson<T>(json: {
[name: string]: any;
}): ExpandExpression<T>;
render({ aliases, escape, prefix, parser, options, }?: {
aliases?: QueryCustomType[];
escape?: boolean;
prefix?: string;
parser?: Parser<T>;
options?: ParserOptions;
}): string;
clone(): ExpandExpression<T>;
private _add;
field<F>(field: F, opts?: (e: ExpandField<Unpacked<F>>) => void): ExpandExpression<T>;
}