UNPKG

nsrtm-gestionarchivo-npm-prueba2

Version:

Proyecto de Libreria Frontend para la Gestión de Archivos

70 lines 9.12 kB
import { Injectable } from '@angular/core'; import { from, of, throwError } from 'rxjs'; import { catchError, map, switchMap } from 'rxjs/operators'; import { TIPO_MENSAJE_ERR_VAL, } from '../models/error-detalle.model'; import * as i0 from "@angular/core"; // type ErrorHandle = { // status?: number; // message?: string; // }; const getStructError$ = (httpError) => { //console.log('httpError', httpError); const { error, status, message } = httpError; if (error instanceof Blob) { return readBlobAsJson(error); } if (status > 500 || status < 400) return of({ mensaje: message, errores: [], codigo: status.toString(), tipMen: TIPO_MENSAJE_ERR_VAL.DANGER, }); if (status === 403) { return of({ mensaje: message, errores: [], codigo: status.toString(), tipMen: TIPO_MENSAJE_ERR_VAL.DANGER, }); } if (status === 500) { return of({ mensaje: error?.mensaje || message, errores: [], codigo: status.toString(), tipMen: TIPO_MENSAJE_ERR_VAL.DANGER, }); } return of(error); }; const readBlobAsJson = (blob) => { return from(readBlobAsText(blob)).pipe(map((jsonString) => JSON.parse(jsonString))); }; const readBlobAsText = (blob) => { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.onload = () => { const text = reader.result; resolve(text); }; reader.onerror = reject; reader.readAsText(blob); }); }; export class ErrorCatchingInterceptor { constructor() { } intercept(request, next) { return next.handle(request).pipe(catchError((httpError) => { return getStructError$(httpError).pipe(switchMap((error) => { return throwError(() => error); })); })); } } ErrorCatchingInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ErrorCatchingInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); ErrorCatchingInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ErrorCatchingInterceptor }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ErrorCatchingInterceptor, decorators: [{ type: Injectable }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9hcmNoaXZvL25zcnRtLWdlc3Rpb25hcmNoaXZvLW5wbS9zcmMvYXBwL2NvcmUvaW50ZXJjZXB0b3JzL2Vycm9yLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRM0MsT0FBTyxFQUFjLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFFTixvQkFBb0IsR0FDcEIsTUFBTSwrQkFBK0IsQ0FBQzs7QUFFdkMsdUJBQXVCO0FBQ3ZCLG9CQUFvQjtBQUNwQixxQkFBcUI7QUFDckIsS0FBSztBQUVMLE1BQU0sZUFBZSxHQUFHLENBQ3ZCLFNBQTRCLEVBQ0ssRUFBRTtJQUNuQyxzQ0FBc0M7SUFDdEMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBRTdDLElBQUksS0FBSyxZQUFZLElBQUksRUFBRTtRQUMxQixPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUM3QjtJQUVELElBQUksTUFBTSxHQUFHLEdBQUcsSUFBSSxNQUFNLEdBQUcsR0FBRztRQUMvQixPQUFPLEVBQUUsQ0FBQztZQUNULE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxFQUFFO1lBQ1gsTUFBTSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDekIsTUFBTSxFQUFFLG9CQUFvQixDQUFDLE1BQU07U0FDbkMsQ0FBQyxDQUFDO0lBRUosSUFBSSxNQUFNLEtBQUssR0FBRyxFQUFFO1FBQ25CLE9BQU8sRUFBRSxDQUFDO1lBQ1QsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLEVBQUU7WUFDWCxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN6QixNQUFNLEVBQUUsb0JBQW9CLENBQUMsTUFBTTtTQUNuQyxDQUFDLENBQUM7S0FDSDtJQUVELElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRTtRQUNuQixPQUFPLEVBQUUsQ0FBQztZQUNULE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxJQUFJLE9BQU87WUFDbEMsT0FBTyxFQUFFLEVBQUU7WUFDWCxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN6QixNQUFNLEVBQUUsb0JBQW9CLENBQUMsTUFBTTtTQUNuQyxDQUFDLENBQUM7S0FDSDtJQUVELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLENBQUMsSUFBVSxFQUFrQyxFQUFFO0lBQ3JFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBdUIsQ0FBQyxDQUNqRSxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFVLEVBQW1CLEVBQUU7SUFDdEQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBRWhDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFnQixDQUFDO1lBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNmLENBQUMsQ0FBQztRQUVGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBRXhCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUM7QUFHRixNQUFNLE9BQU8sd0JBQXdCO0lBQ3BDLGdCQUFlLENBQUM7SUFFaEIsU0FBUyxDQUNSLE9BQTZCLEVBQzdCLElBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQy9CLFVBQVUsQ0FBQyxDQUFDLFNBQTRCLEVBQUUsRUFBRTtZQUMzQyxPQUFPLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQ3JDLFNBQVMsQ0FBQyxDQUFDLEtBQXlCLEVBQUUsRUFBRTtnQkFDdkMsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQ0YsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNGLENBQUM7SUFDSCxDQUFDOztxSEFoQlcsd0JBQXdCO3lIQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuXHRIdHRwRXJyb3JSZXNwb25zZSxcclxuXHRIdHRwRXZlbnQsXHJcblx0SHR0cEhhbmRsZXIsXHJcblx0SHR0cEludGVyY2VwdG9yLFxyXG5cdEh0dHBSZXF1ZXN0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcblx0SUh0dHBSZXNwb25zZUVycm9yLFxyXG5cdFRJUE9fTUVOU0FKRV9FUlJfVkFMLFxyXG59IGZyb20gJy4uL21vZGVscy9lcnJvci1kZXRhbGxlLm1vZGVsJztcclxuXHJcbi8vIHR5cGUgRXJyb3JIYW5kbGUgPSB7XHJcbi8vIFx0c3RhdHVzPzogbnVtYmVyO1xyXG4vLyBcdG1lc3NhZ2U/OiBzdHJpbmc7XHJcbi8vIH07XHJcblxyXG5jb25zdCBnZXRTdHJ1Y3RFcnJvciQgPSAoXHJcblx0aHR0cEVycm9yOiBIdHRwRXJyb3JSZXNwb25zZVxyXG4pOiBPYnNlcnZhYmxlPElIdHRwUmVzcG9uc2VFcnJvcj4gPT4ge1xyXG5cdC8vY29uc29sZS5sb2coJ2h0dHBFcnJvcicsIGh0dHBFcnJvcik7XHJcblx0Y29uc3QgeyBlcnJvciwgc3RhdHVzLCBtZXNzYWdlIH0gPSBodHRwRXJyb3I7XHJcblxyXG5cdGlmIChlcnJvciBpbnN0YW5jZW9mIEJsb2IpIHtcclxuXHRcdHJldHVybiByZWFkQmxvYkFzSnNvbihlcnJvcik7XHJcblx0fVxyXG5cclxuXHRpZiAoc3RhdHVzID4gNTAwIHx8IHN0YXR1cyA8IDQwMClcclxuXHRcdHJldHVybiBvZih7XHJcblx0XHRcdG1lbnNhamU6IG1lc3NhZ2UsXHJcblx0XHRcdGVycm9yZXM6IFtdLFxyXG5cdFx0XHRjb2RpZ286IHN0YXR1cy50b1N0cmluZygpLFxyXG5cdFx0XHR0aXBNZW46IFRJUE9fTUVOU0FKRV9FUlJfVkFMLkRBTkdFUixcclxuXHRcdH0pO1xyXG5cclxuXHRpZiAoc3RhdHVzID09PSA0MDMpIHtcclxuXHRcdHJldHVybiBvZih7XHJcblx0XHRcdG1lbnNhamU6IG1lc3NhZ2UsXHJcblx0XHRcdGVycm9yZXM6IFtdLFxyXG5cdFx0XHRjb2RpZ286IHN0YXR1cy50b1N0cmluZygpLFxyXG5cdFx0XHR0aXBNZW46IFRJUE9fTUVOU0FKRV9FUlJfVkFMLkRBTkdFUixcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0aWYgKHN0YXR1cyA9PT0gNTAwKSB7XHJcblx0XHRyZXR1cm4gb2Yoe1xyXG5cdFx0XHRtZW5zYWplOiBlcnJvcj8ubWVuc2FqZSB8fCBtZXNzYWdlLFxyXG5cdFx0XHRlcnJvcmVzOiBbXSxcclxuXHRcdFx0Y29kaWdvOiBzdGF0dXMudG9TdHJpbmcoKSxcclxuXHRcdFx0dGlwTWVuOiBUSVBPX01FTlNBSkVfRVJSX1ZBTC5EQU5HRVIsXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHJldHVybiBvZihlcnJvcik7XHJcbn07XHJcblxyXG5jb25zdCByZWFkQmxvYkFzSnNvbiA9IChibG9iOiBCbG9iKTogT2JzZXJ2YWJsZTxJSHR0cFJlc3BvbnNlRXJyb3I+ID0+IHtcclxuXHRyZXR1cm4gZnJvbShyZWFkQmxvYkFzVGV4dChibG9iKSkucGlwZShcclxuXHRcdG1hcCgoanNvblN0cmluZykgPT4gSlNPTi5wYXJzZShqc29uU3RyaW5nKSBhcyBJSHR0cFJlc3BvbnNlRXJyb3IpXHJcblx0KTtcclxufTtcclxuXHJcbmNvbnN0IHJlYWRCbG9iQXNUZXh0ID0gKGJsb2I6IEJsb2IpOiBQcm9taXNlPHN0cmluZz4gPT4ge1xyXG5cdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG5cclxuXHRcdHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XHJcblx0XHRcdGNvbnN0IHRleHQgPSByZWFkZXIucmVzdWx0IGFzIHN0cmluZztcclxuXHRcdFx0cmVzb2x2ZSh0ZXh0KTtcclxuXHRcdH07XHJcblxyXG5cdFx0cmVhZGVyLm9uZXJyb3IgPSByZWplY3Q7XHJcblxyXG5cdFx0cmVhZGVyLnJlYWRBc1RleHQoYmxvYik7XHJcblx0fSk7XHJcbn07XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFcnJvckNhdGNoaW5nSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG5cdGNvbnN0cnVjdG9yKCkge31cclxuXHJcblx0aW50ZXJjZXB0KFxyXG5cdFx0cmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXHJcblx0XHRuZXh0OiBIdHRwSGFuZGxlclxyXG5cdCk6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuXHRcdHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxyXG5cdFx0XHRjYXRjaEVycm9yKChodHRwRXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcblx0XHRcdFx0cmV0dXJuIGdldFN0cnVjdEVycm9yJChodHRwRXJyb3IpLnBpcGUoXHJcblx0XHRcdFx0XHRzd2l0Y2hNYXAoKGVycm9yOiBJSHR0cFJlc3BvbnNlRXJyb3IpID0+IHtcclxuXHRcdFx0XHRcdFx0cmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHQpO1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcbn1cclxuIl19