pailingual-odata
Version:
TypeScript client for OData v4 services
61 lines (60 loc) • 2.13 kB
TypeScript
import { EdmEntityType, OperationMetadata, ApiMetadata } from "./metadata";
import { Options } from "./options";
export declare class Query {
protected readonly _apiMetadata: ApiMetadata;
protected _entityMetadata: EdmEntityType;
protected readonly _options?: Options | undefined;
protected _segments: Segment[];
protected params: QueryParams;
protected _method: ODataMethods;
protected _payload: any;
private constructor();
static create(apiMetadata: ApiMetadata, entityMetadata: EdmEntityType, options: Options | undefined): Query;
private _clone;
private _freeze;
private _action;
private _func;
byKey(keyExpr: string): Query;
cast(fullTypeName: string): Query;
navigate(property: string, entityMetadata: EdmEntityType): Query;
operation(metadata: OperationMetadata, args: any[]): Query;
count(o?: {
inline: boolean;
}): Query;
delete(): Query;
expand(expand: string, expr?: Function): Query;
filter(expr: string): Query;
insert(payload: any): Query;
orderBy(expressions: string[]): Query;
search(expr: string): Query;
select(fields: string[]): Query;
skip(num: number): Query;
top(num: number): Query;
update(payload: string, put: boolean): Query;
url(queryParams?: boolean, options?: Options): string;
buildParams(options: Options, separator?: string): string;
processParameter(name: string, value: any, options: Options): string | undefined;
private expandToString;
exec(options: Options | undefined): Promise<any>;
private _fetchData;
}
declare type ExpandExpr = {
expand: string;
expr?: Function;
};
declare type QueryParams = {
[x: string]: any;
filter?: string[];
top?: number;
skip?: number;
orderBy?: string[];
expand?: ExpandExpr[];
select?: string[];
count?: boolean;
search?: string[];
};
declare type ODataMethods = "get" | "post" | "put" | "patch" | "delete";
declare abstract class Segment {
abstract toUrlFragment(options: Options): string;
}
export {};