UNPKG

ngx-resource-gearheart

Version:

Angular2 resource module with simple decorators. Customized by Gearheart.

151 lines (150 loc) 4.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ResourceGlobalConfig_1 = require("./ResourceGlobalConfig"); var Resource = (function () { function Resource(http, injector) { this.http = http; this.injector = injector; this._url = null; this._path = null; this._headers = null; this._params = null; this._data = null; var model = this.initResultObject(); Reflect.defineMetadata('resource', this, model.constructor); if (!!this.initStorage) { this.storage = this.initStorage(); } } /** * Get main url of the resource * @returns {string|Promise<string>} */ Resource.prototype.getUrl = function (methodOptions) { return this._url || this._getUrl(methodOptions) || ResourceGlobalConfig_1.ResourceGlobalConfig.url || ''; }; /** * Set resource url * @param url */ Resource.prototype.setUrl = function (url) { this._url = url; }; /** * Get path of the resource * @returns {string|Promise<string>} */ Resource.prototype.getPath = function (methodOptions) { return this._path || this._getPath(methodOptions) || ResourceGlobalConfig_1.ResourceGlobalConfig.path || ''; }; /** * Set resource path * @param path */ Resource.prototype.setPath = function (path) { this._path = path; }; /** * Get headers * @returns {any|Promise<any>} */ Resource.prototype.getHeaders = function (methodOptions) { return this._headers || this._getHeaders(methodOptions) || ResourceGlobalConfig_1.ResourceGlobalConfig.headers || {}; }; /** * Set resource headers * @param headers */ Resource.prototype.setHeaders = function (headers) { this._headers = headers; }; /** * Get default params * @returns {any|Promise<any>|{}} */ Resource.prototype.getParams = function (methodOptions) { return this._params || this._getParams(methodOptions) || ResourceGlobalConfig_1.ResourceGlobalConfig.params || {}; }; /** * Set default resource params * @param params */ Resource.prototype.setParams = function (params) { this._params = params; }; /** * Get default data * @returns {any|Promise<any>|{}} */ Resource.prototype.getData = function (methodOptions) { return this._data || this._getData(methodOptions) || ResourceGlobalConfig_1.ResourceGlobalConfig.data || {}; }; /** * Set default resource params * @param data */ Resource.prototype.setData = function (data) { this._data = data; }; /** * That is called before executing request * @param req */ Resource.prototype.requestInterceptor = function (req, methodOptions) { return req; }; /** * Request observable interceptor * @param observable * @returns {Observable<any>} */ Resource.prototype.responseInterceptor = function (observable, req, methodOptions) { return observable.map(function (res) { return res._body ? res.json() : null; }); }; Resource.prototype.removeTrailingSlash = function () { return true; }; Resource.prototype.initResultObject = function () { return {}; }; Resource.prototype.map = function (item) { return item; }; Resource.prototype.filter = function (item) { return true; }; Resource.prototype.getResourceOptions = function () { return null; }; Resource.prototype.createModel = function () { var ret = this.initResultObject(); ret.$resource = this; return ret; }; Resource.prototype._request = function (req, methodOptions) { if (methodOptions === void 0) { methodOptions = {}; } var requestObservable = this.http.request(req); // noinspection TypeScriptValidateTypes return methodOptions.responseInterceptor ? methodOptions.responseInterceptor.bind(this)(requestObservable, req, methodOptions) : this.responseInterceptor(requestObservable, req, methodOptions); }; Resource.prototype._getUrl = function (methodOptions) { return null; }; Resource.prototype._getPath = function (methodOptions) { return null; }; Resource.prototype._getHeaders = function (methodOptions) { return null; }; Resource.prototype._getParams = function (methodOptions) { return null; }; Resource.prototype._getData = function (methodOptions) { return null; }; return Resource; }()); Resource.instance = undefined; exports.Resource = Resource;