UNPKG

rxrest

Version:

RxRest a reactive REST utility

194 lines (193 loc) 6.07 kB
import { RxRestConfiguration } from './RxRestConfiguration'; import { BodyParam } from './interfaces'; import { RxRestCollection, RxRestItem } from './index'; import { Observable } from 'rxjs'; export declare class RxRest<F, T> { protected $route: string[]; $fromServer: boolean; $asIterable: boolean; $queryParams: URLSearchParams; $headers: Headers; config: RxRestConfiguration; $metadata: any; $pristine: boolean; $uuid?: string; /** * constructor * * @param {String} [route] the resource route */ constructor(config?: RxRestConfiguration, route?: string[], metadata?: any); protected addRoute(route: string): void; /** * one * * @param {String} route * @param {any} id * @returns {RxRestItem} */ one<T>(route: string, id?: any, ...suffix: string[]): RxRestItem<T>; /** * all * * @param {String} route * @param {boolean} [asIterable=true] - forces the next request to return an Observable<Array> * instead of emitting multiple events * @returns {RxRestCollection} */ all<T>(route: string, asIterable?: boolean): RxRestCollection<T>; /** * asIterable - sets the flag $asIterable * instead of emitting multiple events * * @returns {self} */ asIterable(value?: boolean): this; /** * fromObject * * @param {String} route * @param {Object|Object[]} element * @returns {RxRestItem|RxRestCollection} */ fromObject<T>(route: string, element: T | T[], suffix: string[]): RxRestItem<T> | RxRestCollection<T>; /** * @access private * @param {BodyParam} body * @return {BodyParam|RxRestItem} */ protected withBody(body: BodyParam<T>): Object; /** * post * * @param {Body|Blob|FormData|URLSearchParams|Object|RxRestItem} [body] * @param {Object|URLSearchParams} [queryParams] * @param {Object|Headers} [headers] * @returns {Observable<RxRestItem|RxRestCollection>} */ post(body?: BodyParam<T>, queryParams?: Object | URLSearchParams, headers?: Object | Headers): Observable<F>; /** * remove * * @param {Object|URLSearchParams} [queryParams] * @param {Object|Headers} [headers] * @returns {Observable<RxRestItem|RxRestCollection>} */ remove(queryParams?: Object | URLSearchParams, headers?: Object | Headers): Observable<F>; /** * get * * @param {Object|URLSearchParams} [queryParams] * @param {Object|Headers} [headers] * @returns {Observable<RxRestItem|RxRestCollection>} */ get(queryParams?: Object | URLSearchParams, headers?: Object | Headers): Observable<F>; /** * put * * @param {Body|Blob|FormData|URLSearchParams|Object|RxRestItem} [body] * @param {Object|URLSearchParams} [queryParams] * @param {Object|Headers} [headers] * @returns {Observable<RxRestItem|RxRestCollection>} */ put(body?: BodyParam<T>, queryParams?: Object | URLSearchParams, headers?: Object | Headers): Observable<F>; /** * patch * * @param {Body|Blob|FormData|URLSearchParams|Object|RxRestItem} [body] * @param {Object|URLSearchParams} [queryParams] * @param {Object|Headers} [headers] * @returns {Observable<RxRestItem|RxRestCollection>} */ patch(body?: BodyParam<T>, queryParams?: Object | URLSearchParams, headers?: Object | Headers): Observable<F>; /** * head * * @param {Object|URLSearchParams} [queryParams] * @param {Object|Headers} [headers] * @returns {Observable<RxRestItem|RxRestCollection>} */ head(queryParams?: Object | URLSearchParams, headers?: Object | Headers): Observable<F>; /** * trace * * @param {Object|URLSearchParams} [queryParams] * @param {Object|Headers} [headers] * @returns {Observable<RxRestItem|RxRestCollection>} */ trace(queryParams?: Object | URLSearchParams, headers?: Object | Headers): Observable<F>; /** * options * * @param {Object|URLSearchParams} [queryParams] * @param {Object|Headers} [headers] * @returns {Observable<RxRestItem|RxRestCollection>} */ options(queryParams?: Object | URLSearchParams, headers?: Object | Headers): Observable<F>; /** * URL * * @returns {string} */ readonly URL: string; /** * Get local query params * @return URLSearchParams */ /** * set local query params * @param {Object|URLSearchParams} params */ queryParams: any; /** * Sets local query params useful to add params to a custom request * @param {Object|URLSearchParams} * @return this */ setQueryParams(params: any): this; /** * Sets local headers useful to add headers to a custom request * @param {Object|URLSearchParams} * @return this */ setHeaders(params: any): this; /** * Get request query params * Combine local and global query params * Local query params are overriding global params * @return {String} */ readonly requestQueryParams: string; /** * Get local headers * @return Headers */ /** * Set local headers * @param {Object|Headers} params */ headers: any; /** * get request Headers * Combine local and global headers * Local headers are overriding global headers * * @returns {Headers} */ readonly requestHeaders: Headers; /** * expandInterceptors * * @param {RequestInterceptor[]|ResponseInterceptor[]|ErrorInterceptor[]} interceptors * @returns {Observable<any>} fn */ private expandInterceptors(interceptors); /** * request * * @param {string} method * @param {RxRestItem|FormData|URLSearchParams|Body|Blob|undefined|Object} [body] * @returns {Observable<RxRestItem|RxRestCollection>} */ request(method: string, body?: BodyParam<T>): Observable<F>; }