UNPKG

ts-odata-client

Version:
34 lines (33 loc) 1.97 kB
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>; }