@acorex/connectivity 20.3.0-next.1 → 20.3.0-next.11

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/api/index.d.ts CHANGED
@@ -2,11 +2,12 @@ import { AXPQueryRequest, AXPPagedListResult } from '@acorex/platform/core';
2
2
  import { AXPEntityStorageService } from '@acorex/platform/layout/entity';
3
3
  import { HttpClient } from '@angular/common/http';
4
4
  import * as i0 from '@angular/core';
5
- import * as i1 from 'angular-oauth2-oidc';
5
+ import * as i1$1 from 'angular-oauth2-oidc';
6
6
  import { AuthConfig } from 'angular-oauth2-oidc';
7
7
  import * as i2 from '@acorex/platform/auth';
8
8
  import { AXPApplicationLoader, AXPApplication, AXPFeatureLoader, AXPFeature, AXPAuthStrategy, AXPBaseCredentials, AXPSignInResult, AXPSessionContext, AXPPermissionLoader, AXPPermission, AXPTenantLoader, AXPTenant } from '@acorex/platform/auth';
9
9
  import * as i3 from '@acorex/connectivity/utils';
10
+ import * as i1 from '@acorex/platform/runtime';
10
11
  import { Observable } from 'rxjs';
11
12
 
12
13
  declare class AXCApiEntityStorageService implements AXPEntityStorageService<string, any> {
@@ -15,16 +16,15 @@ declare class AXCApiEntityStorageService implements AXPEntityStorageService<stri
15
16
  private filterService;
16
17
  private entityResolver;
17
18
  private mainUrl;
19
+ private readonly API_VERSION;
20
+ private readonly DEFAULT_AREA;
18
21
  constructor(http: HttpClient);
19
22
  get dbName(): string;
20
23
  getConfigEntity(entityName: string): {
21
24
  module: string;
22
25
  entity: string;
23
26
  area: string;
24
- } | {
25
- module: string;
26
- entity: string;
27
- area: null;
27
+ version: string;
28
28
  };
29
29
  initial<T = any>(entityName: string, collection: T[]): Promise<T[]>;
30
30
  getOne<T = any>(entityName: string, id: string): Promise<T>;
@@ -39,9 +39,15 @@ declare class AXCApiEntityStorageService implements AXPEntityStorageService<stri
39
39
  static ɵprov: i0.ɵɵInjectableDeclaration<AXCApiEntityStorageService>;
40
40
  }
41
41
 
42
+ declare class AXCReportManagementApiModule {
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXCReportManagementApiModule, never>;
44
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXCReportManagementApiModule, never, [typeof i1.AXPRuntimeModule], never>;
45
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXCReportManagementApiModule>;
46
+ }
47
+
42
48
  declare class AXCApiModule {
43
49
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCApiModule, never>;
44
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXCApiModule, never, [typeof i1.OAuthModule, typeof i2.AXPAuthModule, typeof i3.AXCUtilsModule], never>;
50
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXCApiModule, never, [typeof i1$1.OAuthModule, typeof i2.AXPAuthModule, typeof i3.AXCUtilsModule, typeof AXCReportManagementApiModule], never>;
45
51
  static ɵinj: i0.ɵɵInjectorDeclaration<AXCApiModule>;
46
52
  }
47
53
 
@@ -228,5 +234,5 @@ declare class APIGoogleStrategy extends AXPAuthStrategy {
228
234
  static ɵprov: i0.ɵɵInjectableDeclaration<APIGoogleStrategy>;
229
235
  }
230
236
 
231
- export { APIGoogleStrategy, AXCAPIOidcStrategy, AXCApiEntityStorageService, AXCApiModule, AXMConfigurationService, AXMOidcApplicationLoader, AXMOidcFeatureLoader, AXMOidcPermissionLoader, AXMOidcTenantLoader };
237
+ export { APIGoogleStrategy, AXCAPIOidcStrategy, AXCApiEntityStorageService, AXCApiModule, AXCReportManagementApiModule, AXMConfigurationService, AXMOidcApplicationLoader, AXMOidcFeatureLoader, AXMOidcPermissionLoader, AXMOidcTenantLoader };
232
238
  export type { AXPOAuthExternalCredentials, AXPUserPassCredentials, ApplicationConfiguration, Auth, Culture, IAuthenticationDataModel, Language, Localization, NameValue, Resource };
@@ -0,0 +1,86 @@
1
+ import { AXPReportDefinitionService } from '@acorex/modules/report-management';
2
+ import { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import * as i0 from '@angular/core';
5
+ import { inject, Injectable } from '@angular/core';
6
+ import { firstValueFrom } from 'rxjs';
7
+
8
+ class AXCReportExecuteCommand {
9
+ constructor() {
10
+ this.http = inject(HttpClient);
11
+ this.reportDefinitionService = inject(AXPReportDefinitionService);
12
+ this.configs = inject(AXP_ROOT_CONFIG_TOKEN);
13
+ this.baseUrl = this.configs.baseUrl;
14
+ }
15
+ //#region ---- Command Implementation ----
16
+ async execute(context) {
17
+ try {
18
+ const { reportId, layoutId, parameters } = context;
19
+ // Get the report definition to find the layout
20
+ const reportDefinition = await this.reportDefinitionService.getReportById(reportId);
21
+ if (!reportDefinition) {
22
+ throw new Error(`Report with ID ${reportId} not found`);
23
+ }
24
+ // Find the specific layout
25
+ const layoutDefinition = reportDefinition.layouts.find((l) => l.id === layoutId);
26
+ if (!layoutDefinition) {
27
+ throw new Error(`Layout with ID ${layoutId} not found in report ${reportId}`);
28
+ }
29
+ // Call the Execute API endpoint
30
+ const url = `${this.baseUrl}/v1/global/Report-Management/report/Execute`;
31
+ const body = {
32
+ reportId,
33
+ parameters,
34
+ };
35
+ const executeResult = await firstValueFrom(this.http.post(url, body));
36
+ // Convert ExecuteReportDto to AXPExecutionReportResult format
37
+ let executionResult;
38
+ if (executeResult.type === 'table') {
39
+ executionResult = {
40
+ type: 'table',
41
+ items: executeResult.items,
42
+ total: executeResult.totalCount,
43
+ };
44
+ }
45
+ else if (executeResult.type === 'chart') {
46
+ executionResult = {
47
+ type: 'chart',
48
+ data: executeResult.items[0] || {},
49
+ };
50
+ }
51
+ else if (executeResult.type === 'cards') {
52
+ executionResult = {
53
+ type: 'cards',
54
+ items: executeResult.items,
55
+ };
56
+ }
57
+ else {
58
+ executionResult = {
59
+ type: 'custom',
60
+ data: executeResult.items,
61
+ };
62
+ }
63
+ // Return the combined layout configuration and data
64
+ return {
65
+ ...layoutDefinition.layout,
66
+ data: executionResult,
67
+ };
68
+ }
69
+ catch (error) {
70
+ console.error('Error executing report:', error);
71
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
72
+ throw new Error(`Failed to execute report: ${errorMessage}`);
73
+ }
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXCReportExecuteCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
76
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXCReportExecuteCommand, providedIn: 'root' }); }
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXCReportExecuteCommand, decorators: [{
79
+ type: Injectable,
80
+ args: [{
81
+ providedIn: 'root',
82
+ }]
83
+ }] });
84
+
85
+ export { AXCReportExecuteCommand };
86
+ //# sourceMappingURL=acorex-connectivity-api-execute.command-CP4cZ_5M.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-api-execute.command-CP4cZ_5M.mjs","sources":["../tmp-esm2022/api/lib/report-management/execute.command.js"],"sourcesContent":["import { AXPReportDefinitionService, } from '@acorex/modules/report-management';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class AXCReportExecuteCommand {\n constructor() {\n this.http = inject(HttpClient);\n this.reportDefinitionService = inject(AXPReportDefinitionService);\n this.configs = inject(AXP_ROOT_CONFIG_TOKEN);\n this.baseUrl = this.configs.baseUrl;\n }\n //#region ---- Command Implementation ----\n async execute(context) {\n try {\n const { reportId, layoutId, parameters } = context;\n // Get the report definition to find the layout\n const reportDefinition = await this.reportDefinitionService.getReportById(reportId);\n if (!reportDefinition) {\n throw new Error(`Report with ID ${reportId} not found`);\n }\n // Find the specific layout\n const layoutDefinition = reportDefinition.layouts.find((l) => l.id === layoutId);\n if (!layoutDefinition) {\n throw new Error(`Layout with ID ${layoutId} not found in report ${reportId}`);\n }\n // Call the Execute API endpoint\n const url = `${this.baseUrl}/v1/global/Report-Management/report/Execute`;\n const body = {\n reportId,\n parameters,\n };\n const executeResult = await firstValueFrom(this.http.post(url, body));\n // Convert ExecuteReportDto to AXPExecutionReportResult format\n let executionResult;\n if (executeResult.type === 'table') {\n executionResult = {\n type: 'table',\n items: executeResult.items,\n total: executeResult.totalCount,\n };\n }\n else if (executeResult.type === 'chart') {\n executionResult = {\n type: 'chart',\n data: executeResult.items[0] || {},\n };\n }\n else if (executeResult.type === 'cards') {\n executionResult = {\n type: 'cards',\n items: executeResult.items,\n };\n }\n else {\n executionResult = {\n type: 'custom',\n data: executeResult.items,\n };\n }\n // Return the combined layout configuration and data\n return {\n ...layoutDefinition.layout,\n data: executionResult,\n };\n }\n catch (error) {\n console.error('Error executing report:', error);\n const errorMessage = error instanceof Error ? error.message : 'Unknown error';\n throw new Error(`Failed to execute report: ${errorMessage}`);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXCReportExecuteCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXCReportExecuteCommand, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXCReportExecuteCommand, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS5jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb25uZWN0aXZpdHkvYXBpL3NyYy9saWIvcmVwb3J0LW1hbmFnZW1lbnQvZXhlY3V0ZS5jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCwwQkFBMEIsR0FFM0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNdEMsTUFBTSxPQUFPLHVCQUF1QjtJQUhwQztRQUltQixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLDRCQUF1QixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzdELFlBQU8sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN4QyxZQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7S0FvRWpEO0lBbEVDLDhDQUE4QztJQUU5QyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWtDO1FBQzlDLElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztZQUVuRCwrQ0FBK0M7WUFDL0MsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLFFBQVEsWUFBWSxDQUFDLENBQUM7WUFDMUQsQ0FBQztZQUVELDJCQUEyQjtZQUMzQixNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1lBQzVHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixRQUFRLHdCQUF3QixRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ2hGLENBQUM7WUFFRCxnQ0FBZ0M7WUFDaEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyw2Q0FBNkMsQ0FBQztZQUN6RSxNQUFNLElBQUksR0FBRztnQkFDWCxRQUFRO2dCQUNSLFVBQVU7YUFDWCxDQUFDO1lBRUYsTUFBTSxhQUFhLEdBQXdCLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFzQixHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUVoSCw4REFBOEQ7WUFDOUQsSUFBSSxlQUF5QyxDQUFDO1lBRTlDLElBQUksYUFBYSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDbkMsZUFBZSxHQUFHO29CQUNoQixJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUs7b0JBQzFCLEtBQUssRUFBRSxhQUFhLENBQUMsVUFBVTtpQkFDaEMsQ0FBQztZQUNKLENBQUM7aUJBQU0sSUFBSSxhQUFhLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUMxQyxlQUFlLEdBQUc7b0JBQ2hCLElBQUksRUFBRSxPQUFPO29CQUNiLElBQUksRUFBRSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7aUJBQ25DLENBQUM7WUFDSixDQUFDO2lCQUFNLElBQUksYUFBYSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDMUMsZUFBZSxHQUFHO29CQUNoQixJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUs7aUJBQzNCLENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sZUFBZSxHQUFHO29CQUNoQixJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsYUFBYSxDQUFDLEtBQUs7aUJBQzFCLENBQUM7WUFDSixDQUFDO1lBRUQsb0RBQW9EO1lBQ3BELE9BQU87Z0JBQ0wsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNO2dCQUMxQixJQUFJLEVBQUUsZUFBZTthQUN0QixDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2hELE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztZQUM5RSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDOzhHQXJFVSx1QkFBdUI7a0hBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVhQRXhlY3V0aW9uUmVwb3J0Q29tbWFuZCxcbiAgQVhQRXhlY3V0aW9uUmVwb3J0Q29tbWFuZFJlc3VsdCxcbiAgQVhQRXhlY3V0aW9uUmVwb3J0UmVzdWx0LFxuICBBWFBMYXlvdXRFeGVjdXRpb25Db250ZXh0LFxuICBBWFBSZXBvcnREZWZpbml0aW9uU2VydmljZSxcbiAgQVhQUmVwb3J0TGF5b3V0RGVmaW5pdGlvbixcbn0gZnJvbSAnQGFjb3JleC9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50JztcbmltcG9ydCB7IEFYUF9ST09UX0NPTkZJR19UT0tFTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBFeGVjdXRlUmVwb3J0RHRvIH0gZnJvbSAnLi9yZXBvcnQtbWFuYWdlbWVudC1hcGkucHJvdmlkZXJzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYQ1JlcG9ydEV4ZWN1dGVDb21tYW5kIGltcGxlbWVudHMgQVhQRXhlY3V0aW9uUmVwb3J0Q29tbWFuZCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXBvcnREZWZpbml0aW9uU2VydmljZSA9IGluamVjdChBWFBSZXBvcnREZWZpbml0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlncyA9IGluamVjdChBWFBfUk9PVF9DT05GSUdfVE9LRU4pO1xuICBwcml2YXRlIHJlYWRvbmx5IGJhc2VVcmwgPSB0aGlzLmNvbmZpZ3MuYmFzZVVybDtcblxuICAvLyNyZWdpb24gLS0tLSAgIENvbW1hbmQgSW1wbGVtZW50YXRpb24gICAtLS0tXG5cbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBMYXlvdXRFeGVjdXRpb25Db250ZXh0KTogUHJvbWlzZTxBWFBFeGVjdXRpb25SZXBvcnRDb21tYW5kUmVzdWx0PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgcmVwb3J0SWQsIGxheW91dElkLCBwYXJhbWV0ZXJzIH0gPSBjb250ZXh0O1xuXG4gICAgICAvLyBHZXQgdGhlIHJlcG9ydCBkZWZpbml0aW9uIHRvIGZpbmQgdGhlIGxheW91dFxuICAgICAgY29uc3QgcmVwb3J0RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMucmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0UmVwb3J0QnlJZChyZXBvcnRJZCk7XG4gICAgICBpZiAoIXJlcG9ydERlZmluaXRpb24pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXBvcnQgd2l0aCBJRCAke3JlcG9ydElkfSBub3QgZm91bmRgKTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluZCB0aGUgc3BlY2lmaWMgbGF5b3V0XG4gICAgICBjb25zdCBsYXlvdXREZWZpbml0aW9uID0gcmVwb3J0RGVmaW5pdGlvbi5sYXlvdXRzLmZpbmQoKGw6IEFYUFJlcG9ydExheW91dERlZmluaXRpb24pID0+IGwuaWQgPT09IGxheW91dElkKTtcbiAgICAgIGlmICghbGF5b3V0RGVmaW5pdGlvbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYExheW91dCB3aXRoIElEICR7bGF5b3V0SWR9IG5vdCBmb3VuZCBpbiByZXBvcnQgJHtyZXBvcnRJZH1gKTtcbiAgICAgIH1cblxuICAgICAgLy8gQ2FsbCB0aGUgRXhlY3V0ZSBBUEkgZW5kcG9pbnRcbiAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuYmFzZVVybH0vdjEvZ2xvYmFsL1JlcG9ydC1NYW5hZ2VtZW50L3JlcG9ydC9FeGVjdXRlYDtcbiAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgIHJlcG9ydElkLFxuICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgZXhlY3V0ZVJlc3VsdDogQVhQRXhlY3V0ZVJlcG9ydER0byA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0PEFYUEV4ZWN1dGVSZXBvcnREdG8+KHVybCwgYm9keSkpO1xuXG4gICAgICAvLyBDb252ZXJ0IEV4ZWN1dGVSZXBvcnREdG8gdG8gQVhQRXhlY3V0aW9uUmVwb3J0UmVzdWx0IGZvcm1hdFxuICAgICAgbGV0IGV4ZWN1dGlvblJlc3VsdDogQVhQRXhlY3V0aW9uUmVwb3J0UmVzdWx0O1xuXG4gICAgICBpZiAoZXhlY3V0ZVJlc3VsdC50eXBlID09PSAndGFibGUnKSB7XG4gICAgICAgIGV4ZWN1dGlvblJlc3VsdCA9IHtcbiAgICAgICAgICB0eXBlOiAndGFibGUnLFxuICAgICAgICAgIGl0ZW1zOiBleGVjdXRlUmVzdWx0Lml0ZW1zLFxuICAgICAgICAgIHRvdGFsOiBleGVjdXRlUmVzdWx0LnRvdGFsQ291bnQsXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKGV4ZWN1dGVSZXN1bHQudHlwZSA9PT0gJ2NoYXJ0Jykge1xuICAgICAgICBleGVjdXRpb25SZXN1bHQgPSB7XG4gICAgICAgICAgdHlwZTogJ2NoYXJ0JyxcbiAgICAgICAgICBkYXRhOiBleGVjdXRlUmVzdWx0Lml0ZW1zWzBdIHx8IHt9LFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmIChleGVjdXRlUmVzdWx0LnR5cGUgPT09ICdjYXJkcycpIHtcbiAgICAgICAgZXhlY3V0aW9uUmVzdWx0ID0ge1xuICAgICAgICAgIHR5cGU6ICdjYXJkcycsXG4gICAgICAgICAgaXRlbXM6IGV4ZWN1dGVSZXN1bHQuaXRlbXMsXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleGVjdXRpb25SZXN1bHQgPSB7XG4gICAgICAgICAgdHlwZTogJ2N1c3RvbScsXG4gICAgICAgICAgZGF0YTogZXhlY3V0ZVJlc3VsdC5pdGVtcyxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gUmV0dXJuIHRoZSBjb21iaW5lZCBsYXlvdXQgY29uZmlndXJhdGlvbiBhbmQgZGF0YVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubGF5b3V0RGVmaW5pdGlvbi5sYXlvdXQsXG4gICAgICAgIGRhdGE6IGV4ZWN1dGlvblJlc3VsdCxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV4ZWN1dGluZyByZXBvcnQ6JywgZXJyb3IpO1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcic7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBleGVjdXRlIHJlcG9ydDogJHtlcnJvck1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG4iXX0="],"names":[],"mappings":"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"}