UNPKG

@pvillaverde/ngx-restangular

Version:
82 lines 6 kB
/** * @fileoverview added by tsickle * Generated from: lib/ngx-restangular-http.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { HttpClient, HttpErrorResponse, HttpResponse } from '@angular/common/http'; import { throwError } from 'rxjs'; import { RestangularHelper } from './ngx-restangular-helper'; import { catchError, filter, map } from 'rxjs/operators'; export class RestangularHttp { /** * @param {?} http */ constructor(http) { this.http = http; } /** * @param {?} options * @return {?} */ createRequest(options) { /** @type {?} */ const request = RestangularHelper.createRequest(options); return this.request(request); } /** * @param {?} request * @return {?} */ request(request) { return this.http.request(request) .pipe(filter((/** * @param {?} event * @return {?} */ event => event instanceof HttpResponse)), map((/** * @param {?} response * @return {?} */ (response) => { if (!response.ok) { return throwError(new HttpErrorResponse(response)); } return response; })), map((/** * @param {?} response * @return {?} */ response => { response.config = { params: request }; return response; })), catchError((/** * @param {?} err * @return {?} */ err => { err.request = request; err.data = err.error; err.repeatRequest = (/** * @param {?=} newRequest * @return {?} */ (newRequest) => { return this.request(newRequest || request); }); return throwError(err); }))); } } RestangularHttp.decorators = [ { type: Injectable } ]; /** @nocollapse */ RestangularHttp.ctorParameters = () => [ { type: HttpClient } ]; if (false) { /** @type {?} */ RestangularHttp.prototype.http; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXJlc3Rhbmd1bGFyLWh0dHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVzdGFuZ3VsYXIvc3JjL2xpYi9uZ3gtcmVzdGFuZ3VsYXItaHR0cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBMEIsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0csT0FBTyxFQUFFLFVBQVUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUU5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RCxNQUFNLE9BQU8sZUFBZTs7OztJQUUxQixZQUFtQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ25DLENBQUM7Ozs7O0lBRUQsYUFBYSxDQUFDLE9BQU87O2NBQ2IsT0FBTyxHQUFHLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFFeEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7Ozs7O0lBRUQsT0FBTyxDQUFDLE9BQXlCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO2FBQ2hDLElBQUksQ0FDSCxNQUFNOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksWUFBWSxFQUFDLEVBQzlDLEdBQUc7Ozs7UUFBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO2dCQUNoQixPQUFPLFVBQVUsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDcEQ7WUFDRCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLEVBQUMsRUFDRixHQUFHOzs7O1FBQUMsUUFBUSxDQUFDLEVBQUU7WUFDYixRQUFRLENBQUMsTUFBTSxHQUFHLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBQyxDQUFDO1lBQ3BDLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsRUFBQyxFQUNGLFVBQVU7Ozs7UUFBQyxHQUFHLENBQUMsRUFBRTtZQUNmLEdBQUcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQ3RCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNyQixHQUFHLENBQUMsYUFBYTs7OztZQUFHLENBQUMsVUFBVyxFQUFFLEVBQUU7Z0JBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLENBQUM7WUFDN0MsQ0FBQyxDQUFBLENBQUM7WUFFRixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7O1lBcENGLFVBQVU7Ozs7WUFQRixVQUFVOzs7O0lBVUwsK0JBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cFJlcXVlc3QsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgdGhyb3dFcnJvciwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBSZXN0YW5ndWxhckhlbHBlciB9IGZyb20gJy4vbmd4LXJlc3Rhbmd1bGFyLWhlbHBlcic7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlc3Rhbmd1bGFySHR0cCB7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgfVxuXG4gIGNyZWF0ZVJlcXVlc3Qob3B0aW9ucyk6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICBjb25zdCByZXF1ZXN0ID0gUmVzdGFuZ3VsYXJIZWxwZXIuY3JlYXRlUmVxdWVzdChvcHRpb25zKTtcblxuICAgIHJldHVybiB0aGlzLnJlcXVlc3QocmVxdWVzdCk7XG4gIH1cblxuICByZXF1ZXN0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5yZXF1ZXN0KHJlcXVlc3QpXG4gICAgLnBpcGUoXG4gICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpLFxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihuZXcgSHR0cEVycm9yUmVzcG9uc2UocmVzcG9uc2UpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9KSxcbiAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgIHJlc3BvbnNlLmNvbmZpZyA9IHtwYXJhbXM6IHJlcXVlc3R9O1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgZXJyLnJlcXVlc3QgPSByZXF1ZXN0O1xuICAgICAgICBlcnIuZGF0YSA9IGVyci5lcnJvcjtcbiAgICAgICAgZXJyLnJlcGVhdFJlcXVlc3QgPSAobmV3UmVxdWVzdD8pID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KG5ld1JlcXVlc3QgfHwgcmVxdWVzdCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuXG4iXX0=