rxrest
Version:
RxRest a reactive REST utility
77 lines (76 loc) • 2.05 kB
TypeScript
import { RequestInterceptor, ResponseInterceptor, ErrorInterceptor } from './interfaces';
import { BodyParam } from './interfaces';
export interface RequestBodyHandler<T> {
(body: BodyParam<T>): FormData | URLSearchParams | Body | Blob | undefined | string | Promise<any>;
}
export interface ResponseBodyHandler {
(body: Response): Promise<any>;
}
/**
* RxRestConfiguration
*/
export declare class RxRestConfiguration {
private $baseURL;
private $headers;
private $queryParams;
identifier: string;
requestInterceptors: RequestInterceptor[];
responseInterceptors: ResponseInterceptor[];
errorInterceptors: ErrorInterceptor[];
fetch: any;
abortCallback: (req: Request) => void;
uuid: boolean;
constructor();
/**
* requestBodyHandler
* JSONify the body if it's an `RxRestItem` or an `Object`
*
* @param {FormData|URLSearchParams|Body|Blob|undefined} body
* @returns {any}
*/
_requestBodyHandler(body: FormData | URLSearchParams | Body | Blob | undefined): FormData | URLSearchParams | Body | Blob | undefined | string | Promise<any>;
/**
* responseBodyHandler
* transforms the response to a json object
*
* @param {Response} body
* @reject when response is an error
* @returns {Promise<any>}
*/
_responseBodyHandler(body: Response): Promise<{
body: any;
metadata: any;
}>;
responseBodyHandler: ResponseBodyHandler;
requestBodyHandler: RequestBodyHandler<any>;
/**
* get baseURL
*
* @returns {string}
*/
/**
* set baseURL
*
* @param {String} base
* @returns
*/
baseURL: string;
/**
* Get global query params
* @return {URLSearchParams}
*/
/**
* Set global query params
* @param {Object|URLSearchParams} params
*/
queryParams: any;
/**
* Get global headers
* @return Headers
*/
/**
* set global headers
* @param {Object|Headers} params
*/
headers: any;
}