@yuuvis/client-shell-core 2.8.0 → 2.8.2
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.
|
@@ -2,6 +2,8 @@ import { inject } from '@angular/core';
|
|
|
2
2
|
import { FeatureService } from './feature.service';
|
|
3
3
|
export const canMatchFeature = (route) => {
|
|
4
4
|
const featureService = inject(FeatureService);
|
|
5
|
-
return featureService.
|
|
5
|
+
return (featureService.canMatchRequirements(route) &&
|
|
6
|
+
featureService.canUseApp(route) &&
|
|
7
|
+
featureService.canUseFeatureById(route.id));
|
|
6
8
|
};
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1zaGVsbC1jb3JlL3NyYy9saWIvc2VydmljZXMvZmVhdHVyZS9mZWF0dXJlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO0lBQzlDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5QyxPQUFPLENBQ0wsY0FBYyxDQUFDLG9CQUFvQixDQUFDLEtBQXVCLENBQUM7UUFDNUQsY0FBYyxDQUFDLFNBQVMsQ0FBQyxLQUFZLENBQUM7UUFDdEMsY0FBYyxDQUFDLGlCQUFpQixDQUFFLEtBQWEsQ0FBQyxFQUFFLENBQUMsQ0FDcEQsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsaWVudC1zaGVsbC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuL2ZlYXR1cmUuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBjYW5NYXRjaEZlYXR1cmUgPSAocm91dGU6IFJvdXRlKSA9PiB7XG4gIGNvbnN0IGZlYXR1cmVTZXJ2aWNlID0gaW5qZWN0KEZlYXR1cmVTZXJ2aWNlKTtcbiAgcmV0dXJuIChcbiAgICBmZWF0dXJlU2VydmljZS5jYW5NYXRjaFJlcXVpcmVtZW50cyhyb3V0ZSBhcyB7IGlkOiBzdHJpbmcgfSkgJiZcbiAgICBmZWF0dXJlU2VydmljZS5jYW5Vc2VBcHAocm91dGUgYXMgQXBwKSAmJlxuICAgIGZlYXR1cmVTZXJ2aWNlLmNhblVzZUZlYXR1cmVCeUlkKChyb3V0ZSBhcyBBcHApLmlkKVxuICApO1xufTtcbiJdfQ==
|
|
@@ -34,11 +34,13 @@ export class FeatureService {
|
|
|
34
34
|
* - If no matching requirements are found, the feature is considered valid (returns `true`)
|
|
35
35
|
* - All requirements must have a state of 'enabled' for the feature to pass validation
|
|
36
36
|
*/
|
|
37
|
-
#matchesRequirements(
|
|
37
|
+
#matchesRequirements(feat) {
|
|
38
38
|
const featureRequirements = this.#featureRequirements;
|
|
39
39
|
const featureAvailability = this.#featureManagement;
|
|
40
|
+
if (!featureRequirements)
|
|
41
|
+
return true;
|
|
40
42
|
// Check if fet.id matches exactly 'key' or 'key.extension'
|
|
41
|
-
const matchingKey = Object.keys(featureRequirements).find((key) => new RegExp(`^${key}(\\.extension)?$`).test(
|
|
43
|
+
const matchingKey = Object.keys(featureRequirements).find((key) => new RegExp(`^${key}(\\.extension)?$`).test(feat.id));
|
|
42
44
|
// If no matching key, return true
|
|
43
45
|
if (!matchingKey) {
|
|
44
46
|
return true;
|
|
@@ -61,7 +63,7 @@ export class FeatureService {
|
|
|
61
63
|
return this.#features;
|
|
62
64
|
}
|
|
63
65
|
getAvailableApps(allApps) {
|
|
64
|
-
return allApps.filter((app) => this.canUseApp(app) && this.canUseFeatureById(app.id));
|
|
66
|
+
return allApps.filter((app) => this.#matchesRequirements(app) && this.canUseApp(app) && this.canUseFeatureById(app.id));
|
|
65
67
|
}
|
|
66
68
|
canUseApp(app) {
|
|
67
69
|
const authorities = this.#userToken?.authorities || [];
|
|
@@ -71,6 +73,9 @@ export class FeatureService {
|
|
|
71
73
|
const isDenied = denied.some((deniedAuthority) => authorities.includes(deniedAuthority));
|
|
72
74
|
return isAllowed && !isDenied;
|
|
73
75
|
}
|
|
76
|
+
canMatchRequirements(app) {
|
|
77
|
+
return this.#matchesRequirements({ id: app.id });
|
|
78
|
+
}
|
|
74
79
|
canUseFeatureById(featureId, authorities) {
|
|
75
80
|
const feature = this.#features.find((f) => f.id === featureId);
|
|
76
81
|
return !feature || (this.#matchesRequirements(feature) && this.canUseFeature(feature, authorities));
|
|
@@ -129,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
129
134
|
providedIn: 'root'
|
|
130
135
|
}]
|
|
131
136
|
}] });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LXNoZWxsLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9mZWF0dXJlL2ZlYXR1cmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFnQixzQkFBc0IsRUFBb0MsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0SixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFLbEUsTUFBTSxPQUFPLGNBQWM7SUFDekIsa0JBQWtCLEdBQUcsTUFBTSxDQUE0QixzQkFBc0IsQ0FBQyxDQUFDO0lBQy9FLG9CQUFvQixHQUFHLE1BQU0sQ0FBZSx1QkFBdUIsQ0FBQyxDQUFDO0lBRXJFLGNBQWMsR0FBRyxNQUFNLENBQTJCLDJCQUEyQixDQUFDLENBQUM7SUFDL0UsVUFBVSxHQUFHLE1BQU0sQ0FBVSxRQUFRLENBQUMsQ0FBQztJQUN2QyxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlCLFlBQVksR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMxQyxnQkFBZ0IsR0FBSSxJQUFJLENB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aEIscUJBQXFCO29CQUNyQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FDbkUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7d0JBQ1gsa0JBQWtCO3dCQUNsQiw0QkFBNEI7d0JBRTVCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO29CQUN4QixDQUFDLENBQUMsQ0FDSCxDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUNIO2dCQUNILENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQ2IsQ0FDRjtZQUNILENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixDQUFDOytHQWxKVSxjQUFjO21IQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFja2VuZFNlcnZpY2UsIFJlcXVpcmVtZW50cywgQVZBSUxBQkxFX0JBQ0tFTkRfQVBQUywgWXV2QXZhaWxhYmxlQmFja2VuZEFwcHMsIFl1dlVzZXIsIENMSUVOVF9BUFBfUkVRVUlSRU1FTlRTIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5cbmltcG9ydCB7IFlVVl9VU0VSIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwcCB9IGZyb20gJy4uLy4uL21vZGVscy9jbGllbnQtc2hlbGwuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNIRUxMX0NPTkZJR19GRUFUVVJFUyB9IGZyb20gJy4uL3NoZWxsLWNvbmZpZy9zaGVsbC1jb25maWcuY29uc3QnO1xuaW1wb3J0IHsgU2hlbGxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2hlbGwtY29uZmlnL3NoZWxsLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFNoZWxsU2VydmljZSB9IGZyb20gJy4uL3NoZWxsL3NoZWxsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xpZW50U2hlbGxGZWF0dXJlLCBDbGllbnRTaGVsbEZlYXR1cmVDb25maWcgfSBmcm9tICcuL2ZlYXR1cmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IENMSUVOVF9TSEVMTF9GRUFUVVJFX0NPTkZJRyB9IGZyb20gJy4vZmVhdHVyZS5wcm92aWRlcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlU2VydmljZSB7XG4gICNmZWF0dXJlTWFuYWdlbWVudCA9IGluamVjdDxZdXZBdmFpbGFibGVCYWNrZW5kQXBwc1tdPihBVkFJTEFCTEVfQkFDS0VORF9BUFBTKTtcbiAgI2ZlYXR1cmVSZXF1aXJlbWVudHMgPSBpbmplY3Q8UmVxdWlyZW1lbnRzPihDTElFTlRfQVBQX1JFUVVJUkVNRU5UUyk7XG5cbiAgI2ZlYXR1cmVDb25maWcgPSBpbmplY3Q8Q2xpZW50U2hlbGxGZWF0dXJlQ29uZmlnPihDTElFTlRfU0hFTExfRkVBVFVSRV9DT05GSUcpO1xuICAjdXNlclRva2VuID0gaW5qZWN0PFl1dlVzZXI+KFlVVl9VU0VSKTtcbiAgI3NoZWxsID0gaW5qZWN0KFNoZWxsU2VydmljZSk7XG4gICNzaGVsbENvbmZpZyA9IGluamVjdChTaGVsbENvbmZpZ1NlcnZpY2UpO1xuICAjZmVhdHVyZU9iamVjdElkPyA9IHRoaXMuI2ZlYXR1cmVDb25maWc/Lm9iamVjdElEO1xuICAjZmVhdHVyZXMgPSB0aGlzLiNmZWF0dXJlQ29uZmlnPy5mZWF0dXJlcyB8fCBbXTtcbiAgI2JhY2tlbmQgPSBpbmplY3QoQmFja2VuZFNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYSBmZWF0dXJlIG1lZXRzIGFsbCBpdHMgcmVxdWlyZW1lbnRzLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCB2YWxpZGF0ZXMgd2hldGhlciBhIGZlYXR1cmUgKGlkZW50aWZpZWQgYnkgaXRzIElEKSBjYW4gYmUgZW5hYmxlZCBiYXNlZCBvbjpcbiAgICogMS4gV2hldGhlciBpdCBoYXMgYW55IGRlZmluZWQgcmVxdWlyZW1lbnRzIGluIHRoZSBmZWF0dXJlIHJlcXVpcmVtZW50cyBjb25maWd1cmF0aW9uXG4gICAqIDIuIFdoZXRoZXIgYWxsIGl0cyByZXF1aXJlbWVudHMgYXJlIHByZXNlbnQgYW5kIGVuYWJsZWQgaW4gdGhlIGZlYXR1cmUgYXZhaWxhYmlsaXR5IGxpc3RcbiAgICpcbiAgICogQHBhcmFtIGZldCAtIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBmZWF0dXJlIElEIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBmZXQuaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGZlYXR1cmUgKG1heSBpbmNsdWRlICcuZXh0ZW5zaW9uJyBzdWZmaXgpXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgZmVhdHVyZSBoYXMgbm8gcmVxdWlyZW1lbnRzIG9yIGFsbCByZXF1aXJlbWVudHMgYXJlIGVuYWJsZWQ7IGBmYWxzZWAgb3RoZXJ3aXNlXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIC0gVGhlIG1ldGhvZCBtYXRjaGVzIGZlYXR1cmUgSURzIGV4YWN0bHkgb3Igd2l0aCBhbiBvcHRpb25hbCAnLmV4dGVuc2lvbicgc3VmZml4XG4gICAqIC0gUmVxdWlyZW1lbnQgbmFtZXMgZW5kaW5nIHdpdGggJysnIGhhdmUgdGhlIHN1ZmZpeCByZW1vdmVkIGJlZm9yZSB2YWxpZGF0aW9uXG4gICAqIC0gSWYgbm8gbWF0Y2hpbmcgcmVxdWlyZW1lbnRzIGFyZSBmb3VuZCwgdGhlIGZlYXR1cmUgaXMgY29uc2lkZXJlZCB2YWxpZCAocmV0dXJucyBgdHJ1ZWApXG4gICAqIC0gQWxsIHJlcXVpcmVtZW50cyBtdXN0IGhhdmUgYSBzdGF0ZSBvZiAnZW5hYmxlZCcgZm9yIHRoZSBmZWF0dXJlIHRvIHBhc3MgdmFsaWRhdGlvblxuICAgKi9cbiAgI21hdGNoZXNSZXF1aXJlbWVudHMoZmV0OiB7IGlkOiBzdHJpbmcgfSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZlYXR1cmVSZXF1aXJlbWVudHMgPSB0aGlzLiNmZWF0dXJlUmVxdWlyZW1lbnRzO1xuICAgIGNvbnN0IGZlYXR1cmVBdmFpbGFiaWxpdHkgPSB0aGlzLiNmZWF0dXJlTWFuYWdlbWVudDtcbiAgICAvLyBDaGVjayBpZiBmZXQuaWQgbWF0Y2hlcyBleGFjdGx5ICdrZXknIG9yICdrZXkuZXh0ZW5zaW9uJ1xuXG4gICAgY29uc3QgbWF0Y2hpbmdLZXkgPSBPYmplY3Qua2V5cyhmZWF0dXJlUmVxdWlyZW1lbnRzKS5maW5kKChrZXkpID0+IG5ldyBSZWdFeHAoYF4ke2tleX0oXFxcXC5leHRlbnNpb24pPyRgKS50ZXN0KGZldC5pZCkpO1xuXG4gICAgLy8gSWYgbm8gbWF0Y2hpbmcga2V5LCByZXR1cm4gdHJ1ZVxuICAgIGlmICghbWF0Y2hpbmdLZXkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIEdldCB0aGUgcmVxdWlyZW1lbnRzIGZvciB0aGUgbWF0Y2hpbmcga2V5XG4gICAgY29uc3QgcmVxdWlyZW1lbnRzID0gZmVhdHVyZVJlcXVpcmVtZW50c1ttYXRjaGluZ0tleV07XG5cbiAgICAvLyBDaGVjayBpZiBhbGwgcmVxdWlyZW1lbnRzIGFyZSBpbiBhdnYgd2l0aCBzdGF0ZSAnZW5hYmxlZCdcbiAgICByZXR1cm4gcmVxdWlyZW1lbnRzLmV2ZXJ5KChyZXFOYW1lKSA9PiB7XG4gICAgICAvLyBSZW1vdmUgdGhlICcrJyBzdWZmaXggaWYgcHJlc2VudFxuICAgICAgY29uc3QgY2xlYW5SZXFOYW1lID0gcmVxTmFtZS5yZXBsYWNlKC9cXCskLywgJycpO1xuICAgICAgLy8gRmluZCB0aGUgcmVxdWlyZW1lbnQgaW4gYXZ2IGFuZCBjaGVjayBpZiBpdCdzIGVuYWJsZWRcbiAgICAgIGNvbnN0IGZvdW5kID0gZmVhdHVyZUF2YWlsYWJpbGl0eS5maW5kKChpdGVtKSA9PiBpdGVtLm5hbWUgPT09IGNsZWFuUmVxTmFtZSk7XG4gICAgICByZXR1cm4gZm91bmQgJiYgZm91bmQuc3RhdGUgPT09ICdlbmFibGVkJztcbiAgICB9KTtcbiAgfVxuXG4gIGhhc0ZlYXR1cmVDb25maWcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy4jZmVhdHVyZU9iamVjdElkO1xuICB9XG5cbiAgZ2V0RmVhdHVyZXMoKTogQ2xpZW50U2hlbGxGZWF0dXJlW10ge1xuICAgIHJldHVybiB0aGlzLiNmZWF0dXJlcztcbiAgfVxuXG4gIGdldEF2YWlsYWJsZUFwcHMoYWxsQXBwczogQXBwW10pOiBBcHBbXSB7XG4gICAgcmV0dXJuIGFsbEFwcHMuZmlsdGVyKChhcHApID0+IHRoaXMuY2FuVXNlQXBwKGFwcCkgJiYgdGhpcy5jYW5Vc2VGZWF0dXJlQnlJZChhcHAuaWQpKTtcbiAgfVxuXG4gIGNhblVzZUFwcChhcHA6IEFwcCkge1xuICAgIGNvbnN0IGF1dGhvcml0aWVzID0gdGhpcy4jdXNlclRva2VuPy5hdXRob3JpdGllcyB8fCBbXTtcbiAgICBjb25zdCBhbGxvd2VkID0gYXBwLnBlcm1pc3Npb25zPy5hbGxvdyB8fCBbXTtcbiAgICBjb25zdCBkZW5pZWQgPSBhcHAucGVybWlzc2lvbnM/LmRlbnkgfHwgW107XG5cbiAgICBjb25zdCBpc0FsbG93ZWQgPSBhbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBhdXRob3JpdGllcy5zb21lKChhdXRob3JpdHkpID0+IGFsbG93ZWQuaW5jbHVkZXMoYXV0aG9yaXR5KSk7XG4gICAgY29uc3QgaXNEZW5pZWQgPSBkZW5pZWQuc29tZSgoZGVuaWVkQXV0aG9yaXR5KSA9PiBhdXRob3JpdGllcy5pbmNsdWRlcyhkZW5pZWRBdXRob3JpdHkpKTtcblxuICAgIHJldHVybiBpc0FsbG93ZWQgJiYgIWlzRGVuaWVkO1xuICB9XG5cbiAgY2FuVXNlRmVhdHVyZUJ5SWQoZmVhdHVyZUlkOiBzdHJpbmcsIGF1dGhvcml0aWVzPzogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICBjb25zdCBmZWF0dXJlID0gdGhpcy4jZmVhdHVyZXMuZmluZCgoZikgPT4gZi5pZCA9PT0gZmVhdHVyZUlkKTtcblxuICAgIHJldHVybiAhZmVhdHVyZSB8fCAodGhpcy4jbWF0Y2hlc1JlcXVpcmVtZW50cyhmZWF0dXJlKSAmJiB0aGlzLmNhblVzZUZlYXR1cmUoZmVhdHVyZSwgYXV0aG9yaXRpZXMpKTtcbiAgfVxuXG4gIGNhblVzZUZlYXR1cmUoZmVhdHVyZTogQ2xpZW50U2hlbGxGZWF0dXJlLCBhdXRob3JpdGllcz86IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYXV0aG9yaXRpZXNUb0NoZWNrID0gYXV0aG9yaXRpZXMgfHwgdGhpcy4jdXNlclRva2VuPy5hdXRob3JpdGllcyB8fCBbXTtcbiAgICBjb25zdCBhbGxvd2VkID0gZmVhdHVyZS5hbGxvd2VkIHx8IFtdO1xuICAgIGNvbnN0IGRlbmllZCA9IGZlYXR1cmUuZGVuaWVkIHx8IFtdO1xuXG4gICAgY29uc3QgaXNBbGxvd2VkID0gYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgYXV0aG9yaXRpZXNUb0NoZWNrLnNvbWUoKGF1dGhvcml0eSkgPT4gYWxsb3dlZC5pbmNsdWRlcyhhdXRob3JpdHkpKTtcbiAgICBjb25zdCBpc0RlbmllZCA9IGRlbmllZC5zb21lKChkZW5pZWRBdXRob3JpdHkpID0+IGF1dGhvcml0aWVzVG9DaGVjay5pbmNsdWRlcyhkZW5pZWRBdXRob3JpdHkpKTtcblxuICAgIHJldHVybiBpc0FsbG93ZWQgJiYgIWlzRGVuaWVkO1xuICB9XG5cbiAgc2F2ZUZlYXR1cmVTZXR0aW5ncyhmZWF0dXJlczogQ2xpZW50U2hlbGxGZWF0dXJlW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghdGhpcy4jZmVhdHVyZU9iamVjdElkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGZlYXR1cmUgY29uZmlndXJhdGlvbiBvYmplY3QgSUQgcHJvdmlkZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuI3NoZWxsQ29uZmlnLnVwZGF0ZSh0aGlzLiNmZWF0dXJlT2JqZWN0SWQsIGZlYXR1cmVzKS5waXBlKHRhcCgoKSA9PiAodGhpcy4jZmVhdHVyZXMgPSBmZWF0dXJlcykpKTtcbiAgfVxuXG4gIGRlbGV0ZUZlYXR1cmVTZXR0aW5ncygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghdGhpcy4jZmVhdHVyZU9iamVjdElkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGZlYXR1cmUgY29uZmlndXJhdGlvbiBvYmplY3QgSUQgcHJvdmlkZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuI3NoZWxsQ29uZmlnLmRlbGV0ZSh0aGlzLiNmZWF0dXJlT2JqZWN0SWQpO1xuICB9XG5cbiAgY3JlYXRlU2V0dGluZ3NPYmplY3QoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy4jc2hlbGxDb25maWcuY3JlYXRlKFNIRUxMX0NPTkZJR19GRUFUVVJFUywgW10pLnBpcGUoXG4gICAgICB0YXAoKHJlcykgPT4ge1xuICAgICAgICB0aGlzLiNmZWF0dXJlT2JqZWN0SWQgPSByZXMuaWQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBleHBvcnQoKSB7XG4gICAgaWYgKHRoaXMuI2ZlYXR1cmVPYmplY3RJZCkge1xuICAgICAgdGhpcy4jc2hlbGxDb25maWcuZG93bmxvYWQodGhpcy4jZmVhdHVyZU9iamVjdElkLCBgJHtTSEVMTF9DT05GSUdfRkVBVFVSRVN9Lmpzb25gKTtcbiAgICB9XG4gIH1cblxuICBpbXBvcnQoKSB7XG4gICAgLy8gcmVhZCBmaWxlcyBjb250ZW50c1xuXG4gICAgcmV0dXJuIHRoaXMuI2ZlYXR1cmVPYmplY3RJZFxuICAgICAgPyB0aGlzLiNzaGVsbC5waWNrRmlsZSgpLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChmaWxlKSA9PlxuICAgICAgICAgICAgZmlsZVxuICAgICAgICAgICAgICA/IHRoaXMuI3NoZWxsQ29uZmlnLnVwbG9hZCh0aGlzLiNmZWF0dXJlT2JqZWN0SWQhLCBmaWxlKS5waXBlKFxuICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gcmVhZCB1cGxvYWRlZCBmaWxlXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiNiYWNrZW5kLmdldChgL2Rtcy9vYmplY3RzLyR7cmVzLmlkfS9jb250ZW50cy9maWxlYCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICB0YXAoKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSBmZWF0dXJlc1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZygnZGF0YScsIGRhdGEpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiNmZWF0dXJlcyA9IGRhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICA6IG9mKG51bGwpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICA6IG9mKG51bGwpO1xuICB9XG59XG4iXX0=
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LXNoZWxsLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9mZWF0dXJlL2ZlYXR1cmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFnQixzQkFBc0IsRUFBb0MsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0SixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFLbEUsTUFBTSxPQUFPLGNBQWM7SUFDekIsa0JBQWtCLEdBQUcsTUFBTSxDQUE0QixzQkFBc0IsQ0FBQyxDQUFDO0lBQy9FLG9CQUFvQixHQUFHLE1BQU0sQ0FBZSx1QkFBdUIsQ0FBQyxDQUFDO0lBRXJFLGNBQWMsR0FBRyxNQUFNLENBQTJCLDJCQUEyQixDQUFDLENBQUM7SUFDL0UsVUFBVSxHQUFHLE1BQU0sQ0FBVSxRQUFRLENBQUMsQ0FBQztJQUN2QyxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlCLFlBQVksR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMxQyxnQkFBZ0IsR0FBSSxJQUFJLENB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USxFQUFFLENBQUMsSUFBSSxDQUN6QixTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNqQixJQUFJO2dCQUNGLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN6RCxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDaEIscUJBQXFCO29CQUNyQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FDbkUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7d0JBQ1gsa0JBQWtCO3dCQUNsQiw0QkFBNEI7d0JBRTVCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO29CQUN4QixDQUFDLENBQUMsQ0FDSCxDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUNIO2dCQUNILENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQ2IsQ0FDRjtZQUNILENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixDQUFDOytHQXJKVSxjQUFjO21IQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFja2VuZFNlcnZpY2UsIFJlcXVpcmVtZW50cywgQVZBSUxBQkxFX0JBQ0tFTkRfQVBQUywgWXV2QXZhaWxhYmxlQmFja2VuZEFwcHMsIFl1dlVzZXIsIENMSUVOVF9BUFBfUkVRVUlSRU1FTlRTIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5cbmltcG9ydCB7IFlVVl9VU0VSIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwcCB9IGZyb20gJy4uLy4uL21vZGVscy9jbGllbnQtc2hlbGwuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNIRUxMX0NPTkZJR19GRUFUVVJFUyB9IGZyb20gJy4uL3NoZWxsLWNvbmZpZy9zaGVsbC1jb25maWcuY29uc3QnO1xuaW1wb3J0IHsgU2hlbGxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2hlbGwtY29uZmlnL3NoZWxsLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFNoZWxsU2VydmljZSB9IGZyb20gJy4uL3NoZWxsL3NoZWxsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xpZW50U2hlbGxGZWF0dXJlLCBDbGllbnRTaGVsbEZlYXR1cmVDb25maWcgfSBmcm9tICcuL2ZlYXR1cmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IENMSUVOVF9TSEVMTF9GRUFUVVJFX0NPTkZJRyB9IGZyb20gJy4vZmVhdHVyZS5wcm92aWRlcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlU2VydmljZSB7XG4gICNmZWF0dXJlTWFuYWdlbWVudCA9IGluamVjdDxZdXZBdmFpbGFibGVCYWNrZW5kQXBwc1tdPihBVkFJTEFCTEVfQkFDS0VORF9BUFBTKTtcbiAgI2ZlYXR1cmVSZXF1aXJlbWVudHMgPSBpbmplY3Q8UmVxdWlyZW1lbnRzPihDTElFTlRfQVBQX1JFUVVJUkVNRU5UUyk7XG5cbiAgI2ZlYXR1cmVDb25maWcgPSBpbmplY3Q8Q2xpZW50U2hlbGxGZWF0dXJlQ29uZmlnPihDTElFTlRfU0hFTExfRkVBVFVSRV9DT05GSUcpO1xuICAjdXNlclRva2VuID0gaW5qZWN0PFl1dlVzZXI+KFlVVl9VU0VSKTtcbiAgI3NoZWxsID0gaW5qZWN0KFNoZWxsU2VydmljZSk7XG4gICNzaGVsbENvbmZpZyA9IGluamVjdChTaGVsbENvbmZpZ1NlcnZpY2UpO1xuICAjZmVhdHVyZU9iamVjdElkPyA9IHRoaXMuI2ZlYXR1cmVDb25maWc/Lm9iamVjdElEO1xuICAjZmVhdHVyZXMgPSB0aGlzLiNmZWF0dXJlQ29uZmlnPy5mZWF0dXJlcyB8fCBbXTtcbiAgI2JhY2tlbmQgPSBpbmplY3QoQmFja2VuZFNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYSBmZWF0dXJlIG1lZXRzIGFsbCBpdHMgcmVxdWlyZW1lbnRzLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCB2YWxpZGF0ZXMgd2hldGhlciBhIGZlYXR1cmUgKGlkZW50aWZpZWQgYnkgaXRzIElEKSBjYW4gYmUgZW5hYmxlZCBiYXNlZCBvbjpcbiAgICogMS4gV2hldGhlciBpdCBoYXMgYW55IGRlZmluZWQgcmVxdWlyZW1lbnRzIGluIHRoZSBmZWF0dXJlIHJlcXVpcmVtZW50cyBjb25maWd1cmF0aW9uXG4gICAqIDIuIFdoZXRoZXIgYWxsIGl0cyByZXF1aXJlbWVudHMgYXJlIHByZXNlbnQgYW5kIGVuYWJsZWQgaW4gdGhlIGZlYXR1cmUgYXZhaWxhYmlsaXR5IGxpc3RcbiAgICpcbiAgICogQHBhcmFtIGZldCAtIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBmZWF0dXJlIElEIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBmZXQuaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGZlYXR1cmUgKG1heSBpbmNsdWRlICcuZXh0ZW5zaW9uJyBzdWZmaXgpXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgZmVhdHVyZSBoYXMgbm8gcmVxdWlyZW1lbnRzIG9yIGFsbCByZXF1aXJlbWVudHMgYXJlIGVuYWJsZWQ7IGBmYWxzZWAgb3RoZXJ3aXNlXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIC0gVGhlIG1ldGhvZCBtYXRjaGVzIGZlYXR1cmUgSURzIGV4YWN0bHkgb3Igd2l0aCBhbiBvcHRpb25hbCAnLmV4dGVuc2lvbicgc3VmZml4XG4gICAqIC0gUmVxdWlyZW1lbnQgbmFtZXMgZW5kaW5nIHdpdGggJysnIGhhdmUgdGhlIHN1ZmZpeCByZW1vdmVkIGJlZm9yZSB2YWxpZGF0aW9uXG4gICAqIC0gSWYgbm8gbWF0Y2hpbmcgcmVxdWlyZW1lbnRzIGFyZSBmb3VuZCwgdGhlIGZlYXR1cmUgaXMgY29uc2lkZXJlZCB2YWxpZCAocmV0dXJucyBgdHJ1ZWApXG4gICAqIC0gQWxsIHJlcXVpcmVtZW50cyBtdXN0IGhhdmUgYSBzdGF0ZSBvZiAnZW5hYmxlZCcgZm9yIHRoZSBmZWF0dXJlIHRvIHBhc3MgdmFsaWRhdGlvblxuICAgKi9cbiAgI21hdGNoZXNSZXF1aXJlbWVudHMoZmVhdDogeyBpZDogc3RyaW5nIH0pOiBib29sZWFuIHtcbiAgICBjb25zdCBmZWF0dXJlUmVxdWlyZW1lbnRzID0gdGhpcy4jZmVhdHVyZVJlcXVpcmVtZW50cztcbiAgICBjb25zdCBmZWF0dXJlQXZhaWxhYmlsaXR5ID0gdGhpcy4jZmVhdHVyZU1hbmFnZW1lbnQ7XG4gICAgaWYoIWZlYXR1cmVSZXF1aXJlbWVudHMpIHJldHVybiB0cnVlO1xuICAgIC8vIENoZWNrIGlmIGZldC5pZCBtYXRjaGVzIGV4YWN0bHkgJ2tleScgb3IgJ2tleS5leHRlbnNpb24nXG4gICAgY29uc3QgbWF0Y2hpbmdLZXkgPSBPYmplY3Qua2V5cyhmZWF0dXJlUmVxdWlyZW1lbnRzKS5maW5kKChrZXkpID0+IG5ldyBSZWdFeHAoYF4ke2tleX0oXFxcXC5leHRlbnNpb24pPyRgKS50ZXN0KGZlYXQuaWQpKTtcblxuICAgIC8vIElmIG5vIG1hdGNoaW5nIGtleSwgcmV0dXJuIHRydWVcbiAgICBpZiAoIW1hdGNoaW5nS2V5KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBHZXQgdGhlIHJlcXVpcmVtZW50cyBmb3IgdGhlIG1hdGNoaW5nIGtleVxuICAgIGNvbnN0IHJlcXVpcmVtZW50cyA9IGZlYXR1cmVSZXF1aXJlbWVudHNbbWF0Y2hpbmdLZXldO1xuXG4gICAgLy8gQ2hlY2sgaWYgYWxsIHJlcXVpcmVtZW50cyBhcmUgaW4gYXZ2IHdpdGggc3RhdGUgJ2VuYWJsZWQnXG4gICAgcmV0dXJuIHJlcXVpcmVtZW50cy5ldmVyeSgocmVxTmFtZSkgPT4ge1xuICAgICAgLy8gUmVtb3ZlIHRoZSAnKycgc3VmZml4IGlmIHByZXNlbnRcbiAgICAgIGNvbnN0IGNsZWFuUmVxTmFtZSA9IHJlcU5hbWUucmVwbGFjZSgvXFwrJC8sICcnKTtcbiAgICAgIC8vIEZpbmQgdGhlIHJlcXVpcmVtZW50IGluIGF2diBhbmQgY2hlY2sgaWYgaXQncyBlbmFibGVkXG4gICAgICBjb25zdCBmb3VuZCA9IGZlYXR1cmVBdmFpbGFiaWxpdHkuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lID09PSBjbGVhblJlcU5hbWUpO1xuICAgICAgcmV0dXJuIGZvdW5kICYmIGZvdW5kLnN0YXRlID09PSAnZW5hYmxlZCc7XG4gICAgfSk7XG4gIH1cblxuICBoYXNGZWF0dXJlQ29uZmlnKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuI2ZlYXR1cmVPYmplY3RJZDtcbiAgfVxuXG4gIGdldEZlYXR1cmVzKCk6IENsaWVudFNoZWxsRmVhdHVyZVtdIHtcbiAgICByZXR1cm4gdGhpcy4jZmVhdHVyZXM7XG4gIH1cblxuICBnZXRBdmFpbGFibGVBcHBzKGFsbEFwcHM6IEFwcFtdKTogQXBwW10ge1xuICAgIHJldHVybiBhbGxBcHBzLmZpbHRlcigoYXBwKSA9PiB0aGlzLiNtYXRjaGVzUmVxdWlyZW1lbnRzKGFwcCkgJiYgdGhpcy5jYW5Vc2VBcHAoYXBwKSAmJiB0aGlzLmNhblVzZUZlYXR1cmVCeUlkKGFwcC5pZCkpO1xuICB9XG5cbiAgY2FuVXNlQXBwKGFwcDogQXBwKSB7XG4gICAgY29uc3QgYXV0aG9yaXRpZXMgPSB0aGlzLiN1c2VyVG9rZW4/LmF1dGhvcml0aWVzIHx8IFtdO1xuICAgIGNvbnN0IGFsbG93ZWQgPSBhcHAucGVybWlzc2lvbnM/LmFsbG93IHx8IFtdO1xuICAgIGNvbnN0IGRlbmllZCA9IGFwcC5wZXJtaXNzaW9ucz8uZGVueSB8fCBbXTtcblxuICAgIGNvbnN0IGlzQWxsb3dlZCA9IGFsbG93ZWQubGVuZ3RoID09PSAwIHx8IGF1dGhvcml0aWVzLnNvbWUoKGF1dGhvcml0eSkgPT4gYWxsb3dlZC5pbmNsdWRlcyhhdXRob3JpdHkpKTtcbiAgICBjb25zdCBpc0RlbmllZCA9IGRlbmllZC5zb21lKChkZW5pZWRBdXRob3JpdHkpID0+IGF1dGhvcml0aWVzLmluY2x1ZGVzKGRlbmllZEF1dGhvcml0eSkpO1xuXG4gICAgcmV0dXJuIGlzQWxsb3dlZCAmJiAhaXNEZW5pZWQ7XG4gIH1cblxuICBjYW5NYXRjaFJlcXVpcmVtZW50cyhhcHA6IHsgaWQ6IHN0cmluZyB9KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI21hdGNoZXNSZXF1aXJlbWVudHMoeyBpZDogYXBwLmlkIH0pO1xuICB9XG5cbiAgY2FuVXNlRmVhdHVyZUJ5SWQoZmVhdHVyZUlkOiBzdHJpbmcsIGF1dGhvcml0aWVzPzogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICBjb25zdCBmZWF0dXJlID0gdGhpcy4jZmVhdHVyZXMuZmluZCgoZikgPT4gZi5pZCA9PT0gZmVhdHVyZUlkKTtcbiAgICByZXR1cm4gIWZlYXR1cmUgfHwgKHRoaXMuI21hdGNoZXNSZXF1aXJlbWVudHMoZmVhdHVyZSkgJiYgdGhpcy5jYW5Vc2VGZWF0dXJlKGZlYXR1cmUsIGF1dGhvcml0aWVzKSk7XG4gIH1cblxuICBjYW5Vc2VGZWF0dXJlKGZlYXR1cmU6IENsaWVudFNoZWxsRmVhdHVyZSwgYXV0aG9yaXRpZXM/OiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGF1dGhvcml0aWVzVG9DaGVjayA9IGF1dGhvcml0aWVzIHx8IHRoaXMuI3VzZXJUb2tlbj8uYXV0aG9yaXRpZXMgfHwgW107XG4gICAgY29uc3QgYWxsb3dlZCA9IGZlYXR1cmUuYWxsb3dlZCB8fCBbXTtcbiAgICBjb25zdCBkZW5pZWQgPSBmZWF0dXJlLmRlbmllZCB8fCBbXTtcblxuICAgIGNvbnN0IGlzQWxsb3dlZCA9IGFsbG93ZWQubGVuZ3RoID09PSAwIHx8IGF1dGhvcml0aWVzVG9DaGVjay5zb21lKChhdXRob3JpdHkpID0+IGFsbG93ZWQuaW5jbHVkZXMoYXV0aG9yaXR5KSk7XG4gICAgY29uc3QgaXNEZW5pZWQgPSBkZW5pZWQuc29tZSgoZGVuaWVkQXV0aG9yaXR5KSA9PiBhdXRob3JpdGllc1RvQ2hlY2suaW5jbHVkZXMoZGVuaWVkQXV0aG9yaXR5KSk7XG5cbiAgICByZXR1cm4gaXNBbGxvd2VkICYmICFpc0RlbmllZDtcbiAgfVxuXG4gIHNhdmVGZWF0dXJlU2V0dGluZ3MoZmVhdHVyZXM6IENsaWVudFNoZWxsRmVhdHVyZVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuI2ZlYXR1cmVPYmplY3RJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBmZWF0dXJlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IElEIHByb3ZpZGVkJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLiNzaGVsbENvbmZpZy51cGRhdGUodGhpcy4jZmVhdHVyZU9iamVjdElkLCBmZWF0dXJlcykucGlwZSh0YXAoKCkgPT4gKHRoaXMuI2ZlYXR1cmVzID0gZmVhdHVyZXMpKSk7XG4gIH1cblxuICBkZWxldGVGZWF0dXJlU2V0dGluZ3MoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuI2ZlYXR1cmVPYmplY3RJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBmZWF0dXJlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IElEIHByb3ZpZGVkJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLiNzaGVsbENvbmZpZy5kZWxldGUodGhpcy4jZmVhdHVyZU9iamVjdElkKTtcbiAgfVxuXG4gIGNyZWF0ZVNldHRpbmdzT2JqZWN0KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuI3NoZWxsQ29uZmlnLmNyZWF0ZShTSEVMTF9DT05GSUdfRkVBVFVSRVMsIFtdKS5waXBlKFxuICAgICAgdGFwKChyZXMpID0+IHtcbiAgICAgICAgdGhpcy4jZmVhdHVyZU9iamVjdElkID0gcmVzLmlkO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZXhwb3J0KCkge1xuICAgIGlmICh0aGlzLiNmZWF0dXJlT2JqZWN0SWQpIHtcbiAgICAgIHRoaXMuI3NoZWxsQ29uZmlnLmRvd25sb2FkKHRoaXMuI2ZlYXR1cmVPYmplY3RJZCwgYCR7U0hFTExfQ09ORklHX0ZFQVRVUkVTfS5qc29uYCk7XG4gICAgfVxuICB9XG5cbiAgaW1wb3J0KCkge1xuICAgIC8vIHJlYWQgZmlsZXMgY29udGVudHNcblxuICAgIHJldHVybiB0aGlzLiNmZWF0dXJlT2JqZWN0SWRcbiAgICAgID8gdGhpcy4jc2hlbGwucGlja0ZpbGUoKS5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgoZmlsZSkgPT5cbiAgICAgICAgICAgIGZpbGVcbiAgICAgICAgICAgICAgPyB0aGlzLiNzaGVsbENvbmZpZy51cGxvYWQodGhpcy4jZmVhdHVyZU9iamVjdElkISwgZmlsZSkucGlwZShcbiAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHJlYWQgdXBsb2FkZWQgZmlsZVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4jYmFja2VuZC5nZXQoYC9kbXMvb2JqZWN0cy8ke3Jlcy5pZH0vY29udGVudHMvZmlsZWApLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgdGFwKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgZmVhdHVyZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vY29uc29sZS5sb2coJ2RhdGEnLCBkYXRhKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4jZmVhdHVyZXMgPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgOiBvZihudWxsKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgOiBvZihudWxsKTtcbiAgfVxufVxuIl19
|
|
@@ -46,11 +46,14 @@ export async function bootstrapShellApplication(rootComponent, options, shellOpt
|
|
|
46
46
|
if (shellOptions?.alwaysShowNotifications) {
|
|
47
47
|
defaultProviders.push(provideClientShellAlwaysShowNotifications(true));
|
|
48
48
|
}
|
|
49
|
-
|
|
50
|
-
if (
|
|
51
|
-
|
|
49
|
+
// only call the backend if there actually are requirements to check
|
|
50
|
+
if (requirements && Object.keys(requirements).length > 0) {
|
|
51
|
+
const requirementsResponse = await fetch(`/api/dms/apps`, { headers: { 'Content-Type': 'application/json' } });
|
|
52
|
+
if (requirementsResponse.ok) {
|
|
53
|
+
defaultProviders.push(provideAvailabilityManagement(requirementsMapping(await requirementsResponse.json())));
|
|
54
|
+
}
|
|
55
|
+
defaultProviders.push(provideRequirements(requirements));
|
|
52
56
|
}
|
|
53
|
-
requirements && Object.keys(requirements).length && defaultProviders.push(provideRequirements(requirements));
|
|
54
57
|
if (userRes && shellOptions?.enableFeatureConfig) {
|
|
55
58
|
// find the config file
|
|
56
59
|
const response = await fetch('/api/dms/objects/search', {
|
|
@@ -78,4 +81,4 @@ export async function bootstrapShellApplication(rootComponent, options, shellOpt
|
|
|
78
81
|
o.providers = [...defaultProviders, ...o.providers];
|
|
79
82
|
return bootstrapApplication(rootComponent, o);
|
|
80
83
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwuYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LXNoZWxsLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9zaGVsbC9zaGVsbC5ib290c3RyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQyxNQUFNLEVBQUUscUJBQXFCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFnQiw2QkFBNkIsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUd6SSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNySCxPQUFPLEVBQUUseUJBQXlCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0M7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSx5QkFBeUIsQ0FDN0MsYUFBNEIsRUFDNUIsT0FBMkIsRUFDM0IsWUFBb0MsRUFDcEMsWUFBMkI7SUFFM0IsTUFBTSxDQUFDLEdBQXNCLE9BQU8sSUFBSTtRQUN0QyxTQUFTLEVBQUUsRUFBRTtLQUNkLENBQUM7SUFDRixNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUM1QixNQUFNLFlBQVksR0FBYSxNQUFNLEtBQUssQ0FBQyx5QkFBeUIsRUFBRTtRQUNwRSxPQUFPLEVBQUU7WUFDUCxjQUFjLEVBQUUsa0JBQWtCO1NBQ25DO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxF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QUFHLElBQUksRUFBRTthQUNwQixDQUFDO1lBRUYsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQztJQUNELENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELE9BQU8sb0JBQW9CLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvbkNvbmZpZywgQXBwbGljYXRpb25SZWYsIGluamVjdCwgcHJvdmlkZUFwcEluaXRpYWxpemVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBib290c3RyYXBBcHBsaWNhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQmFzZU9iamVjdFR5cGVGaWVsZCwgUmVxdWlyZW1lbnRzLCBwcm92aWRlQXZhaWxhYmlsaXR5TWFuYWdlbWVudCwgcHJvdmlkZVJlcXVpcmVtZW50cywgcHJvdmlkZVVzZXIgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFNoZWxsQm9vdHN0cmFwT3B0aW9ucyB9IGZyb20gJy4uLy4uL21vZGVscy9jbGllbnQtc2hlbGwuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsaWVudFNoZWxsRmVhdHVyZUNvbmZpZyB9IGZyb20gJy4uL2ZlYXR1cmUvZmVhdHVyZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgcHJvdmlkZUNsaWVudFNoZWxsQWx3YXlzU2hvd05vdGlmaWNhdGlvbnMsIHByb3ZpZGVDbGllbnRTaGVsbEZlYXR1cmVzIH0gZnJvbSAnLi4vZmVhdHVyZS9mZWF0dXJlLnByb3ZpZGVycyc7XG5pbXBvcnQgeyBnZXRTaGVsbENvbmZpZ1F1ZXJ5U3RyaW5nLCBTSEVMTF9DT05GSUdfRkVBVFVSRVMgfSBmcm9tICcuLi9zaGVsbC1jb25maWcvc2hlbGwtY29uZmlnLmNvbnN0JztcbmltcG9ydCB7IHJlcXVpcmVtZW50c01hcHBpbmcgfSBmcm9tICcuL3JlcXVpcmVtZW50cy5wYXJzZXInO1xuaW1wb3J0IHsgU2hlbGxTZXJ2aWNlIH0gZnJvbSAnLi9zaGVsbC5zZXJ2aWNlJztcblxuLyoqXG4gKiBCb29zdHJhcHMgYSB5dXV2aXMgTW9tZW50dW0gc2hlbGwgY2xpZW50LlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBib290c3RyYXBTaGVsbEFwcGxpY2F0aW9uIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtc2hlbGwtY29yZSc7XG4gKlxuICogYm9vdHN0cmFwU2hlbGxBcHBsaWNhdGlvbihBcHBDb21wb25lbnQsIGFwcENvbmZpZykuY2F0Y2goKGVycikgPT4gY29uc29sZS5lcnJvcihlcnIpKTtcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSByb290Q29tcG9uZW50IFJvb3QgY29tcG9uZW50IG9mIHRoZSBhcHBsaWNhdGlvblxuICogQHBhcmFtIG9wdGlvbnMgQXBwbGljYXRpb24gY29uZmlndXJhdGlvblxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJvb3RzdHJhcFNoZWxsQXBwbGljYXRpb24oXG4gIHJvb3RDb21wb25lbnQ6IFR5cGU8dW5rbm93bj4sXG4gIG9wdGlvbnM/OiBBcHBsaWNhdGlvbkNvbmZpZyxcbiAgc2hlbGxPcHRpb25zPzogU2hlbGxCb290c3RyYXBPcHRpb25zLFxuICByZXF1aXJlbWVudHM/OiBSZXF1aXJlbWVudHNcbik6IFByb21pc2U8QXBwbGljYXRpb25SZWY+IHtcbiAgY29uc3QgbzogQXBwbGljYXRpb25Db25maWcgPSBvcHRpb25zIHx8IHtcbiAgICBwcm92aWRlcnM6IFtdXG4gIH07XG4gIGNvbnN0IGRlZmF1bHRQcm92aWRlcnMgPSBbXTtcbiAgY29uc3QgdXNlclJlc3BvbnNlOiBSZXNwb25zZSA9IGF3YWl0IGZldGNoKCcvYXBpLXdlYi9hcGkvaWRtL3dob2FtaScsIHtcbiAgICBoZWFkZXJzOiB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgfVxuICB9KTtcblxuICBpZiAoIXVzZXJSZXNwb25zZS5vaykge1xuICAgIGlmICh1c2VyUmVzcG9uc2Uuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7bG9jYXRpb24ub3JpZ2lufS9sb2dvdXRgO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCB1c2VyIGluZm9ybWF0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgdXNlclJlcyA9IGF3YWl0IHVzZXJSZXNwb25zZS5qc29uKCk7XG4gIG8ucHJvdmlkZXJzID0gWy4uLm8ucHJvdmlkZXJzLCBwcm92aWRlVXNlcih1c2VyUmVzKV07XG5cbiAgaWYgKHNoZWxsT3B0aW9ucz8uZW5hYmxlT2JqZWN0VHlwZUNvbmZpZykge1xuICAgIGRlZmF1bHRQcm92aWRlcnMucHVzaChcbiAgICAgIHByb3ZpZGVBcHBJbml0aWFsaXplcigoKSA9PiB7XG4gICAgICAgIGluamVjdChTaGVsbFNlcnZpY2UpLl9pbml0T2JqZWN0VHlwZUNvbmZpZygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgaWYgKHNoZWxsT3B0aW9ucz8uYWx3YXlzU2hvd05vdGlmaWNhdGlvbnMpIHtcbiAgICBkZWZhdWx0UHJvdmlkZXJzLnB1c2gocHJvdmlkZUNsaWVudFNoZWxsQWx3YXlzU2hvd05vdGlmaWNhdGlvbnModHJ1ZSkpO1xuICB9XG5cbiAgLy8gb25seSBjYWxsIHRoZSBiYWNrZW5kIGlmIHRoZXJlIGFjdHVhbGx5IGFyZSByZXF1aXJlbWVudHMgdG8gY2hlY2tcbiAgaWYgKHJlcXVpcmVtZW50cyAmJiBPYmplY3Qua2V5cyhyZXF1aXJlbWVudHMpLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCByZXF1aXJlbWVudHNSZXNwb25zZTogUmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgL2FwaS9kbXMvYXBwc2AsIHsgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0gfSk7XG4gICAgaWYgKHJlcXVpcmVtZW50c1Jlc3BvbnNlLm9rKSB7XG4gICAgICBkZWZhdWx0UHJvdmlkZXJzLnB1c2gocHJvdmlkZUF2YWlsYWJpbGl0eU1hbmFnZW1lbnQocmVxdWlyZW1lbnRzTWFwcGluZyhhd2FpdCByZXF1aXJlbWVudHNSZXNwb25zZS5qc29uKCkpKSk7XG4gICAgfVxuICAgIGRlZmF1bHRQcm92aWRlcnMucHVzaChwcm92aWRlUmVxdWlyZW1lbnRzKHJlcXVpcmVtZW50cykpO1xuICB9XG5cbiAgaWYgKHVzZXJSZXMgJiYgc2hlbGxPcHRpb25zPy5lbmFibGVGZWF0dXJlQ29uZmlnKSB7XG4gICAgLy8gZmluZCB0aGUgY29uZmlnIGZpbGVcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKCcvYXBpL2Rtcy9vYmplY3RzL3NlYXJjaCcsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgc3RhdGVtZW50OiBnZXRTaGVsbENvbmZpZ1F1ZXJ5U3RyaW5nKFNIRUxMX0NPTkZJR19GRUFUVVJFUylcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG5cbiAgICBjb25zdCBvYmplY3RzID0gcmVzLm9iamVjdHM7XG4gICAgaWYgKG9iamVjdHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGlkID0gb2JqZWN0c1swXT8ucHJvcGVydGllc1tCYXNlT2JqZWN0VHlwZUZpZWxkLk9CSkVDVF9JRF0udmFsdWU7XG5cbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBmZXRjaChgL2FwaS9kbXMvb2JqZWN0cy8ke2lkfS9jb250ZW50cy9maWxlYCwgeyBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSB9KTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZpbGUuanNvbigpO1xuICAgICAgY29uc3Qgc2hlbGxGZWF0dXJlQ29uZmlnOiBDbGllbnRTaGVsbEZlYXR1cmVDb25maWcgPSB7XG4gICAgICAgIG9iamVjdElEOiBpZCxcbiAgICAgICAgZmVhdHVyZXM6IHJlcyB8fCBbXVxuICAgICAgfTtcblxuICAgICAgZGVmYXVsdFByb3ZpZGVycy5wdXNoKHByb3ZpZGVDbGllbnRTaGVsbEZlYXR1cmVzKHNoZWxsRmVhdHVyZUNvbmZpZykpO1xuICAgIH1cbiAgfVxuICBvLnByb3ZpZGVycyA9IFsuLi5kZWZhdWx0UHJvdmlkZXJzLCAuLi5vLnByb3ZpZGVyc107XG4gIHJldHVybiBib290c3RyYXBBcHBsaWNhdGlvbihyb290Q29tcG9uZW50LCBvKTtcbn1cbiJdfQ==
|
|
@@ -8,6 +8,9 @@ export declare class FeatureService {
|
|
|
8
8
|
getFeatures(): ClientShellFeature[];
|
|
9
9
|
getAvailableApps(allApps: App[]): App[];
|
|
10
10
|
canUseApp(app: App): boolean;
|
|
11
|
+
canMatchRequirements(app: {
|
|
12
|
+
id: string;
|
|
13
|
+
}): boolean;
|
|
11
14
|
canUseFeatureById(featureId: string, authorities?: string[]): boolean;
|
|
12
15
|
canUseFeature(feature: ClientShellFeature, authorities?: string[]): boolean;
|
|
13
16
|
saveFeatureSettings(features: ClientShellFeature[]): Observable<any>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yuuvis/client-shell-core",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.2",
|
|
4
4
|
"author": "OPTIMAL SYSTEMS GmbH <npm@optimal-systems.de>",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"peerDependencies": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"@angular/material": "^19.2.15",
|
|
10
10
|
"rxjs": "^7.8.2",
|
|
11
11
|
"@angular/platform-browser": "^19.2.1",
|
|
12
|
-
"@yuuvis/client-core": "^2.8.
|
|
12
|
+
"@yuuvis/client-core": "^2.8.2"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"tslib": "^2.3.0"
|