angular-odata
Version:
Client side OData typescript library for Angular
55 lines (54 loc) • 1.84 kB
TypeScript
import { Parser, ParserOptions } from '../../../types';
import { QueryCustomType } from '../builder';
import { Expression } from './base';
import { Renderable } from './syntax';
export type OrderAttribute = 'asc' | 'desc';
export declare class OrderByField implements Renderable {
protected field: Renderable;
protected order: OrderAttribute;
constructor(field: Renderable, order: OrderAttribute);
get [Symbol.toStringTag](): string;
toJson(): {
$type: string;
field: any;
order: OrderAttribute;
};
render({ aliases, escape, prefix, parser, options, }: {
aliases?: QueryCustomType[];
escape?: boolean;
prefix?: string;
parser?: Parser<any>;
options?: ParserOptions;
}): string;
clone(): OrderByField;
resolve(parser: any): any;
}
export type OrderByExpressionBuilder<T> = {
t: Required<T>;
e: () => OrderByExpression<T>;
};
export declare class OrderByExpression<T> extends Expression<T> {
constructor({ children, }?: {
children?: Renderable[];
});
get [Symbol.toStringTag](): string;
static factory<T>(opts: (builder: OrderByExpressionBuilder<T>, current?: OrderByExpression<T>) => OrderByExpression<T>, current?: OrderByExpression<T>): OrderByExpression<T>;
private _add;
toJson(): {
$type: string;
children: any[];
};
static fromJson<T>(json: {
[name: string]: any;
}): OrderByExpression<T>;
render({ aliases, escape, prefix, parser, options, }?: {
aliases?: QueryCustomType[];
escape?: boolean;
prefix?: string;
parser?: Parser<T>;
options?: ParserOptions;
}): string;
clone(): OrderByExpression<T>;
ascending(field: any): OrderByExpression<T>;
descending(field: any): OrderByExpression<T>;
}