vc-error-handlers 0.1.97 → 0.1.98
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/esm2020/lib/featureFlag/feature-flag.module.mjs +1 -1
- package/esm2020/lib/shared/components/chunk-unavailable/chunk-unavailable.component.mjs +4 -3
- package/esm2020/lib/shared/components/component-level-server-error/component-level-server-error.component.mjs +5 -4
- package/esm2020/lib/shared/components/error-modal/error-modal.component.mjs +14 -11
- package/esm2020/lib/shared/components/page-not-found/page-not-found.component.mjs +25 -14
- package/esm2020/lib/shared/components/server-error/server-error.component.mjs +17 -6
- package/esm2020/lib/shared/components/session-expired/session-expired.component.mjs +4 -3
- package/esm2020/lib/shared/components/unauthorized/unauthorized.component.mjs +26 -10
- package/esm2020/lib/shared/constants/api-config.constants.mjs +7 -14
- package/esm2020/lib/shared/constants/error-handling.constants.mjs +15 -2
- package/esm2020/lib/shared/errorhandler/sentry-error.handler.mjs +6 -9
- package/esm2020/lib/shared/interceptors/http.interceptor.mjs +3 -3
- package/esm2020/lib/shared/services/global-error.service.mjs +24 -50
- package/esm2020/lib/shared/services/util.service.mjs +29 -2
- package/esm2020/lib/shared/types/global-error.types.mjs +1 -1
- package/esm2020/lib/vc-error-handlers.component.mjs +9 -12
- package/esm2020/public-api.mjs +1 -2
- package/fesm2015/vc-error-handlers.mjs +167 -138
- package/fesm2015/vc-error-handlers.mjs.map +1 -1
- package/fesm2020/vc-error-handlers.mjs +167 -138
- package/fesm2020/vc-error-handlers.mjs.map +1 -1
- package/lib/shared/components/chunk-unavailable/chunk-unavailable.component.d.ts +4 -0
- package/lib/shared/components/component-level-server-error/component-level-server-error.component.d.ts +4 -0
- package/lib/shared/components/error-modal/error-modal.component.d.ts +8 -4
- package/lib/shared/components/page-not-found/page-not-found.component.d.ts +8 -3
- package/lib/shared/components/server-error/server-error.component.d.ts +4 -0
- package/lib/shared/components/session-expired/session-expired.component.d.ts +4 -0
- package/lib/shared/components/unauthorized/unauthorized.component.d.ts +5 -0
- package/lib/shared/constants/api-config.constants.d.ts +2 -6
- package/lib/shared/constants/error-handling.constants.d.ts +13 -0
- package/lib/shared/errorhandler/sentry-error.handler.d.ts +1 -1
- package/lib/shared/services/global-error.service.d.ts +1 -1
- package/lib/shared/services/util.service.d.ts +10 -1
- package/lib/shared/types/global-error.types.d.ts +11 -0
- package/package.json +1 -1
- package/public-api.d.ts +0 -1
- package/esm2020/lib/shared/services/auth.service.mjs +0 -20
- package/lib/shared/services/auth.service.d.ts +0 -9
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export const VCOMPLY_LOGO_URL = 'https://cdn.v-comply.com/logo/prod/v-logo.svg';
|
|
2
2
|
export const API_TIMEOUT_TIME = 1000 * 15;
|
|
3
|
+
export const ORGANISATION_NAME = 'VCOMPLY TECHNOLOGIES, INC.';
|
|
4
|
+
export const ERROR_FEATURE_FLAG = 'ff_error_handling';
|
|
3
5
|
export const ERROR_CONFIG = {
|
|
4
6
|
PAGE_NOT_FOUND: {
|
|
5
7
|
imageUrl: 'https://cdn.v-comply.com/application/images/Error-page-illustration.svg',
|
|
@@ -25,7 +27,7 @@ export const ERROR_CONFIG = {
|
|
|
25
27
|
},
|
|
26
28
|
CHUNK_UNAVAILABLE: {
|
|
27
29
|
heading: 'Oops!',
|
|
28
|
-
description: '
|
|
30
|
+
description: 'Something went wrong. Please refresh the page or try again later.',
|
|
29
31
|
buttonText: 'REFRESH',
|
|
30
32
|
},
|
|
31
33
|
SERVER_ERROR: {
|
|
@@ -47,4 +49,15 @@ export const ERROR_CONFIG = {
|
|
|
47
49
|
offlineMessage: "You're currently offline. Please check your internet connection and try again.",
|
|
48
50
|
},
|
|
49
51
|
};
|
|
50
|
-
|
|
52
|
+
export const REDIRECTION_URL = {
|
|
53
|
+
compliance_dashboard: '/global-dashboard/compliance_dashboard',
|
|
54
|
+
};
|
|
55
|
+
export const MODAL_ERROR_TYPES = {
|
|
56
|
+
CHUNK_NOT_FOUND: 'chunk_not_found',
|
|
57
|
+
SESSION_EXPIRED: 'session_expired',
|
|
58
|
+
};
|
|
59
|
+
export const ALT_IMAGE_TEXT = {
|
|
60
|
+
ERROR_IMAGE: 'Error Image',
|
|
61
|
+
VCOMPLY_LOGO: 'VComply',
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxpbmcuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi9zaGFyZWQvY29uc3RhbnRzL2Vycm9yLWhhbmRsaW5nLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRywrQ0FBK0MsQ0FBQztBQUNoRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLDRCQUE0QixDQUFDO0FBQzlELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixjQUFjLEVBQUU7UUFDZCxRQUFRLEVBQ04seUVBQXlFO1FBQzNFLEtBQUssRUFBRSxPQUFPO1FBQ2QsV0FBVyxFQUFFLDRDQUE0QztRQUN6RCxPQUFPLEVBQUUsaURBQWlEO1FBQzFELFVBQVUsRUFBRSxpQkFBaUI7S0FDOUI7SUFFRCxZQUFZLEVBQUU7UUFDWixRQUFRLEVBQ04seUVBQXlFO1FBQzNFLEtBQUssRUFBRSxPQUFPO1FBQ2QsV0FBVyxFQUFFLGdEQUFnRDtRQUM3RCxPQUFPLEVBQUUsaURBQWlEO1FBQzFELEtBQUssRUFBRSxtQkFBbUI7UUFDMUIsT0FBTyxFQUFFLGFBQWE7UUFDdEIsVUFBVSxFQUFFLGlCQUFpQjtRQUM3QixJQUFJLEVBQUUsMEJBQTBCO0tBQ2pDO0lBRUQsZUFBZSxFQUFFO1FBQ2YsT0FBTyxFQUFFLGtCQUFrQjtRQUMzQixXQUFXLEVBQ1QsMEVBQTBFO1FBQzVFLFVBQVUsRUFBRSxPQUFPO0tBQ3BCO0lBRUQsaUJBQWlCLEVBQUU7UUFDakIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLG1FQUFtRTtRQUNoRixVQUFVLEVBQUUsU0FBUztLQUN0QjtJQUVELFlBQVksRUFBRTtRQUNaLFFBQVEsRUFDTix5RUFBeUU7UUFDM0UsS0FBSyxFQUFFLE9BQU87UUFDZCxXQUFXLEVBQUUsaUNBQWlDO1FBQzlDLE9BQU8sRUFBRSw4Q0FBOEM7UUFDdkQsVUFBVSxFQUFFLFNBQVM7UUFDckIsZUFBZSxFQUFFLHFEQUFxRDtLQUN2RTtJQUVELDRCQUE0QixFQUFFO1FBQzVCLFFBQVEsRUFBRSxnRUFBZ0U7UUFDMUUsS0FBSyxFQUFFLE9BQU87UUFDZCxXQUFXLEVBQUUsaUNBQWlDO1FBQzlDLE9BQU8sRUFBRSxpREFBaUQ7UUFDMUQsVUFBVSxFQUFFLE9BQU87S0FDcEI7SUFFRCxtQkFBbUIsRUFBRTtRQUNuQixjQUFjLEVBQ1osZ0ZBQWdGO0tBQ25GO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixvQkFBb0IsRUFBRSx3Q0FBd0M7Q0FDL0QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsZUFBZSxFQUFFLGlCQUFpQjtDQUNuQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFlBQVksRUFBRSxTQUFTO0NBQ3hCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVkNPTVBMWV9MT0dPX1VSTCA9ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbG9nby9wcm9kL3YtbG9nby5zdmcnO1xyXG5leHBvcnQgY29uc3QgQVBJX1RJTUVPVVRfVElNRSA9IDEwMDAgKiAxNTtcclxuZXhwb3J0IGNvbnN0IE9SR0FOSVNBVElPTl9OQU1FID0gJ1ZDT01QTFkgVEVDSE5PTE9HSUVTLCBJTkMuJztcclxuZXhwb3J0IGNvbnN0IEVSUk9SX0ZFQVRVUkVfRkxBRyA9ICdmZl9lcnJvcl9oYW5kbGluZyc7XHJcblxyXG5leHBvcnQgY29uc3QgRVJST1JfQ09ORklHID0ge1xyXG4gIFBBR0VfTk9UX0ZPVU5EOiB7XHJcbiAgICBpbWFnZVVybDpcclxuICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9hcHBsaWNhdGlvbi9pbWFnZXMvRXJyb3ItcGFnZS1pbGx1c3RyYXRpb24uc3ZnJyxcclxuICAgIHRpdGxlOiAnT29wcyEnLFxyXG4gICAgZGVzY3JpcHRpb246IFwiVGhlIHBhZ2UgeW91J3JlIGxvb2tpbmcgZm9yIGRvZXNuJ3QgZXhpc3QuXCIsXHJcbiAgICBkZXRhaWxzOiAnUGxlYXNlIGNoZWNrIHRoZSBVUkwgb3IgcmV0dXJuIHRvIHRoZSBob21lcGFnZS4nLFxyXG4gICAgYnV0dG9uVGV4dDogJ0dPIFRPIERBU0hCT0FSRCcsXHJcbiAgfSxcclxuXHJcbiAgVU5BVVRIT1JJWkVEOiB7XHJcbiAgICBpbWFnZVVybDpcclxuICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9hcHBsaWNhdGlvbi9pbWFnZXMvRXJyb3ItcGFnZS1pbGx1c3RyYXRpb24uc3ZnJyxcclxuICAgIHRpdGxlOiAnT29wcyEnLFxyXG4gICAgZGVzY3JpcHRpb246IFwiWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhpcyBwYWdlLlwiLFxyXG4gICAgZGV0YWlsczogJ0lmIHlvdSBiZWxpZXZlIHRoaXMgaXMgYW4gZXJyb3IsIHBsZWFzZSBjb250YWN0JyxcclxuICAgIGVtYWlsOiAnaGVscEB2LWNvbXBseS5jb20nLFxyXG4gICAgc3VwcG9ydDogJ2ZvciBzdXBwb3J0JyxcclxuICAgIGJ1dHRvblRleHQ6ICdDT05UQUNUIFNVUFBPUlQnLFxyXG4gICAgbWFpbDogJ21haWx0bzpoZWxwQHYtY29tcGx5LmNvbScsXHJcbiAgfSxcclxuXHJcbiAgU0VTU0lPTl9FWFBJUkVEOiB7XHJcbiAgICBoZWFkaW5nOiAnU2Vzc2lvbiBFeHBpcmVkIScsXHJcbiAgICBkZXNjcmlwdGlvbjpcclxuICAgICAgJ1lvdXIgc2Vzc2lvbiBoYXMgZXhwaXJlZC4gUGxlYXNlIGxvZyBpbiBhZ2FpbiB0byBjb250aW51ZSB1c2luZyB0aGUgYXBwLicsXHJcbiAgICBidXR0b25UZXh0OiAnTE9HSU4nLFxyXG4gIH0sXHJcblxyXG4gIENIVU5LX1VOQVZBSUxBQkxFOiB7XHJcbiAgICBoZWFkaW5nOiAnT29wcyEnLFxyXG4gICAgZGVzY3JpcHRpb246ICdTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHJlZnJlc2ggdGhlIHBhZ2Ugb3IgdHJ5IGFnYWluIGxhdGVyLicsXHJcbiAgICBidXR0b25UZXh0OiAnUkVGUkVTSCcsXHJcbiAgfSxcclxuXHJcbiAgU0VSVkVSX0VSUk9SOiB7XHJcbiAgICBpbWFnZVVybDpcclxuICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9hcHBsaWNhdGlvbi9pbWFnZXMvRXJyb3ItcGFnZS1pbGx1c3RyYXRpb24uc3ZnJyxcclxuICAgIHRpdGxlOiAnT29wcyEnLFxyXG4gICAgZGVzY3JpcHRpb246ICdXZSBhcmUgdW5hYmxlIHRvIGxvYWQgdGhlIGRhdGEuJyxcclxuICAgIGRldGFpbHM6ICdQbGVhc2UgcmVmcmVzaCB0aGlzIHBhZ2Ugb3IgdHJ5IGFnYWluIGxhdGVyLicsXHJcbiAgICBidXR0b25UZXh0OiAnUkVGUkVTSCcsXHJcbiAgICBzbmFja0Jhck1lc3NhZ2U6IGBPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci5gLFxyXG4gIH0sXHJcblxyXG4gIENPTVBPTkVOVF9MRVZFTF9TRVJWRVJfRVJST1I6IHtcclxuICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2FwcGxpY2F0aW9uL2ltYWdlcy9zYWQtZW1vamktaWNvbi5zdmcnLFxyXG4gICAgdGl0bGU6ICdPb3BzIScsXHJcbiAgICBkZXNjcmlwdGlvbjogJ1dlIGFyZSB1bmFibGUgdG8gbG9hZCB0aGUgZGF0YS4nLFxyXG4gICAgZGV0YWlsczogJ1BsZWFzZSByZWZyZXNoIHRoaXMgc2VjdGlvbiBvciB0cnkgYWdhaW4gbGF0ZXIuJyxcclxuICAgIGJ1dHRvblRleHQ6ICdSRVRSWScsXHJcbiAgfSxcclxuXHJcbiAgTkVUV09SS19VTkFWQUlMQUJMRToge1xyXG4gICAgb2ZmbGluZU1lc3NhZ2U6XHJcbiAgICAgIFwiWW91J3JlIGN1cnJlbnRseSBvZmZsaW5lLiBQbGVhc2UgY2hlY2sgeW91ciBpbnRlcm5ldCBjb25uZWN0aW9uIGFuZCB0cnkgYWdhaW4uXCIsXHJcbiAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBSRURJUkVDVElPTl9VUkwgPSB7XHJcbiAgY29tcGxpYW5jZV9kYXNoYm9hcmQ6ICcvZ2xvYmFsLWRhc2hib2FyZC9jb21wbGlhbmNlX2Rhc2hib2FyZCcsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgTU9EQUxfRVJST1JfVFlQRVMgPSB7XHJcbiAgQ0hVTktfTk9UX0ZPVU5EOiAnY2h1bmtfbm90X2ZvdW5kJyxcclxuICBTRVNTSU9OX0VYUElSRUQ6ICdzZXNzaW9uX2V4cGlyZWQnLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEFMVF9JTUFHRV9URVhUID0ge1xyXG4gIEVSUk9SX0lNQUdFOiAnRXJyb3IgSW1hZ2UnLFxyXG4gIFZDT01QTFlfTE9HTzogJ1ZDb21wbHknLFxyXG59XHJcbiJdfQ==
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Injectable, Optional } from '@angular/core';
|
|
2
2
|
import * as Sentry from '@sentry/angular-ivy';
|
|
3
|
-
import { ErrorStatusCode } from '../types/global-error.types';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
import * as i1 from "@vcomply/authorizer";
|
|
6
5
|
import * as i2 from "../services/global-error.service";
|
|
@@ -28,15 +27,13 @@ export class SentryErrorHandler {
|
|
|
28
27
|
}
|
|
29
28
|
handleError(error) {
|
|
30
29
|
const ERROR = error?.originalError || error;
|
|
31
|
-
this.
|
|
30
|
+
this.handleChunkError(ERROR);
|
|
32
31
|
Sentry.captureException(ERROR);
|
|
33
32
|
}
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
-
if (
|
|
37
|
-
|
|
38
|
-
status: ErrorStatusCode.JSChunkUnavailable,
|
|
39
|
-
});
|
|
33
|
+
handleChunkError(error) {
|
|
34
|
+
const chunkFailedMessage = /Loading chunk [\d]+ failed/;
|
|
35
|
+
if (chunkFailedMessage.test(error?.message)) {
|
|
36
|
+
window.location.reload();
|
|
40
37
|
}
|
|
41
38
|
}
|
|
42
39
|
}
|
|
@@ -47,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
47
44
|
}], ctorParameters: function () { return [{ type: i1.AuthorizerService }, { type: i2.GlobalErrorService }, { type: i3.Configurations, decorators: [{
|
|
48
45
|
type: Optional
|
|
49
46
|
}] }]; } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudHJ5LWVycm9yLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3NoYXJlZC9lcnJvcmhhbmRsZXIvc2VudHJ5LWVycm9yLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sS0FBSyxNQUFNLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBUzlDLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFDVSxpQkFBb0MsRUFDcEMsWUFBZ0MsRUFDNUIsTUFBdUI7UUFGM0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFHeEMsSUFBSSxNQUFNLEVBQUUsWUFBWSxFQUFFO1lBQ3hCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDVixHQUFHLEVBQUUsYUFBYSxFQUFFLEdBQUc7Z0JBQ3ZCLFlBQVksRUFBRTtvQkFDWixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUM7d0JBQ3hCLHVCQUF1QixFQUFFLGFBQWEsQ0FBQyxZQUFZO3dCQUNuRCxzQkFBc0IsRUFBRSxNQUFNLENBQUMsc0JBQXNCO3FCQUN0RCxDQUFDO2lCQUNIO2dCQUNELGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxrQkFBa0I7Z0JBQ2xELHdCQUF3QixFQUFFLGFBQWEsQ0FBQywwQkFBMEI7Z0JBQ2xFLHdCQUF3QixFQUFFLGFBQWEsQ0FBQywyQkFBMkI7YUFDcEUsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ25FO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxhQUFhLElBQUksS0FBSyxDQUFDO1FBQzVDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVk7UUFDM0IsTUFBTSxrQkFBa0IsR0FBRyw0QkFBNEIsQ0FBQztRQUN4RCxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDM0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7OytHQW5DVSxrQkFBa0I7bUhBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOzswQkFLTixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBTZW50cnkgZnJvbSAnQHNlbnRyeS9hbmd1bGFyLWl2eSc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbic7XHJcblxyXG5pbXBvcnQgeyBBdXRob3JpemVyU2VydmljZSB9IGZyb20gJ0B2Y29tcGx5L2F1dGhvcml6ZXInO1xyXG5pbXBvcnQgeyBHbG9iYWxFcnJvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9nbG9iYWwtZXJyb3Iuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBFcnJvclN0YXR1c0NvZGUgfSBmcm9tICcuLi90eXBlcy9nbG9iYWwtZXJyb3IudHlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2VudHJ5RXJyb3JIYW5kbGVyIGltcGxlbWVudHMgRXJyb3JIYW5kbGVyIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aG9yaXplclNlcnZpY2U6IEF1dGhvcml6ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlcnJvclNlcnZpY2U6IEdsb2JhbEVycm9yU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zXHJcbiAgKSB7XHJcbiAgICBpZiAoY29uZmlnPy5zZW50cnlDb25maWcpIHtcclxuICAgICAgY29uc3QgU0VOVFJZX0NPTkZJRyA9IGNvbmZpZy5zZW50cnlDb25maWc7XHJcbiAgICAgIFNlbnRyeS5pbml0KHtcclxuICAgICAgICBkc246IFNFTlRSWV9DT05GSUc/LkRTTixcclxuICAgICAgICBpbnRlZ3JhdGlvbnM6IFtcclxuICAgICAgICAgIG5ldyBTZW50cnkuQnJvd3NlclRyYWNpbmcoe1xyXG4gICAgICAgICAgICB0cmFjZVByb3BhZ2F0aW9uVGFyZ2V0czogU0VOVFJZX0NPTkZJRy5BTExPV19PUklHSU4sXHJcbiAgICAgICAgICAgIHJvdXRpbmdJbnN0cnVtZW50YXRpb246IFNlbnRyeS5yb3V0aW5nSW5zdHJ1bWVudGF0aW9uLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgXSxcclxuICAgICAgICB0cmFjZXNTYW1wbGVSYXRlOiBTRU5UUllfQ09ORklHLlRSQUNFU19TQU1QTEVfUkFURSxcclxuICAgICAgICByZXBsYXlzU2Vzc2lvblNhbXBsZVJhdGU6IFNFTlRSWV9DT05GSUcuUkVQTEFZX1NFU1NJT05fU0FNUExFX1JBVEUsXHJcbiAgICAgICAgcmVwbGF5c09uRXJyb3JTYW1wbGVSYXRlOiBTRU5UUllfQ09ORklHLlJFUExBWV9PTl9FUlJPUl9TQU1QTEVfUkFURSxcclxuICAgICAgfSk7XHJcbiAgICAgIFNlbnRyeS5zZXRVc2VyKHsgdXNlckRldGFpbHM6IHRoaXMuYXV0aG9yaXplclNlcnZpY2UuZ2V0VXNlcigpIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSkge1xyXG4gICAgY29uc3QgRVJST1IgPSBlcnJvcj8ub3JpZ2luYWxFcnJvciB8fCBlcnJvcjtcclxuICAgIHRoaXMuaGFuZGxlQ2h1bmtFcnJvcihFUlJPUik7XHJcbiAgICBTZW50cnkuY2FwdHVyZUV4Y2VwdGlvbihFUlJPUik7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDaHVua0Vycm9yKGVycm9yOiBFcnJvcikge1xyXG4gICAgY29uc3QgY2h1bmtGYWlsZWRNZXNzYWdlID0gL0xvYWRpbmcgY2h1bmsgW1xcZF0rIGZhaWxlZC87XHJcbiAgICBpZiAoY2h1bmtGYWlsZWRNZXNzYWdlLnRlc3QoZXJyb3I/Lm1lc3NhZ2UpKSB7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import { HttpResponse, } from '@angular/common/http';
|
|
3
3
|
import { throwError } from 'rxjs';
|
|
4
4
|
import { catchError, tap, timeout } from 'rxjs/operators';
|
|
5
|
-
import { API_TIMEOUT_TIME } from '../constants/error-handling.constants';
|
|
5
|
+
import { API_TIMEOUT_TIME, ERROR_FEATURE_FLAG, } from '../constants/error-handling.constants';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../services/global-error.service";
|
|
8
8
|
import * as i2 from "../../featureFlag/feature-flag.service";
|
|
@@ -12,7 +12,7 @@ export class HttpReqInterceptor {
|
|
|
12
12
|
this.featureFlagService = featureFlagService;
|
|
13
13
|
}
|
|
14
14
|
intercept(req, next) {
|
|
15
|
-
if (this.featureFlagService.isFeatureEnabled(
|
|
15
|
+
if (this.featureFlagService.isFeatureEnabled(ERROR_FEATURE_FLAG)) {
|
|
16
16
|
return next.handle(req).pipe(timeout(API_TIMEOUT_TIME), tap((event) => {
|
|
17
17
|
if (event instanceof HttpResponse) {
|
|
18
18
|
this.errorService.handleSoftErrors(event);
|
|
@@ -32,4 +32,4 @@ HttpReqInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", v
|
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpReqInterceptor, decorators: [{
|
|
33
33
|
type: Injectable
|
|
34
34
|
}], ctorParameters: function () { return [{ type: i1.GlobalErrorService }, { type: i2.FeatureFlagService }]; } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvc2hhcmVkL2ludGVyY2VwdG9ycy9odHRwLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQU1MLFlBQVksR0FDYixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLMUQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQkFBa0IsR0FDbkIsTUFBTSx1Q0FBdUMsQ0FBQzs7OztBQUcvQyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsWUFBZ0MsRUFDaEMsa0JBQXNDO1FBRHRDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQzdDLENBQUM7SUFFSixTQUFTLENBQ1AsR0FBcUIsRUFDckIsSUFBaUI7UUFFakIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUNoRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUMxQixPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFDekIsR0FBRyxDQUFDLENBQUMsS0FBcUIsRUFBRSxFQUFFO2dCQUM1QixJQUFJLEtBQUssWUFBWSxZQUFZLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzNDO1lBQ0gsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7K0dBMUJVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSHR0cFJlcXVlc3QsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxuICBIdHRwRXJyb3JSZXNwb25zZSxcclxuICBIdHRwUmVzcG9uc2UsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRhcCwgdGltZW91dCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEdsb2JhbEVycm9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2dsb2JhbC1lcnJvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmVhdHVyZUZsYWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZUZsYWcvZmVhdHVyZS1mbGFnLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHtcclxuICBBUElfVElNRU9VVF9USU1FLFxyXG4gIEVSUk9SX0ZFQVRVUkVfRkxBRyxcclxufSBmcm9tICcuLi9jb25zdGFudHMvZXJyb3ItaGFuZGxpbmcuY29uc3RhbnRzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEh0dHBSZXFJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVycm9yU2VydmljZTogR2xvYmFsRXJyb3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmZWF0dXJlRmxhZ1NlcnZpY2U6IEZlYXR1cmVGbGFnU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgaW50ZXJjZXB0KFxyXG4gICAgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LFxyXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICBpZiAodGhpcy5mZWF0dXJlRmxhZ1NlcnZpY2UuaXNGZWF0dXJlRW5hYmxlZChFUlJPUl9GRUFUVVJFX0ZMQUcpKSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpLnBpcGUoXHJcbiAgICAgICAgdGltZW91dChBUElfVElNRU9VVF9USU1FKSxcclxuICAgICAgICB0YXAoKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xyXG4gICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLmhhbmRsZVNvZnRFcnJvcnMoZXZlbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2UuaGFuZGxlRXJyb3IoZXJyb3IsIHJlcSk7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -60,11 +60,9 @@ export class GlobalErrorService {
|
|
|
60
60
|
}
|
|
61
61
|
handleServerError(error, request) {
|
|
62
62
|
if (this.isPageLevelError(error, request)) {
|
|
63
|
-
console.log('page level error');
|
|
64
63
|
this.publishGlobalError(error);
|
|
65
64
|
}
|
|
66
65
|
else if (this.isComponentLevelError(error, request)) {
|
|
67
|
-
console.log('component level error');
|
|
68
66
|
this.publishLocalError(error, request);
|
|
69
67
|
}
|
|
70
68
|
}
|
|
@@ -75,60 +73,36 @@ export class GlobalErrorService {
|
|
|
75
73
|
this.localError$.next({ error, request });
|
|
76
74
|
}
|
|
77
75
|
isPageLevelError(error, request) {
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
if (!isQuerySubset)
|
|
87
|
-
return false;
|
|
88
|
-
const isBodyMatch = this.utilService.isJsonSubset(apiConfig.body, body);
|
|
89
|
-
if (!isBodyMatch)
|
|
90
|
-
return false;
|
|
91
|
-
return apiConfig.pageCodes.includes(pageCode);
|
|
92
|
-
});
|
|
93
|
-
return isConfigMatched;
|
|
76
|
+
const requestDetails = {
|
|
77
|
+
method: request.method,
|
|
78
|
+
path: request.url,
|
|
79
|
+
query: this.utilService.extractQueryParams(request.params),
|
|
80
|
+
body: request.body,
|
|
81
|
+
pageCode: this.getPageCode(),
|
|
82
|
+
};
|
|
83
|
+
return this.pageLevelApiConfig.some((apiConfig) => this.isApiConfigMatching(apiConfig, requestDetails));
|
|
94
84
|
}
|
|
95
85
|
isComponentLevelError(error, request) {
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
query
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
return false;
|
|
104
|
-
if (!path.includes(apiConfig.path))
|
|
105
|
-
return false;
|
|
106
|
-
if (apiConfig.query) {
|
|
107
|
-
const isQuerySubset = this.utilService.isJsonSubset(query, apiConfig.query);
|
|
108
|
-
if (!isQuerySubset)
|
|
109
|
-
return false;
|
|
110
|
-
}
|
|
111
|
-
if (apiConfig.body) {
|
|
112
|
-
const isBodyMatch = this.utilService.isJsonSubset(apiConfig.body, body);
|
|
113
|
-
if (!isBodyMatch)
|
|
114
|
-
return false;
|
|
115
|
-
}
|
|
116
|
-
return true;
|
|
117
|
-
});
|
|
118
|
-
return isConfigFound;
|
|
119
|
-
}
|
|
120
|
-
parseRequest(request) {
|
|
121
|
-
const { method, url: path, params, body } = request;
|
|
122
|
-
const query = {};
|
|
123
|
-
params.keys().forEach((key) => {
|
|
124
|
-
query[key] = params.get(key);
|
|
125
|
-
});
|
|
126
|
-
return { method, path, query, body };
|
|
86
|
+
const requestDetails = {
|
|
87
|
+
method: request.method,
|
|
88
|
+
path: request.url,
|
|
89
|
+
query: this.utilService.extractQueryParams(request.params),
|
|
90
|
+
body: request.body,
|
|
91
|
+
};
|
|
92
|
+
return this.componentLevelApiConfig.some((apiConfig) => this.isApiConfigMatching(apiConfig, requestDetails));
|
|
127
93
|
}
|
|
128
94
|
getPageCode() {
|
|
129
95
|
const currentRoute = this.router.routerState.snapshot.root.firstChild;
|
|
130
96
|
return currentRoute?.data?.pageCode;
|
|
131
97
|
}
|
|
98
|
+
isApiConfigMatching(apiConfig, requestDetails) {
|
|
99
|
+
return (this.utilService.isStringEqual(apiConfig.method, requestDetails.method) &&
|
|
100
|
+
this.utilService.isSubstringInString(apiConfig.path, requestDetails.path) &&
|
|
101
|
+
this.utilService.isSubsetOfObject(apiConfig.query, requestDetails.query) &&
|
|
102
|
+
this.utilService.isSubsetOfArray(apiConfig.body, requestDetails.body) &&
|
|
103
|
+
(!apiConfig.pageCodes ||
|
|
104
|
+
this.utilService.isValueInArray(apiConfig.pageCodes, requestDetails.pageCode || '')));
|
|
105
|
+
}
|
|
132
106
|
}
|
|
133
107
|
GlobalErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: GlobalErrorService, deps: [{ token: i1.SnackBarService }, { token: i2.UtilsService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
134
108
|
GlobalErrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: GlobalErrorService, providedIn: 'root' });
|
|
@@ -138,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
138
112
|
providedIn: 'root',
|
|
139
113
|
}]
|
|
140
114
|
}], ctorParameters: function () { return [{ type: i1.SnackBarService }, { type: i2.UtilsService }, { type: i3.Router }]; } });
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9nbG9iYWwtZXJyb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLL0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsMEJBQTBCLEdBQzNCLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBSzNDLE1BQU0sT0FBTyxrQkFBa0I7SUFPN0IsWUFDVSxlQUFnQyxFQUNoQyxXQUF5QixFQUN6QixNQUFjO1FBRmQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFjO1FBQ3pCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFUakIsaUJBQVksR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMzQyxnQkFBVyxHQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXpDLHVCQUFrQixHQUFHLHFCQUFxQixDQUFDO1FBQzNDLDRCQUF1QixHQUFHLDBCQUEwQixDQUFDO0lBTTFELENBQUM7SUFFRyxnQkFBZ0IsQ0FBQyxLQUE0QztRQUNsRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUxQyxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUN6QyxNQUFNLGFBQWEsR0FBRyxVQUFV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QUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDdEUsT0FBTyxZQUFZLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQztJQUN0QyxDQUFDOzsrR0F0SlUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBIdHRwRXJyb3JSZXNwb25zZSxcclxuICBIdHRwUmVxdWVzdCxcclxuICBIdHRwUmVzcG9uc2UsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uLy4uL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuL3V0aWwuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBFcnJvclN0YXR1c0NvZGUgfSBmcm9tICcuLi90eXBlcy9nbG9iYWwtZXJyb3IudHlwZXMnO1xyXG5pbXBvcnQgeyBFUlJPUl9DT05GSUcgfSBmcm9tICcuLi9jb25zdGFudHMvZXJyb3ItaGFuZGxpbmcuY29uc3RhbnRzJztcclxuaW1wb3J0IHtcclxuICBQQUdFX0xFVkVMX0FQSV9DT05GSUcsXHJcbiAgQ09NUE9ORU5UX0xFVkVMX0FQSV9DT05GSUcsXHJcbn0gZnJvbSAnLi4vY29uc3RhbnRzL2FwaS1jb25maWcuY29uc3RhbnRzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHbG9iYWxFcnJvclNlcnZpY2Uge1xyXG4gIHB1YmxpYyBnbG9iYWxFcnJvciQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIGxvY2FsRXJyb3IkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBwcml2YXRlIHBhZ2VMZXZlbEFwaUNvbmZpZyA9IFBBR0VfTEVWRUxfQVBJX0NPTkZJRztcclxuICBwcml2YXRlIGNvbXBvbmVudExldmVsQXBpQ29uZmlnID0gQ09NUE9ORU5UX0xFVkVMX0FQSV9DT05GSUc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzbmFja0JhclNlcnZpY2U6IFNuYWNrQmFyU2VydmljZSxcclxuICAgIHByaXZhdGUgdXRpbFNlcnZpY2U6IFV0aWxzU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTb2Z0RXJyb3JzKGV2ZW50OiBIdHRwUmVzcG9uc2U8YW55PiB8IEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICBjb25zdCB4RGF0YSA9IGV2ZW50LmhlYWRlcnMuZ2V0KCdYLURhdGEnKTtcclxuXHJcbiAgICBpZiAoeERhdGEpIHtcclxuICAgICAgY29uc3QgcGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoeERhdGEpO1xyXG4gICAgICBjb25zdCBzdGF0dXNDb2RlID0gcGFyc2VkRGF0YS5zdGF0dXNDb2RlO1xyXG4gICAgICBjb25zdCBzdGF0dXNNZXNzYWdlID0gcGFyc2VkRGF0YS5tZXNzYWdlO1xyXG5cclxuICAgICAgaWYgKHN0YXR1c0NvZGUgJiYgc3RhdHVzQ29kZSAhPT0gMCkge1xyXG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLnNob3coc3RhdHVzTWVzc2FnZSB8fCAnRXJyb3Igb2NjdXJyZWQnLCAnZXJyb3InKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSwgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pikge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmlzVW5hdXRoZW50aWNhdGVkKGVycm9yKSB8fFxyXG4gICAgICB0aGlzLmlzVW5hdXRob3JpemVkQWNjZXNzKGVycm9yKSB8fFxyXG4gICAgICB0aGlzLmlzTmV0d29ya1VuYXZhaWxhYmxlKGVycm9yKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMucHVibGlzaEdsb2JhbEVycm9yKGVycm9yKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5pc1NlcnZlckVycm9yKGVycm9yKSkge1xyXG4gICAgICB0aGlzLmhhbmRsZVNlcnZlckVycm9yKGVycm9yLCByZXF1ZXN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlU29mdEVycm9ycyhlcnJvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNTZXJ2ZXJFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNlcnZlckVycm9yQ29kZXMgPSBbXHJcbiAgICAgIEVycm9yU3RhdHVzQ29kZS5JbnRlcm5hbFNlcnZlckVycm9yLFxyXG4gICAgICBFcnJvclN0YXR1c0NvZGUuU2VydmljZVVuYXZhaWxhYmxlLFxyXG4gICAgICBFcnJvclN0YXR1c0NvZGUuQmFkR2F0ZXdheSxcclxuICAgICAgRXJyb3JTdGF0dXNDb2RlLlJlcXVlc3RUaW1lb3V0LFxyXG4gICAgXTtcclxuXHJcbiAgICByZXR1cm4gc2VydmVyRXJyb3JDb2Rlcy5pbmNsdWRlcyhlcnJvci5zdGF0dXMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1VuYXV0aGVudGljYXRlZChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBlcnJvci5zdGF0dXMgPT09IEVycm9yU3RhdHVzQ29kZS5VbmF1dGhlbnRpY2F0ZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzVW5hdXRob3JpemVkQWNjZXNzKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGVycm9yLnN0YXR1cyA9PT0gRXJyb3JTdGF0dXNDb2RlLlVuYXV0aG9yaXplZEFjY2VzcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNOZXR3b3JrVW5hdmFpbGFibGUoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID09PSBFcnJvclN0YXR1c0NvZGUuTmV0d29ya1VuYXZhaWxhYmxlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVTZXJ2ZXJFcnJvcihcclxuICAgIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSxcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT5cclxuICApIHtcclxuICAgIGlmICh0aGlzLmlzUGFnZUxldmVsRXJyb3IoZXJyb3IsIHJlcXVlc3QpKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdwYWdlIGxldmVsIGVycm9yJyk7XHJcbiAgICAgIHRoaXMucHVibGlzaEdsb2JhbEVycm9yKGVycm9yKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5pc0NvbXBvbmVudExldmVsRXJyb3IoZXJyb3IsIHJlcXVlc3QpKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdjb21wb25lbnQgbGV2ZWwgZXJyb3InKTtcclxuICAgICAgdGhpcy5wdWJsaXNoTG9jYWxFcnJvcihlcnJvciwgcmVxdWVzdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHB1Ymxpc2hHbG9iYWxFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIHRoaXMuZ2xvYmFsRXJyb3IkLm5leHQoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwdWJsaXNoTG9jYWxFcnJvcihcclxuICAgIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSxcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT5cclxuICApIHtcclxuICAgIHRoaXMubG9jYWxFcnJvciQubmV4dCh7IGVycm9yLCByZXF1ZXN0IH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1BhZ2VMZXZlbEVycm9yKFxyXG4gICAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PlxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgeyBtZXRob2QsIHBhdGgsIHF1ZXJ5LCBib2R5IH0gPSB0aGlzLnBhcnNlUmVxdWVzdChyZXF1ZXN0KTtcclxuICAgIGNvbnN0IHBhZ2VDb2RlID0gdGhpcy5nZXRQYWdlQ29kZSgpO1xyXG5cclxuICAgIGNvbnN0IGlzQ29uZmlnTWF0Y2hlZCA9IHRoaXMucGFnZUxldmVsQXBpQ29uZmlnLnNvbWUoKGFwaUNvbmZpZykgPT4ge1xyXG4gICAgICBpZiAoYXBpQ29uZmlnLm1ldGhvZCAhPT0gbWV0aG9kKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgIGlmIChhcGlDb25maWcucGF0aCAhPT0gcGF0aCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBjb25zdCBpc1F1ZXJ5U3Vic2V0ID0gdGhpcy51dGlsU2VydmljZS5pc0pzb25TdWJzZXQoXHJcbiAgICAgICAgYXBpQ29uZmlnLnF1ZXJ5LFxyXG4gICAgICAgIHF1ZXJ5XHJcbiAgICAgICk7XHJcbiAgICAgIGlmICghaXNRdWVyeVN1YnNldCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBjb25zdCBpc0JvZHlNYXRjaCA9IHRoaXMudXRpbFNlcnZpY2UuaXNKc29uU3Vic2V0KGFwaUNvbmZpZy5ib2R5LCBib2R5KTtcclxuICAgICAgaWYgKCFpc0JvZHlNYXRjaCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICByZXR1cm4gYXBpQ29uZmlnLnBhZ2VDb2Rlcy5pbmNsdWRlcyhwYWdlQ29kZSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBpc0NvbmZpZ01hdGNoZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzQ29tcG9uZW50TGV2ZWxFcnJvcihcclxuICAgIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSxcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT5cclxuICApOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHsgbWV0aG9kLCB1cmw6IHBhdGgsIHBhcmFtcywgYm9keSB9ID0gcmVxdWVzdDtcclxuICAgIGNvbnN0IHF1ZXJ5OiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgICBwYXJhbXMua2V5cygpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBxdWVyeVtrZXldID0gcGFyYW1zLmdldChrZXkpO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBpc0NvbmZpZ0ZvdW5kID0gdGhpcy5jb21wb25lbnRMZXZlbEFwaUNvbmZpZy5zb21lKChhcGlDb25maWcpID0+IHtcclxuICAgICAgaWYgKGFwaUNvbmZpZy5tZXRob2QgIT09IG1ldGhvZCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBpZiAoIXBhdGguaW5jbHVkZXMoYXBpQ29uZmlnLnBhdGgpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgIGlmIChhcGlDb25maWcucXVlcnkpIHtcclxuICAgICAgICBjb25zdCBpc1F1ZXJ5U3Vic2V0ID0gdGhpcy51dGlsU2VydmljZS5pc0pzb25TdWJzZXQoXHJcbiAgICAgICAgICBxdWVyeSxcclxuICAgICAgICAgIGFwaUNvbmZpZy5xdWVyeVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKCFpc1F1ZXJ5U3Vic2V0KSByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGFwaUNvbmZpZy5ib2R5KSB7XHJcbiAgICAgICAgY29uc3QgaXNCb2R5TWF0Y2ggPSB0aGlzLnV0aWxTZXJ2aWNlLmlzSnNvblN1YnNldChhcGlDb25maWcuYm9keSwgYm9keSk7XHJcbiAgICAgICAgaWYgKCFpc0JvZHlNYXRjaCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gaXNDb25maWdGb3VuZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VSZXF1ZXN0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pIHtcclxuICAgIGNvbnN0IHsgbWV0aG9kLCB1cmw6IHBhdGgsIHBhcmFtcywgYm9keSB9ID0gcmVxdWVzdDtcclxuICAgIGNvbnN0IHF1ZXJ5OiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgICBwYXJhbXMua2V5cygpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBxdWVyeVtrZXldID0gcGFyYW1zLmdldChrZXkpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4geyBtZXRob2QsIHBhdGgsIHF1ZXJ5LCBib2R5IH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBhZ2VDb2RlKCkge1xyXG4gICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Qucm9vdC5maXJzdENoaWxkO1xyXG4gICAgcmV0dXJuIGN1cnJlbnRSb3V0ZT8uZGF0YT8ucGFnZUNvZGU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9nbG9iYWwtZXJyb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLL0IsT0FBTyxFQUFFLGVBQWUsRUFBa0IsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLDBCQUEwQixHQUMzQixNQUFNLG1DQUFtQyxDQUFDOzs7OztBQUszQyxNQUFNLE9BQU8sa0JBQWtCO0lBTzdCLFlBQ1UsZUFBZ0MsRUFDaEMsV0FBeUIsRUFDekIsTUFBYztRQUZkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBVGpCLGlCQUFZLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDM0MsZ0JBQVcsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV6Qyx1QkFBa0IsR0FBRyxxQkFBcUIsQ0FBQztRQUMzQyw0QkFBdUIsR0FBRywwQkFBMEIsQ0FBQztJQU0xRCxDQUFDO0lBRUcsZ0JBQWdCLENBQUMsS0FBNEM7UUFDbEUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFMUMsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7WUFDekMsTUFBTSxhQUFhLEdBQUcsVUFB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RSxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3JFLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUztnQkFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQzdCLFNBQVMsQ0FBQyxTQUFTLEVBQ25CLGNBQWMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUM5QixDQUFDLENBQ0wsQ0FBQztJQUNKLENBQUM7OytHQWpKVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gIEh0dHBSZXF1ZXN0LFxyXG4gIEh0dHBSZXNwb25zZSxcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4vdXRpbC5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEVycm9yU3RhdHVzQ29kZSwgUmVxdWVzdERldGFpbHMgfSBmcm9tICcuLi90eXBlcy9nbG9iYWwtZXJyb3IudHlwZXMnO1xyXG5pbXBvcnQge1xyXG4gIFBBR0VfTEVWRUxfQVBJX0NPTkZJRyxcclxuICBDT01QT05FTlRfTEVWRUxfQVBJX0NPTkZJRyxcclxufSBmcm9tICcuLi9jb25zdGFudHMvYXBpLWNvbmZpZy5jb25zdGFudHMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdsb2JhbEVycm9yU2VydmljZSB7XHJcbiAgcHVibGljIGdsb2JhbEVycm9yJDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgbG9jYWxFcnJvciQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHByaXZhdGUgcGFnZUxldmVsQXBpQ29uZmlnID0gUEFHRV9MRVZFTF9BUElfQ09ORklHO1xyXG4gIHByaXZhdGUgY29tcG9uZW50TGV2ZWxBcGlDb25maWcgPSBDT01QT05FTlRfTEVWRUxfQVBJX0NPTkZJRztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNuYWNrQmFyU2VydmljZTogU25hY2tCYXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1dGlsU2VydmljZTogVXRpbHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge31cclxuXHJcbiAgcHVibGljIGhhbmRsZVNvZnRFcnJvcnMoZXZlbnQ6IEh0dHBSZXNwb25zZTxhbnk+IHwgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIGNvbnN0IHhEYXRhID0gZXZlbnQuaGVhZGVycy5nZXQoJ1gtRGF0YScpO1xyXG5cclxuICAgIGlmICh4RGF0YSkge1xyXG4gICAgICBjb25zdCBwYXJzZWREYXRhID0gSlNPTi5wYXJzZSh4RGF0YSk7XHJcbiAgICAgIGNvbnN0IHN0YXR1c0NvZGUgPSBwYXJzZWREYXRhLnN0YXR1c0NvZGU7XHJcbiAgICAgIGNvbnN0IHN0YXR1c01lc3NhZ2UgPSBwYXJzZWREYXRhLm1lc3NhZ2U7XHJcblxyXG4gICAgICBpZiAoc3RhdHVzQ29kZSAmJiBzdGF0dXNDb2RlICE9PSAwKSB7XHJcbiAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uuc2hvdyhzdGF0dXNNZXNzYWdlIHx8ICdFcnJvciBvY2N1cnJlZCcsICdlcnJvcicpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCByZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuaXNVbmF1dGhlbnRpY2F0ZWQoZXJyb3IpIHx8XHJcbiAgICAgIHRoaXMuaXNVbmF1dGhvcml6ZWRBY2Nlc3MoZXJyb3IpIHx8XHJcbiAgICAgIHRoaXMuaXNOZXR3b3JrVW5hdmFpbGFibGUoZXJyb3IpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5wdWJsaXNoR2xvYmFsRXJyb3IoZXJyb3IpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmlzU2VydmVyRXJyb3IoZXJyb3IpKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlU2VydmVyRXJyb3IoZXJyb3IsIHJlcXVlc3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5oYW5kbGVTb2Z0RXJyb3JzKGVycm9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc1NlcnZlckVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc2VydmVyRXJyb3JDb2RlcyA9IFtcclxuICAgICAgRXJyb3JTdGF0dXNDb2RlLkludGVybmFsU2VydmVyRXJyb3IsXHJcbiAgICAgIEVycm9yU3RhdHVzQ29kZS5TZXJ2aWNlVW5hdmFpbGFibGUsXHJcbiAgICAgIEVycm9yU3RhdHVzQ29kZS5CYWRHYXRld2F5LFxyXG4gICAgICBFcnJvclN0YXR1c0NvZGUuUmVxdWVzdFRpbWVvdXQsXHJcbiAgICBdO1xyXG5cclxuICAgIHJldHVybiBzZXJ2ZXJFcnJvckNvZGVzLmluY2x1ZGVzKGVycm9yLnN0YXR1cyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzVW5hdXRoZW50aWNhdGVkKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGVycm9yLnN0YXR1cyA9PT0gRXJyb3JTdGF0dXNDb2RlLlVuYXV0aGVudGljYXRlZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNVbmF1dGhvcml6ZWRBY2Nlc3MoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID09PSBFcnJvclN0YXR1c0NvZGUuVW5hdXRob3JpemVkQWNjZXNzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc05ldHdvcmtVbmF2YWlsYWJsZShlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBlcnJvci5zdGF0dXMgPT09IEVycm9yU3RhdHVzQ29kZS5OZXR3b3JrVW5hdmFpbGFibGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVNlcnZlckVycm9yKFxyXG4gICAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PlxyXG4gICkge1xyXG4gICAgaWYgKHRoaXMuaXNQYWdlTGV2ZWxFcnJvcihlcnJvciwgcmVxdWVzdCkpIHtcclxuICAgICAgdGhpcy5wdWJsaXNoR2xvYmFsRXJyb3IoZXJyb3IpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmlzQ29tcG9uZW50TGV2ZWxFcnJvcihlcnJvciwgcmVxdWVzdCkpIHtcclxuICAgICAgdGhpcy5wdWJsaXNoTG9jYWxFcnJvcihlcnJvciwgcmVxdWVzdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHB1Ymxpc2hHbG9iYWxFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIHRoaXMuZ2xvYmFsRXJyb3IkLm5leHQoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwdWJsaXNoTG9jYWxFcnJvcihcclxuICAgIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSxcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT5cclxuICApIHtcclxuICAgIHRoaXMubG9jYWxFcnJvciQubmV4dCh7IGVycm9yLCByZXF1ZXN0IH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1BhZ2VMZXZlbEVycm9yKFxyXG4gICAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PlxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcmVxdWVzdERldGFpbHM6IFJlcXVlc3REZXRhaWxzID0ge1xyXG4gICAgICBtZXRob2Q6IHJlcXVlc3QubWV0aG9kLFxyXG4gICAgICBwYXRoOiByZXF1ZXN0LnVybCxcclxuICAgICAgcXVlcnk6IHRoaXMudXRpbFNlcnZpY2UuZXh0cmFjdFF1ZXJ5UGFyYW1zKHJlcXVlc3QucGFyYW1zKSxcclxuICAgICAgYm9keTogcmVxdWVzdC5ib2R5LFxyXG4gICAgICBwYWdlQ29kZTogdGhpcy5nZXRQYWdlQ29kZSgpLFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5wYWdlTGV2ZWxBcGlDb25maWcuc29tZSgoYXBpQ29uZmlnKSA9PlxyXG4gICAgICB0aGlzLmlzQXBpQ29uZmlnTWF0Y2hpbmcoYXBpQ29uZmlnLCByZXF1ZXN0RGV0YWlscylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzQ29tcG9uZW50TGV2ZWxFcnJvcihcclxuICAgIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSxcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT5cclxuICApOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHJlcXVlc3REZXRhaWxzOiBSZXF1ZXN0RGV0YWlscyA9IHtcclxuICAgICAgbWV0aG9kOiByZXF1ZXN0Lm1ldGhvZCxcclxuICAgICAgcGF0aDogcmVxdWVzdC51cmwsXHJcbiAgICAgIHF1ZXJ5OiB0aGlzLnV0aWxTZXJ2aWNlLmV4dHJhY3RRdWVyeVBhcmFtcyhyZXF1ZXN0LnBhcmFtcyksXHJcbiAgICAgIGJvZHk6IHJlcXVlc3QuYm9keSxcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50TGV2ZWxBcGlDb25maWcuc29tZSgoYXBpQ29uZmlnKSA9PlxyXG4gICAgICB0aGlzLmlzQXBpQ29uZmlnTWF0Y2hpbmcoYXBpQ29uZmlnLCByZXF1ZXN0RGV0YWlscylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBhZ2VDb2RlKCkge1xyXG4gICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Qucm9vdC5maXJzdENoaWxkO1xyXG4gICAgcmV0dXJuIGN1cnJlbnRSb3V0ZT8uZGF0YT8ucGFnZUNvZGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzQXBpQ29uZmlnTWF0Y2hpbmcoXHJcbiAgICBhcGlDb25maWc6IGFueSxcclxuICAgIHJlcXVlc3REZXRhaWxzOiBSZXF1ZXN0RGV0YWlsc1xyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy51dGlsU2VydmljZS5pc1N0cmluZ0VxdWFsKGFwaUNvbmZpZy5tZXRob2QsIHJlcXVlc3REZXRhaWxzLm1ldGhvZCkgJiZcclxuICAgICAgdGhpcy51dGlsU2VydmljZS5pc1N1YnN0cmluZ0luU3RyaW5nKFxyXG4gICAgICAgIGFwaUNvbmZpZy5wYXRoLFxyXG4gICAgICAgIHJlcXVlc3REZXRhaWxzLnBhdGhcclxuICAgICAgKSAmJlxyXG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLmlzU3Vic2V0T2ZPYmplY3QoXHJcbiAgICAgICAgYXBpQ29uZmlnLnF1ZXJ5LFxyXG4gICAgICAgIHJlcXVlc3REZXRhaWxzLnF1ZXJ5XHJcbiAgICAgICkgJiZcclxuICAgICAgdGhpcy51dGlsU2VydmljZS5pc1N1YnNldE9mQXJyYXkoYXBpQ29uZmlnLmJvZHksIHJlcXVlc3REZXRhaWxzLmJvZHkpICYmXHJcbiAgICAgICghYXBpQ29uZmlnLnBhZ2VDb2RlcyB8fFxyXG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2UuaXNWYWx1ZUluQXJyYXkoXHJcbiAgICAgICAgICBhcGlDb25maWcucGFnZUNvZGVzLFxyXG4gICAgICAgICAgcmVxdWVzdERldGFpbHMucGFnZUNvZGUgfHwgJydcclxuICAgICAgICApKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -3,12 +3,39 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export class UtilsService {
|
|
4
4
|
isJsonSubset(parentJson, subsetJson) {
|
|
5
5
|
for (let key in subsetJson) {
|
|
6
|
-
if (!parentJson.hasOwnProperty(key) ||
|
|
6
|
+
if (!parentJson.hasOwnProperty(key) ||
|
|
7
|
+
parentJson[key] !== subsetJson[key]) {
|
|
7
8
|
return false;
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
11
|
return true;
|
|
11
12
|
}
|
|
13
|
+
extractQueryParams(params) {
|
|
14
|
+
const query = {};
|
|
15
|
+
params.keys().forEach((key) => {
|
|
16
|
+
query[key] = params.get(key);
|
|
17
|
+
});
|
|
18
|
+
return query;
|
|
19
|
+
}
|
|
20
|
+
isStringEqual(apiMethod, requestMethod) {
|
|
21
|
+
return apiMethod === requestMethod;
|
|
22
|
+
}
|
|
23
|
+
isSubstringInString(apiPath, requestPath) {
|
|
24
|
+
return requestPath.includes(apiPath);
|
|
25
|
+
}
|
|
26
|
+
isSubsetOfObject(apiQuery, requestQuery) {
|
|
27
|
+
if (!apiQuery)
|
|
28
|
+
return true;
|
|
29
|
+
return this.isJsonSubset(requestQuery, apiQuery);
|
|
30
|
+
}
|
|
31
|
+
isSubsetOfArray(apiBody, requestBody) {
|
|
32
|
+
if (!apiBody)
|
|
33
|
+
return true;
|
|
34
|
+
return this.isJsonSubset(apiBody, requestBody);
|
|
35
|
+
}
|
|
36
|
+
isValueInArray(apiPageCodes, pageCode) {
|
|
37
|
+
return apiPageCodes.includes(pageCode);
|
|
38
|
+
}
|
|
12
39
|
}
|
|
13
40
|
UtilsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
41
|
UtilsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: UtilsService, providedIn: 'root' });
|
|
@@ -18,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
18
45
|
providedIn: 'root',
|
|
19
46
|
}]
|
|
20
47
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvdXRpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBTyxZQUFZO0lBQ2YsWUFBWSxDQUFDLFVBQWUsRUFBRSxVQUFlO1FBQ25ELEtBQUssSUFBSSxHQUFHLElBQUksVUFBVSxFQUFFO1lBQzFCLElBQ0UsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztnQkFDL0IsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFDbkM7Z0JBQ0EsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsTUFBa0I7UUFDMUMsTUFBTSxLQUFLLEdBQTJCLEVBQUUsQ0FBQztRQUN6QyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxhQUFhLENBQUMsU0FBaUIsRUFBRSxhQUFxQjtRQUMzRCxPQUFPLFNBQVMsS0FBSyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE9BQWUsRUFBRSxXQUFtQjtRQUM3RCxPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFFBQWEsRUFBRSxZQUFpQjtRQUN0RCxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLGVBQWUsQ0FBQyxPQUFZLEVBQUUsV0FBZ0I7UUFDbkQsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLElBQUksQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxjQUFjLENBQUMsWUFBc0IsRUFBRSxRQUFnQjtRQUM1RCxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7eUdBekNVLFlBQVk7NkdBQVosWUFBWSxjQUZYLE1BQU07MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBSZXF1ZXN0RGV0YWlscyB9IGZyb20gJy4uL3R5cGVzL2dsb2JhbC1lcnJvci50eXBlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXRpbHNTZXJ2aWNlIHtcclxuICBwcml2YXRlIGlzSnNvblN1YnNldChwYXJlbnRKc29uOiBhbnksIHN1YnNldEpzb246IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgZm9yIChsZXQga2V5IGluIHN1YnNldEpzb24pIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgICFwYXJlbnRKc29uLmhhc093blByb3BlcnR5KGtleSkgfHxcclxuICAgICAgICBwYXJlbnRKc29uW2tleV0gIT09IHN1YnNldEpzb25ba2V5XVxyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGV4dHJhY3RRdWVyeVBhcmFtcyhwYXJhbXM6IEh0dHBQYXJhbXMpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcclxuICAgIGNvbnN0IHF1ZXJ5OiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgICBwYXJhbXMua2V5cygpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBxdWVyeVtrZXldID0gcGFyYW1zLmdldChrZXkpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcXVlcnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNTdHJpbmdFcXVhbChhcGlNZXRob2Q6IHN0cmluZywgcmVxdWVzdE1ldGhvZDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gYXBpTWV0aG9kID09PSByZXF1ZXN0TWV0aG9kO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzU3Vic3RyaW5nSW5TdHJpbmcoYXBpUGF0aDogc3RyaW5nLCByZXF1ZXN0UGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gcmVxdWVzdFBhdGguaW5jbHVkZXMoYXBpUGF0aCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNTdWJzZXRPZk9iamVjdChhcGlRdWVyeTogYW55LCByZXF1ZXN0UXVlcnk6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFhcGlRdWVyeSkgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gdGhpcy5pc0pzb25TdWJzZXQocmVxdWVzdFF1ZXJ5LCBhcGlRdWVyeSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNTdWJzZXRPZkFycmF5KGFwaUJvZHk6IGFueSwgcmVxdWVzdEJvZHk6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFhcGlCb2R5KSByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiB0aGlzLmlzSnNvblN1YnNldChhcGlCb2R5LCByZXF1ZXN0Qm9keSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNWYWx1ZUluQXJyYXkoYXBpUGFnZUNvZGVzOiBzdHJpbmdbXSwgcGFnZUNvZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGFwaVBhZ2VDb2Rlcy5pbmNsdWRlcyhwYWdlQ29kZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -13,4 +13,4 @@ export var ErrorStatusCode;
|
|
|
13
13
|
// Application-specific errors
|
|
14
14
|
ErrorStatusCode[ErrorStatusCode["JSChunkUnavailable"] = 600] = "JSChunkUnavailable";
|
|
15
15
|
})(ErrorStatusCode || (ErrorStatusCode = {}));
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi9zaGFyZWQvdHlwZXMvZ2xvYmFsLWVycm9yLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdCQSxNQUFNLENBQU4sSUFBWSxlQWdCWDtBQWhCRCxXQUFZLGVBQWU7SUFDekIscUVBQWlCLENBQUE7SUFDakIsbUZBQXdCLENBQUE7SUFDeEIsNkVBQXFCLENBQUE7SUFFckIscUJBQXFCO0lBQ3JCLHFGQUF5QixDQUFBO0lBQ3pCLG1GQUF3QixDQUFBO0lBQ3hCLG1FQUFnQixDQUFBO0lBQ2hCLDJFQUFvQixDQUFBO0lBRXBCLHNDQUFzQztJQUN0QyxpRkFBc0IsQ0FBQTtJQUV0Qiw4QkFBOEI7SUFDOUIsbUZBQXdCLENBQUE7QUFDMUIsQ0FBQyxFQWhCVyxlQUFlLEtBQWYsZUFBZSxRQWdCMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNT0RBTF9FUlJPUl9UWVBFUyB9IGZyb20gJy4uL2NvbnN0YW50cy9lcnJvci1oYW5kbGluZy5jb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dEYXRhIHtcclxuICBoZWFkaW5nOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICBidXR0b25UZXh0OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdERldGFpbHMge1xyXG4gIG1ldGhvZDogc3RyaW5nO1xyXG4gIHBhdGg6IHN0cmluZztcclxuICBxdWVyeTogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxuICBib2R5OiBhbnk7XHJcbiAgcGFnZUNvZGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVycm9yU3RhdHVzQ29kZSB7XHJcbiAgVVJMTm90Rm91bmQgPSA0MDQsXHJcbiAgVW5hdXRob3JpemVkQWNjZXNzID0gNDAzLFxyXG4gIFVuYXV0aGVudGljYXRlZCA9IDQwMSxcclxuXHJcbiAgLy8gU2VydmVyLXNpZGUgZXJyb3JzXHJcbiAgSW50ZXJuYWxTZXJ2ZXJFcnJvciA9IDUwMCxcclxuICBTZXJ2aWNlVW5hdmFpbGFibGUgPSA1MDMsXHJcbiAgQmFkR2F0ZXdheSA9IDUwMixcclxuICBSZXF1ZXN0VGltZW91dCA9IDUwNCxcclxuXHJcbiAgLy8gTmV0d29yayB1bmF2YWlsYWJpbGl0eS9vZmZsaW5lIGNhc2VcclxuICBOZXR3b3JrVW5hdmFpbGFibGUgPSAwLFxyXG5cclxuICAvLyBBcHBsaWNhdGlvbi1zcGVjaWZpYyBlcnJvcnNcclxuICBKU0NodW5rVW5hdmFpbGFibGUgPSA2MDAsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE1vZGFsRXJyb3JUeXBlID0ga2V5b2YgdHlwZW9mIE1PREFMX0VSUk9SX1RZUEVTO1xyXG4iXX0=
|
|
@@ -43,17 +43,14 @@ export class VcErrorHandlersComponent {
|
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
handleError(error) {
|
|
46
|
-
|
|
47
|
-
this.sessionExpired = true
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
else if (error.status === ErrorStatusCode.NetworkUnavailable) {
|
|
56
|
-
this.handleNetworkError();
|
|
46
|
+
const errorHandlers = {
|
|
47
|
+
[ErrorStatusCode.Unauthenticated]: () => (this.sessionExpired = true),
|
|
48
|
+
[ErrorStatusCode.UnauthorizedAccess]: () => (this.unauthorized = true),
|
|
49
|
+
[ErrorStatusCode.JSChunkUnavailable]: () => (this.chunkUnavailable = true),
|
|
50
|
+
[ErrorStatusCode.NetworkUnavailable]: () => this.handleNetworkError(),
|
|
51
|
+
};
|
|
52
|
+
if (errorHandlers[error.status]) {
|
|
53
|
+
errorHandlers[error.status]();
|
|
57
54
|
}
|
|
58
55
|
else if (this.errorService.isServerError(error)) {
|
|
59
56
|
this.serverError = true;
|
|
@@ -104,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
104
101
|
`,
|
|
105
102
|
}]
|
|
106
103
|
}], ctorParameters: function () { return [{ type: i1.GlobalErrorService }, { type: i2.SnackBarService }]; } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0xQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7Ozs7O0FBZ0IzRSxNQUFNLE9BQU8sd0JBQXdCO0lBU25DLFlBQ1UsWUFBZ0MsRUFDaEMsZUFBZ0M7UUFEaEMsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVZsQyxnQkFBVyxHQUFHLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQztRQUV2RCxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsYUFBUSxHQUFZLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUE0QzdCLG9CQUFlLEdBQUcsR0FBRyxFQUFFO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUM7UUFFTSxxQkFBZ0IsR0FBRyxHQUFHLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDO1FBOUNBLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQXdCO1FBQzFDLE1BQU0sYUFBYSxHQUFrQztZQUNuRCxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQ3JFLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN0RSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUMxRSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtTQUN0RSxDQUFDO1FBRUYsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9CLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztTQUMvQjthQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU8seUJBQXlCO1FBQy9CLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQVlPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDOztxSEF6RVUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsNkRBWnpCOzs7Ozs7Ozs7O0dBVVQ7MkZBRVUsd0JBQXdCO2tCQWRwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7Ozs7Ozs7OztHQVVUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgR2xvYmFsRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvc2VydmljZXMvZ2xvYmFsLWVycm9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgRXJyb3JTdGF0dXNDb2RlIH0gZnJvbSAnLi9zaGFyZWQvdHlwZXMvZ2xvYmFsLWVycm9yLnR5cGVzJztcclxuaW1wb3J0IHsgRVJST1JfQ09ORklHIH0gZnJvbSAnLi9zaGFyZWQvY29uc3RhbnRzL2Vycm9yLWhhbmRsaW5nLmNvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi12Yy1lcnJvci1oYW5kbGVycycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxhcHAtc25hY2stYmFyPjwvYXBwLXNuYWNrLWJhcj5cclxuICAgIDxsaWItdmMtZXJyb3Itc2Vzc2lvbi1leHBpcmVkXHJcbiAgICAgICpuZ0lmPVwic2Vzc2lvbkV4cGlyZWRcIlxyXG4gICAgPjwvbGliLXZjLWVycm9yLXNlc3Npb24tZXhwaXJlZD5cclxuICAgIDxsaWItdmMtZXJyb3ItdW5hdXRob3JpemVkICpuZ0lmPVwidW5hdXRob3JpemVkXCI+PC9saWItdmMtZXJyb3ItdW5hdXRob3JpemVkPlxyXG4gICAgPGxpYi12Yy1lcnJvci1jaHVuay11bmF2YWlsYWJsZVxyXG4gICAgICAqbmdJZj1cImNodW5rVW5hdmFpbGFibGVcIlxyXG4gICAgPjwvbGliLXZjLWVycm9yLWNodW5rLXVuYXZhaWxhYmxlPlxyXG4gICAgPGxpYi12Yy1lcnJvci1zZXJ2ZXItZXJyb3IgKm5nSWY9XCJzZXJ2ZXJFcnJvclwiPjwvbGliLXZjLWVycm9yLXNlcnZlci1lcnJvcj5cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50IHtcclxuICBwcml2YXRlIGVycm9yQ29uZmlnID0gRVJST1JfQ09ORklHLk5FVFdPUktfVU5BVkFJTEFCTEU7XHJcblxyXG4gIHVuYXV0aG9yaXplZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlc3Npb25FeHBpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2h1bmtVbmF2YWlsYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlcnZlckVycm9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNPbmxpbmU6IGJvb2xlYW4gPSBuYXZpZ2F0b3Iub25MaW5lO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZXJyb3JTZXJ2aWNlOiBHbG9iYWxFcnJvclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNuYWNrQmFyU2VydmljZTogU25hY2tCYXJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLnN1YnNjcmliZUdsb2JhbEVycm9yKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3Vic2NyaWJlTmV0d29ya0RldGVjdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignb25saW5lJywgdGhpcy5vbk5ldHdvcmtPbmxpbmUpO1xyXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ29mZmxpbmUnLCB0aGlzLm9uTmV0d29ya09mZmxpbmUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVHbG9iYWxFcnJvcigpIHtcclxuICAgIHRoaXMuZXJyb3JTZXJ2aWNlLmdsb2JhbEVycm9yJC5zdWJzY3JpYmUoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIGNvbnN0IGVycm9ySGFuZGxlcnM6IHsgW2tleTogbnVtYmVyXTogKCkgPT4gdm9pZCB9ID0ge1xyXG4gICAgICBbRXJyb3JTdGF0dXNDb2RlLlVuYXV0aGVudGljYXRlZF06ICgpID0+ICh0aGlzLnNlc3Npb25FeHBpcmVkID0gdHJ1ZSksXHJcbiAgICAgIFtFcnJvclN0YXR1c0NvZGUuVW5hdXRob3JpemVkQWNjZXNzXTogKCkgPT4gKHRoaXMudW5hdXRob3JpemVkID0gdHJ1ZSksXHJcbiAgICAgIFtFcnJvclN0YXR1c0NvZGUuSlNDaHVua1VuYXZhaWxhYmxlXTogKCkgPT4gKHRoaXMuY2h1bmtVbmF2YWlsYWJsZSA9IHRydWUpLFxyXG4gICAgICBbRXJyb3JTdGF0dXNDb2RlLk5ldHdvcmtVbmF2YWlsYWJsZV06ICgpID0+IHRoaXMuaGFuZGxlTmV0d29ya0Vycm9yKCksXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChlcnJvckhhbmRsZXJzW2Vycm9yLnN0YXR1c10pIHtcclxuICAgICAgZXJyb3JIYW5kbGVyc1tlcnJvci5zdGF0dXNdKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZXJyb3JTZXJ2aWNlLmlzU2VydmVyRXJyb3IoZXJyb3IpKSB7XHJcbiAgICAgIHRoaXMuc2VydmVyRXJyb3IgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVOZXR3b3JrRGV0ZWN0aW9uKCkge1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ29ubGluZScsIHRoaXMub25OZXR3b3JrT25saW5lKTtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgdGhpcy5vbk5ldHdvcmtPZmZsaW5lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25OZXR3b3JrT25saW5lID0gKCkgPT4ge1xyXG4gICAgdGhpcy5pc09ubGluZSA9IHRydWU7XHJcbiAgICB0aGlzLmhpZGVTbmFja0JhcigpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgb25OZXR3b3JrT2ZmbGluZSA9ICgpID0+IHtcclxuICAgIHRoaXMuaXNPbmxpbmUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd09mZmxpbmVTbmFja0JhcigpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlTmV0d29ya0Vycm9yKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzT25saW5lKSB7XHJcbiAgICAgIHRoaXMuc2hvd09mZmxpbmVTbmFja0JhcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93T2ZmbGluZVNuYWNrQmFyKCkge1xyXG4gICAgdGhpcy5zbmFja0JhclNlcnZpY2Uuc2hvdyh0aGlzLmVycm9yQ29uZmlnLm9mZmxpbmVNZXNzYWdlLCAnZXJyb3InKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGlkZVNuYWNrQmFyKCkge1xyXG4gICAgdGhpcy5zbmFja0JhclNlcnZpY2UuaGlkZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export * from './lib/vc-error-handlers.service';
|
|
5
5
|
export * from './lib/shared/services/global-error.service';
|
|
6
|
-
export * from './lib/shared/services/auth.service';
|
|
7
6
|
export * from './lib/shared/services/router.service';
|
|
8
7
|
export * from './lib/vc-error-handlers.component';
|
|
9
8
|
export * from './lib/shared/components/page-not-found/page-not-found.component';
|
|
@@ -15,4 +14,4 @@ export * from './lib/shared/components/error-modal/error-modal.component';
|
|
|
15
14
|
export * from './lib/shared/components/component-level-server-error/component-level-server-error.component';
|
|
16
15
|
export * from './lib/vc-error-handlers.module';
|
|
17
16
|
export * from './lib/shared/interceptors/http.interceptor';
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyx1RUFBdUUsQ0FBQztBQUN0RixjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLDZGQUE2RixDQUFDO0FBQzVHLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB2Yy1lcnJvci1oYW5kbGVyc1xyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZjLWVycm9yLWhhbmRsZXJzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvZ2xvYmFsLWVycm9yLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvcm91dGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92Yy1lcnJvci1oYW5kbGVycy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWdlLW5vdC1mb3VuZC9wYWdlLW5vdC1mb3VuZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvY29tcG9uZW50cy91bmF1dGhvcml6ZWQvdW5hdXRob3JpemVkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9jb21wb25lbnRzL2NodW5rLXVuYXZhaWxhYmxlL2NodW5rLXVuYXZhaWxhYmxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9jb21wb25lbnRzL3NlcnZlci1lcnJvci9zZXJ2ZXItZXJyb3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2Vzc2lvbi1leHBpcmVkL3Nlc3Npb24tZXhwaXJlZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvY29tcG9uZW50cy9lcnJvci1tb2RhbC9lcnJvci1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jb21wb25lbnQtbGV2ZWwtc2VydmVyLWVycm9yL2NvbXBvbmVudC1sZXZlbC1zZXJ2ZXItZXJyb3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL2ludGVyY2VwdG9ycy9odHRwLmludGVyY2VwdG9yJztcclxuIl19
|