@sitecore-jss/sitecore-jss-angular 16.0.3-canary.0 → 16.0.3
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/LICENSE.txt +202 -202
- package/README.md +5 -5
- package/dist/README.md +5 -5
- package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js +1389 -1389
- package/dist/components/date.directive.d.ts +17 -17
- package/dist/components/file.directive.d.ts +14 -14
- package/dist/components/generic-link.directive.d.ts +14 -14
- package/dist/components/image.directive.d.ts +28 -28
- package/dist/components/link.directive.d.ts +18 -18
- package/dist/components/missing-component.component.d.ts +3 -3
- package/dist/components/placeholder-loading.directive.d.ts +5 -5
- package/dist/components/placeholder.component.d.ts +45 -45
- package/dist/components/placeholder.token.d.ts +30 -30
- package/dist/components/raw.component.d.ts +9 -9
- package/dist/components/render-component.component.d.ts +29 -29
- package/dist/components/render-each.directive.d.ts +5 -5
- package/dist/components/render-empty.directive.d.ts +5 -5
- package/dist/components/rendering-field.d.ts +20 -20
- package/dist/components/rendering.d.ts +5 -5
- package/dist/components/rich-text.directive.d.ts +12 -12
- package/dist/components/router-link.directive.d.ts +12 -12
- package/dist/components/text.directive.d.ts +13 -13
- package/dist/esm2015/components/date.directive.js +53 -53
- package/dist/esm2015/components/file.directive.js +43 -43
- package/dist/esm2015/components/generic-link.directive.js +58 -58
- package/dist/esm2015/components/image.directive.js +125 -125
- package/dist/esm2015/components/link.directive.js +101 -101
- package/dist/esm2015/components/missing-component.component.js +13 -13
- package/dist/esm2015/components/placeholder-loading.directive.js +15 -15
- package/dist/esm2015/components/placeholder.component.js +192 -192
- package/dist/esm2015/components/placeholder.token.js +21 -21
- package/dist/esm2015/components/raw.component.js +37 -37
- package/dist/esm2015/components/render-component.component.js +89 -89
- package/dist/esm2015/components/render-each.directive.js +15 -15
- package/dist/esm2015/components/render-empty.directive.js +15 -15
- package/dist/esm2015/components/rendering-field.js +1 -1
- package/dist/esm2015/components/rendering.js +8 -8
- package/dist/esm2015/components/rich-text.directive.js +41 -41
- package/dist/esm2015/components/router-link.directive.js +44 -44
- package/dist/esm2015/components/text.directive.js +54 -54
- package/dist/esm2015/jss-component-factory.service.js +87 -87
- package/dist/esm2015/layout-service-error.js +3 -3
- package/dist/esm2015/layout.service.js +28 -28
- package/dist/esm2015/lib.module.js +112 -112
- package/dist/esm2015/public_api.js +16 -16
- package/dist/esm2015/sitecore-jss-sitecore-jss-angular.js +13 -13
- package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js +1047 -1047
- package/dist/jss-component-factory.service.d.ts +21 -21
- package/dist/layout-service-error.d.ts +8 -8
- package/dist/layout.service.d.ts +8 -8
- package/dist/lib.module.d.ts +24 -24
- package/dist/package.json +2 -2
- package/dist/public_api.d.ts +16 -16
- package/dist/sitecore-jss-sitecore-jss-angular.d.ts +12 -12
- package/package.json +3 -3
- package/typings/README.md +2 -2
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { Directive, Input, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
2
|
-
export class TextDirective {
|
|
3
|
-
constructor(viewContainer, templateRef) {
|
|
4
|
-
this.viewContainer = viewContainer;
|
|
5
|
-
this.templateRef = templateRef;
|
|
6
|
-
this.editable = true;
|
|
7
|
-
this.encode = true;
|
|
8
|
-
}
|
|
9
|
-
ngOnChanges(changes) {
|
|
10
|
-
if (changes.field || changes.editable || changes.encode) {
|
|
11
|
-
if (!this.viewRef) {
|
|
12
|
-
this.viewContainer.clear();
|
|
13
|
-
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
14
|
-
}
|
|
15
|
-
this.updateView();
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
updateView() {
|
|
19
|
-
const field = this.field;
|
|
20
|
-
let editable = this.editable;
|
|
21
|
-
if (!field || (!field.editable && !field.value)) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
// can't use editable value if we want to output unencoded
|
|
25
|
-
if (!this.encode) {
|
|
26
|
-
editable = false;
|
|
27
|
-
}
|
|
28
|
-
const html = field.editable && editable ? field.editable : field.value;
|
|
29
|
-
const setDangerously = (field.editable && editable) || !this.encode;
|
|
30
|
-
this.viewRef.rootNodes.forEach((node) => {
|
|
31
|
-
if (setDangerously) {
|
|
32
|
-
node.innerHTML = html;
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
node.textContent = html;
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
TextDirective.decorators = [
|
|
41
|
-
{ type: Directive, args: [{
|
|
42
|
-
selector: '[scText]',
|
|
43
|
-
},] }
|
|
44
|
-
];
|
|
45
|
-
TextDirective.ctorParameters = () => [
|
|
46
|
-
{ type: ViewContainerRef },
|
|
47
|
-
{ type: TemplateRef }
|
|
48
|
-
];
|
|
49
|
-
TextDirective.propDecorators = {
|
|
50
|
-
editable: [{ type: Input, args: ['scTextEditable',] }],
|
|
51
|
-
encode: [{ type: Input, args: ['scTextEncode',] }],
|
|
52
|
-
field: [{ type: Input, args: ['scText',] }]
|
|
53
|
-
};
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Directive, Input, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
2
|
+
export class TextDirective {
|
|
3
|
+
constructor(viewContainer, templateRef) {
|
|
4
|
+
this.viewContainer = viewContainer;
|
|
5
|
+
this.templateRef = templateRef;
|
|
6
|
+
this.editable = true;
|
|
7
|
+
this.encode = true;
|
|
8
|
+
}
|
|
9
|
+
ngOnChanges(changes) {
|
|
10
|
+
if (changes.field || changes.editable || changes.encode) {
|
|
11
|
+
if (!this.viewRef) {
|
|
12
|
+
this.viewContainer.clear();
|
|
13
|
+
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
14
|
+
}
|
|
15
|
+
this.updateView();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
updateView() {
|
|
19
|
+
const field = this.field;
|
|
20
|
+
let editable = this.editable;
|
|
21
|
+
if (!field || (!field.editable && !field.value)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
// can't use editable value if we want to output unencoded
|
|
25
|
+
if (!this.encode) {
|
|
26
|
+
editable = false;
|
|
27
|
+
}
|
|
28
|
+
const html = field.editable && editable ? field.editable : field.value;
|
|
29
|
+
const setDangerously = (field.editable && editable) || !this.encode;
|
|
30
|
+
this.viewRef.rootNodes.forEach((node) => {
|
|
31
|
+
if (setDangerously) {
|
|
32
|
+
node.innerHTML = html;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
node.textContent = html;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
TextDirective.decorators = [
|
|
41
|
+
{ type: Directive, args: [{
|
|
42
|
+
selector: '[scText]',
|
|
43
|
+
},] }
|
|
44
|
+
];
|
|
45
|
+
TextDirective.ctorParameters = () => [
|
|
46
|
+
{ type: ViewContainerRef },
|
|
47
|
+
{ type: TemplateRef }
|
|
48
|
+
];
|
|
49
|
+
TextDirective.propDecorators = {
|
|
50
|
+
editable: [{ type: Input, args: ['scTextEditable',] }],
|
|
51
|
+
encode: [{ type: Input, args: ['scTextEncode',] }],
|
|
52
|
+
field: [{ type: Input, args: ['scText',] }]
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiQzovV29yay9TaXRlY29yZS5KU1Mvc2NyaXB0cy9wdWJsaXNoL2pzcy1naXRodWIvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90ZXh0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFHTCxXQUFXLEVBQ1gsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE1BQU0sT0FBTyxhQUFhO0lBU3hCLFlBQW9CLGFBQStCLEVBQVUsV0FBNkI7UUFBdEUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBTmpFLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFFbEIsV0FBTSxHQUFHLElBQUksQ0FBQztJQUl3RCxDQUFDO0lBRTlGLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3hFO1lBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRTdCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0MsT0FBTztTQUNSO1FBRUQsMERBQTBEO1FBQzFELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDbEI7UUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN2RSxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXBFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RDLElBQUksY0FBYyxFQUFFO2dCQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBaERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTthQUNyQjs7O1lBTkMsZ0JBQWdCO1lBRGhCLFdBQVc7Ozt1QkFXVixLQUFLLFNBQUMsZ0JBQWdCO3FCQUV0QixLQUFLLFNBQUMsY0FBYztvQkFFcEIsS0FBSyxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbWJlZGRlZFZpZXdSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGV4dEZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2NUZXh0XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoJ3NjVGV4dEVkaXRhYmxlJykgZWRpdGFibGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoJ3NjVGV4dEVuY29kZScpIGVuY29kZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgnc2NUZXh0JykgZmllbGQ6IFRleHRGaWVsZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5maWVsZCB8fCBjaGFuZ2VzLmVkaXRhYmxlIHx8IGNoYW5nZXMuZW5jb2RlKSB7XHJcbiAgICAgIGlmICghdGhpcy52aWV3UmVmKSB7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy52aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVZpZXcoKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQ7XHJcbiAgICBsZXQgZWRpdGFibGUgPSB0aGlzLmVkaXRhYmxlO1xyXG5cclxuICAgIGlmICghZmllbGQgfHwgKCFmaWVsZC5lZGl0YWJsZSAmJiAhZmllbGQudmFsdWUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBjYW4ndCB1c2UgZWRpdGFibGUgdmFsdWUgaWYgd2Ugd2FudCB0byBvdXRwdXQgdW5lbmNvZGVkXHJcbiAgICBpZiAoIXRoaXMuZW5jb2RlKSB7XHJcbiAgICAgIGVkaXRhYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaHRtbCA9IGZpZWxkLmVkaXRhYmxlICYmIGVkaXRhYmxlID8gZmllbGQuZWRpdGFibGUgOiBmaWVsZC52YWx1ZTtcclxuICAgIGNvbnN0IHNldERhbmdlcm91c2x5ID0gKGZpZWxkLmVkaXRhYmxlICYmIGVkaXRhYmxlKSB8fCAhdGhpcy5lbmNvZGU7XHJcblxyXG4gICAgdGhpcy52aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIGlmIChzZXREYW5nZXJvdXNseSkge1xyXG4gICAgICAgIG5vZGUuaW5uZXJIVE1MID0gaHRtbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBub2RlLnRleHRDb250ZW50ID0gaHRtbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
import { Inject, Injectable, Injector, Compiler, NgModuleFactory, } from '@angular/core';
|
|
2
|
-
import { DYNAMIC_COMPONENT, PLACEHOLDER_COMPONENTS, PLACEHOLDER_LAZY_COMPONENTS, } from './components/placeholder.token';
|
|
3
|
-
import { RawComponent } from './components/raw.component';
|
|
4
|
-
import { isRawRendering } from './components/rendering';
|
|
5
|
-
export class JssComponentFactoryService {
|
|
6
|
-
constructor(injector, compiler, components, lazyComponents) {
|
|
7
|
-
this.injector = injector;
|
|
8
|
-
this.compiler = compiler;
|
|
9
|
-
this.components = components;
|
|
10
|
-
this.lazyComponents = lazyComponents;
|
|
11
|
-
this.componentMap = new Map();
|
|
12
|
-
this.lazyComponentMap = new Map();
|
|
13
|
-
this.components.forEach((c) => this.componentMap.set(c.name, c.type));
|
|
14
|
-
if (this.lazyComponents) {
|
|
15
|
-
this.lazyComponents.forEach((c) => this.lazyComponentMap.set(c.path, c));
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
loadModuleFactory(lazyComponent) {
|
|
19
|
-
return lazyComponent.loadChildren().then((loaded) => {
|
|
20
|
-
if (loaded instanceof NgModuleFactory) {
|
|
21
|
-
return loaded;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
return this.compiler.compileModuleAsync(loaded);
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
getComponent(component) {
|
|
29
|
-
const loadedComponent = this.componentMap.get(component.componentName);
|
|
30
|
-
if (loadedComponent) {
|
|
31
|
-
return Promise.resolve({
|
|
32
|
-
componentDefinition: component,
|
|
33
|
-
componentImplementation: this.componentMap.get(component.componentName),
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
const lazyComponent = this.lazyComponentMap.get(component.componentName);
|
|
37
|
-
if (lazyComponent) {
|
|
38
|
-
return this.loadModuleFactory(lazyComponent).then((ngModuleFactory) => {
|
|
39
|
-
let componentType = null;
|
|
40
|
-
const moduleRef = ngModuleFactory.create(this.injector);
|
|
41
|
-
const dynamicComponentType = moduleRef.injector.get(DYNAMIC_COMPONENT);
|
|
42
|
-
if (!dynamicComponentType) {
|
|
43
|
-
throw new Error(`JssComponentFactoryService: Lazy load module for component "${lazyComponent.path}" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`);
|
|
44
|
-
}
|
|
45
|
-
if (component.componentName in dynamicComponentType) {
|
|
46
|
-
componentType = dynamicComponentType[component.componentName];
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
if (typeof dynamicComponentType === 'function') {
|
|
50
|
-
componentType = dynamicComponentType;
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
throw new Error(`JssComponentFactoryService: Lazy load module for component "${lazyComponent.path}" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return {
|
|
57
|
-
componentDefinition: component,
|
|
58
|
-
componentImplementation: componentType,
|
|
59
|
-
componentFactory: moduleRef.componentFactoryResolver.resolveComponentFactory(componentType),
|
|
60
|
-
};
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
return Promise.resolve({
|
|
64
|
-
componentDefinition: component,
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
getComponents(components) {
|
|
68
|
-
// acquire all components and keep them in order while handling their potential async-ness
|
|
69
|
-
return Promise.all(components.map((component) => isRawRendering(component) ? this.getRawComponent(component) : this.getComponent(component)));
|
|
70
|
-
}
|
|
71
|
-
getRawComponent(component) {
|
|
72
|
-
return Promise.resolve({
|
|
73
|
-
componentImplementation: RawComponent,
|
|
74
|
-
componentDefinition: component,
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
JssComponentFactoryService.decorators = [
|
|
79
|
-
{ type: Injectable }
|
|
80
|
-
];
|
|
81
|
-
JssComponentFactoryService.ctorParameters = () => [
|
|
82
|
-
{ type: Injector },
|
|
83
|
-
{ type: Compiler },
|
|
84
|
-
{ type: Array, decorators: [{ type: Inject, args: [PLACEHOLDER_COMPONENTS,] }] },
|
|
85
|
-
{ type: Array, decorators: [{ type: Inject, args: [PLACEHOLDER_LAZY_COMPONENTS,] }] }
|
|
86
|
-
];
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNzLWNvbXBvbmVudC1mYWN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9wYWNrYWdlcy9zaXRlY29yZS1qc3MtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJqc3MtY29tcG9uZW50LWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsTUFBTSxFQUNOLFVBQVUsRUFDVixRQUFRLEVBRVIsUUFBUSxFQUNSLGVBQWUsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUdMLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsMkJBQTJCLEdBQzVCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVN4RCxNQUFNLE9BQU8sMEJBQTBCO0lBSXJDLFlBQ1UsUUFBa0IsRUFDbEIsUUFBa0IsRUFDYyxVQUFrQyxFQUM3QixjQUF3QztRQUg3RSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDYyxlQUFVLEdBQVYsVUFBVSxDQUF3QjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBMEI7UUFFckYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRWxDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FB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Q0FBQyxTQUFTLENBQUMsQ0FDM0YsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLGVBQWUsQ0FBQyxTQUErQjtRQUNyRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDckIsdUJBQXVCLEVBQUUsWUFBWTtZQUNyQyxtQkFBbUIsRUFBRSxTQUFTO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQWpHRixVQUFVOzs7WUF0QlQsUUFBUTtZQUVSLFFBQVE7d0NBNEJMLE1BQU0sU0FBQyxzQkFBc0I7d0NBQzdCLE1BQU0sU0FBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudEZhY3RvcnksXHJcbiAgSW5qZWN0LFxyXG4gIEluamVjdGFibGUsXHJcbiAgSW5qZWN0b3IsXHJcbiAgVHlwZSxcclxuICBDb21waWxlcixcclxuICBOZ01vZHVsZUZhY3RvcnksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFJlbmRlcmluZywgSHRtbEVsZW1lbnRSZW5kZXJpbmcgfSBmcm9tICdAc2l0ZWNvcmUtanNzL3NpdGVjb3JlLWpzcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50TmFtZUFuZE1vZHVsZSxcclxuICBDb21wb25lbnROYW1lQW5kVHlwZSxcclxuICBEWU5BTUlDX0NPTVBPTkVOVCxcclxuICBQTEFDRUhPTERFUl9DT01QT05FTlRTLFxyXG4gIFBMQUNFSE9MREVSX0xBWllfQ09NUE9ORU5UUyxcclxufSBmcm9tICcuL2NvbXBvbmVudHMvcGxhY2Vob2xkZXIudG9rZW4nO1xyXG5pbXBvcnQgeyBSYXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmF3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGlzUmF3UmVuZGVyaW5nIH0gZnJvbSAnLi9jb21wb25lbnRzL3JlbmRlcmluZyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudEZhY3RvcnlSZXN1bHQge1xyXG4gIGNvbXBvbmVudEltcGxlbWVudGF0aW9uPzogVHlwZTxhbnk+O1xyXG4gIGNvbXBvbmVudERlZmluaXRpb246IENvbXBvbmVudFJlbmRlcmluZyB8IEh0bWxFbGVtZW50UmVuZGVyaW5nO1xyXG4gIGNvbXBvbmVudEZhY3Rvcnk/OiBDb21wb25lbnRGYWN0b3J5PGFueT47XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEpzc0NvbXBvbmVudEZhY3RvcnlTZXJ2aWNlIHtcclxuICBwcml2YXRlIGNvbXBvbmVudE1hcDogTWFwPHN0cmluZywgVHlwZTxhbnk+PjtcclxuICBwcml2YXRlIGxhenlDb21wb25lbnRNYXA6IE1hcDxzdHJpbmcsIENvbXBvbmVudE5hbWVBbmRNb2R1bGU+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXIsXHJcbiAgICBASW5qZWN0KFBMQUNFSE9MREVSX0NPTVBPTkVOVFMpIHByaXZhdGUgY29tcG9uZW50czogQ29tcG9uZW50TmFtZUFuZFR5cGVbXSxcclxuICAgIEBJbmplY3QoUExBQ0VIT0xERVJfTEFaWV9DT01QT05FTlRTKSBwcml2YXRlIGxhenlDb21wb25lbnRzOiBDb21wb25lbnROYW1lQW5kTW9kdWxlW11cclxuICApIHtcclxuICAgIHRoaXMuY29tcG9uZW50TWFwID0gbmV3IE1hcCgpO1xyXG4gICAgdGhpcy5sYXp5Q29tcG9uZW50TWFwID0gbmV3IE1hcCgpO1xyXG5cclxuICAgIHRoaXMuY29tcG9uZW50cy5mb3JFYWNoKChjKSA9PiB0aGlzLmNvbXBvbmVudE1hcC5zZXQoYy5uYW1lLCBjLnR5cGUpKTtcclxuXHJcbiAgICBpZiAodGhpcy5sYXp5Q29tcG9uZW50cykge1xyXG4gICAgICB0aGlzLmxhenlDb21wb25lbnRzLmZvckVhY2goKGMpID0+IHRoaXMubGF6eUNvbXBvbmVudE1hcC5zZXQoYy5wYXRoLCBjKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRNb2R1bGVGYWN0b3J5KGxhenlDb21wb25lbnQ6IENvbXBvbmVudE5hbWVBbmRNb2R1bGUpOiBQcm9taXNlPE5nTW9kdWxlRmFjdG9yeTxhbnk+PiB7XHJcbiAgICByZXR1cm4gbGF6eUNvbXBvbmVudC5sb2FkQ2hpbGRyZW4oKS50aGVuKChsb2FkZWQpID0+IHtcclxuICAgICAgaWYgKGxvYWRlZCBpbnN0YW5jZW9mIE5nTW9kdWxlRmFjdG9yeSkge1xyXG4gICAgICAgIHJldHVybiBsb2FkZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFzeW5jKGxvYWRlZCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tcG9uZW50KGNvbXBvbmVudDogQ29tcG9uZW50UmVuZGVyaW5nKTogUHJvbWlzZTxDb21wb25lbnRGYWN0b3J5UmVzdWx0PiB7XHJcbiAgICBjb25zdCBsb2FkZWRDb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudE1hcC5nZXQoY29tcG9uZW50LmNvbXBvbmVudE5hbWUpO1xyXG5cclxuICAgIGlmIChsb2FkZWRDb21wb25lbnQpIHtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XHJcbiAgICAgICAgY29tcG9uZW50RGVmaW5pdGlvbjogY29tcG9uZW50LFxyXG4gICAgICAgIGNvbXBvbmVudEltcGxlbWVudGF0aW9uOiB0aGlzLmNvbXBvbmVudE1hcC5nZXQoY29tcG9uZW50LmNvbXBvbmVudE5hbWUpLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsYXp5Q29tcG9uZW50ID0gdGhpcy5sYXp5Q29tcG9uZW50TWFwLmdldChjb21wb25lbnQuY29tcG9uZW50TmFtZSk7XHJcblxyXG4gICAgaWYgKGxhenlDb21wb25lbnQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9hZE1vZHVsZUZhY3RvcnkobGF6eUNvbXBvbmVudCkudGhlbigobmdNb2R1bGVGYWN0b3J5KSA9PiB7XHJcbiAgICAgICAgbGV0IGNvbXBvbmVudFR5cGUgPSBudWxsO1xyXG4gICAgICAgIGNvbnN0IG1vZHVsZVJlZiA9IG5nTW9kdWxlRmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcbiAgICAgICAgY29uc3QgZHluYW1pY0NvbXBvbmVudFR5cGUgPSBtb2R1bGVSZWYuaW5qZWN0b3IuZ2V0KERZTkFNSUNfQ09NUE9ORU5UKTtcclxuICAgICAgICBpZiAoIWR5bmFtaWNDb21wb25lbnRUeXBlKSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgIGBKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZTogTGF6eSBsb2FkIG1vZHVsZSBmb3IgY29tcG9uZW50IFwiJHtsYXp5Q29tcG9uZW50LnBhdGh9XCIgbWlzc2luZyBEWU5BTUlDX0NPTVBPTkVOVCBwcm92aWRlci4gTWlzc2luZyBKc3NNb2R1bGUuZm9yQ2hpbGQoKT9gXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNvbXBvbmVudC5jb21wb25lbnROYW1lIGluIGR5bmFtaWNDb21wb25lbnRUeXBlKSB7XHJcbiAgICAgICAgICBjb21wb25lbnRUeXBlID0gKGR5bmFtaWNDb21wb25lbnRUeXBlIGFzIHsgW3M6IHN0cmluZ106IGFueSB9KVtjb21wb25lbnQuY29tcG9uZW50TmFtZV07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgZHluYW1pY0NvbXBvbmVudFR5cGUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgY29tcG9uZW50VHlwZSA9IGR5bmFtaWNDb21wb25lbnRUeXBlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICAgIGBKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZTogTGF6eSBsb2FkIG1vZHVsZSBmb3IgY29tcG9uZW50IFwiJHtsYXp5Q29tcG9uZW50LnBhdGh9XCIgbWlzc2luZyBEWU5BTUlDX0NPTVBPTkVOVCBwcm92aWRlci4gTWlzc2luZyBKc3NNb2R1bGUuZm9yQ2hpbGQoKT9gXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgY29tcG9uZW50RGVmaW5pdGlvbjogY29tcG9uZW50LFxyXG4gICAgICAgICAgY29tcG9uZW50SW1wbGVtZW50YXRpb246IGNvbXBvbmVudFR5cGUsXHJcbiAgICAgICAgICBjb21wb25lbnRGYWN0b3J5OiBtb2R1bGVSZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFxyXG4gICAgICAgICAgICBjb21wb25lbnRUeXBlXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xyXG4gICAgICBjb21wb25lbnREZWZpbml0aW9uOiBjb21wb25lbnQsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldENvbXBvbmVudHMoXHJcbiAgICBjb21wb25lbnRzOiBBcnJheTxDb21wb25lbnRSZW5kZXJpbmcgfCBIdG1sRWxlbWVudFJlbmRlcmluZz5cclxuICApOiBQcm9taXNlPENvbXBvbmVudEZhY3RvcnlSZXN1bHRbXT4ge1xyXG4gICAgLy8gYWNxdWlyZSBhbGwgY29tcG9uZW50cyBhbmQga2VlcCB0aGVtIGluIG9yZGVyIHdoaWxlIGhhbmRsaW5nIHRoZWlyIHBvdGVudGlhbCBhc3luYy1uZXNzXHJcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXHJcbiAgICAgIGNvbXBvbmVudHMubWFwKChjb21wb25lbnQpID0+XHJcbiAgICAgICAgaXNSYXdSZW5kZXJpbmcoY29tcG9uZW50KSA/IHRoaXMuZ2V0UmF3Q29tcG9uZW50KGNvbXBvbmVudCkgOiB0aGlzLmdldENvbXBvbmVudChjb21wb25lbnQpXHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFJhd0NvbXBvbmVudChjb21wb25lbnQ6IEh0bWxFbGVtZW50UmVuZGVyaW5nKTogUHJvbWlzZTxDb21wb25lbnRGYWN0b3J5UmVzdWx0PiB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcclxuICAgICAgY29tcG9uZW50SW1wbGVtZW50YXRpb246IFJhd0NvbXBvbmVudCxcclxuICAgICAgY29tcG9uZW50RGVmaW5pdGlvbjogY29tcG9uZW50LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
1
|
+
import { Inject, Injectable, Injector, Compiler, NgModuleFactory, } from '@angular/core';
|
|
2
|
+
import { DYNAMIC_COMPONENT, PLACEHOLDER_COMPONENTS, PLACEHOLDER_LAZY_COMPONENTS, } from './components/placeholder.token';
|
|
3
|
+
import { RawComponent } from './components/raw.component';
|
|
4
|
+
import { isRawRendering } from './components/rendering';
|
|
5
|
+
export class JssComponentFactoryService {
|
|
6
|
+
constructor(injector, compiler, components, lazyComponents) {
|
|
7
|
+
this.injector = injector;
|
|
8
|
+
this.compiler = compiler;
|
|
9
|
+
this.components = components;
|
|
10
|
+
this.lazyComponents = lazyComponents;
|
|
11
|
+
this.componentMap = new Map();
|
|
12
|
+
this.lazyComponentMap = new Map();
|
|
13
|
+
this.components.forEach((c) => this.componentMap.set(c.name, c.type));
|
|
14
|
+
if (this.lazyComponents) {
|
|
15
|
+
this.lazyComponents.forEach((c) => this.lazyComponentMap.set(c.path, c));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
loadModuleFactory(lazyComponent) {
|
|
19
|
+
return lazyComponent.loadChildren().then((loaded) => {
|
|
20
|
+
if (loaded instanceof NgModuleFactory) {
|
|
21
|
+
return loaded;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return this.compiler.compileModuleAsync(loaded);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
getComponent(component) {
|
|
29
|
+
const loadedComponent = this.componentMap.get(component.componentName);
|
|
30
|
+
if (loadedComponent) {
|
|
31
|
+
return Promise.resolve({
|
|
32
|
+
componentDefinition: component,
|
|
33
|
+
componentImplementation: this.componentMap.get(component.componentName),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
const lazyComponent = this.lazyComponentMap.get(component.componentName);
|
|
37
|
+
if (lazyComponent) {
|
|
38
|
+
return this.loadModuleFactory(lazyComponent).then((ngModuleFactory) => {
|
|
39
|
+
let componentType = null;
|
|
40
|
+
const moduleRef = ngModuleFactory.create(this.injector);
|
|
41
|
+
const dynamicComponentType = moduleRef.injector.get(DYNAMIC_COMPONENT);
|
|
42
|
+
if (!dynamicComponentType) {
|
|
43
|
+
throw new Error(`JssComponentFactoryService: Lazy load module for component "${lazyComponent.path}" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`);
|
|
44
|
+
}
|
|
45
|
+
if (component.componentName in dynamicComponentType) {
|
|
46
|
+
componentType = dynamicComponentType[component.componentName];
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
if (typeof dynamicComponentType === 'function') {
|
|
50
|
+
componentType = dynamicComponentType;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
throw new Error(`JssComponentFactoryService: Lazy load module for component "${lazyComponent.path}" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
componentDefinition: component,
|
|
58
|
+
componentImplementation: componentType,
|
|
59
|
+
componentFactory: moduleRef.componentFactoryResolver.resolveComponentFactory(componentType),
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return Promise.resolve({
|
|
64
|
+
componentDefinition: component,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
getComponents(components) {
|
|
68
|
+
// acquire all components and keep them in order while handling their potential async-ness
|
|
69
|
+
return Promise.all(components.map((component) => isRawRendering(component) ? this.getRawComponent(component) : this.getComponent(component)));
|
|
70
|
+
}
|
|
71
|
+
getRawComponent(component) {
|
|
72
|
+
return Promise.resolve({
|
|
73
|
+
componentImplementation: RawComponent,
|
|
74
|
+
componentDefinition: component,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
JssComponentFactoryService.decorators = [
|
|
79
|
+
{ type: Injectable }
|
|
80
|
+
];
|
|
81
|
+
JssComponentFactoryService.ctorParameters = () => [
|
|
82
|
+
{ type: Injector },
|
|
83
|
+
{ type: Compiler },
|
|
84
|
+
{ type: Array, decorators: [{ type: Inject, args: [PLACEHOLDER_COMPONENTS,] }] },
|
|
85
|
+
{ type: Array, decorators: [{ type: Inject, args: [PLACEHOLDER_LAZY_COMPONENTS,] }] }
|
|
86
|
+
];
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNzLWNvbXBvbmVudC1mYWN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovV29yay9TaXRlY29yZS5KU1Mvc2NyaXB0cy9wdWJsaXNoL2pzcy1naXRodWIvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsianNzLWNvbXBvbmVudC1mYWN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLE1BQU0sRUFDTixVQUFVLEVBQ1YsUUFBUSxFQUVSLFFBQVEsRUFDUixlQUFlLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFHTCxpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLDJCQUEyQixHQUM1QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFTeEQsTUFBTSxPQUFPLDBCQUEwQjtJQUlyQyxZQUNVLFFBQWtCLEVBQ2xCLFFBQWtCLEVBQ2MsVUFBa0MsRUFDN0IsY0FBd0M7UUFIN0UsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2MsZUFBVSxHQUFWLFVBQVUsQ0FBd0I7UUFDN0IsbUJBQWMsR0FBZCxjQUFjLENBQTBCO1FBRXJGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVsQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV0RSxJQUFJLElBQUksQ0FBQyxj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QUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQzNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxlQUFlLENBQUMsU0FBK0I7UUFDckQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3JCLHVCQUF1QixFQUFFLFlBQVk7WUFDckMsbUJBQW1CLEVBQUUsU0FBUztTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFqR0YsVUFBVTs7O1lBdEJULFFBQVE7WUFFUixRQUFRO3dDQTRCTCxNQUFNLFNBQUMsc0JBQXNCO3dDQUM3QixNQUFNLFNBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnRGYWN0b3J5LFxyXG4gIEluamVjdCxcclxuICBJbmplY3RhYmxlLFxyXG4gIEluamVjdG9yLFxyXG4gIFR5cGUsXHJcbiAgQ29tcGlsZXIsXHJcbiAgTmdNb2R1bGVGYWN0b3J5LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRSZW5kZXJpbmcsIEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudE5hbWVBbmRNb2R1bGUsXHJcbiAgQ29tcG9uZW50TmFtZUFuZFR5cGUsXHJcbiAgRFlOQU1JQ19DT01QT05FTlQsXHJcbiAgUExBQ0VIT0xERVJfQ09NUE9ORU5UUyxcclxuICBQTEFDRUhPTERFUl9MQVpZX0NPTVBPTkVOVFMsXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL3BsYWNlaG9sZGVyLnRva2VuJztcclxuaW1wb3J0IHsgUmF3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Jhdy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBpc1Jhd1JlbmRlcmluZyB9IGZyb20gJy4vY29tcG9uZW50cy9yZW5kZXJpbmcnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnRGYWN0b3J5UmVzdWx0IHtcclxuICBjb21wb25lbnRJbXBsZW1lbnRhdGlvbj86IFR5cGU8YW55PjtcclxuICBjb21wb25lbnREZWZpbml0aW9uOiBDb21wb25lbnRSZW5kZXJpbmcgfCBIdG1sRWxlbWVudFJlbmRlcmluZztcclxuICBjb21wb25lbnRGYWN0b3J5PzogQ29tcG9uZW50RmFjdG9yeTxhbnk+O1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjb21wb25lbnRNYXA6IE1hcDxzdHJpbmcsIFR5cGU8YW55Pj47XHJcbiAgcHJpdmF0ZSBsYXp5Q29tcG9uZW50TWFwOiBNYXA8c3RyaW5nLCBDb21wb25lbnROYW1lQW5kTW9kdWxlPjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyLFxyXG4gICAgQEluamVjdChQTEFDRUhPTERFUl9DT01QT05FTlRTKSBwcml2YXRlIGNvbXBvbmVudHM6IENvbXBvbmVudE5hbWVBbmRUeXBlW10sXHJcbiAgICBASW5qZWN0KFBMQUNFSE9MREVSX0xBWllfQ09NUE9ORU5UUykgcHJpdmF0ZSBsYXp5Q29tcG9uZW50czogQ29tcG9uZW50TmFtZUFuZE1vZHVsZVtdXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudE1hcCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMubGF6eUNvbXBvbmVudE1hcCA9IG5ldyBNYXAoKTtcclxuXHJcbiAgICB0aGlzLmNvbXBvbmVudHMuZm9yRWFjaCgoYykgPT4gdGhpcy5jb21wb25lbnRNYXAuc2V0KGMubmFtZSwgYy50eXBlKSk7XHJcblxyXG4gICAgaWYgKHRoaXMubGF6eUNvbXBvbmVudHMpIHtcclxuICAgICAgdGhpcy5sYXp5Q29tcG9uZW50cy5mb3JFYWNoKChjKSA9PiB0aGlzLmxhenlDb21wb25lbnRNYXAuc2V0KGMucGF0aCwgYykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkTW9kdWxlRmFjdG9yeShsYXp5Q29tcG9uZW50OiBDb21wb25lbnROYW1lQW5kTW9kdWxlKTogUHJvbWlzZTxOZ01vZHVsZUZhY3Rvcnk8YW55Pj4ge1xyXG4gICAgcmV0dXJuIGxhenlDb21wb25lbnQubG9hZENoaWxkcmVuKCkudGhlbigobG9hZGVkKSA9PiB7XHJcbiAgICAgIGlmIChsb2FkZWQgaW5zdGFuY2VvZiBOZ01vZHVsZUZhY3RvcnkpIHtcclxuICAgICAgICByZXR1cm4gbG9hZGVkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBc3luYyhsb2FkZWQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldENvbXBvbmVudChjb21wb25lbnQ6IENvbXBvbmVudFJlbmRlcmluZyk6IFByb21pc2U8Q29tcG9uZW50RmFjdG9yeVJlc3VsdD4ge1xyXG4gICAgY29uc3QgbG9hZGVkQ29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRNYXAuZ2V0KGNvbXBvbmVudC5jb21wb25lbnROYW1lKTtcclxuXHJcbiAgICBpZiAobG9hZGVkQ29tcG9uZW50KSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xyXG4gICAgICAgIGNvbXBvbmVudERlZmluaXRpb246IGNvbXBvbmVudCxcclxuICAgICAgICBjb21wb25lbnRJbXBsZW1lbnRhdGlvbjogdGhpcy5jb21wb25lbnRNYXAuZ2V0KGNvbXBvbmVudC5jb21wb25lbnROYW1lKSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbGF6eUNvbXBvbmVudCA9IHRoaXMubGF6eUNvbXBvbmVudE1hcC5nZXQoY29tcG9uZW50LmNvbXBvbmVudE5hbWUpO1xyXG5cclxuICAgIGlmIChsYXp5Q29tcG9uZW50KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxvYWRNb2R1bGVGYWN0b3J5KGxhenlDb21wb25lbnQpLnRoZW4oKG5nTW9kdWxlRmFjdG9yeSkgPT4ge1xyXG4gICAgICAgIGxldCBjb21wb25lbnRUeXBlID0gbnVsbDtcclxuICAgICAgICBjb25zdCBtb2R1bGVSZWYgPSBuZ01vZHVsZUZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xyXG4gICAgICAgIGNvbnN0IGR5bmFtaWNDb21wb25lbnRUeXBlID0gbW9kdWxlUmVmLmluamVjdG9yLmdldChEWU5BTUlDX0NPTVBPTkVOVCk7XHJcbiAgICAgICAgaWYgKCFkeW5hbWljQ29tcG9uZW50VHlwZSkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICBgSnNzQ29tcG9uZW50RmFjdG9yeVNlcnZpY2U6IExhenkgbG9hZCBtb2R1bGUgZm9yIGNvbXBvbmVudCBcIiR7bGF6eUNvbXBvbmVudC5wYXRofVwiIG1pc3NpbmcgRFlOQU1JQ19DT01QT05FTlQgcHJvdmlkZXIuIE1pc3NpbmcgSnNzTW9kdWxlLmZvckNoaWxkKCk/YFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjb21wb25lbnQuY29tcG9uZW50TmFtZSBpbiBkeW5hbWljQ29tcG9uZW50VHlwZSkge1xyXG4gICAgICAgICAgY29tcG9uZW50VHlwZSA9IChkeW5hbWljQ29tcG9uZW50VHlwZSBhcyB7IFtzOiBzdHJpbmddOiBhbnkgfSlbY29tcG9uZW50LmNvbXBvbmVudE5hbWVdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGR5bmFtaWNDb21wb25lbnRUeXBlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudFR5cGUgPSBkeW5hbWljQ29tcG9uZW50VHlwZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgICAgICBgSnNzQ29tcG9uZW50RmFjdG9yeVNlcnZpY2U6IExhenkgbG9hZCBtb2R1bGUgZm9yIGNvbXBvbmVudCBcIiR7bGF6eUNvbXBvbmVudC5wYXRofVwiIG1pc3NpbmcgRFlOQU1JQ19DT01QT05FTlQgcHJvdmlkZXIuIE1pc3NpbmcgSnNzTW9kdWxlLmZvckNoaWxkKCk/YFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGNvbXBvbmVudERlZmluaXRpb246IGNvbXBvbmVudCxcclxuICAgICAgICAgIGNvbXBvbmVudEltcGxlbWVudGF0aW9uOiBjb21wb25lbnRUeXBlLFxyXG4gICAgICAgICAgY29tcG9uZW50RmFjdG9yeTogbW9kdWxlUmVmLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShcclxuICAgICAgICAgICAgY29tcG9uZW50VHlwZVxyXG4gICAgICAgICAgKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcclxuICAgICAgY29tcG9uZW50RGVmaW5pdGlvbjogY29tcG9uZW50LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21wb25lbnRzKFxyXG4gICAgY29tcG9uZW50czogQXJyYXk8Q29tcG9uZW50UmVuZGVyaW5nIHwgSHRtbEVsZW1lbnRSZW5kZXJpbmc+XHJcbiAgKTogUHJvbWlzZTxDb21wb25lbnRGYWN0b3J5UmVzdWx0W10+IHtcclxuICAgIC8vIGFjcXVpcmUgYWxsIGNvbXBvbmVudHMgYW5kIGtlZXAgdGhlbSBpbiBvcmRlciB3aGlsZSBoYW5kbGluZyB0aGVpciBwb3RlbnRpYWwgYXN5bmMtbmVzc1xyXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFxyXG4gICAgICBjb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PlxyXG4gICAgICAgIGlzUmF3UmVuZGVyaW5nKGNvbXBvbmVudCkgPyB0aGlzLmdldFJhd0NvbXBvbmVudChjb21wb25lbnQpIDogdGhpcy5nZXRDb21wb25lbnQoY29tcG9uZW50KVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRSYXdDb21wb25lbnQoY29tcG9uZW50OiBIdG1sRWxlbWVudFJlbmRlcmluZyk6IFByb21pc2U8Q29tcG9uZW50RmFjdG9yeVJlc3VsdD4ge1xyXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XHJcbiAgICAgIGNvbXBvbmVudEltcGxlbWVudGF0aW9uOiBSYXdDb21wb25lbnQsXHJcbiAgICAgIGNvbXBvbmVudERlZmluaXRpb246IGNvbXBvbmVudCxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export class LayoutServiceError {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export class LayoutServiceError {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXNlcnZpY2UtZXJyb3IuanMiLCJzb3VyY2VSb290IjoiQzovV29yay9TaXRlY29yZS5KU1Mvc2NyaXB0cy9wdWJsaXNoL2pzcy1naXRodWIvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGF5b3V0LXNlcnZpY2UtZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGtCQUFrQjtDQUk5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExheW91dFNlcnZpY2VDb250ZXh0RGF0YSB9IGZyb20gJ0BzaXRlY29yZS1qc3Mvc2l0ZWNvcmUtanNzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRTZXJ2aWNlRXJyb3Ige1xyXG4gIHN0YXR1czogbnVtYmVyO1xyXG4gIHN0YXR1c1RleHQ6IHN0cmluZztcclxuICBkYXRhPzogeyBzaXRlY29yZT86IExheW91dFNlcnZpY2VDb250ZXh0RGF0YSB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { dataApi, } from '@sitecore-jss/sitecore-jss';
|
|
3
|
-
import { from as fromPromise, throwError as observableThrow } from 'rxjs';
|
|
4
|
-
import { catchError } from 'rxjs/operators';
|
|
5
|
-
import { LayoutServiceError } from './layout-service-error';
|
|
6
|
-
const { fetchRouteData, fetchPlaceholderData } = dataApi;
|
|
7
|
-
export class LayoutService {
|
|
8
|
-
static getLayoutServiceError(error) {
|
|
9
|
-
const layoutServiceError = new LayoutServiceError();
|
|
10
|
-
const response = error.response;
|
|
11
|
-
if (response) {
|
|
12
|
-
layoutServiceError.status = response.status;
|
|
13
|
-
layoutServiceError.statusText = response.statusText;
|
|
14
|
-
layoutServiceError.data = response.data;
|
|
15
|
-
}
|
|
16
|
-
return observableThrow(layoutServiceError);
|
|
17
|
-
}
|
|
18
|
-
getRouteData(route, options) {
|
|
19
|
-
return fromPromise(fetchRouteData(route, options)).pipe(catchError(LayoutService.getLayoutServiceError));
|
|
20
|
-
}
|
|
21
|
-
getPlaceholderData(route, placeholderName, options) {
|
|
22
|
-
return fromPromise(fetchPlaceholderData(placeholderName, route, options)).pipe(catchError(LayoutService.getLayoutServiceError));
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
LayoutService.decorators = [
|
|
26
|
-
{ type: Injectable }
|
|
27
|
-
];
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { dataApi, } from '@sitecore-jss/sitecore-jss';
|
|
3
|
+
import { from as fromPromise, throwError as observableThrow } from 'rxjs';
|
|
4
|
+
import { catchError } from 'rxjs/operators';
|
|
5
|
+
import { LayoutServiceError } from './layout-service-error';
|
|
6
|
+
const { fetchRouteData, fetchPlaceholderData } = dataApi;
|
|
7
|
+
export class LayoutService {
|
|
8
|
+
static getLayoutServiceError(error) {
|
|
9
|
+
const layoutServiceError = new LayoutServiceError();
|
|
10
|
+
const response = error.response;
|
|
11
|
+
if (response) {
|
|
12
|
+
layoutServiceError.status = response.status;
|
|
13
|
+
layoutServiceError.statusText = response.statusText;
|
|
14
|
+
layoutServiceError.data = response.data;
|
|
15
|
+
}
|
|
16
|
+
return observableThrow(layoutServiceError);
|
|
17
|
+
}
|
|
18
|
+
getRouteData(route, options) {
|
|
19
|
+
return fromPromise(fetchRouteData(route, options)).pipe(catchError(LayoutService.getLayoutServiceError));
|
|
20
|
+
}
|
|
21
|
+
getPlaceholderData(route, placeholderName, options) {
|
|
22
|
+
return fromPromise(fetchPlaceholderData(placeholderName, route, options)).pipe(catchError(LayoutService.getLayoutServiceError));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
LayoutService.decorators = [
|
|
26
|
+
{ type: Injectable }
|
|
27
|
+
];
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovV29yay9TaXRlY29yZS5KU1Mvc2NyaXB0cy9wdWJsaXNoL2pzcy1naXRodWIvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGF5b3V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsT0FBTyxHQUlSLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLElBQUksSUFBSSxXQUFXLEVBQWMsVUFBVSxJQUFJLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsTUFBTSxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE9BQU8sQ0FBQztBQUd6RCxNQUFNLE9BQU8sYUFBYTtJQUNoQixNQUFNLENBQUMscUJBQXFCLENBQUMsS0FBVTtRQUM3QyxNQUFNLGtCQUFrQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUNwRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksUUFBUSxFQUFFO1lBQ1osa0JBQWtCLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDNUMsa0JBQWtCLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDcEQsa0JBQWtCLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7U0FDekM7UUFFRCxPQUFPLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUFZLENBQ1YsS0FBYSxFQUNiLE9BQXVEO1FBRXZELE9BQU8sV0FBVyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3JELFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FDaEQsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0IsQ0FDaEIsS0FBYSxFQUNiLGVBQXVCLEVBQ3ZCLE9BQXFEO1FBRXJELE9BQU8sV0FBVyxDQUFDLG9CQUFvQixDQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzVFLFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FDaEQsQ0FBQztJQUNKLENBQUM7OztZQS9CRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIGRhdGFBcGksXHJcbiAgTGF5b3V0U2VydmljZURhdGEsXHJcbiAgTGF5b3V0U2VydmljZVJlcXVlc3RPcHRpb25zLFxyXG4gIFBsYWNlaG9sZGVyRGF0YSxcclxufSBmcm9tICdAc2l0ZWNvcmUtanNzL3NpdGVjb3JlLWpzcyc7XHJcbmltcG9ydCB7IGZyb20gYXMgZnJvbVByb21pc2UsIE9ic2VydmFibGUsIHRocm93RXJyb3IgYXMgb2JzZXJ2YWJsZVRocm93IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2VFcnJvciB9IGZyb20gJy4vbGF5b3V0LXNlcnZpY2UtZXJyb3InO1xyXG5cclxuY29uc3QgeyBmZXRjaFJvdXRlRGF0YSwgZmV0Y2hQbGFjZWhvbGRlckRhdGEgfSA9IGRhdGFBcGk7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHN0YXRpYyBnZXRMYXlvdXRTZXJ2aWNlRXJyb3IoZXJyb3I6IGFueSk6IE9ic2VydmFibGU8TGF5b3V0U2VydmljZUVycm9yPiB7XHJcbiAgICBjb25zdCBsYXlvdXRTZXJ2aWNlRXJyb3IgPSBuZXcgTGF5b3V0U2VydmljZUVycm9yKCk7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGVycm9yLnJlc3BvbnNlO1xyXG4gICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgIGxheW91dFNlcnZpY2VFcnJvci5zdGF0dXMgPSByZXNwb25zZS5zdGF0dXM7XHJcbiAgICAgIGxheW91dFNlcnZpY2VFcnJvci5zdGF0dXNUZXh0ID0gcmVzcG9uc2Uuc3RhdHVzVGV4dDtcclxuICAgICAgbGF5b3V0U2VydmljZUVycm9yLmRhdGEgPSByZXNwb25zZS5kYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3cobGF5b3V0U2VydmljZUVycm9yKTtcclxuICB9XHJcblxyXG4gIGdldFJvdXRlRGF0YShcclxuICAgIHJvdXRlOiBzdHJpbmcsXHJcbiAgICBvcHRpb25zOiBMYXlvdXRTZXJ2aWNlUmVxdWVzdE9wdGlvbnM8TGF5b3V0U2VydmljZURhdGE+XHJcbiAgKTogT2JzZXJ2YWJsZTxMYXlvdXRTZXJ2aWNlRGF0YSB8IExheW91dFNlcnZpY2VFcnJvcj4ge1xyXG4gICAgcmV0dXJuIGZyb21Qcm9taXNlKGZldGNoUm91dGVEYXRhKHJvdXRlLCBvcHRpb25zKSkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcihMYXlvdXRTZXJ2aWNlLmdldExheW91dFNlcnZpY2VFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRQbGFjZWhvbGRlckRhdGEoXHJcbiAgICByb3V0ZTogc3RyaW5nLFxyXG4gICAgcGxhY2Vob2xkZXJOYW1lOiBzdHJpbmcsXHJcbiAgICBvcHRpb25zOiBMYXlvdXRTZXJ2aWNlUmVxdWVzdE9wdGlvbnM8UGxhY2Vob2xkZXJEYXRhPlxyXG4gICk6IE9ic2VydmFibGU8UGxhY2Vob2xkZXJEYXRhIHwgTGF5b3V0U2VydmljZUVycm9yPiB7XHJcbiAgICByZXR1cm4gZnJvbVByb21pc2UoZmV0Y2hQbGFjZWhvbGRlckRhdGEocGxhY2Vob2xkZXJOYW1lLCByb3V0ZSwgb3B0aW9ucykpLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoTGF5b3V0U2VydmljZS5nZXRMYXlvdXRTZXJ2aWNlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|