@veloceapps/sdk 8.0.0-108 → 8.0.0-109
Sign up to get free protection for your applications and to get access to all the features.
- package/cms/components/preview/preview.types.d.ts +4 -0
- package/cms/utils/element-metadata-worker.d.ts +11 -0
- package/cms/utils/elements-resolver.d.ts +0 -2
- package/cms/utils/index.d.ts +2 -0
- package/cms/utils/transpilation-worker.d.ts +13 -0
- package/esm2020/cms/components/preview/preview.component.mjs +5 -3
- package/esm2020/cms/components/preview/preview.types.mjs +1 -1
- package/esm2020/cms/modules/runtime/services/compilation.service.mjs +6 -6
- package/esm2020/cms/utils/element-metadata-worker.mjs +31 -0
- package/esm2020/cms/utils/elements-resolver.mjs +7 -27
- package/esm2020/cms/utils/index.mjs +3 -1
- package/esm2020/cms/utils/transpilation-worker.mjs +52 -0
- package/fesm2015/veloceapps-sdk-cms.mjs +99 -29
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +91 -30
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/package.json +1 -1
@@ -13,6 +13,10 @@ export interface CMSPreviewConfig {
|
|
13
13
|
* When `true`, preview renders settings page (element with `type: CUSTOMIZATION_PAGE`)
|
14
14
|
*/
|
15
15
|
customizationMode?: boolean;
|
16
|
+
/**
|
17
|
+
* When `true`, preview component does not clear configuration state on destroy
|
18
|
+
*/
|
19
|
+
persistConfigurationState?: boolean;
|
16
20
|
/**
|
17
21
|
* Custom initialization function which will be executed before starting a preview
|
18
22
|
*/
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { UIElement } from '@veloceapps/core';
|
2
|
+
import { Observable } from 'rxjs';
|
3
|
+
import { ElementMetadata } from '../types/common.types';
|
4
|
+
export declare class ElementMetadataWorker {
|
5
|
+
private elements;
|
6
|
+
constructor(elements: UIElement[]);
|
7
|
+
get$(): Observable<ElementMetadata[]>;
|
8
|
+
private processAsync;
|
9
|
+
private processLevelAsync;
|
10
|
+
private elementToMetadataAsync;
|
11
|
+
}
|
@@ -13,8 +13,6 @@ export declare class ElementsResolver {
|
|
13
13
|
constructor(uiDef: UIDefinitionMetadata, elements: ElementMetadata[], sharedElements?: ElementMetadata[], config?: CMSPreviewConfig | undefined);
|
14
14
|
addElement(element: ElementMetadata): void;
|
15
15
|
getNgComponents(): Record<string, Type<Entity>>;
|
16
|
-
private transpile;
|
17
|
-
private transpileScripts;
|
18
16
|
private flattenElements;
|
19
17
|
private isSharedElement;
|
20
18
|
private getRenderableElements;
|
package/cms/utils/index.d.ts
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
+
export * from './element-metadata-worker';
|
1
2
|
export * from './element.utils';
|
2
3
|
export * from './elements-resolver';
|
3
4
|
export * from './encoding.utils';
|
4
5
|
export * from './path.utils';
|
6
|
+
export * from './transpilation-worker';
|
5
7
|
export * from './ui-builder-layout.utils';
|
6
8
|
export * from './ui-definition.utils';
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { Observable } from 'rxjs';
|
2
|
+
import { ElementMetadata } from '../types/common.types';
|
3
|
+
export declare class TranspilationWorker {
|
4
|
+
private elements;
|
5
|
+
constructor(elements: ElementMetadata[]);
|
6
|
+
get$(): Observable<ElementMetadata[]>;
|
7
|
+
get(): ElementMetadata[];
|
8
|
+
private transpileScripts;
|
9
|
+
private transpileScriptsAsync;
|
10
|
+
private processLevelAsync;
|
11
|
+
private transpileMetadataAsync;
|
12
|
+
private transpile;
|
13
|
+
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
2
2
|
import { ToastService, ToastType } from '@veloceapps/components';
|
3
3
|
import { ConfigurationState, IntegrationState } from '@veloceapps/sdk/core';
|
4
|
-
import { BehaviorSubject, catchError, combineLatest, map, of, startWith,
|
4
|
+
import { BehaviorSubject, Subject, catchError, combineLatest, map, of, startWith, switchMap, takeUntil, tap, } from 'rxjs';
|
5
5
|
import { RuntimeService } from '../../modules/runtime/services/runtime.service';
|
6
6
|
import { IOProviderService } from '../../services/io-provider.service';
|
7
7
|
import { TemplatesService } from '../../services/templates.service';
|
@@ -40,7 +40,9 @@ export class PreviewComponent {
|
|
40
40
|
ngOnDestroy() {
|
41
41
|
this.destroy$.next();
|
42
42
|
this.destroy$.complete();
|
43
|
-
this.
|
43
|
+
if (!this.config?.persistConfigurationState) {
|
44
|
+
this.configurationState.cleanup();
|
45
|
+
}
|
44
46
|
this.runtimeService.clear();
|
45
47
|
}
|
46
48
|
trackBy(_, el) {
|
@@ -80,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
80
82
|
}], config: [{
|
81
83
|
type: Input
|
82
84
|
}] } });
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsVUFBVSxFQUNWLGFBQWEsRUFDYixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFrQnBFLE1BQU0sT0FBTyxnQkFBZ0I7SUFTM0IsWUFDVSxjQUE4QixFQUM5QixrQkFBc0MsRUFDdEMsWUFBMEIsRUFDMUIsZ0JBQWtDO1FBSGxDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7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RzFCLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSwgVG9hc3RUeXBlIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBVSURlZmluaXRpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TdGF0ZSwgSW50ZWdyYXRpb25TdGF0ZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgY29tYmluZUxhdGVzdCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc3RhcnRXaXRoLFxuICBTdWJqZWN0LFxuICBzd2l0Y2hNYXAsXG4gIHRha2VVbnRpbCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJ1bnRpbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbW9kdWxlcy9ydW50aW1lL3NlcnZpY2VzL3J1bnRpbWUuc2VydmljZSc7XG5pbXBvcnQgeyBJT1Byb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2lvLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RlbXBsYXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEVsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzL2NvbW1vbi50eXBlcyc7XG5pbXBvcnQgeyBDTVNQcmV2aWV3Q29uZmlnIH0gZnJvbSAnLi9wcmV2aWV3LnR5cGVzJztcblxuaW50ZXJmYWNlIFN0YXRlIHtcbiAgbG9hZGluZzogYm9vbGVhbjtcbiAgZmFpbHVyZTogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtY21zLXByZXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJldmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ByZXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW0lPUHJvdmlkZXJTZXJ2aWNlLCBUZW1wbGF0ZXNTZXJ2aWNlXSxcbiAgLy8gdXNlIHNoYWRvdyBET00gdG8gcHJldmVudCBVSSBmcm9tIGJlaW5nIGFmZmVjdGVkIGJ5IGdsb2JhbCBzdHlsZXNcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tLFxufSlcbmV4cG9ydCBjbGFzcyBQcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwdWJsaWMgdWlEZWZpbml0aW9uPzogVUlEZWZpbml0aW9uO1xuICBASW5wdXQoKSBwdWJsaWMgY29uZmlnPzogQ01TUHJldmlld0NvbmZpZztcblxuICBwdWJsaWMgc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGF0ZT4oeyBsb2FkaW5nOiB0cnVlLCBmYWlsdXJlOiBmYWxzZSB9KTtcbiAgcHVibGljIGVsZW1lbnRzJDogT2JzZXJ2YWJsZTxFbGVtZW50TWV0YWRhdGFbXT47XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBydW50aW1lU2VydmljZTogUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU3RhdGU6IENvbmZpZ3VyYXRpb25TdGF0ZSxcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW50ZWdyYXRpb25TdGF0ZTogSW50ZWdyYXRpb25TdGF0ZSxcbiAgKSB7XG4gICAgdGhpcy5lbGVtZW50cyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRlJCwgdGhpcy5ydW50aW1lU2VydmljZS51cGRhdGVkJC5waXBlKHN0YXJ0V2l0aCh1bmRlZmluZWQpKV0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFt7IGxvYWRpbmcsIGZhaWx1cmUgfV0pID0+IHtcbiAgICAgICAgaWYgKGxvYWRpbmcgfHwgZmFpbHVyZSkge1xuICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMucnVudGltZVNlcnZpY2UuYXBwbGljYXRpb25UcmVlO1xuXG4gICAgICAgIC8vIElmIFVJIGRlZmluaXRpb24gY29udGFpbnMgcGFnZXMsIHJldHVybiBwYWdlIGJ5IFNlbGVjdGVkUGFnZU5hbWVcbiAgICAgICAgaWYgKHRoaXMudWlEZWZpbml0aW9uPy5wYWdlcykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFBhZ2VzJChlbGVtZW50cyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YoZWxlbWVudHMpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWc/LmNsZWFyU3RhdGVPbkluaXQpIHtcbiAgICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZS5jbGVhcigpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhcnRQcmV2aWV3KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5jb25maWd1cmF0aW9uU3RhdGUuY2xlYW51cCgpO1xuICAgIHRoaXMucnVudGltZVNlcnZpY2UuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5KF86IG51bWJlciwgZWw6IEVsZW1lbnRNZXRhZGF0YSk6IEVsZW1lbnRNZXRhZGF0YSB7XG4gICAgcmV0dXJuIGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFByZXZpZXcoKTogdm9pZCB7XG4gICAgY29uc3QgY3VzdG9tSW5pdCQgPSB0aGlzLmNvbmZpZz8uaW5pdCQ/LigpID8/IG9mKHVuZGVmaW5lZCk7XG5cbiAgICBjdXN0b21Jbml0JFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmluaXRpYWxpemUkKHRoaXMudWlEZWZpbml0aW9uLCB0aGlzLmNvbmZpZykpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGUkLm5leHQoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbHVyZTogZmFsc2UgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICAgIGlmICghdGhpcy51aURlZmluaXRpb24/LnByb3BlcnRpZXM/LnN1cHByZXNzVG9hc3RNZXNzYWdlcykge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6IFRvYXN0VHlwZS5lcnJvciwgc3VtbWFyeTogZXJyb3IgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiB0cnVlIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhZ2VzJChlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRQYWdlTmFtZSQsIHRoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRPdmVybGF5TmFtZXMkXSkucGlwZShcbiAgICAgIG1hcCgoW3BhZ2VOYW1lLCBvdmVybGF5TmFtZXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IHBhZ2VOYW1lKTtcblxuICAgICAgICBjb25zdCBvdmVybGF5TmFtZSA9IG92ZXJsYXlOYW1lcy5hdCgtMSk7XG4gICAgICAgIGNvbnN0IG92ZXJsYXkgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IG92ZXJsYXlOYW1lKTtcblxuICAgICAgICByZXR1cm4gWy4uLihwYWdlID8gW3BhZ2VdIDogZWxlbWVudHMuc2xpY2UoMCwgMSkpLCAuLi4ob3ZlcmxheSA/IFtvdmVybGF5XSA6IFtdKV07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cbiAgPHZsLWxvYWRlciAqbmdJZj1cInN0YXRlLmxvYWRpbmc7IGVsc2UgY29udGVudFwiIFtsYWJlbF09XCInTG9hZGluZyBVSSdcIj48L3ZsLWxvYWRlcj5cblxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdGF0ZS5mYWlsdXJlXCI+XG4gICAgICA8dmwtY21zLWVsZW1lbnQtcmVuZGVyZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGVsIG9mIGVsZW1lbnRzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5XCJcbiAgICAgICAgW21ldGFdPVwiZWxcIlxuICAgICAgPjwvdmwtY21zLWVsZW1lbnQtcmVuZGVyZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFDTCxlQUFlLEVBRWYsT0FBTyxFQUNQLFVBQVUsRUFDVixhQUFhLEVBQ2IsR0FBRyxFQUNILEVBQUUsRUFDRixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFrQnBFLE1BQU0sT0FBTyxnQkFBZ0I7SUFTM0IsWUFDVSxjQUE4QixFQUM5QixrQkFBc0MsRUFDdEMsWUFBMEIsRUFDMUIsZ0JBQWtDO1FBSGxDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7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QyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFFakMsaUJBQWlCLENBQUMsU0FBUztnTUFHMUIsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlLCBUb2FzdFR5cGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblN0YXRlLCBJbnRlZ3JhdGlvblN0YXRlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0LFxuICBjYXRjaEVycm9yLFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUnVudGltZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2R1bGVzL3J1bnRpbWUvc2VydmljZXMvcnVudGltZS5zZXJ2aWNlJztcbmltcG9ydCB7IElPUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW8tcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVtcGxhdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IENNU1ByZXZpZXdDb25maWcgfSBmcm9tICcuL3ByZXZpZXcudHlwZXMnO1xuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBmYWlsdXJlOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1jbXMtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJldmlldy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbSU9Qcm92aWRlclNlcnZpY2UsIFRlbXBsYXRlc1NlcnZpY2VdLFxuICAvLyB1c2Ugc2hhZG93IERPTSB0byBwcmV2ZW50IFVJIGZyb20gYmVpbmcgYWZmZWN0ZWQgYnkgZ2xvYmFsIHN0eWxlc1xuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb20sXG59KVxuZXhwb3J0IGNsYXNzIFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHB1YmxpYyB1aURlZmluaXRpb24/OiBVSURlZmluaXRpb247XG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnO1xuXG4gIHB1YmxpYyBzdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0YXRlPih7IGxvYWRpbmc6IHRydWUsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICBwdWJsaWMgZWxlbWVudHMkOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPjtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBSdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TdGF0ZTogQ29uZmlndXJhdGlvblN0YXRlLFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbnRlZ3JhdGlvblN0YXRlOiBJbnRlZ3JhdGlvblN0YXRlLFxuICApIHtcbiAgICB0aGlzLmVsZW1lbnRzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RhdGUkLCB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnVwZGF0ZWQkLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpXSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoW3sgbG9hZGluZywgZmFpbHVyZSB9XSkgPT4ge1xuICAgICAgICBpZiAobG9hZGluZyB8fCBmYWlsdXJlKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5ydW50aW1lU2VydmljZS5hcHBsaWNhdGlvblRyZWU7XG5cbiAgICAgICAgLy8gSWYgVUkgZGVmaW5pdGlvbiBjb250YWlucyBwYWdlcywgcmV0dXJuIHBhZ2UgYnkgU2VsZWN0ZWRQYWdlTmFtZVxuICAgICAgICBpZiAodGhpcy51aURlZmluaXRpb24/LnBhZ2VzKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UGFnZXMkKGVsZW1lbnRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvZihlbGVtZW50cyk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZz8uY2xlYXJTdGF0ZU9uSW5pdCkge1xuICAgICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGFydFByZXZpZXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG5cbiAgICBpZiAoIXRoaXMuY29uZmlnPy5wZXJzaXN0Q29uZmlndXJhdGlvblN0YXRlKSB7XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZS5jbGVhbnVwKCk7XG4gICAgfVxuICAgIHRoaXMucnVudGltZVNlcnZpY2UuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5KF86IG51bWJlciwgZWw6IEVsZW1lbnRNZXRhZGF0YSk6IEVsZW1lbnRNZXRhZGF0YSB7XG4gICAgcmV0dXJuIGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFByZXZpZXcoKTogdm9pZCB7XG4gICAgY29uc3QgY3VzdG9tSW5pdCQgPSB0aGlzLmNvbmZpZz8uaW5pdCQ/LigpID8/IG9mKHVuZGVmaW5lZCk7XG5cbiAgICBjdXN0b21Jbml0JFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmluaXRpYWxpemUkKHRoaXMudWlEZWZpbml0aW9uLCB0aGlzLmNvbmZpZykpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGUkLm5leHQoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbHVyZTogZmFsc2UgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICAgIGlmICghdGhpcy51aURlZmluaXRpb24/LnByb3BlcnRpZXM/LnN1cHByZXNzVG9hc3RNZXNzYWdlcykge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6IFRvYXN0VHlwZS5lcnJvciwgc3VtbWFyeTogZXJyb3IgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiB0cnVlIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhZ2VzJChlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRQYWdlTmFtZSQsIHRoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRPdmVybGF5TmFtZXMkXSkucGlwZShcbiAgICAgIG1hcCgoW3BhZ2VOYW1lLCBvdmVybGF5TmFtZXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IHBhZ2VOYW1lKTtcblxuICAgICAgICBjb25zdCBvdmVybGF5TmFtZSA9IG92ZXJsYXlOYW1lcy5hdCgtMSk7XG4gICAgICAgIGNvbnN0IG92ZXJsYXkgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IG92ZXJsYXlOYW1lKTtcblxuICAgICAgICByZXR1cm4gWy4uLihwYWdlID8gW3BhZ2VdIDogZWxlbWVudHMuc2xpY2UoMCwgMSkpLCAuLi4ob3ZlcmxheSA/IFtvdmVybGF5XSA6IFtdKV07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cbiAgPHZsLWxvYWRlciAqbmdJZj1cInN0YXRlLmxvYWRpbmc7IGVsc2UgY29udGVudFwiIFtsYWJlbF09XCInTG9hZGluZyBVSSdcIj48L3ZsLWxvYWRlcj5cblxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdGF0ZS5mYWlsdXJlXCI+XG4gICAgICA8dmwtY21zLWVsZW1lbnQtcmVuZGVyZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGVsIG9mIGVsZW1lbnRzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5XCJcbiAgICAgICAgW21ldGFdPVwiZWxcIlxuICAgICAgPjwvdmwtY21zLWVsZW1lbnQtcmVuZGVyZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENNU1ByZXZpZXdDb25maWcge1xuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIEludGVncmF0aW9uU3RhdGUgd2lsbCBiZSBjbGVhcmVkIG9uIGNvbXBvbmVudCBpbml0XG4gICAqL1xuICBjbGVhclN0YXRlT25Jbml0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIHByZXZpZXcgYWRkcyBhZGRpdGlvbmFsIGNvbXBvbmVudHMvcGx1Z2lucyBuZWVkZWQgZm9yIFVJQnVpbGRlclxuICAgKiAobGlrZSBlbGVtZW50IGhvdmVyL3NlbGVjdGlvbiBvciBEcmFnJkRyb3Agem9uZXMpXG4gICAqL1xuICB1aUJ1aWxkZXJNb2RlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIHByZXZpZXcgcmVuZGVycyBzZXR0aW5ncyBwYWdlIChlbGVtZW50IHdpdGggYHR5cGU6IENVU1RPTUlaQVRJT05fUEFHRWApXG4gICAqL1xuICBjdXN0b21pemF0aW9uTW9kZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZW4gYHRydWVgLCBwcmV2aWV3IGNvbXBvbmVudCBkb2VzIG5vdCBjbGVhciBjb25maWd1cmF0aW9uIHN0YXRlIG9uIGRlc3Ryb3lcbiAgICovXG4gIHBlcnNpc3RDb25maWd1cmF0aW9uU3RhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBleGVjdXRlZCBiZWZvcmUgc3RhcnRpbmcgYSBwcmV2aWV3XG4gICAqL1xuICBpbml0JD86ICgpID0+IE9ic2VydmFibGU8dm9pZD47XG59XG4iXX0=
|
@@ -4,16 +4,16 @@ import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
5
5
|
import { Injectable, Injector, NgModule, createNgModule } from '@angular/core';
|
6
6
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
7
|
+
import { ErrorTooltipModule, HiddenTextTooltipModule, LetDirectiveModule } from '@veloceapps/components';
|
7
8
|
import { SdkPipesModule } from '@veloceapps/sdk/core';
|
8
9
|
import { DndModule } from 'ngx-drag-drop';
|
9
|
-
import { map, of } from 'rxjs';
|
10
|
+
import { combineLatest, map, of, switchMap } from 'rxjs';
|
10
11
|
import { ElementChildrenModule } from '../../../components/element-children/element-children.module';
|
11
12
|
import { ElementDropHandleModule } from '../../../components/element-drop-handle/element-drop-handle.module';
|
12
13
|
import { ElementRendererModule } from '../../../components/element-renderer/element-renderer.module';
|
13
14
|
import { CustomTemplateDirectiveModule } from '../../../directives/custom-template.directive';
|
14
|
-
import { ElementsResolver,
|
15
|
+
import { ElementMetadataWorker, ElementsResolver, TranspilationWorker } from '../../../utils';
|
15
16
|
import { FederatedModule } from '../../federated/federated.module';
|
16
|
-
import { ErrorTooltipModule, HiddenTextTooltipModule, LetDirectiveModule } from '@veloceapps/components';
|
17
17
|
import * as i0 from "@angular/core";
|
18
18
|
export class CompilationService {
|
19
19
|
constructor(injector) {
|
@@ -25,8 +25,8 @@ export class CompilationService {
|
|
25
25
|
this.uiDefinitionMeta = uiDefinitionMeta;
|
26
26
|
const elements = [...(children ?? []), ...(pages ?? [])];
|
27
27
|
const sharedElements = components ?? [];
|
28
|
-
|
29
|
-
|
28
|
+
return [elements, sharedElements];
|
29
|
+
}), switchMap(elementsChunks => combineLatest(elementsChunks.map(chunk => new ElementMetadataWorker(chunk).get$()))), switchMap(dataChunks => combineLatest(dataChunks.map(chunk => new TranspilationWorker(chunk).get$()))), map(([metadata, sharedMetadata]) => {
|
30
30
|
this.elementsResolver = new ElementsResolver(uiDefinition, metadata, sharedMetadata, config);
|
31
31
|
const componentTypes = this.elementsResolver.getNgComponents();
|
32
32
|
const module = this.getModule(componentTypes);
|
@@ -90,4 +90,4 @@ CompilationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", v
|
|
90
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CompilationService, decorators: [{
|
91
91
|
type: Injectable
|
92
92
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9tb2R1bGVzL3J1bnRpbWUvc2VydmljZXMvY29tcGlsYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFRLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFjLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDckcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDN0csT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFFckcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFJOUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0Is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b0JBQ1gsbUJBQW1CO29CQUNuQixjQUFjO29CQUNkLFNBQVM7b0JBQ1QsZUFBZTtvQkFDZixxQkFBcUI7b0JBQ3JCLHFCQUFxQjtvQkFDckIsdUJBQXVCO29CQUN2Qiw2QkFBNkI7b0JBQzdCLGVBQWU7b0JBQ2YsY0FBYztvQkFDZCxrQkFBa0I7b0JBQ2xCLHVCQUF1QjtvQkFDdkIsa0JBQWtCO2lCQUNuQjtnQkFDRCxZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7Z0JBQ3ZDLEdBQUcsRUFBRSxJQUFJO2FBQ1YsQ0FBQztXQUNJLGFBQWEsQ0FBRztRQUV0QixPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDOzsrR0FqRlUsa0JBQWtCO21IQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgTmdNb2R1bGUsIFR5cGUsIGNyZWF0ZU5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbiwgVUlEZWZpbml0aW9uTWV0YWRhdGEgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IFNka1BpcGVzTW9kdWxlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgRG5kTW9kdWxlIH0gZnJvbSAnbmd4LWRyYWctZHJvcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFbGVtZW50Q2hpbGRyZW5Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2VsZW1lbnQtY2hpbGRyZW4vZWxlbWVudC1jaGlsZHJlbi5tb2R1bGUnO1xuaW1wb3J0IHsgRWxlbWVudERyb3BIYW5kbGVNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2VsZW1lbnQtZHJvcC1oYW5kbGUvZWxlbWVudC1kcm9wLWhhbmRsZS5tb2R1bGUnO1xuaW1wb3J0IHsgRWxlbWVudFJlbmRlcmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9lbGVtZW50LXJlbmRlcmVyL2VsZW1lbnQtcmVuZGVyZXIubW9kdWxlJztcbmltcG9ydCB7IENNU1ByZXZpZXdDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL3ByZXZpZXcnO1xuaW1wb3J0IHsgQ3VzdG9tVGVtcGxhdGVEaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2N1c3RvbS10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vZW5naW5lL21vZGVscy9lbnRpdHknO1xuaW1wb3J0IHsgQ29tcGlsYXRpb25SZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9tb2R1bGVzL3J1bnRpbWUvdHlwZXMvY29tcGlsYXRpb24udHlwZXMnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IEVsZW1lbnRzUmVzb2x2ZXIsIGVsZW1lbnRUb01ldGFkYXRhIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgRmVkZXJhdGVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vZmVkZXJhdGVkL2ZlZGVyYXRlZC5tb2R1bGUnO1xuaW1wb3J0IHsgRXJyb3JUb29sdGlwTW9kdWxlLCBIaWRkZW5UZXh0VG9vbHRpcE1vZHVsZSwgTGV0RGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29tcG9uZW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb21waWxhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIHVpRGVmaW5pdGlvbk1ldGE/OiBVSURlZmluaXRpb25NZXRhZGF0YTtcbiAgcHJpdmF0ZSBlbGVtZW50c1Jlc29sdmVyPzogRWxlbWVudHNSZXNvbHZlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICBwdWJsaWMgY29tcGlsZVVJRGVmaW5pdGlvbiQodWlEZWZpbml0aW9uOiBVSURlZmluaXRpb24sIGNvbmZpZz86IENNU1ByZXZpZXdDb25maWcpOiBPYnNlcnZhYmxlPENvbXBpbGF0aW9uUmVzdWx0PiB7XG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBjaGlsZHJlbiwgcGFnZXMsIGNvbXBvbmVudHMsIC4uLnVpRGVmaW5pdGlvbk1ldGEgfSA9IHVpRGVmaW5pdGlvbjtcbiAgICAgICAgdGhpcy51aURlZmluaXRpb25NZXRhID0gdWlEZWZpbml0aW9uTWV0YTtcblxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IFsuLi4oY2hpbGRyZW4gPz8gW10pLCAuLi4ocGFnZXMgPz8gW10pXTtcbiAgICAgICAgY29uc3Qgc2hhcmVkRWxlbWVudHMgPSBjb21wb25lbnRzID8/IFtdO1xuXG4gICAgICAgIGNvbnN0IG1ldGFkYXRhID0gZWxlbWVudHMubWFwKGVsZW1lbnQgPT4gZWxlbWVudFRvTWV0YWRhdGEoZWxlbWVudCkpO1xuICAgICAgICBjb25zdCBzaGFyZWRNZXRhZGF0YSA9IHNoYXJlZEVsZW1lbnRzLm1hcChlbGVtZW50ID0+IGVsZW1lbnRUb01ldGFkYXRhKGVsZW1lbnQpKTtcblxuICAgICAgICB0aGlzLmVsZW1lbnRzUmVzb2x2ZXIgPSBuZXcgRWxlbWVudHNSZXNvbHZlcih1aURlZmluaXRpb24sIG1ldGFkYXRhLCBzaGFyZWRNZXRhZGF0YSwgY29uZmlnKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50VHlwZXMgPSB0aGlzLmVsZW1lbnRzUmVzb2x2ZXIuZ2V0TmdDb21wb25lbnRzKCk7XG4gICAgICAgIGNvbnN0IG1vZHVsZSA9IHRoaXMuZ2V0TW9kdWxlKGNvbXBvbmVudFR5cGVzKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1vZHVsZVJlZjogY3JlYXRlTmdNb2R1bGUobW9kdWxlLCB0aGlzLmluamVjdG9yKSxcbiAgICAgICAgICBlbGVtZW50czogdGhpcy5lbGVtZW50c1Jlc29sdmVyPy5lbGVtZW50cyA/PyBbXSxcbiAgICAgICAgICBjb21wb25lbnRUeXBlcyxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY29tcGlsZUVsZW1lbnQkKGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IE9ic2VydmFibGU8Q29tcGlsYXRpb25SZXN1bHQ+IHtcbiAgICBpZiAoIXRoaXMudWlEZWZpbml0aW9uTWV0YSkge1xuICAgICAgdGhyb3cgJ05vIFVJIERlZmluaXRpb24gY29udGV4dCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mKHRoaXMudWlEZWZpbml0aW9uTWV0YSkucGlwZShcbiAgICAgIG1hcCh1aURlZmluaXRpb24gPT4ge1xuICAgICAgICBjb25zdCBlbGVtZW50c1Jlc29sdmVyID0gdGhpcy5lbGVtZW50c1Jlc29sdmVyID8/IG5ldyBFbGVtZW50c1Jlc29sdmVyKHVpRGVmaW5pdGlvbiwgW10pO1xuICAgICAgICBlbGVtZW50c1Jlc29sdmVyLmFkZEVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGVzID0gZWxlbWVudHNSZXNvbHZlci5nZXROZ0NvbXBvbmVudHMoKTtcbiAgICAgICAgY29uc3QgbW9kdWxlID0gdGhpcy5nZXRNb2R1bGUoY29tcG9uZW50VHlwZXMpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbW9kdWxlUmVmOiBjcmVhdGVOZ01vZHVsZShtb2R1bGUsIHRoaXMuaW5qZWN0b3IpLFxuICAgICAgICAgIGVsZW1lbnRzOiB0aGlzLmVsZW1lbnRzUmVzb2x2ZXI/LmVsZW1lbnRzID8/IFtdLFxuICAgICAgICAgIGNvbXBvbmVudFR5cGVzLFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLnVpRGVmaW5pdGlvbk1ldGEgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZHVsZShjb21wb25lbnRzOiBSZWNvcmQ8c3RyaW5nLCBUeXBlPEVudGl0eT4+KTogVHlwZTxOZ01vZHVsZT4ge1xuICAgIEBOZ01vZHVsZSh7XG4gICAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIERyYWdEcm9wTW9kdWxlLFxuICAgICAgICBEbmRNb2R1bGUsXG4gICAgICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgICAgICAgRWxlbWVudENoaWxkcmVuTW9kdWxlLFxuICAgICAgICBFbGVtZW50UmVuZGVyZXJNb2R1bGUsXG4gICAgICAgIEVsZW1lbnREcm9wSGFuZGxlTW9kdWxlLFxuICAgICAgICBDdXN0b21UZW1wbGF0ZURpcmVjdGl2ZU1vZHVsZSxcbiAgICAgICAgRmVkZXJhdGVkTW9kdWxlLFxuICAgICAgICBTZGtQaXBlc01vZHVsZSxcbiAgICAgICAgTGV0RGlyZWN0aXZlTW9kdWxlLFxuICAgICAgICBIaWRkZW5UZXh0VG9vbHRpcE1vZHVsZSxcbiAgICAgICAgRXJyb3JUb29sdGlwTW9kdWxlLFxuICAgICAgXSxcbiAgICAgIGRlY2xhcmF0aW9uczogT2JqZWN0LnZhbHVlcyhjb21wb25lbnRzKSxcbiAgICAgIGppdDogdHJ1ZSxcbiAgICB9KVxuICAgIGNsYXNzIER5bmFtaWNNb2R1bGUge31cblxuICAgIHJldHVybiBEeW5hbWljTW9kdWxlO1xuICB9XG59XG4iXX0=
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9tb2R1bGVzL3J1bnRpbWUvc2VydmljZXMvY29tcGlsYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFRLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFjLGFBQWEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUVyRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUk5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxn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QkFDL0MsY0FBYzthQUNmLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxTQUFTLENBQUMsVUFBd0M7UUFzQnhELElBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWE7U0FBRyxDQUFBO1FBQWhCLGFBQWE7WUFyQmxCLFFBQVEsQ0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsY0FBYztvQkFDZCxTQUFTO29CQUNULGVBQWU7b0JBQ2YscUJBQXFCO29CQUNyQixxQkFBcUI7b0JBQ3JCLHVCQUF1QjtvQkFDdkIsNkJBQTZCO29CQUM3QixlQUFlO29CQUNmLGNBQWM7b0JBQ2Qsa0JBQWtCO29CQUNsQix1QkFBdUI7b0JBQ3ZCLGtCQUFrQjtpQkFDbkI7Z0JBQ0QsWUFBWSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO2dCQUN2QyxHQUFHLEVBQUUsSUFBSTthQUNWLENBQUM7V0FDSSxhQUFhLENBQUc7UUFFdEIsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQzs7K0dBbEZVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nTW9kdWxlLCBUeXBlLCBjcmVhdGVOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFcnJvclRvb2x0aXBNb2R1bGUsIEhpZGRlblRleHRUb29sdGlwTW9kdWxlLCBMZXREaXJlY3RpdmVNb2R1bGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbiwgVUlEZWZpbml0aW9uTWV0YWRhdGEgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IFNka1BpcGVzTW9kdWxlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgRG5kTW9kdWxlIH0gZnJvbSAnbmd4LWRyYWctZHJvcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBtYXAsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVsZW1lbnRDaGlsZHJlbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZWxlbWVudC1jaGlsZHJlbi9lbGVtZW50LWNoaWxkcmVuLm1vZHVsZSc7XG5pbXBvcnQgeyBFbGVtZW50RHJvcEhhbmRsZU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZWxlbWVudC1kcm9wLWhhbmRsZS9lbGVtZW50LWRyb3AtaGFuZGxlLm1vZHVsZSc7XG5pbXBvcnQgeyBFbGVtZW50UmVuZGVyZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2VsZW1lbnQtcmVuZGVyZXIvZWxlbWVudC1yZW5kZXJlci5tb2R1bGUnO1xuaW1wb3J0IHsgQ01TUHJldmlld0NvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvcHJldmlldyc7XG5pbXBvcnQgeyBDdXN0b21UZW1wbGF0ZURpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvY3VzdG9tLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi8uLi8uLi9lbmdpbmUvbW9kZWxzL2VudGl0eSc7XG5pbXBvcnQgeyBDb21waWxhdGlvblJlc3VsdCB9IGZyb20gJy4uLy4uLy4uL21vZHVsZXMvcnVudGltZS90eXBlcy9jb21waWxhdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb21tb24udHlwZXMnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhV29ya2VyLCBFbGVtZW50c1Jlc29sdmVyLCBUcmFuc3BpbGF0aW9uV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgRmVkZXJhdGVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vZmVkZXJhdGVkL2ZlZGVyYXRlZC5tb2R1bGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29tcGlsYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSB1aURlZmluaXRpb25NZXRhPzogVUlEZWZpbml0aW9uTWV0YWRhdGE7XG4gIHByaXZhdGUgZWxlbWVudHNSZXNvbHZlcj86IEVsZW1lbnRzUmVzb2x2ZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgcHVibGljIGNvbXBpbGVVSURlZmluaXRpb24kKHVpRGVmaW5pdGlvbjogVUlEZWZpbml0aW9uLCBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnKTogT2JzZXJ2YWJsZTxDb21waWxhdGlvblJlc3VsdD4ge1xuICAgIHJldHVybiBvZihbXSkucGlwZShcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VzLCBjb21wb25lbnRzLCAuLi51aURlZmluaXRpb25NZXRhIH0gPSB1aURlZmluaXRpb247XG4gICAgICAgIHRoaXMudWlEZWZpbml0aW9uTWV0YSA9IHVpRGVmaW5pdGlvbk1ldGE7XG5cbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSBbLi4uKGNoaWxkcmVuID8/IFtdKSwgLi4uKHBhZ2VzID8/IFtdKV07XG4gICAgICAgIGNvbnN0IHNoYXJlZEVsZW1lbnRzID0gY29tcG9uZW50cyA/PyBbXTtcbiAgICAgICAgcmV0dXJuIFtlbGVtZW50cywgc2hhcmVkRWxlbWVudHNdO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoZWxlbWVudHNDaHVua3MgPT4gY29tYmluZUxhdGVzdChlbGVtZW50c0NodW5rcy5tYXAoY2h1bmsgPT4gbmV3IEVsZW1lbnRNZXRhZGF0YVdvcmtlcihjaHVuaykuZ2V0JCgpKSkpLFxuICAgICAgc3dpdGNoTWFwKGRhdGFDaHVua3MgPT4gY29tYmluZUxhdGVzdChkYXRhQ2h1bmtzLm1hcChjaHVuayA9PiBuZXcgVHJhbnNwaWxhdGlvbldvcmtlcihjaHVuaykuZ2V0JCgpKSkpLFxuICAgICAgbWFwKChbbWV0YWRhdGEsIHNoYXJlZE1ldGFkYXRhXSkgPT4ge1xuICAgICAgICB0aGlzLmVsZW1lbnRzUmVzb2x2ZXIgPSBuZXcgRWxlbWVudHNSZXNvbHZlcih1aURlZmluaXRpb24sIG1ldGFkYXRhLCBzaGFyZWRNZXRhZGF0YSwgY29uZmlnKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50VHlwZXMgPSB0aGlzLmVsZW1lbnRzUmVzb2x2ZXIuZ2V0TmdDb21wb25lbnRzKCk7XG4gICAgICAgIGNvbnN0IG1vZHVsZSA9IHRoaXMuZ2V0TW9kdWxlKGNvbXBvbmVudFR5cGVzKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1vZHVsZVJlZjogY3JlYXRlTmdNb2R1bGUobW9kdWxlLCB0aGlzLmluamVjdG9yKSxcbiAgICAgICAgICBlbGVtZW50czogdGhpcy5lbGVtZW50c1Jlc29sdmVyPy5lbGVtZW50cyA/PyBbXSxcbiAgICAgICAgICBjb21wb25lbnRUeXBlcyxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY29tcGlsZUVsZW1lbnQkKGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IE9ic2VydmFibGU8Q29tcGlsYXRpb25SZXN1bHQ+IHtcbiAgICBpZiAoIXRoaXMudWlEZWZpbml0aW9uTWV0YSkge1xuICAgICAgdGhyb3cgJ05vIFVJIERlZmluaXRpb24gY29udGV4dCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mKHRoaXMudWlEZWZpbml0aW9uTWV0YSkucGlwZShcbiAgICAgIG1hcCh1aURlZmluaXRpb24gPT4ge1xuICAgICAgICBjb25zdCBlbGVtZW50c1Jlc29sdmVyID0gdGhpcy5lbGVtZW50c1Jlc29sdmVyID8/IG5ldyBFbGVtZW50c1Jlc29sdmVyKHVpRGVmaW5pdGlvbiwgW10pO1xuICAgICAgICBlbGVtZW50c1Jlc29sdmVyLmFkZEVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGVzID0gZWxlbWVudHNSZXNvbHZlci5nZXROZ0NvbXBvbmVudHMoKTtcbiAgICAgICAgY29uc3QgbW9kdWxlID0gdGhpcy5nZXRNb2R1bGUoY29tcG9uZW50VHlwZXMpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbW9kdWxlUmVmOiBjcmVhdGVOZ01vZHVsZShtb2R1bGUsIHRoaXMuaW5qZWN0b3IpLFxuICAgICAgICAgIGVsZW1lbnRzOiB0aGlzLmVsZW1lbnRzUmVzb2x2ZXI/LmVsZW1lbnRzID8/IFtdLFxuICAgICAgICAgIGNvbXBvbmVudFR5cGVzLFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLnVpRGVmaW5pdGlvbk1ldGEgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZHVsZShjb21wb25lbnRzOiBSZWNvcmQ8c3RyaW5nLCBUeXBlPEVudGl0eT4+KTogVHlwZTxOZ01vZHVsZT4ge1xuICAgIEBOZ01vZHVsZSh7XG4gICAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIERyYWdEcm9wTW9kdWxlLFxuICAgICAgICBEbmRNb2R1bGUsXG4gICAgICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgICAgICAgRWxlbWVudENoaWxkcmVuTW9kdWxlLFxuICAgICAgICBFbGVtZW50UmVuZGVyZXJNb2R1bGUsXG4gICAgICAgIEVsZW1lbnREcm9wSGFuZGxlTW9kdWxlLFxuICAgICAgICBDdXN0b21UZW1wbGF0ZURpcmVjdGl2ZU1vZHVsZSxcbiAgICAgICAgRmVkZXJhdGVkTW9kdWxlLFxuICAgICAgICBTZGtQaXBlc01vZHVsZSxcbiAgICAgICAgTGV0RGlyZWN0aXZlTW9kdWxlLFxuICAgICAgICBIaWRkZW5UZXh0VG9vbHRpcE1vZHVsZSxcbiAgICAgICAgRXJyb3JUb29sdGlwTW9kdWxlLFxuICAgICAgXSxcbiAgICAgIGRlY2xhcmF0aW9uczogT2JqZWN0LnZhbHVlcyhjb21wb25lbnRzKSxcbiAgICAgIGppdDogdHJ1ZSxcbiAgICB9KVxuICAgIGNsYXNzIER5bmFtaWNNb2R1bGUge31cblxuICAgIHJldHVybiBEeW5hbWljTW9kdWxlO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { from } from 'rxjs';
|
2
|
+
import { elementToMetadata } from './element.utils';
|
3
|
+
export class ElementMetadataWorker {
|
4
|
+
constructor(elements) {
|
5
|
+
this.elements = elements;
|
6
|
+
}
|
7
|
+
get$() {
|
8
|
+
return from((async () => this.processAsync(this.elements))());
|
9
|
+
}
|
10
|
+
async processAsync(elements) {
|
11
|
+
const result = [];
|
12
|
+
await this.processLevelAsync(elements, result);
|
13
|
+
return result;
|
14
|
+
}
|
15
|
+
async processLevelAsync(elements, metadata, parentPath) {
|
16
|
+
for (const el of elements) {
|
17
|
+
const elMetadata = await this.elementToMetadataAsync(el, parentPath);
|
18
|
+
metadata.push(elMetadata);
|
19
|
+
await this.processLevelAsync(el.children, elMetadata.children, elMetadata.path);
|
20
|
+
}
|
21
|
+
}
|
22
|
+
elementToMetadataAsync(el, parentPath) {
|
23
|
+
return new Promise(resolve => {
|
24
|
+
setTimeout(() => {
|
25
|
+
const metadata = elementToMetadata({ script: el.script, template: el.template, styles: el.styles, children: [] }, parentPath);
|
26
|
+
resolve(metadata);
|
27
|
+
});
|
28
|
+
});
|
29
|
+
}
|
30
|
+
}
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1tZXRhZGF0YS13b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvZWxlbWVudC1tZXRhZGF0YS13b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLFFBQXFCO1FBQXJCLGFBQVEsR0FBUixRQUFRLENBQWE7SUFBRyxDQUFDO0lBRXRDLElBQUk7UUFDVCxPQUFPLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVPLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBcUI7UUFDOUMsTUFBTSxNQUFNLEdBQXNCLEVBQUUsQ0FBQztRQUNyQyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDL0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxRQUFxQixFQUFFLFFBQTJCLEVBQUUsVUFBbUI7UUFDckcsS0FBSyxNQUFNLEVBQUUsSUFBSSxRQUFRLEVBQUU7WUFDekIsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3JFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDMUIsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqRjtJQUNILENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxFQUFhLEVBQUUsVUFBbUI7UUFDL0QsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMzQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUNoQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFDN0UsVUFBVSxDQUNYLENBQUM7Z0JBQ0YsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSUVsZW1lbnQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uL3R5cGVzL2NvbW1vbi50eXBlcyc7XG5pbXBvcnQgeyBlbGVtZW50VG9NZXRhZGF0YSB9IGZyb20gJy4vZWxlbWVudC51dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBFbGVtZW50TWV0YWRhdGFXb3JrZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRzOiBVSUVsZW1lbnRbXSkge31cblxuICBwdWJsaWMgZ2V0JCgpOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPiB7XG4gICAgcmV0dXJuIGZyb20oKGFzeW5jICgpID0+IHRoaXMucHJvY2Vzc0FzeW5jKHRoaXMuZWxlbWVudHMpKSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJvY2Vzc0FzeW5jKGVsZW1lbnRzOiBVSUVsZW1lbnRbXSk6IFByb21pc2U8RWxlbWVudE1ldGFkYXRhW10+IHtcbiAgICBjb25zdCByZXN1bHQ6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG4gICAgYXdhaXQgdGhpcy5wcm9jZXNzTGV2ZWxBc3luYyhlbGVtZW50cywgcmVzdWx0KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcm9jZXNzTGV2ZWxBc3luYyhlbGVtZW50czogVUlFbGVtZW50W10sIG1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGFbXSwgcGFyZW50UGF0aD86IHN0cmluZykge1xuICAgIGZvciAoY29uc3QgZWwgb2YgZWxlbWVudHMpIHtcbiAgICAgIGNvbnN0IGVsTWV0YWRhdGEgPSBhd2FpdCB0aGlzLmVsZW1lbnRUb01ldGFkYXRhQXN5bmMoZWwsIHBhcmVudFBhdGgpO1xuICAgICAgbWV0YWRhdGEucHVzaChlbE1ldGFkYXRhKTtcbiAgICAgIGF3YWl0IHRoaXMucHJvY2Vzc0xldmVsQXN5bmMoZWwuY2hpbGRyZW4sIGVsTWV0YWRhdGEuY2hpbGRyZW4sIGVsTWV0YWRhdGEucGF0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbGVtZW50VG9NZXRhZGF0YUFzeW5jKGVsOiBVSUVsZW1lbnQsIHBhcmVudFBhdGg/OiBzdHJpbmcpOiBQcm9taXNlPEVsZW1lbnRNZXRhZGF0YT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zdCBtZXRhZGF0YSA9IGVsZW1lbnRUb01ldGFkYXRhKFxuICAgICAgICAgIHsgc2NyaXB0OiBlbC5zY3JpcHQsIHRlbXBsYXRlOiBlbC50ZW1wbGF0ZSwgc3R5bGVzOiBlbC5zdHlsZXMsIGNoaWxkcmVuOiBbXSB9LFxuICAgICAgICAgIHBhcmVudFBhdGgsXG4gICAgICAgICk7XG4gICAgICAgIHJlc29sdmUobWV0YWRhdGEpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,26 +1,24 @@
|
|
1
1
|
import { Component } from '@angular/core';
|
2
|
-
import { transform } from '@babel/standalone';
|
3
2
|
import { isDefined } from '@veloceapps/core';
|
4
3
|
import { flatten, kebabCase, set } from 'lodash';
|
4
|
+
import * as sass from 'sass';
|
5
5
|
import { DEFAULT_PLUGINS } from '../cms.default';
|
6
6
|
import { CONFIG } from '../cms.elements';
|
7
7
|
import { LAYOUT } from '../cms.layouts';
|
8
8
|
import { DEFAULT_PLUGINS_TOKEN, ELEMENT_CONFIG, ELEMENT_METADATA, SHARED_ELEMENT_METADATA, UI_DEFINITION_METADATA, } from '../injection-tokens';
|
9
9
|
import { getElementAngularIOs } from './element.utils';
|
10
10
|
import { getScriptClass } from './script.utils';
|
11
|
-
import
|
11
|
+
import { TranspilationWorker } from './transpilation-worker';
|
12
12
|
export class ElementsResolver {
|
13
13
|
constructor(uiDef, elements, sharedElements = [], config) {
|
14
14
|
this.uiDef = uiDef;
|
15
15
|
this.config = config;
|
16
16
|
this.renderableElements = [];
|
17
17
|
this.sharedElements = [];
|
18
|
-
|
19
|
-
const transpiledSharedElements = this.transpileScripts(sharedElements);
|
20
|
-
this.sharedElements = this.flattenElements(transpiledElements)
|
18
|
+
this.sharedElements = this.flattenElements(elements)
|
21
19
|
.filter(el => this.isSharedElement(el))
|
22
|
-
.concat(
|
23
|
-
this.elements =
|
20
|
+
.concat(sharedElements);
|
21
|
+
this.elements = elements.map(el => this.processElementMetadata(el)).filter(isDefined);
|
24
22
|
this.renderableElements = this.getRenderableElements(this.elements);
|
25
23
|
this.uiDefMetadata = {
|
26
24
|
...this.uiDef,
|
@@ -31,7 +29,7 @@ export class ElementsResolver {
|
|
31
29
|
if (element.isShared) {
|
32
30
|
return;
|
33
31
|
}
|
34
|
-
const transpiledElements =
|
32
|
+
const transpiledElements = new TranspilationWorker([element]).get();
|
35
33
|
this.elements = transpiledElements.map(el => this.processElementMetadata(el)).filter(isDefined);
|
36
34
|
this.renderableElements = this.getRenderableElements(this.elements);
|
37
35
|
}
|
@@ -41,24 +39,6 @@ export class ElementsResolver {
|
|
41
39
|
[el.path]: this.resolveElement(el),
|
42
40
|
}), {});
|
43
41
|
}
|
44
|
-
transpile(el) {
|
45
|
-
if (!el.script) {
|
46
|
-
return;
|
47
|
-
}
|
48
|
-
const transformed = transform(el.script, {
|
49
|
-
filename: el.name + '.ts',
|
50
|
-
presets: ['typescript'],
|
51
|
-
sourceMaps: 'inline',
|
52
|
-
});
|
53
|
-
return transformed.code ?? undefined;
|
54
|
-
}
|
55
|
-
transpileScripts(elements) {
|
56
|
-
return elements.map(el => ({
|
57
|
-
...el,
|
58
|
-
script: this.transpile(el),
|
59
|
-
children: this.transpileScripts(el.children),
|
60
|
-
}));
|
61
|
-
}
|
62
42
|
flattenElements(elements) {
|
63
43
|
return flatten(elements.map(el => [el, ...this.flattenElements(el.children)]));
|
64
44
|
}
|
@@ -212,4 +192,4 @@ export class ElementsResolver {
|
|
212
192
|
return c && 'default' in c ? c.default : undefined;
|
213
193
|
}
|
214
194
|
}
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvZWxlbWVudHMtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBd0IsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixzQkFBc0IsR0FDdkIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFFN0IsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQixZQUNVLEtBQTJCLEVBQ25DLFFBQTJCLEVBQzNCLGlCQUFvQyxFQUFFLEVBQzlCLE1BQXlCO1FBSHpCLFVBQUssR0FBTCxLQUFLLENBQXNCO1FBRzNCLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBUjNCLHVCQUFrQixHQUFzQixFQUFFLENBQUM7UUFDM0MsbUJBQWMsR0FBc0IsRUFBRSxDQUFDO1FBUzdDLE1BQU0sa0JBQWtC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QUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDckQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICdAYmFiZWwvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBpc0RlZmluZWQsIFVJRGVmaW5pdGlvbk1ldGFkYXRhIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBmbGF0dGVuLCBrZWJhYkNhc2UsIHNldCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBERUZBVUxUX1BMVUdJTlMgfSBmcm9tICcuLi9jbXMuZGVmYXVsdCc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuLi9jbXMuZWxlbWVudHMnO1xuaW1wb3J0IHsgTEFZT1VUIH0gZnJvbSAnLi4vY21zLmxheW91dHMnO1xuaW1wb3J0IHsgQ01TUHJldmlld0NvbmZpZyB9IGZyb20gJy4uL2NvbXBvbmVudHMvcHJldmlldyc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL2VudGl0eSc7XG5pbXBvcnQge1xuICBERUZBVUxUX1BMVUdJTlNfVE9LRU4sXG4gIEVMRU1FTlRfQ09ORklHLFxuICBFTEVNRU5UX01FVEFEQVRBLFxuICBTSEFSRURfRUxFTUVOVF9NRVRBREFUQSxcbiAgVUlfREVGSU5JVElPTl9NRVRBREFUQSxcbn0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRTdHlsZURlY2xhcmF0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0RWxlbWVudEFuZ3VsYXJJT3MgfSBmcm9tICcuL2VsZW1lbnQudXRpbHMnO1xuaW1wb3J0IHsgZ2V0U2NyaXB0Q2xhc3MgfSBmcm9tICcuL3NjcmlwdC51dGlscyc7XG5pbXBvcnQgKiBhcyBzYXNzIGZyb20gJ3Nhc3MnO1xuXG5leHBvcnQgY2xhc3MgRWxlbWVudHNSZXNvbHZlciB7XG4gIHB1YmxpYyBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW107XG5cbiAgcHJpdmF0ZSByZW5kZXJhYmxlRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG4gIHByaXZhdGUgc2hhcmVkRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG4gIHByaXZhdGUgdWlEZWZNZXRhZGF0YTogVUlEZWZpbml0aW9uTWV0YWRhdGE7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB1aURlZjogVUlEZWZpbml0aW9uTWV0YWRhdGEsXG4gICAgZWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdLFxuICAgIHNoYXJlZEVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSA9IFtdLFxuICAgIHByaXZhdGUgY29uZmlnPzogQ01TUHJldmlld0NvbmZpZyxcbiAgKSB7XG4gICAgY29uc3QgdHJhbnNwaWxlZEVsZW1lbnRzID0gdGhpcy50cmFuc3BpbGVTY3JpcHRzKGVsZW1lbnRzKTtcbiAgICBjb25zdCB0cmFuc3BpbGVkU2hhcmVkRWxlbWVudHMgPSB0aGlzLnRyYW5zcGlsZVNjcmlwdHMoc2hhcmVkRWxlbWVudHMpO1xuXG4gICAgdGhpcy5zaGFyZWRFbGVtZW50cyA9IHRoaXMuZmxhdHRlbkVsZW1lbnRzKHRyYW5zcGlsZWRFbGVtZW50cylcbiAgICAgIC5maWx0ZXIoZWwgPT4gdGhpcy5pc1NoYXJlZEVsZW1lbnQoZWwpKVxuICAgICAgLmNvbmNhdCh0cmFuc3BpbGVkU2hhcmVkRWxlbWVudHMpO1xuXG4gICAgdGhpcy5lbGVtZW50cyA9IHRyYW5zcGlsZWRFbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGVsKSkuZmlsdGVyKGlzRGVmaW5lZCk7XG5cbiAgICB0aGlzLnJlbmRlcmFibGVFbGVtZW50cyA9IHRoaXMuZ2V0UmVuZGVyYWJsZUVsZW1lbnRzKHRoaXMuZWxlbWVudHMpO1xuXG4gICAgdGhpcy51aURlZk1ldGFkYXRhID0ge1xuICAgICAgLi4udGhpcy51aURlZixcbiAgICAgIGN1c3RvbWl6YXRpb246IHRoaXMudWlEZWYuY3VzdG9taXphdGlvbiA/PyB0aGlzLmdldERlZmF1bHRDdXN0b21pemF0aW9uU3RhdGUoKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFkZEVsZW1lbnQoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogdm9pZCB7XG4gICAgaWYgKGVsZW1lbnQuaXNTaGFyZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0cmFuc3BpbGVkRWxlbWVudHMgPSB0aGlzLnRyYW5zcGlsZVNjcmlwdHMoW2VsZW1lbnRdKTtcbiAgICB0aGlzLmVsZW1lbnRzID0gdHJhbnNwaWxlZEVsZW1lbnRzLm1hcChlbCA9PiB0aGlzLnByb2Nlc3NFbGVtZW50TWV0YWRhdGEoZWwpKS5maWx0ZXIoaXNEZWZpbmVkKTtcbiAgICB0aGlzLnJlbmRlcmFibGVFbGVtZW50cyA9IHRoaXMuZ2V0UmVuZGVyYWJsZUVsZW1lbnRzKHRoaXMuZWxlbWVudHMpO1xuICB9XG5cbiAgcHVibGljIGdldE5nQ29tcG9uZW50cygpOiBSZWNvcmQ8c3RyaW5nLCBUeXBlPEVudGl0eT4+IHtcbiAgICByZXR1cm4gWy4uLnRoaXMucmVuZGVyYWJsZUVsZW1lbnRzLCAuLi50aGlzLnNoYXJlZEVsZW1lbnRzXS5maWx0ZXIoaXNEZWZpbmVkKS5yZWR1Y2UoXG4gICAgICAodHJ1bmssIGVsKSA9PiAoe1xuICAgICAgICAuLi50cnVuayxcbiAgICAgICAgW2VsLnBhdGhdOiB0aGlzLnJlc29sdmVFbGVtZW50KGVsKSxcbiAgICAgIH0pLFxuICAgICAge30sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNwaWxlKGVsOiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghZWwuc2NyaXB0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdHJhbnNmb3JtZWQgPSB0cmFuc2Zvcm0oZWwuc2NyaXB0LCB7XG4gICAgICBmaWxlbmFtZTogZWwubmFtZSArICcudHMnLFxuICAgICAgcHJlc2V0czogWyd0eXBlc2NyaXB0J10sXG4gICAgICBzb3VyY2VNYXBzOiAnaW5saW5lJyxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmFuc2Zvcm1lZC5jb2RlID8/IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNwaWxlU2NyaXB0cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgcmV0dXJuIGVsZW1lbnRzLm1hcChlbCA9PiAoe1xuICAgICAgLi4uZWwsXG4gICAgICBzY3JpcHQ6IHRoaXMudHJhbnNwaWxlKGVsKSxcbiAgICAgIGNoaWxkcmVuOiB0aGlzLnRyYW5zcGlsZVNjcmlwdHMoZWwuY2hpbGRyZW4pLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgZmxhdHRlbkVsZW1lbnRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICByZXR1cm4gZmxhdHRlbihlbGVtZW50cy5tYXAoZWwgPT4gW2VsLCAuLi50aGlzLmZsYXR0ZW5FbGVtZW50cyhlbC5jaGlsZHJlbildKSk7XG4gIH1cblxuICBwcml2YXRlIGlzU2hhcmVkRWxlbWVudChlbDogRWxlbWVudE1ldGFkYXRhKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEJvb2xlYW4oZWwuaXNTaGFyZWQpICYmIGVsLnR5cGUgIT09ICdSRUZFUkVOQ0UnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZW5kZXJhYmxlRWxlbWVudHMoZWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdKTogRWxlbWVudE1ldGFkYXRhW10ge1xuICAgIGNvbnN0IHJlbmRlcmFibGU6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGVsIG9mIGVsZW1lbnRzKSB7XG4gICAgICAvLyBJbiBgY3VzdG9taXphdGlvbk1vZGVgIHJlbmRlciBvbmx5IGVsZW1lbnQgd2l0aCBDVVNUT01JWkFUSU9OX1BBR0UgdHlwZVxuICAgICAgY29uc3QgdHlwZVBlck1vZGUgPSBCb29sZWFuKHRoaXMuY29uZmlnPy5jdXN0b21pemF0aW9uTW9kZSkgPT09IChlbC50eXBlID09PSAnQ1VTVE9NSVpBVElPTl9QQUdFJyk7XG4gICAgICBpZiAoIXRoaXMuaXNTaGFyZWRFbGVtZW50KGVsKSAmJiB0eXBlUGVyTW9kZSkge1xuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGVsLmNoaWxkcmVuLmZpbHRlcihjaGlsZCA9PiAhdGhpcy5pc1NoYXJlZEVsZW1lbnQoY2hpbGQpKTtcbiAgICAgICAgY29uc3QgcmVuZGVyYWJsZUNoaWxkcmVuID0gdGhpcy5nZXRSZW5kZXJhYmxlRWxlbWVudHMoY2hpbGRyZW4pO1xuICAgICAgICByZW5kZXJhYmxlLnB1c2goeyAuLi5lbCwgY2hpbGRyZW4gfSwgLi4ucmVuZGVyYWJsZUNoaWxkcmVuKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVuZGVyYWJsZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2hhcmVkRWxlbWVudChlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBFbGVtZW50TWV0YWRhdGEgfCB1bmRlZmluZWQge1xuICAgIGlmICghZWxlbWVudC5yZWZlcmVuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zaGFyZWRFbGVtZW50cy5maW5kKGVsID0+IGVsZW1lbnQucmVmZXJlbmNlID09PSBlbC5uYW1lKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUVsZW1lbnRUZW1wbGF0ZShlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbmZpZyA9IENPTkZJR1tlbGVtZW50LnR5cGVdO1xuICAgIGNvbnN0IHRlbXBsYXRlID0gIWNvbmZpZy5zdXBwcmVzc1RlbXBsYXRlID8gZWxlbWVudC50ZW1wbGF0ZSA6ICcnO1xuXG4gICAgcmV0dXJuIHRlbXBsYXRlIHx8IGNvbmZpZy5kZWZhdWx0VGVtcGxhdGUgfHwgJyc7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVFbGVtZW50U3R5bGVzKGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZmlnID0gQ09ORklHW2VsZW1lbnQudHlwZV07XG4gICAgbGV0IHN0eWxlcyA9ICFjb25maWcuc3VwcHJlc3NTdHlsZXMgPyBlbGVtZW50LnN0eWxlcyA/PyAnJyA6ICcnO1xuXG4gICAgY29uc3QgbGF5b3V0ID0gZWxlbWVudC5sYXlvdXQgJiYgTEFZT1VUW2VsZW1lbnQubGF5b3V0XTtcbiAgICBpZiAobGF5b3V0Py5zdHlsZXMpIHtcbiAgICAgIHN0eWxlcyArPSBsYXlvdXQuc3R5bGVzO1xuICAgIH1cblxuICAgIHJldHVybiBzdHlsZXM7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NFbGVtZW50TWV0YWRhdGEoc291cmNlRWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogRWxlbWVudE1ldGFkYXRhIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgZmluYWxFbGVtZW50OiBFbGVtZW50TWV0YWRhdGE7XG5cbiAgICBpZiAoc291cmNlRWxlbWVudC50eXBlID09PSAnUkVGRVJFTkNFJykge1xuICAgICAgY29uc3Qgc2hhcmVkRWxlbWVudCA9IHRoaXMuZ2V0U2hhcmVkRWxlbWVudChzb3VyY2VFbGVtZW50KTtcblxuICAgICAgaWYgKCFzaGFyZWRFbGVtZW50KSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgU2hhcmVkIGVsZW1lbnQgXCIke3NvdXJjZUVsZW1lbnQucmVmZXJlbmNlfVwiIG5vdCBmb3VuZGApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGZpbmFsRWxlbWVudCA9IHtcbiAgICAgICAgLi4uc291cmNlRWxlbWVudCxcbiAgICAgICAgY2hpbGRyZW46IHRoaXMuZ2V0U2hhcmVkQ2hpbGRyZW4oc2hhcmVkRWxlbWVudC5jaGlsZHJlbiwgc291cmNlRWxlbWVudC5wYXRoKSxcbiAgICAgICAgdHlwZTogc2hhcmVkRWxlbWVudC50eXBlLFxuICAgICAgICB0ZW1wbGF0ZTogc2hhcmVkRWxlbWVudC50ZW1wbGF0ZSxcbiAgICAgICAgc3R5bGVzOiAoc2hhcmVkRWxlbWVudC5zdHlsZXMgPz8gJycpICsgJ1xcbicgKyAoc291cmNlRWxlbWVudC5zdHlsZXMgPz8gJycpLFxuICAgICAgICBpbnB1dHM6IHtcbiAgICAgICAgICAuLi5zaGFyZWRFbGVtZW50LmlucHV0cyxcbiAgICAgICAgICAuLi5zb3VyY2VFbGVtZW50LmlucHV0cyxcbiAgICAgICAgfSxcbiAgICAgICAgb3V0cHV0czoge1xuICAgICAgICAgIC4uLnNoYXJlZEVsZW1lbnQub3V0cHV0cyxcbiAgICAgICAgICAuLi5zb3VyY2VFbGVtZW50Lm91dHB1dHMsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBmaW5hbEVsZW1lbnQgPSBzb3VyY2VFbGVtZW50O1xuICAgICAgZGVsZXRlIHNvdXJjZUVsZW1lbnQucmVmZXJlbmNlO1xuICAgIH1cblxuICAgIGZpbmFsRWxlbWVudC50ZW1wbGF0ZSA9IHRoaXMucmVzb2x2ZUVsZW1lbnRUZW1wbGF0ZShmaW5hbEVsZW1lbnQpO1xuICAgIGZpbmFsRWxlbWVudC5zdHlsZXMgPSB0aGlzLnJlc29sdmVFbGVtZW50U3R5bGVzKGZpbmFsRWxlbWVudCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uZmluYWxFbGVtZW50LFxuICAgICAgY2hpbGRyZW46IGZpbmFsRWxlbWVudC5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGNoaWxkKSkuZmlsdGVyKGlzRGVmaW5lZCksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2hhcmVkQ2hpbGRyZW4oY2hpbGRyZW46IEVsZW1lbnRNZXRhZGF0YVtdLCBwYXJlbnRQYXRoPzogc3RyaW5nKTogRWxlbWVudE1ldGFkYXRhW10ge1xuICAgIHJldHVybiBjaGlsZHJlbi5tYXAoYyA9PiB7XG4gICAgICBpZiAoIWMucGF0aCkge1xuICAgICAgICByZXR1cm4gYztcbiAgICAgIH1cblxuICAgICAgY29uc3QgW2VsTmFtZV0gPSBjLnBhdGguc3BsaXQoJy8nKS5yZXZlcnNlKCk7XG4gICAgICBjb25zdCBwYXRoID0gcGFyZW50UGF0aCArICcvJyArIGVsTmFtZTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uYyxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgY2hpbGRyZW46IHRoaXMuZ2V0U2hhcmVkQ2hpbGRyZW4oYy5jaGlsZHJlbiwgcGF0aCksXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRWxlbWVudChlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBUeXBlPEVudGl0eT4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IENPTkZJR1tlbGVtZW50LnR5cGVdO1xuICAgIGNvbnN0IGRlZmF1bHRQbHVnaW5zID0gREVGQVVMVF9QTFVHSU5TW3RoaXMudWlEZWZNZXRhZGF0YS50eXBlXSA/PyBbXTtcblxuICAgIGlmICghY29uZmlnKSB7XG4gICAgICBjb25zb2xlLndhcm4oYFVua25vd24gZWxlbWVudCB0eXBlIFwiJHtlbGVtZW50LnR5cGV9XCJgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdHlsZXMgPSB0aGlzLmdldEVsZW1lbnRTdHlsZXMoZWxlbWVudCk7XG5cbiAgICBjb25zdCBjb21wb25lbnQ6IENvbXBvbmVudCA9IHtcbiAgICAgIHNlbGVjdG9yOiBlbGVtZW50LmlzU2hhcmVkID8gYHZsYy0ke2tlYmFiQ2FzZShlbGVtZW50Lm5hbWUpfWAgOiAndmwtZWxlbWVudCcsXG4gICAgICB0ZW1wbGF0ZTogZWxlbWVudC50ZW1wbGF0ZSxcbiAgICAgIC4uLihzdHlsZXMgPyB7IHN0eWxlczogW3N0eWxlc10gfSA6IHt9KSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IERFRkFVTFRfUExVR0lOU19UT0tFTiwgdXNlVmFsdWU6IGRlZmF1bHRQbHVnaW5zIH0sXG4gICAgICAgIHsgcHJvdmlkZTogVUlfREVGSU5JVElPTl9NRVRBREFUQSwgdXNlVmFsdWU6IHRoaXMudWlEZWZNZXRhZGF0YSB9LFxuICAgICAgICB7IHByb3ZpZGU6IEVMRU1FTlRfTUVUQURBVEEsIHVzZVZhbHVlOiBlbGVtZW50IH0sXG4gICAgICAgIHsgcHJvdmlkZTogU0hBUkVEX0VMRU1FTlRfTUVUQURBVEEsIHVzZVZhbHVlOiB0aGlzLmdldFNoYXJlZEVsZW1lbnQoZWxlbWVudCkgfSxcbiAgICAgICAgeyBwcm92aWRlOiBFTEVNRU5UX0NPTkZJRywgdXNlVmFsdWU6IGNvbmZpZyB9LFxuICAgICAgXSxcbiAgICAgIGlucHV0czogZ2V0RWxlbWVudEFuZ3VsYXJJT3MoT2JqZWN0LmtleXMoZWxlbWVudC5pbnB1dHMgPz8ge30pKSxcbiAgICAgIG91dHB1dHM6IGdldEVsZW1lbnRBbmd1bGFySU9zKE9iamVjdC5rZXlzKGVsZW1lbnQub3V0cHV0cyA/PyB7fSkpLFxuICAgIH07XG5cbiAgICBjb25zdCBjbXAgPSBDb21wb25lbnQoY29tcG9uZW50KShjbGFzcyBDIGV4dGVuZHMgY29uZmlnLmNvbXBvbmVudCB7fSk7XG5cbiAgICBzZXQoY21wLCAncGF0aCcsIGVsZW1lbnQucGF0aCk7XG5cbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFbGVtZW50U3R5bGVzKGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuXG4gICAgY29uc3QgY29uZmlndXJlZFN0eWxlcyA9IHRoaXMuY29udmVydElubGluZVN0eWxlc1RvQ1NTKGVsZW1lbnQuY29uZmlndXJlZFN0eWxlcyk7XG4gICAgaWYgKGNvbmZpZ3VyZWRTdHlsZXMpIHtcbiAgICAgIC8vIG9yZGVyIGlzIGltcG9ydGFudDogc3R5bGVzIHdyaXR0ZW4gYnkgdXNlciBpbiBDU1MgY29kZSBzaG91bGQgaGFzIGhpZ2hlciBwcmlvcml0eVxuICAgICAgcmVzdWx0ICs9IGNvbmZpZ3VyZWRTdHlsZXM7XG4gICAgfVxuXG4gICAgaWYgKGVsZW1lbnQuc3R5bGVzKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXN1bHQgKz0gc2Fzcy5jb21waWxlU3RyaW5nKGVsZW1lbnQuc3R5bGVzKS5jc3M7XG4gICAgICB9IGNhdGNoIChfKSB7XG4gICAgICAgIHJlc3VsdCArPSBlbGVtZW50LnN0eWxlcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0IHx8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydElubGluZVN0eWxlc1RvQ1NTKHN0eWxlcz86IEVsZW1lbnRTdHlsZURlY2xhcmF0aW9uKTogc3RyaW5nIHtcbiAgICBpZiAoIXN0eWxlcykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IGVudHJpZXMgPSBPYmplY3QuZW50cmllcyhzdHlsZXMpO1xuICAgIGxldCByZXN1bHQgPSAnOmhvc3Qge1xcbic7XG5cbiAgICBlbnRyaWVzLmZvckVhY2goKFtzdHlsZSwgdmFsdWVdKSA9PiB7XG4gICAgICByZXN1bHQgKz0gYCAgJHtrZWJhYkNhc2Uoc3R5bGUpfToke3ZhbHVlfTtcXG5gO1xuICAgIH0pO1xuXG4gICAgcmVzdWx0ICs9ICd9XFxuJztcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldERlZmF1bHRDdXN0b21pemF0aW9uU3RhdGUoKTogdW5rbm93biB7XG4gICAgY29uc3QgY3VzdG9taXphdGlvblBhZ2UgPSB0aGlzLmVsZW1lbnRzLmZpbmQoZWwgPT4gZWwudHlwZSA9PT0gJ0NVU1RPTUlaQVRJT05fUEFHRScpO1xuICAgIGlmICghY3VzdG9taXphdGlvblBhZ2U/LnNjcmlwdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGMgPSBnZXRTY3JpcHRDbGFzcyhjdXN0b21pemF0aW9uUGFnZSk7XG4gICAgcmV0dXJuIGMgJiYgJ2RlZmF1bHQnIGluIGMgPyBjLmRlZmF1bHQgOiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvZWxlbWVudHMtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBTzNCLFlBQ1UsS0FBMkIsRUFDbkMsUUFBMkIsRUFDM0IsaUJBQW9DLEVBQUUsRUFDOUIsTUFBeUI7UUFIekIsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFHM0IsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFSM0IsdUJBQWtCLEdBQXNCLEVBQUUsQ0FBQztRQUMzQyxtQkFBYyxHQUFzQixFQUFFLENBQUM7UUFTN0MsSUFBSSxDQUFD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QU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyw0QkFBNEI7UUFDbEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssb0JBQW9CLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxFQUFFO1lBQzlCLE9BQU87U0FDUjtRQUVELE1BQU0sQ0FBQyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbk1ldGFkYXRhLCBpc0RlZmluZWQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4sIGtlYmFiQ2FzZSwgc2V0IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCAqIGFzIHNhc3MgZnJvbSAnc2Fzcyc7XG5pbXBvcnQgeyBERUZBVUxUX1BMVUdJTlMgfSBmcm9tICcuLi9jbXMuZGVmYXVsdCc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuLi9jbXMuZWxlbWVudHMnO1xuaW1wb3J0IHsgTEFZT1VUIH0gZnJvbSAnLi4vY21zLmxheW91dHMnO1xuaW1wb3J0IHsgQ01TUHJldmlld0NvbmZpZyB9IGZyb20gJy4uL2NvbXBvbmVudHMvcHJldmlldyc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL2VudGl0eSc7XG5pbXBvcnQge1xuICBERUZBVUxUX1BMVUdJTlNfVE9LRU4sXG4gIEVMRU1FTlRfQ09ORklHLFxuICBFTEVNRU5UX01FVEFEQVRBLFxuICBTSEFSRURfRUxFTUVOVF9NRVRBREFUQSxcbiAgVUlfREVGSU5JVElPTl9NRVRBREFUQSxcbn0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRTdHlsZURlY2xhcmF0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0RWxlbWVudEFuZ3VsYXJJT3MgfSBmcm9tICcuL2VsZW1lbnQudXRpbHMnO1xuaW1wb3J0IHsgZ2V0U2NyaXB0Q2xhc3MgfSBmcm9tICcuL3NjcmlwdC51dGlscyc7XG5pbXBvcnQgeyBUcmFuc3BpbGF0aW9uV29ya2VyIH0gZnJvbSAnLi90cmFuc3BpbGF0aW9uLXdvcmtlcic7XG5cbmV4cG9ydCBjbGFzcyBFbGVtZW50c1Jlc29sdmVyIHtcbiAgcHVibGljIGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXTtcblxuICBwcml2YXRlIHJlbmRlcmFibGVFbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcbiAgcHJpdmF0ZSBzaGFyZWRFbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcbiAgcHJpdmF0ZSB1aURlZk1ldGFkYXRhOiBVSURlZmluaXRpb25NZXRhZGF0YTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVpRGVmOiBVSURlZmluaXRpb25NZXRhZGF0YSxcbiAgICBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10sXG4gICAgc2hhcmVkRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW10sXG4gICAgcHJpdmF0ZSBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnLFxuICApIHtcbiAgICB0aGlzLnNoYXJlZEVsZW1lbnRzID0gdGhpcy5mbGF0dGVuRWxlbWVudHMoZWxlbWVudHMpXG4gICAgICAuZmlsdGVyKGVsID0+IHRoaXMuaXNTaGFyZWRFbGVtZW50KGVsKSlcbiAgICAgIC5jb25jYXQoc2hhcmVkRWxlbWVudHMpO1xuXG4gICAgdGhpcy5lbGVtZW50cyA9IGVsZW1lbnRzLm1hcChlbCA9PiB0aGlzLnByb2Nlc3NFbGVtZW50TWV0YWRhdGEoZWwpKS5maWx0ZXIoaXNEZWZpbmVkKTtcblxuICAgIHRoaXMucmVuZGVyYWJsZUVsZW1lbnRzID0gdGhpcy5nZXRSZW5kZXJhYmxlRWxlbWVudHModGhpcy5lbGVtZW50cyk7XG5cbiAgICB0aGlzLnVpRGVmTWV0YWRhdGEgPSB7XG4gICAgICAuLi50aGlzLnVpRGVmLFxuICAgICAgY3VzdG9taXphdGlvbjogdGhpcy51aURlZi5jdXN0b21pemF0aW9uID8/IHRoaXMuZ2V0RGVmYXVsdEN1c3RvbWl6YXRpb25TdGF0ZSgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYWRkRWxlbWVudChlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiB2b2lkIHtcbiAgICBpZiAoZWxlbWVudC5pc1NoYXJlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zcGlsZWRFbGVtZW50cyA9IG5ldyBUcmFuc3BpbGF0aW9uV29ya2VyKFtlbGVtZW50XSkuZ2V0KCk7XG4gICAgdGhpcy5lbGVtZW50cyA9IHRyYW5zcGlsZWRFbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGVsKSkuZmlsdGVyKGlzRGVmaW5lZCk7XG4gICAgdGhpcy5yZW5kZXJhYmxlRWxlbWVudHMgPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZ0NvbXBvbmVudHMoKTogUmVjb3JkPHN0cmluZywgVHlwZTxFbnRpdHk+PiB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnJlbmRlcmFibGVFbGVtZW50cywgLi4udGhpcy5zaGFyZWRFbGVtZW50c10uZmlsdGVyKGlzRGVmaW5lZCkucmVkdWNlKFxuICAgICAgKHRydW5rLCBlbCkgPT4gKHtcbiAgICAgICAgLi4udHJ1bmssXG4gICAgICAgIFtlbC5wYXRoXTogdGhpcy5yZXNvbHZlRWxlbWVudChlbCksXG4gICAgICB9KSxcbiAgICAgIHt9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZsYXR0ZW5FbGVtZW50cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgcmV0dXJuIGZsYXR0ZW4oZWxlbWVudHMubWFwKGVsID0+IFtlbCwgLi4udGhpcy5mbGF0dGVuRWxlbWVudHMoZWwuY2hpbGRyZW4pXSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NoYXJlZEVsZW1lbnQoZWw6IEVsZW1lbnRNZXRhZGF0YSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKGVsLmlzU2hhcmVkKSAmJiBlbC50eXBlICE9PSAnUkVGRVJFTkNFJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVuZGVyYWJsZUVsZW1lbnRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICBjb25zdCByZW5kZXJhYmxlOiBFbGVtZW50TWV0YWRhdGFbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBlbCBvZiBlbGVtZW50cykge1xuICAgICAgLy8gSW4gYGN1c3RvbWl6YXRpb25Nb2RlYCByZW5kZXIgb25seSBlbGVtZW50IHdpdGggQ1VTVE9NSVpBVElPTl9QQUdFIHR5cGVcbiAgICAgIGNvbnN0IHR5cGVQZXJNb2RlID0gQm9vbGVhbih0aGlzLmNvbmZpZz8uY3VzdG9taXphdGlvbk1vZGUpID09PSAoZWwudHlwZSA9PT0gJ0NVU1RPTUlaQVRJT05fUEFHRScpO1xuICAgICAgaWYgKCF0aGlzLmlzU2hhcmVkRWxlbWVudChlbCkgJiYgdHlwZVBlck1vZGUpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBlbC5jaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gIXRoaXMuaXNTaGFyZWRFbGVtZW50KGNoaWxkKSk7XG4gICAgICAgIGNvbnN0IHJlbmRlcmFibGVDaGlsZHJlbiA9IHRoaXMuZ2V0UmVuZGVyYWJsZUVsZW1lbnRzKGNoaWxkcmVuKTtcbiAgICAgICAgcmVuZGVyYWJsZS5wdXNoKHsgLi4uZWwsIGNoaWxkcmVuIH0sIC4uLnJlbmRlcmFibGVDaGlsZHJlbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlbmRlcmFibGU7XG4gIH1cblxuICBwcml2YXRlIGdldFNoYXJlZEVsZW1lbnQoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogRWxlbWVudE1ldGFkYXRhIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWVsZW1lbnQucmVmZXJlbmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2hhcmVkRWxlbWVudHMuZmluZChlbCA9PiBlbGVtZW50LnJlZmVyZW5jZSA9PT0gZWwubmFtZSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVFbGVtZW50VGVtcGxhdGUoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9ICFjb25maWcuc3VwcHJlc3NUZW1wbGF0ZSA/IGVsZW1lbnQudGVtcGxhdGUgOiAnJztcblxuICAgIHJldHVybiB0ZW1wbGF0ZSB8fCBjb25maWcuZGVmYXVsdFRlbXBsYXRlIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRWxlbWVudFN0eWxlcyhlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbmZpZyA9IENPTkZJR1tlbGVtZW50LnR5cGVdO1xuICAgIGxldCBzdHlsZXMgPSAhY29uZmlnLnN1cHByZXNzU3R5bGVzID8gZWxlbWVudC5zdHlsZXMgPz8gJycgOiAnJztcblxuICAgIGNvbnN0IGxheW91dCA9IGVsZW1lbnQubGF5b3V0ICYmIExBWU9VVFtlbGVtZW50LmxheW91dF07XG4gICAgaWYgKGxheW91dD8uc3R5bGVzKSB7XG4gICAgICBzdHlsZXMgKz0gbGF5b3V0LnN0eWxlcztcbiAgICB9XG5cbiAgICByZXR1cm4gc3R5bGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzRWxlbWVudE1ldGFkYXRhKHNvdXJjZUVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IEVsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGZpbmFsRWxlbWVudDogRWxlbWVudE1ldGFkYXRhO1xuXG4gICAgaWYgKHNvdXJjZUVsZW1lbnQudHlwZSA9PT0gJ1JFRkVSRU5DRScpIHtcbiAgICAgIGNvbnN0IHNoYXJlZEVsZW1lbnQgPSB0aGlzLmdldFNoYXJlZEVsZW1lbnQoc291cmNlRWxlbWVudCk7XG5cbiAgICAgIGlmICghc2hhcmVkRWxlbWVudCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFNoYXJlZCBlbGVtZW50IFwiJHtzb3VyY2VFbGVtZW50LnJlZmVyZW5jZX1cIiBub3QgZm91bmRgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBmaW5hbEVsZW1lbnQgPSB7XG4gICAgICAgIC4uLnNvdXJjZUVsZW1lbnQsXG4gICAgICAgIGNoaWxkcmVuOiB0aGlzLmdldFNoYXJlZENoaWxkcmVuKHNoYXJlZEVsZW1lbnQuY2hpbGRyZW4sIHNvdXJjZUVsZW1lbnQucGF0aCksXG4gICAgICAgIHR5cGU6IHNoYXJlZEVsZW1lbnQudHlwZSxcbiAgICAgICAgdGVtcGxhdGU6IHNoYXJlZEVsZW1lbnQudGVtcGxhdGUsXG4gICAgICAgIHN0eWxlczogKHNoYXJlZEVsZW1lbnQuc3R5bGVzID8/ICcnKSArICdcXG4nICsgKHNvdXJjZUVsZW1lbnQuc3R5bGVzID8/ICcnKSxcbiAgICAgICAgaW5wdXRzOiB7XG4gICAgICAgICAgLi4uc2hhcmVkRWxlbWVudC5pbnB1dHMsXG4gICAgICAgICAgLi4uc291cmNlRWxlbWVudC5pbnB1dHMsXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dHM6IHtcbiAgICAgICAgICAuLi5zaGFyZWRFbGVtZW50Lm91dHB1dHMsXG4gICAgICAgICAgLi4uc291cmNlRWxlbWVudC5vdXRwdXRzLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmluYWxFbGVtZW50ID0gc291cmNlRWxlbWVudDtcbiAgICAgIGRlbGV0ZSBzb3VyY2VFbGVtZW50LnJlZmVyZW5jZTtcbiAgICB9XG5cbiAgICBmaW5hbEVsZW1lbnQudGVtcGxhdGUgPSB0aGlzLnJlc29sdmVFbGVtZW50VGVtcGxhdGUoZmluYWxFbGVtZW50KTtcbiAgICBmaW5hbEVsZW1lbnQuc3R5bGVzID0gdGhpcy5yZXNvbHZlRWxlbWVudFN0eWxlcyhmaW5hbEVsZW1lbnQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmZpbmFsRWxlbWVudCxcbiAgICAgIGNoaWxkcmVuOiBmaW5hbEVsZW1lbnQuY2hpbGRyZW4ubWFwKGNoaWxkID0+IHRoaXMucHJvY2Vzc0VsZW1lbnRNZXRhZGF0YShjaGlsZCkpLmZpbHRlcihpc0RlZmluZWQpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFNoYXJlZENoaWxkcmVuKGNoaWxkcmVuOiBFbGVtZW50TWV0YWRhdGFbXSwgcGFyZW50UGF0aD86IHN0cmluZyk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICByZXR1cm4gY2hpbGRyZW4ubWFwKGMgPT4ge1xuICAgICAgaWYgKCFjLnBhdGgpIHtcbiAgICAgICAgcmV0dXJuIGM7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IFtlbE5hbWVdID0gYy5wYXRoLnNwbGl0KCcvJykucmV2ZXJzZSgpO1xuICAgICAgY29uc3QgcGF0aCA9IHBhcmVudFBhdGggKyAnLycgKyBlbE5hbWU7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmMsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIGNoaWxkcmVuOiB0aGlzLmdldFNoYXJlZENoaWxkcmVuKGMuY2hpbGRyZW4sIHBhdGgpLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUVsZW1lbnQoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogVHlwZTxFbnRpdHk+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICBjb25zdCBkZWZhdWx0UGx1Z2lucyA9IERFRkFVTFRfUExVR0lOU1t0aGlzLnVpRGVmTWV0YWRhdGEudHlwZV0gPz8gW107XG5cbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgY29uc29sZS53YXJuKGBVbmtub3duIGVsZW1lbnQgdHlwZSBcIiR7ZWxlbWVudC50eXBlfVwiYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3R5bGVzID0gdGhpcy5nZXRFbGVtZW50U3R5bGVzKGVsZW1lbnQpO1xuXG4gICAgY29uc3QgY29tcG9uZW50OiBDb21wb25lbnQgPSB7XG4gICAgICBzZWxlY3RvcjogZWxlbWVudC5pc1NoYXJlZCA/IGB2bGMtJHtrZWJhYkNhc2UoZWxlbWVudC5uYW1lKX1gIDogJ3ZsLWVsZW1lbnQnLFxuICAgICAgdGVtcGxhdGU6IGVsZW1lbnQudGVtcGxhdGUsXG4gICAgICAuLi4oc3R5bGVzID8geyBzdHlsZXM6IFtzdHlsZXNdIH0gOiB7fSksXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBERUZBVUxUX1BMVUdJTlNfVE9LRU4sIHVzZVZhbHVlOiBkZWZhdWx0UGx1Z2lucyB9LFxuICAgICAgICB7IHByb3ZpZGU6IFVJX0RFRklOSVRJT05fTUVUQURBVEEsIHVzZVZhbHVlOiB0aGlzLnVpRGVmTWV0YWRhdGEgfSxcbiAgICAgICAgeyBwcm92aWRlOiBFTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogZWxlbWVudCB9LFxuICAgICAgICB7IHByb3ZpZGU6IFNIQVJFRF9FTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogdGhpcy5nZXRTaGFyZWRFbGVtZW50KGVsZW1lbnQpIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRUxFTUVOVF9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcbiAgICAgIF0sXG4gICAgICBpbnB1dHM6IGdldEVsZW1lbnRBbmd1bGFySU9zKE9iamVjdC5rZXlzKGVsZW1lbnQuaW5wdXRzID8/IHt9KSksXG4gICAgICBvdXRwdXRzOiBnZXRFbGVtZW50QW5ndWxhcklPcyhPYmplY3Qua2V5cyhlbGVtZW50Lm91dHB1dHMgPz8ge30pKSxcbiAgICB9O1xuXG4gICAgY29uc3QgY21wID0gQ29tcG9uZW50KGNvbXBvbmVudCkoY2xhc3MgQyBleHRlbmRzIGNvbmZpZy5jb21wb25lbnQge30pO1xuXG4gICAgc2V0KGNtcCwgJ3BhdGgnLCBlbGVtZW50LnBhdGgpO1xuXG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxlbWVudFN0eWxlcyhlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCByZXN1bHQgPSAnJztcblxuICAgIGNvbnN0IGNvbmZpZ3VyZWRTdHlsZXMgPSB0aGlzLmNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhlbGVtZW50LmNvbmZpZ3VyZWRTdHlsZXMpO1xuICAgIGlmIChjb25maWd1cmVkU3R5bGVzKSB7XG4gICAgICAvLyBvcmRlciBpcyBpbXBvcnRhbnQ6IHN0eWxlcyB3cml0dGVuIGJ5IHVzZXIgaW4gQ1NTIGNvZGUgc2hvdWxkIGhhcyBoaWdoZXIgcHJpb3JpdHlcbiAgICAgIHJlc3VsdCArPSBjb25maWd1cmVkU3R5bGVzO1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LnN0eWxlcykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzdWx0ICs9IHNhc3MuY29tcGlsZVN0cmluZyhlbGVtZW50LnN0eWxlcykuY3NzO1xuICAgICAgfSBjYXRjaCAoXykge1xuICAgICAgICByZXN1bHQgKz0gZWxlbWVudC5zdHlsZXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdCB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhzdHlsZXM/OiBFbGVtZW50U3R5bGVEZWNsYXJhdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKCFzdHlsZXMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoc3R5bGVzKTtcbiAgICBsZXQgcmVzdWx0ID0gJzpob3N0IHtcXG4nO1xuXG4gICAgZW50cmllcy5mb3JFYWNoKChbc3R5bGUsIHZhbHVlXSkgPT4ge1xuICAgICAgcmVzdWx0ICs9IGAgICR7a2ViYWJDYXNlKHN0eWxlKX06JHt2YWx1ZX07XFxuYDtcbiAgICB9KTtcblxuICAgIHJlc3VsdCArPSAnfVxcbic7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWZhdWx0Q3VzdG9taXphdGlvblN0YXRlKCk6IHVua25vd24ge1xuICAgIGNvbnN0IGN1c3RvbWl6YXRpb25QYWdlID0gdGhpcy5lbGVtZW50cy5maW5kKGVsID0+IGVsLnR5cGUgPT09ICdDVVNUT01JWkFUSU9OX1BBR0UnKTtcbiAgICBpZiAoIWN1c3RvbWl6YXRpb25QYWdlPy5zY3JpcHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjID0gZ2V0U2NyaXB0Q2xhc3MoY3VzdG9taXphdGlvblBhZ2UpO1xuICAgIHJldHVybiBjICYmICdkZWZhdWx0JyBpbiBjID8gYy5kZWZhdWx0IDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|
@@ -1,7 +1,9 @@
|
|
1
|
+
export * from './element-metadata-worker';
|
1
2
|
export * from './element.utils';
|
2
3
|
export * from './elements-resolver';
|
3
4
|
export * from './encoding.utils';
|
4
5
|
export * from './path.utils';
|
6
|
+
export * from './transpilation-worker';
|
5
7
|
export * from './ui-builder-layout.utils';
|
6
8
|
export * from './ui-definition.utils';
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZWxlbWVudC1tZXRhZGF0YS13b3JrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9lbGVtZW50LnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZWxlbWVudHMtcmVzb2x2ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9lbmNvZGluZy51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3BhdGgudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc3BpbGF0aW9uLXdvcmtlcic7XG5leHBvcnQgKiBmcm9tICcuL3VpLWJ1aWxkZXItbGF5b3V0LnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdWktZGVmaW5pdGlvbi51dGlscyc7XG4iXX0=
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import { transform } from '@babel/standalone';
|
2
|
+
import { from } from 'rxjs';
|
3
|
+
export class TranspilationWorker {
|
4
|
+
constructor(elements) {
|
5
|
+
this.elements = elements;
|
6
|
+
}
|
7
|
+
get$() {
|
8
|
+
return from((async () => this.transpileScriptsAsync(this.elements))());
|
9
|
+
}
|
10
|
+
get() {
|
11
|
+
return this.transpileScripts(this.elements);
|
12
|
+
}
|
13
|
+
transpileScripts(elements) {
|
14
|
+
return elements.map(el => ({
|
15
|
+
...el,
|
16
|
+
script: this.transpile(el),
|
17
|
+
children: this.transpileScripts(el.children),
|
18
|
+
}));
|
19
|
+
}
|
20
|
+
async transpileScriptsAsync(elements) {
|
21
|
+
const result = [];
|
22
|
+
await this.processLevelAsync(elements, result);
|
23
|
+
return result;
|
24
|
+
}
|
25
|
+
async processLevelAsync(elements, result) {
|
26
|
+
for (const el of elements) {
|
27
|
+
const elMetadata = await this.transpileMetadataAsync(el);
|
28
|
+
result.push(elMetadata);
|
29
|
+
await this.processLevelAsync(el.children, elMetadata.children);
|
30
|
+
}
|
31
|
+
}
|
32
|
+
transpileMetadataAsync(el) {
|
33
|
+
return new Promise(resolve => {
|
34
|
+
setTimeout(() => {
|
35
|
+
const result = { ...el, script: this.transpile(el), children: [] };
|
36
|
+
resolve(result);
|
37
|
+
});
|
38
|
+
});
|
39
|
+
}
|
40
|
+
transpile(el) {
|
41
|
+
if (!el.script) {
|
42
|
+
return;
|
43
|
+
}
|
44
|
+
const transformed = transform(el.script, {
|
45
|
+
filename: el.name + '.ts',
|
46
|
+
presets: ['typescript'],
|
47
|
+
sourceMaps: 'inline',
|
48
|
+
});
|
49
|
+
return transformed.code ?? undefined;
|
50
|
+
}
|
51
|
+
}
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwaWxhdGlvbi13b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvdHJhbnNwaWxhdGlvbi13b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHeEMsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUFvQixRQUEyQjtRQUEzQixhQUFRLEdBQVIsUUFBUSxDQUFtQjtJQUFHLENBQUM7SUFFNUMsSUFBSTtRQUNULE9BQU8sSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxHQUFHO1FBQ1IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxRQUEyQjtRQUNsRCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pCLEdBQUcsRUFBRTtZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMxQixRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7U0FDN0MsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRU8sS0FBSyxDQUFDLHFCQUFxQixDQUFDLFFBQTJCO1FBQzdELE1BQU0sTUFBTSxHQUFzQixFQUFFLENBQUM7UUFDckMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBMkIsRUFBRSxNQUF5QjtRQUNwRixLQUFLLE1BQU0sRUFBRSxJQUFJLFFBQVEsRUFBRTtZQUN6QixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6RCxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2hFO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQixDQUFDLEVBQW1CO1FBQ2hELE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDM0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxNQUFNLE1BQU0sR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDbkUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sU0FBUyxDQUFDLEVBQW1CO1FBQ25DLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFO1lBQ2QsT0FBTztTQUNSO1FBRUQsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUU7WUFDdkMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsS0FBSztZQUN6QixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7WUFDdkIsVUFBVSxFQUFFLFFBQVE7U0FDckIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxXQUFXLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICdAYmFiZWwvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi90eXBlcy9jb21tb24udHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNwaWxhdGlvbldvcmtlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdKSB7fVxuXG4gIHB1YmxpYyBnZXQkKCk6IE9ic2VydmFibGU8RWxlbWVudE1ldGFkYXRhW10+IHtcbiAgICByZXR1cm4gZnJvbSgoYXN5bmMgKCkgPT4gdGhpcy50cmFuc3BpbGVTY3JpcHRzQXN5bmModGhpcy5lbGVtZW50cykpKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCgpOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNwaWxlU2NyaXB0cyh0aGlzLmVsZW1lbnRzKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNwaWxlU2NyaXB0cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgcmV0dXJuIGVsZW1lbnRzLm1hcChlbCA9PiAoe1xuICAgICAgLi4uZWwsXG4gICAgICBzY3JpcHQ6IHRoaXMudHJhbnNwaWxlKGVsKSxcbiAgICAgIGNoaWxkcmVuOiB0aGlzLnRyYW5zcGlsZVNjcmlwdHMoZWwuY2hpbGRyZW4pLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdHJhbnNwaWxlU2NyaXB0c0FzeW5jKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IFByb21pc2U8RWxlbWVudE1ldGFkYXRhW10+IHtcbiAgICBjb25zdCByZXN1bHQ6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG4gICAgYXdhaXQgdGhpcy5wcm9jZXNzTGV2ZWxBc3luYyhlbGVtZW50cywgcmVzdWx0KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcm9jZXNzTGV2ZWxBc3luYyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10sIHJlc3VsdDogRWxlbWVudE1ldGFkYXRhW10pIHtcbiAgICBmb3IgKGNvbnN0IGVsIG9mIGVsZW1lbnRzKSB7XG4gICAgICBjb25zdCBlbE1ldGFkYXRhID0gYXdhaXQgdGhpcy50cmFuc3BpbGVNZXRhZGF0YUFzeW5jKGVsKTtcbiAgICAgIHJlc3VsdC5wdXNoKGVsTWV0YWRhdGEpO1xuICAgICAgYXdhaXQgdGhpcy5wcm9jZXNzTGV2ZWxBc3luYyhlbC5jaGlsZHJlbiwgZWxNZXRhZGF0YS5jaGlsZHJlbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc3BpbGVNZXRhZGF0YUFzeW5jKGVsOiBFbGVtZW50TWV0YWRhdGEpOiBQcm9taXNlPEVsZW1lbnRNZXRhZGF0YT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB7IC4uLmVsLCBzY3JpcHQ6IHRoaXMudHJhbnNwaWxlKGVsKSwgY2hpbGRyZW46IFtdIH07XG4gICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc3BpbGUoZWw6IEVsZW1lbnRNZXRhZGF0YSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFlbC5zY3JpcHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0cmFuc2Zvcm1lZCA9IHRyYW5zZm9ybShlbC5zY3JpcHQsIHtcbiAgICAgIGZpbGVuYW1lOiBlbC5uYW1lICsgJy50cycsXG4gICAgICBwcmVzZXRzOiBbJ3R5cGVzY3JpcHQnXSxcbiAgICAgIHNvdXJjZU1hcHM6ICdpbmxpbmUnLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkLmNvZGUgPz8gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|