@odata2ts/odata-service
Version:
Main runtime dependency of odata2ts for generated odata client services
36 lines (35 loc) • 1.92 kB
TypeScript
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 {};