ts-odata-client
Version:
OData TypeScript Client
34 lines (33 loc) • 1.97 kB
TypeScript
import type { ODataQueryProvider } from "./ODataQueryProvider";
import { Expression } from "./Expression";
import type { ExcludeProperties } from "./ExcludeProperties";
import type { ODataV4Options } from "./ODataV4QueryProvider";
import { ODataQueryBase } from "./ODataQueryBase";
import type { ODataQueryResponse, ODataQueryResponseWithCount, ODataResponse } from "./ODataResponse";
import { resolveQuery, type ReplaceDateWithString } from "./ProxyFilterTypes";
/**
* Represents a query against an OData source.
* This query is agnostic of the version of OData supported by the server (the provided @type {ODataQueryProvider} is responsible for translating the query into the correct syntax for the desired OData version supported by the endpoint).
*/
export declare class ODataQuery<T, U = ExcludeProperties<T, []>> extends ODataQueryBase<T, U> {
readonly provider: ODataQueryProvider;
readonly expression?: Expression | undefined;
static forV4<T>(endpoint: string, options?: Partial<ODataV4Options>): ODataQuery<T, ExcludeProperties<T, []>>;
constructor(provider: ODataQueryProvider, expression?: Expression | undefined);
/**
* Returns a single record with the provided key value. Some functions (such as top, skip, filter, etc.) are ignored when this function is invoked.
* @param key
*/
getAsync(key: unknown): Promise<ODataResponse & ReplaceDateWithString<U>>;
/**
* Returns a set of records.
*/
getManyAsync(): Promise<ODataQueryResponse<ReplaceDateWithString<U>>>;
/**
* Returns a set of records, including the total count of records, which may not be the same as the number of records return if the results are paginated.
*/
getManyWithCountAsync(): Promise<ODataQueryResponseWithCount<ReplaceDateWithString<U>>>;
getValueAsync(): Promise<Blob>;
[resolveQuery](): unknown;
[Symbol.asyncIterator](): AsyncGenerator<ReplaceDateWithString<U>, undefined, undefined>;
}