@ngx-resource/core
Version:
Core of resource library
105 lines (104 loc) • 3.89 kB
TypeScript
import { Observable } from 'rxjs';
import { IResourceAction, IResourceActionInner, IResourceResponse, ResourceQueryMappingMethod } from './Declarations';
import { ResourceHandler } from './ResourceHandler';
export declare class Resource {
protected get requestHandler(): ResourceHandler;
private $url;
private $pathPrefix;
private $path;
private $headers;
private $body;
private $params;
private $query;
private _requestHandler;
constructor(requestHandler?: ResourceHandler);
/**
* Used to get url
*/
$getUrl(actionOptions?: IResourceAction): string | Promise<string>;
$setUrl(url: string): void;
/**
* Used to get path prefix
*/
$getPathPrefix(actionOptions?: IResourceAction): string | Promise<string>;
$setPathPrefix(path: string): void;
/**
* Used to get path
*/
$getPath(actionOptions?: IResourceAction): string | Promise<string>;
$setPath(path: string): void;
/**
* Get headers.
*/
$getHeaders(actionOptions?: IResourceAction): any | Promise<any>;
$setHeaders(headers: any): void;
/**
* Get body
*/
$getBody(actionOptions?: IResourceAction): any | Promise<any>;
$setBody(body: any): void;
/**
* Get path params
*/
$getParams(actionOptions?: IResourceAction): any | Promise<any>;
$setParams(params: any): void;
/**
* Get query params
*/
$getQuery(actionOptions?: IResourceAction): any | Promise<any>;
$setQuery(query: any): void;
/**
* Used to filter received data.
* Is applied on each element of array or object
*/
$filter(data: any, options?: IResourceActionInner): boolean;
/**
* Used to map received data
* Is applied on each element of array or object
*/
$map(data: any, options?: IResourceActionInner): any;
/**
* Used to create result object
* Is applied on each element of array or object
*/
$resultFactory(data: any, options?: IResourceActionInner): any;
$restAction(options: IResourceActionInner): any;
/**
* Converts observable to promise and ads abort method
*/
protected $_createPromise(options: IResourceActionInner): Promise<any>;
/**
* Creates main request observable
*/
protected $_createMainObservable(options: IResourceActionInner): Observable<any>;
/**
* Success response handler
*/
protected $handleSuccessResponse(options: IResourceActionInner, resp: IResourceResponse): any;
/**
* Prepare success response body as array
*/
protected $prepareSuccessResponseBodyArray(body: any[], options: IResourceActionInner): any[];
/**
* Prepare success response body as object
*/
protected $prepareSuccessResponseBodyObject(body: any, options: IResourceActionInner): any;
/**
* Handle error
*/
protected $handleErrorResponse(options: IResourceActionInner, resp: IResourceResponse): any;
/**
* Sets request options url
*/
protected $setRequestOptionsUrl(options: IResourceActionInner): void;
protected $setRequestOptionsBody(options: IResourceActionInner): void;
protected $setRequestOptionsQuery(options: IResourceActionInner): void;
protected $appendQueryParams(query: {
[prop: string]: string | any[];
}, key: string, value: any, queryMappingMethod?: ResourceQueryMappingMethod): void;
protected $_setResourceActionInnerDefaults(options: IResourceActionInner): void;
protected $_setResourceActionOptionDefaults(options: IResourceActionInner): void;
protected $_setResolvedOptions(options: IResourceActionInner): Promise<IResourceActionInner>;
protected $_createRequestOptions(options: IResourceActionInner): IResourceActionInner | Promise<IResourceActionInner>;
protected $_canSetInternalData(options: IResourceActionInner): boolean;
}