UNPKG

@odata2ts/odata-service

Version:

Main runtime dependency of odata2ts for generated odata client services

36 lines (35 loc) 1.92 kB
import { ODataHttpClient, ODataHttpClientConfig, ODataResponse } from "@odata2ts/http-client-api"; import { ODataCollectionResponseV4, ODataModelPayloadV4, ODataModelResponseV4 } from "@odata2ts/odata-core"; import { ODataQueryBuilderV4 } from "@odata2ts/odata-query-builder"; import { PrimitiveCollectionType, QueryObjectModel } from "@odata2ts/odata-query-objects"; import { ODataServiceOptionsInternal } from "../ODataServiceOptions"; import { ServiceStateHelperV4 } from "./ServiceStateHelperV4.js"; type PrimitiveExtractor<T> = T extends PrimitiveCollectionType<infer E> ? E : T; export declare class CollectionServiceV4<in out ClientType extends ODataHttpClient, T, Q extends QueryObjectModel, EditableT = PrimitiveExtractor<T>> { protected readonly __base: ServiceStateHelperV4<ClientType, Q>; constructor(client: ClientType, basePath: string, name: string, qModel: Q, options?: ODataServiceOptionsInternal); getPath(): string; /** * Add a new item to the collection. * * @param model primitive value * @param requestConfig */ add(model: ODataModelPayloadV4<EditableT>, requestConfig?: ODataHttpClientConfig<ClientType>): ODataResponse<void | ODataModelResponseV4<T>>; /** * Update the whole collection. * * @param models set of primitive values * @param requestConfig */ update(models: Array<ODataModelPayloadV4<EditableT>>, requestConfig?: ODataHttpClientConfig<ClientType>): ODataResponse<void | ODataCollectionResponseV4<T>>; /** * Delete the whole collection. */ delete(requestConfig?: ODataHttpClientConfig<ClientType>): ODataResponse<void>; /** * Query collection of primitive values. */ query<ReturnType = T>(queryFn?: (builder: ODataQueryBuilderV4<Q>, qObject: Q) => void, requestConfig?: ODataHttpClientConfig<ClientType>): ODataResponse<ODataCollectionResponseV4<ReturnType>>; } export {};