angular-odata
Version:
Client side OData typescript library for Angular
63 lines (62 loc) • 2.44 kB
TypeScript
import { HttpErrorResponse, HttpResponseBase } from '@angular/common/http';
import { Observable } from 'rxjs';
import { Subject } from 'rxjs';
import { ODataApi } from '../../api';
import { ODataRequest } from '../request';
import { ODataResource } from '../resource';
import { ODataOptions } from './options';
import { ODataApiOptions } from '../../options';
import { ODataResponse } from '../response';
export declare class ODataBatchRequest<T> extends Subject<HttpResponseBase> {
request: ODataRequest<any>;
id: string;
group: string;
constructor(request: ODataRequest<any>);
toString(): string;
toLegacy({ relativeUrls }?: {
relativeUrls?: boolean;
}): string;
toJson({ relativeUrls }?: {
relativeUrls?: boolean;
}): {
[name: string]: any;
};
onLoad(response: HttpResponseBase): void;
onError(response: HttpErrorResponse): void;
}
/**
* OData Batch Resource
* https://www.odata.org/getting-started/advanced-tutorial/#batch
*/
export declare class ODataBatchResource extends ODataResource<any> {
private _requests;
requests(): ODataRequest<any>[];
private _responses;
responses(): HttpResponseBase[] | null;
static factory(api: ODataApi): ODataBatchResource;
clone(): ODataBatchResource;
private storeRequester;
private restoreRequester;
/**
* Add to batch request
* @param ctx The context for the request
* @returns The result of execute the context
*/
add<R>(ctx: (batch: this) => R): R;
send(options?: ODataOptions): Observable<ODataResponse<any>>;
private sendJson;
private sendLegacy;
/**
* Execute the batch request
* @param ctx The context for the request
* @param options The options of the batch request
* @returns The result of execute the context
*/
exec<R>(ctx: (batch: this) => R, options?: ODataOptions): Observable<[R, ODataResponse<string>]>;
body(): string;
json(): Object;
static buildLegacyBody(batchBoundary: string, requests: ODataBatchRequest<any>[], options: ODataApiOptions): string;
static buildJsonBody(requests: ODataBatchRequest<any>[], options: ODataApiOptions): Object;
static parseLegacyResponse(requests: ODataBatchRequest<any>[], response: ODataResponse<string>): HttpResponseBase[];
static parseJsonResponse(requests: ODataBatchRequest<any>[], response: ODataResponse<any>): HttpResponseBase[];
}