valtech-components 2.0.840 → 2.0.842
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/services/errors/error-logging.interceptor.mjs +75 -0
- package/esm2022/lib/services/errors/index.mjs +11 -5
- package/esm2022/lib/services/errors/provide-error-handling.mjs +39 -0
- package/esm2022/lib/services/errors/valtech-error.service.mjs +157 -0
- package/esm2022/lib/services/icons.service.mjs +4 -2
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +319 -57
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/services/errors/error-logging.interceptor.d.ts +26 -0
- package/lib/services/errors/index.d.ts +11 -4
- package/lib/services/errors/provide-error-handling.d.ts +34 -0
- package/lib/services/errors/valtech-error.service.d.ts +102 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { throwError } from 'rxjs';
|
|
3
|
+
import { catchError } from 'rxjs/operators';
|
|
4
|
+
import { AnalyticsService } from '../firebase/analytics.service';
|
|
5
|
+
import { interpretError } from './interpret-error';
|
|
6
|
+
/**
|
|
7
|
+
* Interceptor HTTP de observabilidad (Capa 1 del estándar de manejo de errores).
|
|
8
|
+
*
|
|
9
|
+
* Para CADA respuesta HTTP con error:
|
|
10
|
+
* 1. Normaliza el error con `interpretError`.
|
|
11
|
+
* 2. Loguea un evento estructurado a consola con el prefijo `[HTTP]`.
|
|
12
|
+
* 3. Reporta el error a Firebase Analytics (`source: 'http'`), si hay analytics.
|
|
13
|
+
*
|
|
14
|
+
* **NO traga el error** — lo re-lanza tal cual. Las páginas y servicios siguen
|
|
15
|
+
* recibiendo el error en su `catch` / `catchError` y deciden la UX (eso es
|
|
16
|
+
* Capa 3: `ValtechErrorService`).
|
|
17
|
+
*
|
|
18
|
+
* `AnalyticsService` se inyecta `@Optional()` — apps sin Firebase Analytics
|
|
19
|
+
* igual obtienen el log estructurado a consola.
|
|
20
|
+
*
|
|
21
|
+
* Decisión sobre 401: **se saltea** del tracking de Analytics. Un 401 es el
|
|
22
|
+
* disparador normal del flujo de refresh de token del `authInterceptor`; el
|
|
23
|
+
* token se renueva y la request se reintenta de forma transparente. Trackear
|
|
24
|
+
* cada 401 inundaría Analytics de ruido (cada sesión genera varios al expirar
|
|
25
|
+
* el access token). El 401 SÍ se loguea a consola (nivel `info`, no `error`)
|
|
26
|
+
* para no perder la traza en debugging local, pero no se reporta como error.
|
|
27
|
+
*
|
|
28
|
+
* Se registra vía {@link provideValtechErrorHandling}.
|
|
29
|
+
*/
|
|
30
|
+
export const errorLoggingInterceptor = (request, next) => {
|
|
31
|
+
// `AnalyticsService` puede no estar provisto (apps sin Firebase). El inject
|
|
32
|
+
// funcional con `optional: true` devuelve `null` en ese caso.
|
|
33
|
+
const analytics = inject(AnalyticsService, { optional: true });
|
|
34
|
+
return next(request).pipe(catchError((error) => {
|
|
35
|
+
const interpreted = interpretError(error);
|
|
36
|
+
const status = interpreted.status ?? error?.status;
|
|
37
|
+
// 401 → ruido del refresh de auth. Log informativo, sin Analytics.
|
|
38
|
+
if (status === 401) {
|
|
39
|
+
console.info(`[HTTP] 401 ${request.method} ${request.url}` +
|
|
40
|
+
(interpreted.operationId ? ` (op=${interpreted.operationId})` : ''));
|
|
41
|
+
return throwError(() => error);
|
|
42
|
+
}
|
|
43
|
+
// Log estructurado a consola — siempre, haya o no Analytics.
|
|
44
|
+
console.error('[HTTP] request failed', {
|
|
45
|
+
method: request.method,
|
|
46
|
+
url: request.url,
|
|
47
|
+
status: status ?? 'n/a',
|
|
48
|
+
code: interpreted.code,
|
|
49
|
+
operationId: interpreted.operationId ?? 'n/a',
|
|
50
|
+
isNetwork: interpreted.isNetwork,
|
|
51
|
+
message: interpreted.message,
|
|
52
|
+
});
|
|
53
|
+
// Reporte a Analytics (best-effort) — solo si hay servicio.
|
|
54
|
+
if (analytics) {
|
|
55
|
+
try {
|
|
56
|
+
analytics.logError(interpreted.message, {
|
|
57
|
+
source: 'http',
|
|
58
|
+
code: interpreted.code,
|
|
59
|
+
url: request.url,
|
|
60
|
+
method: request.method,
|
|
61
|
+
status: String(status ?? 0),
|
|
62
|
+
...(interpreted.operationId ? { operationId: interpreted.operationId } : {}),
|
|
63
|
+
...(interpreted.isNetwork ? { error_category: 'network' } : {}),
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
catch (trackingError) {
|
|
67
|
+
// El tracking nunca debe romper el flujo HTTP.
|
|
68
|
+
console.warn('[HTTP] analytics tracking failed:', trackingError);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// Re-lanzar: NO tragamos el error. La Capa 3 / las páginas lo manejan.
|
|
72
|
+
return throwError(() => error);
|
|
73
|
+
}));
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbG9nZ2luZy5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZXJyb3JzL2Vycm9yLWxvZ2dpbmcuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVF2QyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQXNCLENBQ3hELE9BQTZCLEVBQzdCLElBQW1CLEVBQ2EsRUFBRTtJQUNsQyw0RUFBNEU7SUFDNUUsOERBQThEO0lBQzlELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRS9ELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDdkIsVUFBVSxDQUFDLENBQUMsS0FBYyxFQUFFLEVBQUU7UUFDNUIsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLElBQUssS0FBMkIsRUFBRSxNQUFNLENBQUM7UUFFMUUsbUVBQW1FO1FBQ25FLElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQ1YsY0FBYyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQzNDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxXQUFXLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUN0RSxDQUFDO1lBQ0YsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUVELDZEQUE2RDtRQUM3RCxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFO1lBQ3JDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDaEIsTUFBTSxFQUFFLE1BQU0sSUFBSSxLQUFLO1lBQ3ZCLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtZQUN0QixXQUFXLEVBQUUsV0FBVyxDQUFDLFdBQVcsSUFBSSxLQUFLO1lBQzdDLFNBQVMsRUFBRSxXQUFXLENBQUMsU0FBUztZQUNoQyxPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQU87U0FDN0IsQ0FBQyxDQUFDO1FBRUgsNERBQTREO1FBQzVELElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUM7Z0JBQ0gsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFO29CQUN0QyxNQUFNLEVBQUUsTUFBTTtvQkFDZCxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUk7b0JBQ3RCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztvQkFDaEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO29CQUN0QixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7b0JBQzNCLEdBQUcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDNUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQ2hFLENBQUMsQ0FBQztZQUNMLENBQUM7WUFBQyxPQUFPLGFBQWEsRUFBRSxDQUFDO2dCQUN2QiwrQ0FBK0M7Z0JBQy9DLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUNBQW1DLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDbkUsQ0FBQztRQUNILENBQUM7UUFFRCx1RUFBdUU7UUFDdkUsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSHR0cEVycm9yUmVzcG9uc2UsXG4gIEh0dHBFdmVudCxcbiAgSHR0cEhhbmRsZXJGbixcbiAgSHR0cEludGVyY2VwdG9yRm4sXG4gIEh0dHBSZXF1ZXN0LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uL2ZpcmViYXNlL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IGludGVycHJldEVycm9yIH0gZnJvbSAnLi9pbnRlcnByZXQtZXJyb3InO1xuXG4vKipcbiAqIEludGVyY2VwdG9yIEhUVFAgZGUgb2JzZXJ2YWJpbGlkYWQgKENhcGEgMSBkZWwgZXN0w6FuZGFyIGRlIG1hbmVqbyBkZSBlcnJvcmVzKS5cbiAqXG4gKiBQYXJhIENBREEgcmVzcHVlc3RhIEhUVFAgY29uIGVycm9yOlxuICogMS4gTm9ybWFsaXphIGVsIGVycm9yIGNvbiBgaW50ZXJwcmV0RXJyb3JgLlxuICogMi4gTG9ndWVhIHVuIGV2ZW50byBlc3RydWN0dXJhZG8gYSBjb25zb2xhIGNvbiBlbCBwcmVmaWpvIGBbSFRUUF1gLlxuICogMy4gUmVwb3J0YSBlbCBlcnJvciBhIEZpcmViYXNlIEFuYWx5dGljcyAoYHNvdXJjZTogJ2h0dHAnYCksIHNpIGhheSBhbmFseXRpY3MuXG4gKlxuICogKipOTyB0cmFnYSBlbCBlcnJvcioqIOKAlCBsbyByZS1sYW56YSB0YWwgY3VhbC4gTGFzIHDDoWdpbmFzIHkgc2VydmljaW9zIHNpZ3VlblxuICogcmVjaWJpZW5kbyBlbCBlcnJvciBlbiBzdSBgY2F0Y2hgIC8gYGNhdGNoRXJyb3JgIHkgZGVjaWRlbiBsYSBVWCAoZXNvIGVzXG4gKiBDYXBhIDM6IGBWYWx0ZWNoRXJyb3JTZXJ2aWNlYCkuXG4gKlxuICogYEFuYWx5dGljc1NlcnZpY2VgIHNlIGlueWVjdGEgYEBPcHRpb25hbCgpYCDigJQgYXBwcyBzaW4gRmlyZWJhc2UgQW5hbHl0aWNzXG4gKiBpZ3VhbCBvYnRpZW5lbiBlbCBsb2cgZXN0cnVjdHVyYWRvIGEgY29uc29sYS5cbiAqXG4gKiBEZWNpc2nDs24gc29icmUgNDAxOiAqKnNlIHNhbHRlYSoqIGRlbCB0cmFja2luZyBkZSBBbmFseXRpY3MuIFVuIDQwMSBlcyBlbFxuICogZGlzcGFyYWRvciBub3JtYWwgZGVsIGZsdWpvIGRlIHJlZnJlc2ggZGUgdG9rZW4gZGVsIGBhdXRoSW50ZXJjZXB0b3JgOyBlbFxuICogdG9rZW4gc2UgcmVudWV2YSB5IGxhIHJlcXVlc3Qgc2UgcmVpbnRlbnRhIGRlIGZvcm1hIHRyYW5zcGFyZW50ZS4gVHJhY2tlYXJcbiAqIGNhZGEgNDAxIGludW5kYXLDrWEgQW5hbHl0aWNzIGRlIHJ1aWRvIChjYWRhIHNlc2nDs24gZ2VuZXJhIHZhcmlvcyBhbCBleHBpcmFyXG4gKiBlbCBhY2Nlc3MgdG9rZW4pLiBFbCA0MDEgU8ONIHNlIGxvZ3VlYSBhIGNvbnNvbGEgKG5pdmVsIGBpbmZvYCwgbm8gYGVycm9yYClcbiAqIHBhcmEgbm8gcGVyZGVyIGxhIHRyYXphIGVuIGRlYnVnZ2luZyBsb2NhbCwgcGVybyBubyBzZSByZXBvcnRhIGNvbW8gZXJyb3IuXG4gKlxuICogU2UgcmVnaXN0cmEgdsOtYSB7QGxpbmsgcHJvdmlkZVZhbHRlY2hFcnJvckhhbmRsaW5nfS5cbiAqL1xuZXhwb3J0IGNvbnN0IGVycm9yTG9nZ2luZ0ludGVyY2VwdG9yOiBIdHRwSW50ZXJjZXB0b3JGbiA9IChcbiAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXG4gIG5leHQ6IEh0dHBIYW5kbGVyRm5cbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiA9PiB7XG4gIC8vIGBBbmFseXRpY3NTZXJ2aWNlYCBwdWVkZSBubyBlc3RhciBwcm92aXN0byAoYXBwcyBzaW4gRmlyZWJhc2UpLiBFbCBpbmplY3RcbiAgLy8gZnVuY2lvbmFsIGNvbiBgb3B0aW9uYWw6IHRydWVgIGRldnVlbHZlIGBudWxsYCBlbiBlc2UgY2Fzby5cbiAgY29uc3QgYW5hbHl0aWNzID0gaW5qZWN0KEFuYWx5dGljc1NlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcmV0dXJuIG5leHQocmVxdWVzdCkucGlwZShcbiAgICBjYXRjaEVycm9yKChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgY29uc3QgaW50ZXJwcmV0ZWQgPSBpbnRlcnByZXRFcnJvcihlcnJvcik7XG4gICAgICBjb25zdCBzdGF0dXMgPSBpbnRlcnByZXRlZC5zdGF0dXMgPz8gKGVycm9yIGFzIEh0dHBFcnJvclJlc3BvbnNlKT8uc3RhdHVzO1xuXG4gICAgICAvLyA0MDEg4oaSIHJ1aWRvIGRlbCByZWZyZXNoIGRlIGF1dGguIExvZyBpbmZvcm1hdGl2bywgc2luIEFuYWx5dGljcy5cbiAgICAgIGlmIChzdGF0dXMgPT09IDQwMSkge1xuICAgICAgICBjb25zb2xlLmluZm8oXG4gICAgICAgICAgYFtIVFRQXSA0MDEgJHtyZXF1ZXN0Lm1ldGhvZH0gJHtyZXF1ZXN0LnVybH1gICtcbiAgICAgICAgICAgIChpbnRlcnByZXRlZC5vcGVyYXRpb25JZCA/IGAgKG9wPSR7aW50ZXJwcmV0ZWQub3BlcmF0aW9uSWR9KWAgOiAnJylcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICAvLyBMb2cgZXN0cnVjdHVyYWRvIGEgY29uc29sYSDigJQgc2llbXByZSwgaGF5YSBvIG5vIEFuYWx5dGljcy5cbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tIVFRQXSByZXF1ZXN0IGZhaWxlZCcsIHtcbiAgICAgICAgbWV0aG9kOiByZXF1ZXN0Lm1ldGhvZCxcbiAgICAgICAgdXJsOiByZXF1ZXN0LnVybCxcbiAgICAgICAgc3RhdHVzOiBzdGF0dXMgPz8gJ24vYScsXG4gICAgICAgIGNvZGU6IGludGVycHJldGVkLmNvZGUsXG4gICAgICAgIG9wZXJhdGlvbklkOiBpbnRlcnByZXRlZC5vcGVyYXRpb25JZCA/PyAnbi9hJyxcbiAgICAgICAgaXNOZXR3b3JrOiBpbnRlcnByZXRlZC5pc05ldHdvcmssXG4gICAgICAgIG1lc3NhZ2U6IGludGVycHJldGVkLm1lc3NhZ2UsXG4gICAgICB9KTtcblxuICAgICAgLy8gUmVwb3J0ZSBhIEFuYWx5dGljcyAoYmVzdC1lZmZvcnQpIOKAlCBzb2xvIHNpIGhheSBzZXJ2aWNpby5cbiAgICAgIGlmIChhbmFseXRpY3MpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhbmFseXRpY3MubG9nRXJyb3IoaW50ZXJwcmV0ZWQubWVzc2FnZSwge1xuICAgICAgICAgICAgc291cmNlOiAnaHR0cCcsXG4gICAgICAgICAgICBjb2RlOiBpbnRlcnByZXRlZC5jb2RlLFxuICAgICAgICAgICAgdXJsOiByZXF1ZXN0LnVybCxcbiAgICAgICAgICAgIG1ldGhvZDogcmVxdWVzdC5tZXRob2QsXG4gICAgICAgICAgICBzdGF0dXM6IFN0cmluZyhzdGF0dXMgPz8gMCksXG4gICAgICAgICAgICAuLi4oaW50ZXJwcmV0ZWQub3BlcmF0aW9uSWQgPyB7IG9wZXJhdGlvbklkOiBpbnRlcnByZXRlZC5vcGVyYXRpb25JZCB9IDoge30pLFxuICAgICAgICAgICAgLi4uKGludGVycHJldGVkLmlzTmV0d29yayA/IHsgZXJyb3JfY2F0ZWdvcnk6ICduZXR3b3JrJyB9IDoge30pLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoICh0cmFja2luZ0Vycm9yKSB7XG4gICAgICAgICAgLy8gRWwgdHJhY2tpbmcgbnVuY2EgZGViZSByb21wZXIgZWwgZmx1am8gSFRUUC5cbiAgICAgICAgICBjb25zb2xlLndhcm4oJ1tIVFRQXSBhbmFseXRpY3MgdHJhY2tpbmcgZmFpbGVkOicsIHRyYWNraW5nRXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlLWxhbnphcjogTk8gdHJhZ2Ftb3MgZWwgZXJyb3IuIExhIENhcGEgMyAvIGxhcyBww6FnaW5hcyBsbyBtYW5lamFuLlxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgIH0pXG4gICk7XG59O1xuIl19
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Estándar de manejo de errores del factory Valtech.
|
|
3
3
|
*
|
|
4
|
-
* `interpretError` normaliza cualquier error
|
|
5
|
-
*
|
|
6
|
-
* `
|
|
4
|
+
* - `interpretError` (Capa 0) — normaliza cualquier error a `InterpretedError`.
|
|
5
|
+
* Función pura, sin Angular DI.
|
|
6
|
+
* - `provideValtechErrorHandling` (Capa 1) — registra el interceptor HTTP de
|
|
7
|
+
* observabilidad: log estructurado + reporte a Analytics, re-lanza el error.
|
|
8
|
+
* - `ValtechErrorService` (Capa 3) — punto único para el `catch` de una página:
|
|
9
|
+
* normaliza, observa, resuelve un mensaje i18n y muestra un toast.
|
|
7
10
|
*/
|
|
8
11
|
export { interpretError } from './interpret-error';
|
|
9
|
-
|
|
12
|
+
export { errorLoggingInterceptor } from './error-logging.interceptor';
|
|
13
|
+
export { provideValtechErrorHandling } from './provide-error-handling';
|
|
14
|
+
export { ValtechErrorService, VALTECH_NETWORK_ERROR_KEY } from './valtech-error.service';
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2Vycm9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7O0dBU0c7QUFDSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEVzdMOhbmRhciBkZSBtYW5lam8gZGUgZXJyb3JlcyBkZWwgZmFjdG9yeSBWYWx0ZWNoLlxuICpcbiAqIC0gYGludGVycHJldEVycm9yYCAoQ2FwYSAwKSDigJQgbm9ybWFsaXphIGN1YWxxdWllciBlcnJvciBhIGBJbnRlcnByZXRlZEVycm9yYC5cbiAqICAgRnVuY2nDs24gcHVyYSwgc2luIEFuZ3VsYXIgREkuXG4gKiAtIGBwcm92aWRlVmFsdGVjaEVycm9ySGFuZGxpbmdgIChDYXBhIDEpIOKAlCByZWdpc3RyYSBlbCBpbnRlcmNlcHRvciBIVFRQIGRlXG4gKiAgIG9ic2VydmFiaWxpZGFkOiBsb2cgZXN0cnVjdHVyYWRvICsgcmVwb3J0ZSBhIEFuYWx5dGljcywgcmUtbGFuemEgZWwgZXJyb3IuXG4gKiAtIGBWYWx0ZWNoRXJyb3JTZXJ2aWNlYCAoQ2FwYSAzKSDigJQgcHVudG8gw7puaWNvIHBhcmEgZWwgYGNhdGNoYCBkZSB1bmEgcMOhZ2luYTpcbiAqICAgbm9ybWFsaXphLCBvYnNlcnZhLCByZXN1ZWx2ZSB1biBtZW5zYWplIGkxOG4geSBtdWVzdHJhIHVuIHRvYXN0LlxuICovXG5leHBvcnQgeyBpbnRlcnByZXRFcnJvciB9IGZyb20gJy4vaW50ZXJwcmV0LWVycm9yJztcbmV4cG9ydCB0eXBlIHsgSW50ZXJwcmV0ZWRFcnJvciB9IGZyb20gJy4vaW50ZXJwcmV0LWVycm9yJztcblxuZXhwb3J0IHsgZXJyb3JMb2dnaW5nSW50ZXJjZXB0b3IgfSBmcm9tICcuL2Vycm9yLWxvZ2dpbmcuaW50ZXJjZXB0b3InO1xuZXhwb3J0IHsgcHJvdmlkZVZhbHRlY2hFcnJvckhhbmRsaW5nIH0gZnJvbSAnLi9wcm92aWRlLWVycm9yLWhhbmRsaW5nJztcblxuZXhwb3J0IHsgVmFsdGVjaEVycm9yU2VydmljZSwgVkFMVEVDSF9ORVRXT1JLX0VSUk9SX0tFWSB9IGZyb20gJy4vdmFsdGVjaC1lcnJvci5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHsgVmFsdGVjaEVycm9ySGFuZGxlT3B0aW9ucyB9IGZyb20gJy4vdmFsdGVjaC1lcnJvci5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { makeEnvironmentProviders } from '@angular/core';
|
|
2
|
+
import { provideHttpClient, withInterceptors } from '@angular/common/http';
|
|
3
|
+
import { errorLoggingInterceptor } from './error-logging.interceptor';
|
|
4
|
+
/**
|
|
5
|
+
* Provee el manejo de errores estándar del factory Valtech.
|
|
6
|
+
*
|
|
7
|
+
* Registra el {@link errorLoggingInterceptor} (Capa 1 — observabilidad): toda
|
|
8
|
+
* respuesta HTTP con error se normaliza, se loguea de forma estructurada a
|
|
9
|
+
* consola y se reporta a Firebase Analytics. El interceptor **re-lanza** el
|
|
10
|
+
* error, así que las páginas siguen haciendo su `catch`.
|
|
11
|
+
*
|
|
12
|
+
* Se registra vía `withInterceptors`, igual que el `authInterceptor`. Angular
|
|
13
|
+
* fusiona los interceptores de múltiples llamadas a `provideHttpClient` dentro
|
|
14
|
+
* del mismo injector, así que esto compone con `provideValtechAuth()` sin
|
|
15
|
+
* pisarlo. El orden relativo lo determina Angular por orden de provisión;
|
|
16
|
+
* para una traza limpia, declarar `provideValtechErrorHandling()` **después**
|
|
17
|
+
* de `provideValtechAuth(...)` en `main.ts`.
|
|
18
|
+
*
|
|
19
|
+
* La Capa 3 ({@link ValtechErrorService}) es `providedIn: 'root'` — no
|
|
20
|
+
* requiere registro. La Capa 2 (`AnalyticsErrorHandler`, errores no
|
|
21
|
+
* capturados) la activa `provideValtechFirebase` con `enableErrorTracking`.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* // main.ts
|
|
26
|
+
* import { provideValtechAuth, provideValtechErrorHandling } from 'valtech-components';
|
|
27
|
+
*
|
|
28
|
+
* bootstrapApplication(AppComponent, {
|
|
29
|
+
* providers: [
|
|
30
|
+
* provideValtechAuth({ apiUrl: environment.apiUrl }),
|
|
31
|
+
* provideValtechErrorHandling(),
|
|
32
|
+
* ],
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export function provideValtechErrorHandling() {
|
|
37
|
+
return makeEnvironmentProviders([provideHttpClient(withInterceptors([errorLoggingInterceptor]))]);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1lcnJvci1oYW5kbGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZXJyb3JzL3Byb3ZpZGUtZXJyb3ItaGFuZGxpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3Qix3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV0RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQUNILE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsT0FBTyx3QkFBd0IsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlSHR0cENsaWVudCwgd2l0aEludGVyY2VwdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGVycm9yTG9nZ2luZ0ludGVyY2VwdG9yIH0gZnJvbSAnLi9lcnJvci1sb2dnaW5nLmludGVyY2VwdG9yJztcblxuLyoqXG4gKiBQcm92ZWUgZWwgbWFuZWpvIGRlIGVycm9yZXMgZXN0w6FuZGFyIGRlbCBmYWN0b3J5IFZhbHRlY2guXG4gKlxuICogUmVnaXN0cmEgZWwge0BsaW5rIGVycm9yTG9nZ2luZ0ludGVyY2VwdG9yfSAoQ2FwYSAxIOKAlCBvYnNlcnZhYmlsaWRhZCk6IHRvZGFcbiAqIHJlc3B1ZXN0YSBIVFRQIGNvbiBlcnJvciBzZSBub3JtYWxpemEsIHNlIGxvZ3VlYSBkZSBmb3JtYSBlc3RydWN0dXJhZGEgYVxuICogY29uc29sYSB5IHNlIHJlcG9ydGEgYSBGaXJlYmFzZSBBbmFseXRpY3MuIEVsIGludGVyY2VwdG9yICoqcmUtbGFuemEqKiBlbFxuICogZXJyb3IsIGFzw60gcXVlIGxhcyBww6FnaW5hcyBzaWd1ZW4gaGFjaWVuZG8gc3UgYGNhdGNoYC5cbiAqXG4gKiBTZSByZWdpc3RyYSB2w61hIGB3aXRoSW50ZXJjZXB0b3JzYCwgaWd1YWwgcXVlIGVsIGBhdXRoSW50ZXJjZXB0b3JgLiBBbmd1bGFyXG4gKiBmdXNpb25hIGxvcyBpbnRlcmNlcHRvcmVzIGRlIG3Dumx0aXBsZXMgbGxhbWFkYXMgYSBgcHJvdmlkZUh0dHBDbGllbnRgIGRlbnRyb1xuICogZGVsIG1pc21vIGluamVjdG9yLCBhc8OtIHF1ZSBlc3RvIGNvbXBvbmUgY29uIGBwcm92aWRlVmFsdGVjaEF1dGgoKWAgc2luXG4gKiBwaXNhcmxvLiBFbCBvcmRlbiByZWxhdGl2byBsbyBkZXRlcm1pbmEgQW5ndWxhciBwb3Igb3JkZW4gZGUgcHJvdmlzacOzbjtcbiAqIHBhcmEgdW5hIHRyYXphIGxpbXBpYSwgZGVjbGFyYXIgYHByb3ZpZGVWYWx0ZWNoRXJyb3JIYW5kbGluZygpYCAqKmRlc3B1w6lzKipcbiAqIGRlIGBwcm92aWRlVmFsdGVjaEF1dGgoLi4uKWAgZW4gYG1haW4udHNgLlxuICpcbiAqIExhIENhcGEgMyAoe0BsaW5rIFZhbHRlY2hFcnJvclNlcnZpY2V9KSBlcyBgcHJvdmlkZWRJbjogJ3Jvb3QnYCDigJQgbm9cbiAqIHJlcXVpZXJlIHJlZ2lzdHJvLiBMYSBDYXBhIDIgKGBBbmFseXRpY3NFcnJvckhhbmRsZXJgLCBlcnJvcmVzIG5vXG4gKiBjYXB0dXJhZG9zKSBsYSBhY3RpdmEgYHByb3ZpZGVWYWx0ZWNoRmlyZWJhc2VgIGNvbiBgZW5hYmxlRXJyb3JUcmFja2luZ2AuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIG1haW4udHNcbiAqIGltcG9ydCB7IHByb3ZpZGVWYWx0ZWNoQXV0aCwgcHJvdmlkZVZhbHRlY2hFcnJvckhhbmRsaW5nIH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbiAqXG4gKiBib290c3RyYXBBcHBsaWNhdGlvbihBcHBDb21wb25lbnQsIHtcbiAqICAgcHJvdmlkZXJzOiBbXG4gKiAgICAgcHJvdmlkZVZhbHRlY2hBdXRoKHsgYXBpVXJsOiBlbnZpcm9ubWVudC5hcGlVcmwgfSksXG4gKiAgICAgcHJvdmlkZVZhbHRlY2hFcnJvckhhbmRsaW5nKCksXG4gKiAgIF0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVZhbHRlY2hFcnJvckhhbmRsaW5nKCk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbcHJvdmlkZUh0dHBDbGllbnQod2l0aEludGVyY2VwdG9ycyhbZXJyb3JMb2dnaW5nSW50ZXJjZXB0b3JdKSldKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
|
+
import { AnalyticsService } from '../firebase/analytics.service';
|
|
3
|
+
import { I18nService } from '../i18n/i18n.service';
|
|
4
|
+
import { ToastService } from '../toast.service';
|
|
5
|
+
import { interpretError } from './interpret-error';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Key i18n fija de la librería para fallos de red. Las apps pueden definirla en
|
|
9
|
+
* su contenido i18n (namespace `_global`) para personalizar el texto; si no
|
|
10
|
+
* existe, se usa {@link NETWORK_FALLBACK_MESSAGE}.
|
|
11
|
+
*/
|
|
12
|
+
export const VALTECH_NETWORK_ERROR_KEY = 'valtech.error.network';
|
|
13
|
+
/** Texto en español por defecto cuando {@link VALTECH_NETWORK_ERROR_KEY} no está definida. */
|
|
14
|
+
const NETWORK_FALLBACK_MESSAGE = 'Sin conexión. Revisá tu internet.';
|
|
15
|
+
/** Texto genérico en español cuando no hay match ni `fallbackKey`. */
|
|
16
|
+
const GENERIC_FALLBACK_MESSAGE = 'Ocurrió un error. Intentá de nuevo.';
|
|
17
|
+
/**
|
|
18
|
+
* Servicio de UX de errores capturados (Capa 3 del estándar de manejo de errores).
|
|
19
|
+
*
|
|
20
|
+
* Mientras la Capa 1 ({@link errorLoggingInterceptor}) observa TODAS las
|
|
21
|
+
* respuestas HTTP con error, y la Capa 2 (`AnalyticsErrorHandler`) captura los
|
|
22
|
+
* errores NO manejados, la Capa 3 es el punto único que una página usa en su
|
|
23
|
+
* `catch` para convertir un error en feedback al usuario.
|
|
24
|
+
*
|
|
25
|
+
* Responsabilidades de {@link handle}:
|
|
26
|
+
* 1. Normaliza el error (`interpretError`).
|
|
27
|
+
* 2. Loguea a consola + reporta a Analytics (`source: 'handled'`, con `context`).
|
|
28
|
+
* 3. Resuelve un mensaje localizado (ver orden de resolución en {@link handle}).
|
|
29
|
+
* 4. Muestra un toast (`color: 'dark'`, estándar Valtech) salvo `toast: false`.
|
|
30
|
+
* 5. Devuelve el {@link InterpretedError} para que la página decida lógica extra.
|
|
31
|
+
*
|
|
32
|
+
* **Nunca lanza.** `AnalyticsService` se inyecta `@Optional()`.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* private errors = inject(ValtechErrorService);
|
|
37
|
+
*
|
|
38
|
+
* async save() {
|
|
39
|
+
* try {
|
|
40
|
+
* await firstValueFrom(this.api.updateProfile(this.form.value));
|
|
41
|
+
* this.toast.show({ message: 'Perfil actualizado', color: 'dark' });
|
|
42
|
+
* } catch (err) {
|
|
43
|
+
* this.errors.handle(err, {
|
|
44
|
+
* context: 'profile.save',
|
|
45
|
+
* i18nMap: { EMAIL_TAKEN: 'errors.emailTaken' },
|
|
46
|
+
* fallbackKey: 'errors.profileSaveFailed',
|
|
47
|
+
* });
|
|
48
|
+
* }
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export class ValtechErrorService {
|
|
53
|
+
constructor() {
|
|
54
|
+
this.i18n = inject(I18nService);
|
|
55
|
+
this.toast = inject(ToastService);
|
|
56
|
+
// Apps sin Firebase Analytics: el servicio sigue funcionando (log + toast).
|
|
57
|
+
this.analytics = inject(AnalyticsService, { optional: true });
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Maneja un error capturado: normaliza, observa y produce feedback de usuario.
|
|
61
|
+
*
|
|
62
|
+
* Orden de resolución del mensaje del toast:
|
|
63
|
+
* 1. `i18nMap[code]` definido → `i18n.t(esa key)`.
|
|
64
|
+
* 2. Sin match y `isNetwork` → key de red ({@link VALTECH_NETWORK_ERROR_KEY}),
|
|
65
|
+
* con fallback al texto español si la app no la tradujo.
|
|
66
|
+
* 3. `fallbackKey` definido → `i18n.t(fallbackKey)`.
|
|
67
|
+
* 4. Genérico en español.
|
|
68
|
+
*
|
|
69
|
+
* @param err Cualquier error capturado.
|
|
70
|
+
* @param opts Opciones de contexto, mapeo i18n y toast.
|
|
71
|
+
* @returns El {@link InterpretedError} normalizado. Nunca lanza.
|
|
72
|
+
*/
|
|
73
|
+
handle(err, opts = {}) {
|
|
74
|
+
const interpreted = interpretError(err);
|
|
75
|
+
const { context, i18nMap, fallbackKey, i18nNamespace, toast } = opts;
|
|
76
|
+
// 1. Observabilidad — log estructurado a consola.
|
|
77
|
+
console.error('[ValtechError] handled', {
|
|
78
|
+
context: context ?? 'n/a',
|
|
79
|
+
code: interpreted.code,
|
|
80
|
+
status: interpreted.status ?? 'n/a',
|
|
81
|
+
operationId: interpreted.operationId ?? 'n/a',
|
|
82
|
+
isNetwork: interpreted.isNetwork,
|
|
83
|
+
message: interpreted.message,
|
|
84
|
+
});
|
|
85
|
+
// 2. Reporte a Analytics (best-effort, opcional).
|
|
86
|
+
if (this.analytics) {
|
|
87
|
+
try {
|
|
88
|
+
this.analytics.logError(interpreted.message, {
|
|
89
|
+
source: 'handled',
|
|
90
|
+
code: interpreted.code,
|
|
91
|
+
...(context ? { context } : {}),
|
|
92
|
+
...(interpreted.status !== undefined ? { status: String(interpreted.status) } : {}),
|
|
93
|
+
...(interpreted.operationId ? { operationId: interpreted.operationId } : {}),
|
|
94
|
+
...(interpreted.isNetwork ? { error_category: 'network' } : {}),
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
catch (trackingError) {
|
|
98
|
+
console.warn('[ValtechError] analytics tracking failed:', trackingError);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// 3. Resolver mensaje localizado para el usuario.
|
|
102
|
+
const message = this.resolveMessage(interpreted, {
|
|
103
|
+
i18nMap,
|
|
104
|
+
fallbackKey,
|
|
105
|
+
i18nNamespace,
|
|
106
|
+
});
|
|
107
|
+
// 4. Toast (estándar Valtech: color 'dark', position 'top').
|
|
108
|
+
if (toast !== false) {
|
|
109
|
+
this.toast.show({
|
|
110
|
+
message,
|
|
111
|
+
color: 'dark',
|
|
112
|
+
position: 'top',
|
|
113
|
+
duration: 3000,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
// 5. Devolver el error normalizado para lógica extra del caller.
|
|
117
|
+
return interpreted;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Resuelve el mensaje a mostrar siguiendo el orden documentado en {@link handle}.
|
|
121
|
+
*/
|
|
122
|
+
resolveMessage(interpreted, opts) {
|
|
123
|
+
const ns = opts.i18nNamespace;
|
|
124
|
+
// 1. Match exacto por código de backend.
|
|
125
|
+
const mappedKey = opts.i18nMap?.[interpreted.code];
|
|
126
|
+
if (mappedKey) {
|
|
127
|
+
return this.translate(mappedKey, ns) ?? interpreted.message;
|
|
128
|
+
}
|
|
129
|
+
// 2. Fallo de red → key de red de la lib, con fallback español.
|
|
130
|
+
if (interpreted.isNetwork) {
|
|
131
|
+
return this.translate(VALTECH_NETWORK_ERROR_KEY, ns) ?? NETWORK_FALLBACK_MESSAGE;
|
|
132
|
+
}
|
|
133
|
+
// 3. fallbackKey provisto por la app.
|
|
134
|
+
if (opts.fallbackKey) {
|
|
135
|
+
return this.translate(opts.fallbackKey, ns) ?? interpreted.message;
|
|
136
|
+
}
|
|
137
|
+
// 4. Genérico — preferir el mensaje del backend (ya viene en español) si lo hay.
|
|
138
|
+
return interpreted.message || GENERIC_FALLBACK_MESSAGE;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Traduce una key i18n. Devuelve `null` si la key no está definida — el
|
|
142
|
+
* `I18nService` devuelve un placeholder `[namespace.key]` para keys faltantes;
|
|
143
|
+
* lo detectamos para poder caer a un fallback en lugar de mostrar el placeholder.
|
|
144
|
+
*/
|
|
145
|
+
translate(key, namespace) {
|
|
146
|
+
const text = this.i18n.t(key, namespace);
|
|
147
|
+
const ns = namespace ?? '_global';
|
|
148
|
+
return text === `[${ns}.${key}]` ? null : text;
|
|
149
|
+
}
|
|
150
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ValtechErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
151
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ValtechErrorService, providedIn: 'root' }); }
|
|
152
|
+
}
|
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ValtechErrorService, decorators: [{
|
|
154
|
+
type: Injectable,
|
|
155
|
+
args: [{ providedIn: 'root' }]
|
|
156
|
+
}] });
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdGVjaC1lcnJvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9lcnJvcnMvdmFsdGVjaC1lcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFckU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLHVCQUF1QixDQUFDO0FBRWpFLDhGQUE4RjtBQUM5RixNQUFNLHdCQUF3QixHQUFHLG1DQUFtQyxDQUFDO0FBRXJFLHNFQUFzRTtBQUN0RSxNQUFNLHdCQUF3QixHQUFHLHFDQUFxQyxDQUFDO0FBa0N2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUVILE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFbUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixVQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlDLDRFQUE0RTtRQUMzRCxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0EwRzNFO0lBeEdDOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxNQUFNLENBQUMsR0FBWSxFQUFFLE9BQWtDLEVBQUU7UUFDdkQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFD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Q0FBQztRQUNuRixDQUFDO1FBRUQsc0NBQXNDO1FBQ3RDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDckUsQ0FBQztRQUVELGlGQUFpRjtRQUNqRixPQUFPLFdBQVcsQ0FBQyxPQUFPLElBQUksd0JBQXdCLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxTQUFTLENBQUMsR0FBVyxFQUFFLFNBQWtCO1FBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxLQUFLLElBQUksRUFBRSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqRCxDQUFDOytHQTdHVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUROLE1BQU07OzRGQUNuQixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vZmlyZWJhc2UvYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi9pMThuL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEludGVycHJldGVkRXJyb3IsIGludGVycHJldEVycm9yIH0gZnJvbSAnLi9pbnRlcnByZXQtZXJyb3InO1xuXG4vKipcbiAqIEtleSBpMThuIGZpamEgZGUgbGEgbGlicmVyw61hIHBhcmEgZmFsbG9zIGRlIHJlZC4gTGFzIGFwcHMgcHVlZGVuIGRlZmluaXJsYSBlblxuICogc3UgY29udGVuaWRvIGkxOG4gKG5hbWVzcGFjZSBgX2dsb2JhbGApIHBhcmEgcGVyc29uYWxpemFyIGVsIHRleHRvOyBzaSBub1xuICogZXhpc3RlLCBzZSB1c2Ege0BsaW5rIE5FVFdPUktfRkFMTEJBQ0tfTUVTU0FHRX0uXG4gKi9cbmV4cG9ydCBjb25zdCBWQUxURUNIX05FVFdPUktfRVJST1JfS0VZID0gJ3ZhbHRlY2guZXJyb3IubmV0d29yayc7XG5cbi8qKiBUZXh0byBlbiBlc3Bhw7FvbCBwb3IgZGVmZWN0byBjdWFuZG8ge0BsaW5rIFZBTFRFQ0hfTkVUV09SS19FUlJPUl9LRVl9IG5vIGVzdMOhIGRlZmluaWRhLiAqL1xuY29uc3QgTkVUV09SS19GQUxMQkFDS19NRVNTQUdFID0gJ1NpbiBjb25leGnDs24uIFJldmlzw6EgdHUgaW50ZXJuZXQuJztcblxuLyoqIFRleHRvIGdlbsOpcmljbyBlbiBlc3Bhw7FvbCBjdWFuZG8gbm8gaGF5IG1hdGNoIG5pIGBmYWxsYmFja0tleWAuICovXG5jb25zdCBHRU5FUklDX0ZBTExCQUNLX01FU1NBR0UgPSAnT2N1cnJpw7MgdW4gZXJyb3IuIEludGVudMOhIGRlIG51ZXZvLic7XG5cbi8qKlxuICogT3BjaW9uZXMgZGUge0BsaW5rIFZhbHRlY2hFcnJvclNlcnZpY2UuaGFuZGxlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWx0ZWNoRXJyb3JIYW5kbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIElkZW50aWZpY2Fkb3IgZGVsIHB1bnRvIGRlIGZhbGxvLCBlai4gYCdwcm9maWxlLnNhdmUnYC4gU2UgaW5jbHV5ZSBlbiBlbFxuICAgKiBsb2cgZGUgY29uc29sYSB5IGVuIGVsIHJlcG9ydGUgYSBBbmFseXRpY3MgcGFyYSBmYWNpbGl0YXIgZWwgdHJhY2luZy5cbiAgICovXG4gIGNvbnRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1hcGEgYGPDs2RpZ28gZGUgYmFja2VuZCDihpIga2V5IGkxOG5gLiBMbyBwcm92ZWUgbGEgYXBwLCBxdWUgY29ub2NlIHN1c1xuICAgKiBwcm9waWFzIHRyYWR1Y2Npb25lcy4gRWouIGB7IEVNQUlMX1RBS0VOOiAnZXJyb3JzLmVtYWlsVGFrZW4nIH1gLlxuICAgKi9cbiAgaTE4bk1hcD86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIEtleSBpMThuIGEgdXNhciBjdWFuZG8gbm8gaGF5IG1hdGNoIGVuIGBpMThuTWFwYCAoeSBlbCBlcnJvciBubyBlcyBkZSByZWQpLlxuICAgKiBTaSBzZSBvbWl0ZSwgc2UgdXNhIHVuIG1lbnNhamUgZ2Vuw6lyaWNvIGVuIGVzcGHDsW9sLlxuICAgKi9cbiAgZmFsbGJhY2tLZXk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWVzcGFjZSBpMThuIHBhcmEgcmVzb2x2ZXIgYGkxOG5NYXBgIC8gYGZhbGxiYWNrS2V5YCAvIGxhIGtleSBkZSByZWQuXG4gICAqIERlZmF1bHQ6IGBfZ2xvYmFsYC5cbiAgICovXG4gIGkxOG5OYW1lc3BhY2U/OiBzdHJpbmc7XG5cbiAgLyoqIFNpIG1vc3RyYXIgdW4gdG9hc3QgY29uIGVsIG1lbnNhamUgcmVzdWVsdG8uIERlZmF1bHQ6IGB0cnVlYC4gKi9cbiAgdG9hc3Q/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFNlcnZpY2lvIGRlIFVYIGRlIGVycm9yZXMgY2FwdHVyYWRvcyAoQ2FwYSAzIGRlbCBlc3TDoW5kYXIgZGUgbWFuZWpvIGRlIGVycm9yZXMpLlxuICpcbiAqIE1pZW50cmFzIGxhIENhcGEgMSAoe0BsaW5rIGVycm9yTG9nZ2luZ0ludGVyY2VwdG9yfSkgb2JzZXJ2YSBUT0RBUyBsYXNcbiAqIHJlc3B1ZXN0YXMgSFRUUCBjb24gZXJyb3IsIHkgbGEgQ2FwYSAyIChgQW5hbHl0aWNzRXJyb3JIYW5kbGVyYCkgY2FwdHVyYSBsb3NcbiAqIGVycm9yZXMgTk8gbWFuZWphZG9zLCBsYSBDYXBhIDMgZXMgZWwgcHVudG8gw7puaWNvIHF1ZSB1bmEgcMOhZ2luYSB1c2EgZW4gc3VcbiAqIGBjYXRjaGAgcGFyYSBjb252ZXJ0aXIgdW4gZXJyb3IgZW4gZmVlZGJhY2sgYWwgdXN1YXJpby5cbiAqXG4gKiBSZXNwb25zYWJpbGlkYWRlcyBkZSB7QGxpbmsgaGFuZGxlfTpcbiAqIDEuIE5vcm1hbGl6YSBlbCBlcnJvciAoYGludGVycHJldEVycm9yYCkuXG4gKiAyLiBMb2d1ZWEgYSBjb25zb2xhICsgcmVwb3J0YSBhIEFuYWx5dGljcyAoYHNvdXJjZTogJ2hhbmRsZWQnYCwgY29uIGBjb250ZXh0YCkuXG4gKiAzLiBSZXN1ZWx2ZSB1biBtZW5zYWplIGxvY2FsaXphZG8gKHZlciBvcmRlbiBkZSByZXNvbHVjacOzbiBlbiB7QGxpbmsgaGFuZGxlfSkuXG4gKiA0LiBNdWVzdHJhIHVuIHRvYXN0IChgY29sb3I6ICdkYXJrJ2AsIGVzdMOhbmRhciBWYWx0ZWNoKSBzYWx2byBgdG9hc3Q6IGZhbHNlYC5cbiAqIDUuIERldnVlbHZlIGVsIHtAbGluayBJbnRlcnByZXRlZEVycm9yfSBwYXJhIHF1ZSBsYSBww6FnaW5hIGRlY2lkYSBsw7NnaWNhIGV4dHJhLlxuICpcbiAqICoqTnVuY2EgbGFuemEuKiogYEFuYWx5dGljc1NlcnZpY2VgIHNlIGlueWVjdGEgYEBPcHRpb25hbCgpYC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIHByaXZhdGUgZXJyb3JzID0gaW5qZWN0KFZhbHRlY2hFcnJvclNlcnZpY2UpO1xuICpcbiAqIGFzeW5jIHNhdmUoKSB7XG4gKiAgIHRyeSB7XG4gKiAgICAgYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5hcGkudXBkYXRlUHJvZmlsZSh0aGlzLmZvcm0udmFsdWUpKTtcbiAqICAgICB0aGlzLnRvYXN0LnNob3coeyBtZXNzYWdlOiAnUGVyZmlsIGFjdHVhbGl6YWRvJywgY29sb3I6ICdkYXJrJyB9KTtcbiAqICAgfSBjYXRjaCAoZXJyKSB7XG4gKiAgICAgdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwge1xuICogICAgICAgY29udGV4dDogJ3Byb2ZpbGUuc2F2ZScsXG4gKiAgICAgICBpMThuTWFwOiB7IEVNQUlMX1RBS0VOOiAnZXJyb3JzLmVtYWlsVGFrZW4nIH0sXG4gKiAgICAgICBmYWxsYmFja0tleTogJ2Vycm9ycy5wcm9maWxlU2F2ZUZhaWxlZCcsXG4gKiAgICAgfSk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFZhbHRlY2hFcnJvclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0ID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG4gIC8vIEFwcHMgc2luIEZpcmViYXNlIEFuYWx5dGljczogZWwgc2VydmljaW8gc2lndWUgZnVuY2lvbmFuZG8gKGxvZyArIHRvYXN0KS5cbiAgcHJpdmF0ZSByZWFkb25seSBhbmFseXRpY3MgPSBpbmplY3QoQW5hbHl0aWNzU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAvKipcbiAgICogTWFuZWphIHVuIGVycm9yIGNhcHR1cmFkbzogbm9ybWFsaXphLCBvYnNlcnZhIHkgcHJvZHVjZSBmZWVkYmFjayBkZSB1c3VhcmlvLlxuICAgKlxuICAgKiBPcmRlbiBkZSByZXNvbHVjacOzbiBkZWwgbWVuc2FqZSBkZWwgdG9hc3Q6XG4gICAqIDEuIGBpMThuTWFwW2NvZGVdYCBkZWZpbmlkbyDihpIgYGkxOG4udChlc2Ega2V5KWAuXG4gICAqIDIuIFNpbiBtYXRjaCB5IGBpc05ldHdvcmtgIOKGkiBrZXkgZGUgcmVkICh7QGxpbmsgVkFMVEVDSF9ORVRXT1JLX0VSUk9SX0tFWX0pLFxuICAgKiAgICBjb24gZmFsbGJhY2sgYWwgdGV4dG8gZXNwYcOxb2wgc2kgbGEgYXBwIG5vIGxhIHRyYWR1am8uXG4gICAqIDMuIGBmYWxsYmFja0tleWAgZGVmaW5pZG8g4oaSIGBpMThuLnQoZmFsbGJhY2tLZXkpYC5cbiAgICogNC4gR2Vuw6lyaWNvIGVuIGVzcGHDsW9sLlxuICAgKlxuICAgKiBAcGFyYW0gZXJyIEN1YWxxdWllciBlcnJvciBjYXB0dXJhZG8uXG4gICAqIEBwYXJhbSBvcHRzIE9wY2lvbmVzIGRlIGNvbnRleHRvLCBtYXBlbyBpMThuIHkgdG9hc3QuXG4gICAqIEByZXR1cm5zIEVsIHtAbGluayBJbnRlcnByZXRlZEVycm9yfSBub3JtYWxpemFkby4gTnVuY2EgbGFuemEuXG4gICAqL1xuICBoYW5kbGUoZXJyOiB1bmtub3duLCBvcHRzOiBWYWx0ZWNoRXJyb3JIYW5kbGVPcHRpb25zID0ge30pOiBJbnRlcnByZXRlZEVycm9yIHtcbiAgICBjb25zdCBpbnRlcnByZXRlZCA9IGludGVycHJldEVycm9yKGVycik7XG4gICAgY29uc3QgeyBjb250ZXh0LCBpMThuTWFwLCBmYWxsYmFja0tleSwgaTE4bk5hbWVzcGFjZSwgdG9hc3QgfSA9IG9wdHM7XG5cbiAgICAvLyAxLiBPYnNlcnZhYmlsaWRhZCDigJQgbG9nIGVzdHJ1Y3R1cmFkbyBhIGNvbnNvbGEuXG4gICAgY29uc29sZS5lcnJvcignW1ZhbHRlY2hFcnJvcl0gaGFuZGxlZCcsIHtcbiAgICAgIGNvbnRleHQ6IGNvbnRleHQgPz8gJ24vYScsXG4gICAgICBjb2RlOiBpbnRlcnByZXRlZC5jb2RlLFxuICAgICAgc3RhdHVzOiBpbnRlcnByZXRlZC5zdGF0dXMgPz8gJ24vYScsXG4gICAgICBvcGVyYXRpb25JZDogaW50ZXJwcmV0ZWQub3BlcmF0aW9uSWQgPz8gJ24vYScsXG4gICAgICBpc05ldHdvcms6IGludGVycHJldGVkLmlzTmV0d29yayxcbiAgICAgIG1lc3NhZ2U6IGludGVycHJldGVkLm1lc3NhZ2UsXG4gICAgfSk7XG5cbiAgICAvLyAyLiBSZXBvcnRlIGEgQW5hbHl0aWNzIChiZXN0LWVmZm9ydCwgb3BjaW9uYWwpLlxuICAgIGlmICh0aGlzLmFuYWx5dGljcykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5hbmFseXRpY3MubG9nRXJyb3IoaW50ZXJwcmV0ZWQubWVzc2FnZSwge1xuICAgICAgICAgIHNvdXJjZTogJ2hhbmRsZWQnLFxuICAgICAgICAgIGNvZGU6IGludGVycHJldGVkLmNvZGUsXG4gICAgICAgICAgLi4uKGNvbnRleHQgPyB7IGNvbnRleHQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oaW50ZXJwcmV0ZWQuc3RhdHVzICE9PSB1bmRlZmluZWQgPyB7IHN0YXR1czogU3RyaW5nKGludGVycHJldGVkLnN0YXR1cykgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oaW50ZXJwcmV0ZWQub3BlcmF0aW9uSWQgPyB7IG9wZXJhdGlvbklkOiBpbnRlcnByZXRlZC5vcGVyYXRpb25JZCB9IDoge30pLFxuICAgICAgICAgIC4uLihpbnRlcnByZXRlZC5pc05ldHdvcmsgPyB7IGVycm9yX2NhdGVnb3J5OiAnbmV0d29yaycgfSA6IHt9KSxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoICh0cmFja2luZ0Vycm9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignW1ZhbHRlY2hFcnJvcl0gYW5hbHl0aWNzIHRyYWNraW5nIGZhaWxlZDonLCB0cmFja2luZ0Vycm9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAzLiBSZXNvbHZlciBtZW5zYWplIGxvY2FsaXphZG8gcGFyYSBlbCB1c3VhcmlvLlxuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLnJlc29sdmVNZXNzYWdlKGludGVycHJldGVkLCB7XG4gICAgICBpMThuTWFwLFxuICAgICAgZmFsbGJhY2tLZXksXG4gICAgICBpMThuTmFtZXNwYWNlLFxuICAgIH0pO1xuXG4gICAgLy8gNC4gVG9hc3QgKGVzdMOhbmRhciBWYWx0ZWNoOiBjb2xvciAnZGFyaycsIHBvc2l0aW9uICd0b3AnKS5cbiAgICBpZiAodG9hc3QgIT09IGZhbHNlKSB7XG4gICAgICB0aGlzLnRvYXN0LnNob3coe1xuICAgICAgICBtZXNzYWdlLFxuICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICBwb3NpdGlvbjogJ3RvcCcsXG4gICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gNS4gRGV2b2x2ZXIgZWwgZXJyb3Igbm9ybWFsaXphZG8gcGFyYSBsw7NnaWNhIGV4dHJhIGRlbCBjYWxsZXIuXG4gICAgcmV0dXJuIGludGVycHJldGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3VlbHZlIGVsIG1lbnNhamUgYSBtb3N0cmFyIHNpZ3VpZW5kbyBlbCBvcmRlbiBkb2N1bWVudGFkbyBlbiB7QGxpbmsgaGFuZGxlfS5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZU1lc3NhZ2UoXG4gICAgaW50ZXJwcmV0ZWQ6IEludGVycHJldGVkRXJyb3IsXG4gICAgb3B0czogUGljazxWYWx0ZWNoRXJyb3JIYW5kbGVPcHRpb25zLCAnaTE4bk1hcCcgfCAnZmFsbGJhY2tLZXknIHwgJ2kxOG5OYW1lc3BhY2UnPlxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IG5zID0gb3B0cy5pMThuTmFtZXNwYWNlO1xuXG4gICAgLy8gMS4gTWF0Y2ggZXhhY3RvIHBvciBjw7NkaWdvIGRlIGJhY2tlbmQuXG4gICAgY29uc3QgbWFwcGVkS2V5ID0gb3B0cy5pMThuTWFwPy5baW50ZXJwcmV0ZWQuY29kZV07XG4gICAgaWYgKG1hcHBlZEtleSkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlKG1hcHBlZEtleSwgbnMpID8/IGludGVycHJldGVkLm1lc3NhZ2U7XG4gICAgfVxuXG4gICAgLy8gMi4gRmFsbG8gZGUgcmVkIOKGkiBrZXkgZGUgcmVkIGRlIGxhIGxpYiwgY29uIGZhbGxiYWNrIGVzcGHDsW9sLlxuICAgIGlmIChpbnRlcnByZXRlZC5pc05ldHdvcmspIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZShWQUxURUNIX05FVFdPUktfRVJST1JfS0VZLCBucykgPz8gTkVUV09SS19GQUxMQkFDS19NRVNTQUdFO1xuICAgIH1cblxuICAgIC8vIDMuIGZhbGxiYWNrS2V5IHByb3Zpc3RvIHBvciBsYSBhcHAuXG4gICAgaWYgKG9wdHMuZmFsbGJhY2tLZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZShvcHRzLmZhbGxiYWNrS2V5LCBucykgPz8gaW50ZXJwcmV0ZWQubWVzc2FnZTtcbiAgICB9XG5cbiAgICAvLyA0LiBHZW7DqXJpY28g4oCUIHByZWZlcmlyIGVsIG1lbnNhamUgZGVsIGJhY2tlbmQgKHlhIHZpZW5lIGVuIGVzcGHDsW9sKSBzaSBsbyBoYXkuXG4gICAgcmV0dXJuIGludGVycHJldGVkLm1lc3NhZ2UgfHwgR0VORVJJQ19GQUxMQkFDS19NRVNTQUdFO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYWR1Y2UgdW5hIGtleSBpMThuLiBEZXZ1ZWx2ZSBgbnVsbGAgc2kgbGEga2V5IG5vIGVzdMOhIGRlZmluaWRhIOKAlCBlbFxuICAgKiBgSTE4blNlcnZpY2VgIGRldnVlbHZlIHVuIHBsYWNlaG9sZGVyIGBbbmFtZXNwYWNlLmtleV1gIHBhcmEga2V5cyBmYWx0YW50ZXM7XG4gICAqIGxvIGRldGVjdGFtb3MgcGFyYSBwb2RlciBjYWVyIGEgdW4gZmFsbGJhY2sgZW4gbHVnYXIgZGUgbW9zdHJhciBlbCBwbGFjZWhvbGRlci5cbiAgICovXG4gIHByaXZhdGUgdHJhbnNsYXRlKGtleTogc3RyaW5nLCBuYW1lc3BhY2U/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCB0ZXh0ID0gdGhpcy5pMThuLnQoa2V5LCBuYW1lc3BhY2UpO1xuICAgIGNvbnN0IG5zID0gbmFtZXNwYWNlID8/ICdfZ2xvYmFsJztcbiAgICByZXR1cm4gdGV4dCA9PT0gYFske25zfS4ke2tleX1dYCA/IG51bGwgOiB0ZXh0O1xuICB9XG59XG4iXX0=
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Injectable } from '@angular/core';
|
|
7
7
|
import { addIcons } from 'ionicons';
|
|
8
|
-
import { addCircleOutline, addOutline, alertCircleOutline, alertOutline, arrowBackOutline, arrowDownOutline, arrowForwardOutline, businessOutline, calendarOutline, chatbubblesOutline, checkmarkCircleOutline, checkmarkOutline, chevronDownOutline, chevronForwardOutline, clipboardOutline, closeOutline, copyOutline, createOutline, desktopOutline, documentTextOutline, ellipsisHorizontalOutline, eyeOffOutline, eyeOutline, filterOutline, heart, heartOutline, home, homeOutline, informationCircleOutline, keyOutline, locationOutline, lockClosedOutline, logOutOutline, logoFacebook, logoGoogle, logoInstagram, logoLinkedin, logoNpm, logoTiktok, logoTwitter, logoYoutube, notifications, notificationsOutline, openOutline, playOutline, personOutline, phonePortraitOutline, refreshOutline, removeOutline, scanOutline, settings, settingsOutline, shareOutline, shieldCheckmarkOutline, trashOutline, optionsOutline, } from 'ionicons/icons';
|
|
8
|
+
import { addCircleOutline, addOutline, alertCircleOutline, alertOutline, arrowBackOutline, arrowDownOutline, arrowForwardOutline, businessOutline, calendarOutline, chatbubblesOutline, checkmarkCircleOutline, checkmarkOutline, chevronDownOutline, chevronForwardOutline, clipboardOutline, closeOutline, cloudDownloadOutline, copyOutline, createOutline, desktopOutline, documentTextOutline, ellipsisHorizontalOutline, eyeOffOutline, eyeOutline, filterOutline, heart, heartOutline, home, homeOutline, informationCircleOutline, keyOutline, locationOutline, lockClosedOutline, logOutOutline, logoFacebook, logoGoogle, logoInstagram, logoLinkedin, logoNpm, logoTiktok, logoTwitter, logoYoutube, notifications, notificationsOutline, openOutline, playOutline, personOutline, phonePortraitOutline, refreshOutline, removeOutline, scanOutline, settings, settingsOutline, shareOutline, shieldCheckmarkOutline, trashOutline, optionsOutline, warningOutline, } from 'ionicons/icons';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export class IconService {
|
|
11
11
|
/**
|
|
@@ -69,6 +69,8 @@ export class IconService {
|
|
|
69
69
|
keyOutline,
|
|
70
70
|
desktopOutline,
|
|
71
71
|
logOutOutline,
|
|
72
|
+
cloudDownloadOutline,
|
|
73
|
+
warningOutline,
|
|
72
74
|
});
|
|
73
75
|
}
|
|
74
76
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -80,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
80
82
|
providedIn: 'root',
|
|
81
83
|
}]
|
|
82
84
|
}], ctorParameters: () => [] });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvaWNvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FBeUM7QUFFekM7OztHQUdHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxhQUFhLEVBQ2IsY0FBYyxFQUNkLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsYUFBYSxFQUNiLFVBQVUsRUFDVixhQUFhLEVBQ2IsS0FBSyxFQUNMLFlBQVksRUFDWixJQUFJLEVBQ0osV0FBVyxFQUNYLHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsWUFBWSxFQUNaLFVBQVUsRUFDVixhQUFhLEVBQ2IsWUFBWSxFQUNaLE9BQU8sRUFDUCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFdBQVcsRUFDWCxhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxXQUFXLEVBQ1gsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsYUFBYSxFQUNiLFdBQVcsRUFDWCxRQUFRLEVBQ1IsZUFBZSxFQUNmLFlBQVksRUFDWixzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLGNBQWMsRUFDZCxjQUFjLEdBQ2YsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLeEIsTUFBTSxPQUFPLFdBQVc7SUFDdEI7O09BRUc7SUFDSDtRQUNFLFFBQVEsQ0FBQztZQUNQLFVBQVU7WUFDVixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLGdCQUFnQjtZQUNoQixRQUFRO1lBQ1IsZUFBZTtZQUNmLHNCQUFzQjtZQUN0Qix5QkFBeUI7WUFDekIsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixXQUFXO1lBQ1gsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osS0FBSztZQUNMLFlBQVk7WUFDWixJQUFJO1lBQ0osV0FBVztZQUNYLGFBQWE7WUFDYixVQUFVO1lBQ1YsV0FBVztZQUNYLGtCQUFrQjtZQUNsQixxQkFBcUI7WUFDckIsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixXQUFXO1lBQ1gsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2YsZUFBZTtZQUNmLFdBQVc7WUFDWCxhQUFhO1lBQ2IsWUFBWTtZQUNaLFdBQVc7WUFDWCxVQUFVO1lBQ1YsWUFBWTtZQUNaLFVBQVU7WUFDVixhQUFhO1lBQ2IsWUFBWTtZQUNaLFdBQVc7WUFDWCxvQkFBb0I7WUFDcEIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLE9BQU87WUFDUCxhQUFhO1lBQ2IsY0FBYztZQUNkLGFBQWE7WUFDYixzQkFBc0I7WUFDdEIsVUFBVTtZQUNWLGNBQWM7WUFDZCxhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLGNBQWM7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDOytHQWpFVSxXQUFXO21IQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVyc2NvcmUtZGFuZ2xlICovXG5cbi8qKlxuICogU2VydmljZSBmb3IgcmVnaXN0ZXJpbmcgYW5kIG1hbmFnaW5nIGN1c3RvbSBJb25pY29ucyBpY29ucyBpbiB0aGUgYXBwbGljYXRpb24uXG4gKiBBdXRvbWF0aWNhbGx5IHJlZ2lzdGVycyBhIHNldCBvZiBjb21tb25seSB1c2VkIGljb25zIG9uIGluaXRpYWxpemF0aW9uLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHtcbiAgYWRkQ2lyY2xlT3V0bGluZSxcbiAgYWRkT3V0bGluZSxcbiAgYWxlcnRDaXJjbGVPdXRsaW5lLFxuICBhbGVydE91dGxpbmUsXG4gIGFycm93QmFja091dGxpbmUsXG4gIGFycm93RG93bk91dGxpbmUsXG4gIGFycm93Rm9yd2FyZE91dGxpbmUsXG4gIGJ1c2luZXNzT3V0bGluZSxcbiAgY2FsZW5kYXJPdXRsaW5lLFxuICBjaGF0YnViYmxlc091dGxpbmUsXG4gIGNoZWNrbWFya0NpcmNsZU91dGxpbmUsXG4gIGNoZWNrbWFya091dGxpbmUsXG4gIGNoZXZyb25Eb3duT3V0bGluZSxcbiAgY2hldnJvbkZvcndhcmRPdXRsaW5lLFxuICBjbGlwYm9hcmRPdXRsaW5lLFxuICBjbG9zZU91dGxpbmUsXG4gIGNsb3VkRG93bmxvYWRPdXRsaW5lLFxuICBjb3B5T3V0bGluZSxcbiAgY3JlYXRlT3V0bGluZSxcbiAgZGVza3RvcE91dGxpbmUsXG4gIGRvY3VtZW50VGV4dE91dGxpbmUsXG4gIGVsbGlwc2lzSG9yaXpvbnRhbE91dGxpbmUsXG4gIGV5ZU9mZk91dGxpbmUsXG4gIGV5ZU91dGxpbmUsXG4gIGZpbHRlck91dGxpbmUsXG4gIGhlYXJ0LFxuICBoZWFydE91dGxpbmUsXG4gIGhvbWUsXG4gIGhvbWVPdXRsaW5lLFxuICBpbmZvcm1hdGlvbkNpcmNsZU91dGxpbmUsXG4gIGtleU91dGxpbmUsXG4gIGxvY2F0aW9uT3V0bGluZSxcbiAgbG9ja0Nsb3NlZE91dGxpbmUsXG4gIGxvZ091dE91dGxpbmUsXG4gIGxvZ29GYWNlYm9vayxcbiAgbG9nb0dvb2dsZSxcbiAgbG9nb0luc3RhZ3JhbSxcbiAgbG9nb0xpbmtlZGluLFxuICBsb2dvTnBtLFxuICBsb2dvVGlrdG9rLFxuICBsb2dvVHdpdHRlcixcbiAgbG9nb1lvdXR1YmUsXG4gIG5vdGlmaWNhdGlvbnMsXG4gIG5vdGlmaWNhdGlvbnNPdXRsaW5lLFxuICBvcGVuT3V0bGluZSxcbiAgcGxheU91dGxpbmUsXG4gIHBlcnNvbk91dGxpbmUsXG4gIHBob25lUG9ydHJhaXRPdXRsaW5lLFxuICByZWZyZXNoT3V0bGluZSxcbiAgcmVtb3ZlT3V0bGluZSxcbiAgc2Nhbk91dGxpbmUsXG4gIHNldHRpbmdzLFxuICBzZXR0aW5nc091dGxpbmUsXG4gIHNoYXJlT3V0bGluZSxcbiAgc2hpZWxkQ2hlY2ttYXJrT3V0bGluZSxcbiAgdHJhc2hPdXRsaW5lLFxuICBvcHRpb25zT3V0bGluZSxcbiAgd2FybmluZ091dGxpbmUsXG59IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEljb25TZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIHNldCBvZiBJb25pY29ucyBpY29ucyBmb3IgdXNlIHRocm91Z2hvdXQgdGhlIGFwcC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFkZEljb25zKHtcbiAgICAgIGFkZE91dGxpbmUsXG4gICAgICBhZGRDaXJjbGVPdXRsaW5lLFxuICAgICAgYWxlcnRPdXRsaW5lLFxuICAgICAgYWxlcnRDaXJjbGVPdXRsaW5lLFxuICAgICAgYXJyb3dCYWNrT3V0bGluZSxcbiAgICAgIGFycm93Rm9yd2FyZE91dGxpbmUsXG4gICAgICBhcnJvd0Rvd25PdXRsaW5lLFxuICAgICAgc2V0dGluZ3MsXG4gICAgICBzZXR0aW5nc091dGxpbmUsXG4gICAgICBjaGVja21hcmtDaXJjbGVPdXRsaW5lLFxuICAgICAgZWxsaXBzaXNIb3Jpem9udGFsT3V0bGluZSxcbiAgICAgIG5vdGlmaWNhdGlvbnMsXG4gICAgICBub3RpZmljYXRpb25zT3V0bGluZSxcbiAgICAgIG9wZW5PdXRsaW5lLFxuICAgICAgY2xvc2VPdXRsaW5lLFxuICAgICAgY2hhdGJ1YmJsZXNPdXRsaW5lLFxuICAgICAgc2hhcmVPdXRsaW5lLFxuICAgICAgaGVhcnQsXG4gICAgICBoZWFydE91dGxpbmUsXG4gICAgICBob21lLFxuICAgICAgaG9tZU91dGxpbmUsXG4gICAgICBleWVPZmZPdXRsaW5lLFxuICAgICAgZXllT3V0bGluZSxcbiAgICAgIHNjYW5PdXRsaW5lLFxuICAgICAgY2hldnJvbkRvd25PdXRsaW5lLFxuICAgICAgY2hldnJvbkZvcndhcmRPdXRsaW5lLFxuICAgICAgY2hlY2ttYXJrT3V0bGluZSxcbiAgICAgIGNsaXBib2FyZE91dGxpbmUsXG4gICAgICBjb3B5T3V0bGluZSxcbiAgICAgIGZpbHRlck91dGxpbmUsXG4gICAgICBsb2NhdGlvbk91dGxpbmUsXG4gICAgICBjYWxlbmRhck91dGxpbmUsXG4gICAgICBidXNpbmVzc091dGxpbmUsXG4gICAgICBsb2dvVHdpdHRlcixcbiAgICAgIGxvZ29JbnN0YWdyYW0sXG4gICAgICBsb2dvTGlua2VkaW4sXG4gICAgICBsb2dvWW91dHViZSxcbiAgICAgIGxvZ29UaWt0b2ssXG4gICAgICBsb2dvRmFjZWJvb2ssXG4gICAgICBsb2dvR29vZ2xlLFxuICAgICAgY3JlYXRlT3V0bGluZSxcbiAgICAgIHRyYXNoT3V0bGluZSxcbiAgICAgIHBsYXlPdXRsaW5lLFxuICAgICAgcGhvbmVQb3J0cmFpdE91dGxpbmUsXG4gICAgICByZWZyZXNoT3V0bGluZSxcbiAgICAgIGRvY3VtZW50VGV4dE91dGxpbmUsXG4gICAgICBsb2NrQ2xvc2VkT3V0bGluZSxcbiAgICAgIGluZm9ybWF0aW9uQ2lyY2xlT3V0bGluZSxcbiAgICAgIGxvZ29OcG0sXG4gICAgICByZW1vdmVPdXRsaW5lLFxuICAgICAgb3B0aW9uc091dGxpbmUsXG4gICAgICBwZXJzb25PdXRsaW5lLFxuICAgICAgc2hpZWxkQ2hlY2ttYXJrT3V0bGluZSxcbiAgICAgIGtleU91dGxpbmUsXG4gICAgICBkZXNrdG9wT3V0bGluZSxcbiAgICAgIGxvZ091dE91dGxpbmUsXG4gICAgICBjbG91ZERvd25sb2FkT3V0bGluZSxcbiAgICAgIHdhcm5pbmdPdXRsaW5lLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '2.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '2.0.842';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC44NDInO1xuIl19
|