@artstesh/maps 1.1.26 → 1.1.28
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/dist/bundles/maps-components-src-map.umd.js +402 -22
- package/dist/bundles/maps-components-src-map.umd.js.map +1 -1
- package/dist/bundles/maps-components.umd.js +402 -22
- package/dist/bundles/maps-components.umd.js.map +1 -1
- package/dist/esm2015/map/helpers/text-style.helper.js +15 -7
- package/dist/esm2015/map/map-plate/layers/index.js +3 -1
- package/dist/esm2015/map/map-plate/layers/raster-tile/raster-tile-layer.component.js +54 -0
- package/dist/esm2015/map/map-plate/layers/raster-tile/raster-tile-layer.factory.js +74 -0
- package/dist/esm2015/map/map-plate/layers/raster-tile/raster-tile-layer.settings.js +151 -0
- package/dist/esm2015/map/map.module.js +8 -3
- package/dist/esm2015/map/messages/commands/add-raster-tile-command.js +9 -0
- package/dist/esm2015/map/messages/commands/remove-raster-tile.command.js +9 -0
- package/dist/esm2015/map/messages/commands/start-drawing.command.js +1 -1
- package/dist/esm2015/map/messages/executors/generate-draw.executor.js +1 -1
- package/dist/esm2015/map/messages/executors/get-geometry-length.executor.js +16 -0
- package/dist/esm2015/map/messages/index.js +2 -1
- package/dist/esm2015/map/models/drawing-type.enum.js +2 -1
- package/dist/esm2015/map/ol-proxy.js +6 -0
- package/dist/esm2015/map/public-api.js +2 -2
- package/dist/esm2015/map/services/drawing/drawing-generation.service.js +2 -2
- package/dist/esm2015/map/services/map-management.service.js +18 -9
- package/dist/esm2015/map/services/message-registrator.service.js +7 -1
- package/dist/esm2015/src/map/helpers/text-style.helper.js +15 -7
- package/dist/esm2015/src/map/map-plate/layers/index.js +3 -1
- package/dist/esm2015/src/map/map-plate/layers/raster-tile/raster-tile-layer.component.js +54 -0
- package/dist/esm2015/src/map/map-plate/layers/raster-tile/raster-tile-layer.factory.js +74 -0
- package/dist/esm2015/src/map/map-plate/layers/raster-tile/raster-tile-layer.settings.js +151 -0
- package/dist/esm2015/src/map/map.module.js +8 -3
- package/dist/esm2015/src/map/messages/commands/add-raster-tile-command.js +9 -0
- package/dist/esm2015/src/map/messages/commands/remove-raster-tile.command.js +9 -0
- package/dist/esm2015/src/map/messages/commands/start-drawing.command.js +1 -1
- package/dist/esm2015/src/map/messages/executors/generate-draw.executor.js +1 -1
- package/dist/esm2015/src/map/messages/executors/get-geometry-length.executor.js +16 -0
- package/dist/esm2015/src/map/messages/index.js +2 -1
- package/dist/esm2015/src/map/models/drawing-type.enum.js +2 -1
- package/dist/esm2015/src/map/ol-proxy.js +6 -0
- package/dist/esm2015/src/map/public-api.js +2 -2
- package/dist/esm2015/src/map/services/drawing/drawing-generation.service.js +2 -2
- package/dist/esm2015/src/map/services/map-management.service.js +18 -9
- package/dist/esm2015/src/map/services/message-registrator.service.js +7 -1
- package/dist/fesm2015/maps-components-src-map.js +345 -23
- package/dist/fesm2015/maps-components-src-map.js.map +1 -1
- package/dist/fesm2015/maps-components.js +345 -23
- package/dist/fesm2015/maps-components.js.map +1 -1
- package/dist/map/helpers/text-style.helper.d.ts +10 -6
- package/dist/map/map-plate/layers/index.d.ts +2 -0
- package/dist/map/map-plate/layers/raster-tile/raster-tile-layer.component.d.ts +21 -0
- package/dist/map/map-plate/layers/raster-tile/raster-tile-layer.factory.d.ts +12 -0
- package/dist/map/map-plate/layers/raster-tile/raster-tile-layer.settings.d.ts +108 -0
- package/dist/map/map.module.d.ts +3 -2
- package/dist/map/messages/commands/add-raster-tile-command.d.ts +8 -0
- package/dist/map/messages/commands/remove-raster-tile.command.d.ts +8 -0
- package/dist/map/messages/commands/start-drawing.command.d.ts +3 -3
- package/dist/map/messages/executors/generate-draw.executor.d.ts +3 -3
- package/dist/map/messages/executors/get-geometry-length.executor.d.ts +11 -0
- package/dist/map/messages/index.d.ts +1 -0
- package/dist/map/models/drawing-type.enum.d.ts +2 -1
- package/dist/map/ol-proxy.d.ts +7 -0
- package/dist/map/public-api.d.ts +1 -1
- package/dist/map/services/map-management.service.d.ts +0 -1
- package/dist/src/map/helpers/text-style.helper.d.ts +10 -6
- package/dist/src/map/map-plate/layers/index.d.ts +2 -0
- package/dist/src/map/map-plate/layers/raster-tile/raster-tile-layer.component.d.ts +21 -0
- package/dist/src/map/map-plate/layers/raster-tile/raster-tile-layer.factory.d.ts +12 -0
- package/dist/src/map/map-plate/layers/raster-tile/raster-tile-layer.settings.d.ts +108 -0
- package/dist/src/map/map.module.d.ts +3 -2
- package/dist/src/map/messages/commands/add-raster-tile-command.d.ts +8 -0
- package/dist/src/map/messages/commands/remove-raster-tile.command.d.ts +8 -0
- package/dist/src/map/messages/commands/start-drawing.command.d.ts +3 -3
- package/dist/src/map/messages/executors/generate-draw.executor.d.ts +3 -3
- package/dist/src/map/messages/executors/get-geometry-length.executor.d.ts +11 -0
- package/dist/src/map/messages/index.d.ts +1 -0
- package/dist/src/map/models/drawing-type.enum.d.ts +2 -1
- package/dist/src/map/ol-proxy.d.ts +7 -0
- package/dist/src/map/public-api.d.ts +1 -1
- package/dist/src/map/services/map-management.service.d.ts +0 -1
- package/package.json +2 -2
|
@@ -12,6 +12,8 @@ import { FilterFeaturesInAreaExecutor } from '../messages/executors/filter-featu
|
|
|
12
12
|
import { Dictionary } from '@artstesh/collections';
|
|
13
13
|
import { RemoveImageLayerCommand } from '../messages/commands/remove-image-layer.command';
|
|
14
14
|
import { AddImageLayerCommand } from '../messages/commands/add-image-layer.command';
|
|
15
|
+
import { AddRasterTileCommand } from '../messages/commands/add-raster-tile-command';
|
|
16
|
+
import { RemoveRasterTileCommand } from '../messages/commands/remove-raster-tile.command';
|
|
15
17
|
import * as i0 from "@angular/core";
|
|
16
18
|
import * as i1 from "./map-postboy.service";
|
|
17
19
|
export class MapManagementService {
|
|
@@ -25,19 +27,11 @@ export class MapManagementService {
|
|
|
25
27
|
this.observeRemoveLayer();
|
|
26
28
|
this.observePlaceFeatures();
|
|
27
29
|
this.observeAddTile();
|
|
28
|
-
this.observeRemoveTile();
|
|
29
30
|
this.observeLayerQuery();
|
|
30
31
|
this.observeFeaturesInArea();
|
|
31
32
|
this.observeFeaturesInPoint();
|
|
32
33
|
this.observeImageLayer();
|
|
33
34
|
}
|
|
34
|
-
observeRemoveTile() {
|
|
35
|
-
this.postboy.sub(RemoveTileCommand).subscribe((c) => {
|
|
36
|
-
if (!this.map)
|
|
37
|
-
return;
|
|
38
|
-
this.map.removeLayer(c.layer);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
35
|
observeLayerQuery() {
|
|
42
36
|
this.postboy.sub(GetLayerQuery).subscribe((ev) => ev.finish(this.layers.take(ev.name)));
|
|
43
37
|
}
|
|
@@ -47,6 +41,21 @@ export class MapManagementService {
|
|
|
47
41
|
return;
|
|
48
42
|
this.map.addLayer(c.layer);
|
|
49
43
|
});
|
|
44
|
+
this.postboy.sub(RemoveTileCommand).subscribe((c) => {
|
|
45
|
+
if (!this.map)
|
|
46
|
+
return;
|
|
47
|
+
this.map.removeLayer(c.layer);
|
|
48
|
+
});
|
|
49
|
+
this.postboy.sub(AddRasterTileCommand).subscribe((c) => {
|
|
50
|
+
if (!this.map)
|
|
51
|
+
return;
|
|
52
|
+
this.map.addLayer(c.layer);
|
|
53
|
+
});
|
|
54
|
+
this.postboy.sub(RemoveRasterTileCommand).subscribe((c) => {
|
|
55
|
+
if (!this.map)
|
|
56
|
+
return;
|
|
57
|
+
this.map.removeLayer(c.layer);
|
|
58
|
+
});
|
|
50
59
|
}
|
|
51
60
|
observeImageLayer() {
|
|
52
61
|
this.postboy.sub(AddImageLayerCommand).subscribe((c) => {
|
|
@@ -133,4 +142,4 @@ MapManagementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
|
|
|
133
142
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapManagementService, decorators: [{
|
|
134
143
|
type: Injectable
|
|
135
144
|
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHL0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUc3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRXRHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBR3BGLE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFGdEMsV0FBTSxH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QUMzQixJQUFJLENBQUMsQ0FBRSxNQUFjLENBQUMsV0FBVyxDQUFDO2dCQUFFLE1BQU0sR0FBRyxNQUFDLE1BQWMsMENBQUUsU0FBUyxFQUFFLENBQUM7WUFDMUUsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2tIQTNIVSxvQkFBb0I7c0hBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmVhdHVyZSwgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWRkTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIExheWVyIH0gZnJvbSAnb2wvbGF5ZXInO1xuaW1wb3J0IFZlY3RvclNvdXJjZSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcbmltcG9ydCB7IEZpbHRlckZlYXR1cmVzSW5Qb2ludEV4ZWN1dG9yLCBHZXRGZWF0dXJlc0luUG9pbnRRdWVyeSwgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IEFkZFRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVUaWxlQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IENsdXN0ZXIgZnJvbSAnb2wvc291cmNlL0NsdXN0ZXInO1xuaW1wb3J0IHsgR2V0TGF5ZXJRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWxheWVyLnF1ZXJ5JztcbmltcG9ydCB7IEdldEZlYXR1cmVzSW5BcmVhUXVlcnkgfSBmcm9tICcuLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1mZWF0dXJlcy1pbi1hcmVhLnF1ZXJ5JztcbmltcG9ydCB7IElJZGVudGlmaWVkIH0gZnJvbSAnLi4vbW9kZWxzL2ktaWRlbnRpZmllZCc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi9tb2RlbHMvbWFwLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBGaWx0ZXJGZWF0dXJlc0luQXJlYUV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2ZpbHRlci1mZWF0dXJlcy1pbi1hcmVhLmV4ZWN1dG9yJztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnQGFydHN0ZXNoL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IFJlbW92ZUltYWdlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWltYWdlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkSW1hZ2VMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtaW1hZ2UtbGF5ZXIuY29tbWFuZCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBNYW5hZ2VtZW50U2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuICBwcml2YXRlIGxheWVycyA9IG5ldyBEaWN0aW9uYXJ5PExheWVyPFZlY3RvclNvdXJjZTxhbnk+IHwgQ2x1c3Rlcj4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXIoKTtcbiAgICB0aGlzLm9ic2VydmVBZGRMYXllcigpO1xuICAgIHRoaXMub2JzZXJ2ZVJlbW92ZUxheWVyKCk7XG4gICAgdGhpcy5vYnNlcnZlUGxhY2VGZWF0dXJlcygpO1xuICAgIHRoaXMub2JzZXJ2ZUFkZFRpbGUoKTtcbiAgICB0aGlzLm9ic2VydmVSZW1vdmVUaWxlKCk7XG4gICAgdGhpcy5vYnNlcnZlTGF5ZXJRdWVyeSgpO1xuICAgIHRoaXMub2JzZXJ2ZUZlYXR1cmVzSW5BcmVhKCk7XG4gICAgdGhpcy5vYnNlcnZlRmVhdHVyZXNJblBvaW50KCk7XG4gICAgdGhpcy5vYnNlcnZlSW1hZ2VMYXllcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlUmVtb3ZlVGlsZSgpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKFJlbW92ZVRpbGVDb21tYW5kKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTGF5ZXJRdWVyeSgpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKEdldExheWVyUXVlcnkpLnN1YnNjcmliZSgoZXYpID0+IGV2LmZpbmlzaCh0aGlzLmxheWVycy50YWtlKGV2Lm5hbWUpKSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVBZGRUaWxlKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoQWRkVGlsZUNvbW1hbmQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5tYXAuYWRkTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVJbWFnZUxheWVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoQWRkSW1hZ2VMYXllckNvbW1hbmQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5tYXAuYWRkTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihSZW1vdmVJbWFnZUxheWVyQ29tbWFuZCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcFJlbmRlcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKE1hcFJlbmRlcmVkRXZlbnQpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgdGhpcy5tYXAgPSBtLm1hcDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUFkZExheWVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoQWRkTGF5ZXJDb21tYW5kKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubGF5ZXJzLnB1dChjLmxheWVyLmdldCgnbmFtZScpLCBjLmxheWVyKTtcbiAgICAgIHRoaXMubWFwLmFkZExheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlUGxhY2VGZWF0dXJlcygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLmxheWVycy5oYXMoYy5sYXllcikpIHJldHVybjtcbiAgICAgIGxldCBzb3VyY2UgPSB0aGlzLmxheWVycy50YWtlKGMubGF5ZXIpIS5nZXRTb3VyY2UoKTtcbiAgICAgIGlmICghIShzb3VyY2UgYXMgYW55KVsnZ2V0U291cmNlJ10pIHNvdXJjZSA9IChzb3VyY2UgYXMgYW55KT8uZ2V0U291cmNlKCk7XG4gICAgICBzb3VyY2U/LmNsZWFyKCk7XG4gICAgICAhIWMuZmVhdHVyZXM/Lmxlbmd0aCAmJiBzb3VyY2U/LmFkZEZlYXR1cmVzKGMuZmVhdHVyZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlUmVtb3ZlTGF5ZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihSZW1vdmVMYXllckNvbW1hbmQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5sYXllcnMucm12KGMubGF5ZXIuZ2V0KCduYW1lJykpO1xuICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVGZWF0dXJlc0luQXJlYSgpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKEdldEZlYXR1cmVzSW5BcmVhUXVlcnkpLnN1YnNjcmliZSgocXIpID0+IHtcbiAgICAgIGxldCByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxJSWRlbnRpZmllZFtdPigpO1xuICAgICAgdGhpcy5mb3JFYWNoTGF5ZXIoKGwsIHMpID0+IHtcbiAgICAgICAgbGV0IGZlYXR1cmVzID0gdGhpcy5wb3N0Ym95LmV4ZWM8RmVhdHVyZTxHZW9tZXRyeT5bXT4oXG4gICAgICAgICAgbmV3IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IocXIuYXJlYSwgcz8uZ2V0RmVhdHVyZXMoKSA/PyBbXSksXG4gICAgICAgICk7XG4gICAgICAgIHJlc3VsdC5wdXQoXG4gICAgICAgICAgbC5nZXQoJ25hbWUnKSxcbiAgICAgICAgICBmZWF0dXJlcy5tYXAoKGUpID0+ICh7IGlkOiBlLmdldElkKCksIC4uLmUuZ2V0KE1hcENvbnN0YW50cy5GZWF0dXJlSW5mbykgfSkpLFxuICAgICAgICApO1xuICAgICAgfSwgcXIuaWdub3JlKTtcbiAgICAgIHFyLmZpbmlzaChyZXN1bHQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRmVhdHVyZXNJblBvaW50KCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoR2V0RmVhdHVyZXNJblBvaW50UXVlcnkpLnN1YnNjcmliZSgocXIpID0+IHtcbiAgICAgIGxldCByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxJSWRlbnRpZmllZFtdPigpO1xuICAgICAgdGhpcy5mb3JFYWNoTGF5ZXIoKGwsIHMpID0+IHtcbiAgICAgICAgbGV0IGZlYXR1cmVzID0gdGhpcy5wb3N0Ym95LmV4ZWM8RmVhdHVyZTxHZW9tZXRyeT5bXT4oXG4gICAgICAgICAgbmV3IEZpbHRlckZlYXR1cmVzSW5Qb2ludEV4ZWN1dG9yKHFyLmxhdCwgcXIubG5nLCBzPy5nZXRGZWF0dXJlcygpID8/IFtdKSxcbiAgICAgICAgKTtcbiAgICAgICAgcmVzdWx0LnB1dChcbiAgICAgICAgICBsLmdldCgnbmFtZScpLFxuICAgICAgICAgIGZlYXR1cmVzLm1hcCgoZSkgPT4gKHsgaWQ6IGUuZ2V0SWQoKSwgLi4uZS5nZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVJbmZvKSB9KSksXG4gICAgICAgICk7XG4gICAgICB9LCBxci5pZ25vcmUpO1xuICAgICAgcXIuZmluaXNoKHJlc3VsdCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZvckVhY2hMYXllcihcbiAgICBhY3Rpb246IChsOiBMYXllcjxhbnk+LCBzOiBWZWN0b3JTb3VyY2U8YW55PiB8IENsdXN0ZXIgfCBudWxsKSA9PiB2b2lkLFxuICAgIGlnbm9yZTogU2V0PHN0cmluZz4sXG4gICk6IHZvaWQge1xuICAgIHRoaXMubGF5ZXJzLmZvckVhY2goKGwpID0+IHtcbiAgICAgIGxldCBsYXllck5hbWUgPSBsLmdldCgnbmFtZScpO1xuICAgICAgaWYgKGlnbm9yZS5oYXMobGF5ZXJOYW1lKSB8fCBsYXllck5hbWUgPT09IE1hcENvbnN0YW50cy5EcmF3aW5nTGF5ZXJJZCkgcmV0dXJuO1xuICAgICAgbGV0IHNvdXJjZSA9IGwuZ2V0U291cmNlKCk7XG4gICAgICBpZiAoISEoc291cmNlIGFzIGFueSlbJ2dldFNvdXJjZSddKSBzb3VyY2UgPSAoc291cmNlIGFzIGFueSk/LmdldFNvdXJjZSgpO1xuICAgICAgYWN0aW9uKGwsIHNvdXJjZSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHL0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUc3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRXRHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7O0FBRzFGLE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFGdEMsV0FBTSxHQUFHLElBQUksVUFBVSxFQUFzQyxDQUFDO0lBRXJCLENBQUM7SUFFbEQsRUFBRTtRQUNBLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsT0FBTztZQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztnQkFBRSxPQUFPO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsT0FBTztZQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsT0FBTztZQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTs7WUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBTztZQUN0QyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLENBQUUsTUFBYyxDQUFDLFdBQVcsQ0FBQztnQkFBRSxNQUFNLEdBQUcsTUFBQyxNQUFjLDBDQUFFLFNBQVMsRUFBRSxDQUFDO1lBQzFFLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxLQUFLLEVBQUUsQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQSxNQUFBLENBQUMsQ0FBQyxRQUFRLDBDQUFFLE1BQU0sQ0FBQSxLQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFBLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDeEQsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQWlCLENBQUM7WUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTs7Z0JBQ3pCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM5QixJQUFJLDRCQUE0QixDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBQSxDQUFDLGFBQUQsQ0FBQyx1QkFBRCxDQUFDLENBQUUsV0FBVyxFQUFFLG1DQUFJLEVBQUUsQ0FBQyxDQUNsRSxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxHQUFHLENBQ1IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFDYixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQkFBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFHLENBQUMsQ0FDN0UsQ0FBQztZQUNKLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDZCxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3pELElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFpQixDQUFDO1lBQzdDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7O2dCQUN6QixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDOUIsSUFBSSw2QkFBNkIsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBQSxDQUFDLGFBQUQsQ0FBQyx1QkFBRCxDQUFDLENBQUUsV0FBVyxFQUFFLG1DQUFJLEVBQUUsQ0FBQyxDQUMxRSxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxHQUFHLENBQ1IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFDYixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQkFBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFHLENBQUMsQ0FDN0UsQ0FBQztZQUNKLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDZCxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FDbEIsTUFBc0UsRUFDdEUsTUFBbUI7UUFFbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTs7WUFDeEIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QixJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxLQUFLLFlBQVksQ0FBQyxjQUFjO2dCQUFFLE9BQU87WUFDL0UsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxDQUFFLE1BQWMsQ0FBQyxXQUFXLENBQUM7Z0JBQUUsTUFBTSxHQUFHLE1BQUMsTUFBYywwQ0FBRSxTQUFTLEVBQUUsQ0FBQztZQUMxRSxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0hBL0hVLG9CQUFvQjtzSEFBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGZWF0dXJlLCBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuaW1wb3J0IHsgRmlsdGVyRmVhdHVyZXNJblBvaW50RXhlY3V0b3IsIEdldEZlYXR1cmVzSW5Qb2ludFF1ZXJ5LCBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgQ2x1c3RlciBmcm9tICdvbC9zb3VyY2UvQ2x1c3Rlcic7XG5pbXBvcnQgeyBHZXRMYXllclF1ZXJ5IH0gZnJvbSAnLi4vbWVzc2FnZXMvcXVlcmllcy9nZXQtbGF5ZXIucXVlcnknO1xuaW1wb3J0IHsgR2V0RmVhdHVyZXNJbkFyZWFRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWZlYXR1cmVzLWluLWFyZWEucXVlcnknO1xuaW1wb3J0IHsgSUlkZW50aWZpZWQgfSBmcm9tICcuLi9tb2RlbHMvaS1pZGVudGlmaWVkJztcbmltcG9ydCB7IE1hcENvbnN0YW50cyB9IGZyb20gJy4uL21vZGVscy9tYXAuY29uc3RhbnRzJztcbmltcG9ydCB7IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZmlsdGVyLWZlYXR1cmVzLWluLWFyZWEuZXhlY3V0b3InO1xuaW1wb3J0IHsgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdAYXJ0c3Rlc2gvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgUmVtb3ZlSW1hZ2VMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtaW1hZ2UtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBBZGRJbWFnZUxheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC1pbWFnZS1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IEFkZFJhc3RlclRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLXJhc3Rlci10aWxlLWNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlUmFzdGVyVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtcmFzdGVyLXRpbGUuY29tbWFuZCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBNYW5hZ2VtZW50U2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuICBwcml2YXRlIGxheWVycyA9IG5ldyBEaWN0aW9uYXJ5PExheWVyPFZlY3RvclNvdXJjZTxhbnk+IHwgQ2x1c3Rlcj4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXIoKTtcbiAgICB0aGlzLm9ic2VydmVBZGRMYXllcigpO1xuICAgIHRoaXMub2JzZXJ2ZVJlbW92ZUxheWVyKCk7XG4gICAgdGhpcy5vYnNlcnZlUGxhY2VGZWF0dXJlcygpO1xuICAgIHRoaXMub2JzZXJ2ZUFkZFRpbGUoKTtcbiAgICB0aGlzLm9ic2VydmVMYXllclF1ZXJ5KCk7XG4gICAgdGhpcy5vYnNlcnZlRmVhdHVyZXNJbkFyZWEoKTtcbiAgICB0aGlzLm9ic2VydmVGZWF0dXJlc0luUG9pbnQoKTtcbiAgICB0aGlzLm9ic2VydmVJbWFnZUxheWVyKCk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVMYXllclF1ZXJ5KCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoR2V0TGF5ZXJRdWVyeSkuc3Vic2NyaWJlKChldikgPT4gZXYuZmluaXNoKHRoaXMubGF5ZXJzLnRha2UoZXYubmFtZSkpKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUFkZFRpbGUoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihBZGRUaWxlQ29tbWFuZCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLm1hcC5hZGRMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKFJlbW92ZVRpbGVDb21tYW5kKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICAgIHRoaXMucG9zdGJveS5zdWIoQWRkUmFzdGVyVGlsZUNvbW1hbmQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5tYXAuYWRkTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihSZW1vdmVSYXN0ZXJUaWxlQ29tbWFuZCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUltYWdlTGF5ZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihBZGRJbWFnZUxheWVyQ29tbWFuZCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLm1hcC5hZGRMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKFJlbW92ZUltYWdlTGF5ZXJDb21tYW5kKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoTWFwUmVuZGVyZWRFdmVudCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlQWRkTGF5ZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihBZGRMYXllckNvbW1hbmQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5sYXllcnMucHV0KGMubGF5ZXIuZ2V0KCduYW1lJyksIGMubGF5ZXIpO1xuICAgICAgdGhpcy5tYXAuYWRkTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVQbGFjZUZlYXR1cmVzKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubGF5ZXJzLmhhcyhjLmxheWVyKSkgcmV0dXJuO1xuICAgICAgbGV0IHNvdXJjZSA9IHRoaXMubGF5ZXJzLnRha2UoYy5sYXllcikhLmdldFNvdXJjZSgpO1xuICAgICAgaWYgKCEhKHNvdXJjZSBhcyBhbnkpWydnZXRTb3VyY2UnXSkgc291cmNlID0gKHNvdXJjZSBhcyBhbnkpPy5nZXRTb3VyY2UoKTtcbiAgICAgIHNvdXJjZT8uY2xlYXIoKTtcbiAgICAgICEhYy5mZWF0dXJlcz8ubGVuZ3RoICYmIHNvdXJjZT8uYWRkRmVhdHVyZXMoYy5mZWF0dXJlcyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVSZW1vdmVMYXllcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKFJlbW92ZUxheWVyQ29tbWFuZCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLmxheWVycy5ybXYoYy5sYXllci5nZXQoJ25hbWUnKSk7XG4gICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUZlYXR1cmVzSW5BcmVhKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoR2V0RmVhdHVyZXNJbkFyZWFRdWVyeSkuc3Vic2NyaWJlKChxcikgPT4ge1xuICAgICAgbGV0IHJlc3VsdCA9IG5ldyBEaWN0aW9uYXJ5PElJZGVudGlmaWVkW10+KCk7XG4gICAgICB0aGlzLmZvckVhY2hMYXllcigobCwgcykgPT4ge1xuICAgICAgICBsZXQgZmVhdHVyZXMgPSB0aGlzLnBvc3Rib3kuZXhlYzxGZWF0dXJlPEdlb21ldHJ5PltdPihcbiAgICAgICAgICBuZXcgRmlsdGVyRmVhdHVyZXNJbkFyZWFFeGVjdXRvcihxci5hcmVhLCBzPy5nZXRGZWF0dXJlcygpID8/IFtdKSxcbiAgICAgICAgKTtcbiAgICAgICAgcmVzdWx0LnB1dChcbiAgICAgICAgICBsLmdldCgnbmFtZScpLFxuICAgICAgICAgIGZlYXR1cmVzLm1hcCgoZSkgPT4gKHsgaWQ6IGUuZ2V0SWQoKSwgLi4uZS5nZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVJbmZvKSB9KSksXG4gICAgICAgICk7XG4gICAgICB9LCBxci5pZ25vcmUpO1xuICAgICAgcXIuZmluaXNoKHJlc3VsdCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVGZWF0dXJlc0luUG9pbnQoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihHZXRGZWF0dXJlc0luUG9pbnRRdWVyeSkuc3Vic2NyaWJlKChxcikgPT4ge1xuICAgICAgbGV0IHJlc3VsdCA9IG5ldyBEaWN0aW9uYXJ5PElJZGVudGlmaWVkW10+KCk7XG4gICAgICB0aGlzLmZvckVhY2hMYXllcigobCwgcykgPT4ge1xuICAgICAgICBsZXQgZmVhdHVyZXMgPSB0aGlzLnBvc3Rib3kuZXhlYzxGZWF0dXJlPEdlb21ldHJ5PltdPihcbiAgICAgICAgICBuZXcgRmlsdGVyRmVhdHVyZXNJblBvaW50RXhlY3V0b3IocXIubGF0LCBxci5sbmcsIHM/LmdldEZlYXR1cmVzKCkgPz8gW10pLFxuICAgICAgICApO1xuICAgICAgICByZXN1bHQucHV0KFxuICAgICAgICAgIGwuZ2V0KCduYW1lJyksXG4gICAgICAgICAgZmVhdHVyZXMubWFwKChlKSA9PiAoeyBpZDogZS5nZXRJZCgpLCAuLi5lLmdldChNYXBDb25zdGFudHMuRmVhdHVyZUluZm8pIH0pKSxcbiAgICAgICAgKTtcbiAgICAgIH0sIHFyLmlnbm9yZSk7XG4gICAgICBxci5maW5pc2gocmVzdWx0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZm9yRWFjaExheWVyKFxuICAgIGFjdGlvbjogKGw6IExheWVyPGFueT4sIHM6IFZlY3RvclNvdXJjZTxhbnk+IHwgQ2x1c3RlciB8IG51bGwpID0+IHZvaWQsXG4gICAgaWdub3JlOiBTZXQ8c3RyaW5nPixcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5sYXllcnMuZm9yRWFjaCgobCkgPT4ge1xuICAgICAgbGV0IGxheWVyTmFtZSA9IGwuZ2V0KCduYW1lJyk7XG4gICAgICBpZiAoaWdub3JlLmhhcyhsYXllck5hbWUpIHx8IGxheWVyTmFtZSA9PT0gTWFwQ29uc3RhbnRzLkRyYXdpbmdMYXllcklkKSByZXR1cm47XG4gICAgICBsZXQgc291cmNlID0gbC5nZXRTb3VyY2UoKTtcbiAgICAgIGlmICghIShzb3VyY2UgYXMgYW55KVsnZ2V0U291cmNlJ10pIHNvdXJjZSA9IChzb3VyY2UgYXMgYW55KT8uZ2V0U291cmNlKCk7XG4gICAgICBhY3Rpb24obCwgc291cmNlKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -35,6 +35,9 @@ import { debounceTime } from 'rxjs/operators';
|
|
|
35
35
|
import { MapFeatureHoveredEvent } from '../messages/events/map-feature-hovered.event';
|
|
36
36
|
import { AddImageLayerCommand } from '../messages/commands/add-image-layer.command';
|
|
37
37
|
import { RemoveImageLayerCommand } from '../messages/commands/remove-image-layer.command';
|
|
38
|
+
import { AddRasterTileCommand } from '../messages/commands/add-raster-tile-command';
|
|
39
|
+
import { RemoveRasterTileCommand } from '../messages/commands/remove-raster-tile.command';
|
|
40
|
+
import { GetGeometryLengthExecutor, GetGeometryLengthExecutorHandler, } from '../messages/executors/get-geometry-length.executor';
|
|
38
41
|
import * as i0 from "@angular/core";
|
|
39
42
|
import * as i1 from "./map-postboy.service";
|
|
40
43
|
import * as i2 from "./map-management.service";
|
|
@@ -59,6 +62,8 @@ export class MessageRegistratorService extends PostboyAbstractRegistrator {
|
|
|
59
62
|
this.recordSubject(AddLayerCommand);
|
|
60
63
|
this.recordSubject(RemoveLayerCommand);
|
|
61
64
|
this.recordSubject(AddTileCommand);
|
|
65
|
+
this.recordSubject(AddRasterTileCommand);
|
|
66
|
+
this.recordSubject(RemoveRasterTileCommand);
|
|
62
67
|
this.recordSubject(RemoveImageLayerCommand);
|
|
63
68
|
this.recordSubject(AddImageLayerCommand);
|
|
64
69
|
this.recordSubject(RemoveTileCommand);
|
|
@@ -88,6 +93,7 @@ export class MessageRegistratorService extends PostboyAbstractRegistrator {
|
|
|
88
93
|
this.recordExecutor(GenerateDrawExecutor, (e) => DrawingGenerationService.getDraw(e));
|
|
89
94
|
this.recordExecutor(GenerateZoomControlExecutor, (e) => ZoomControlFactory.build(e.settings));
|
|
90
95
|
this.recordExecutor(GetMapPositionExecutor, () => this.state.getMapPosition());
|
|
96
|
+
this.recordExecutor(GetGeometryLengthExecutor, (e) => new GetGeometryLengthExecutorHandler().handle(e));
|
|
91
97
|
}
|
|
92
98
|
}
|
|
93
99
|
MessageRegistratorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MessageRegistratorService, deps: [{ token: i1.MapPostboyService }, { token: i2.MapManagementService }, { token: i3.MapStateService }, { token: i4.MapFeatureService }, { token: i5.MapClickService }, { token: i6.DrawingService }, { token: i7.FeatureModificationService }, { token: i8.ControlsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -95,4 +101,4 @@ MessageRegistratorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.
|
|
|
95
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MessageRegistratorService, decorators: [{
|
|
96
102
|
type: Injectable
|
|
97
103
|
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.MapManagementService }, { type: i3.MapStateService }, { type: i4.MapFeatureService }, { type: i5.MapClickService }, { type: i6.DrawingService }, { type: i7.FeatureModificationService }, { type: i8.ControlsService }]; } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQix1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQiwrQkFBK0IsR0FDaEMsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUkvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FB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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxjQUFjLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxlQUFDLE9BQUEsY0FBYyxDQUFDLGFBQWEsQ0FBQyxNQUFBLE1BQUEsQ0FBQyxDQUFDLE9BQU8sMENBQUUsT0FBTywwQ0FBRSxXQUFXLEVBQUUsQ0FBQyxDQUFBLEVBQUEsQ0FBQyxDQUFDO1FBQ25ILElBQUksQ0FBQyxjQUFjLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN6RCxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FDeEQsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxjQUFjLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDOzt1SEF4RFUseUJBQXlCOzJIQUF6Qix5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEZpdFRvUG9seWdvbnNDb21tYW5kLFxuICBHZXRGZWF0dXJlc0luUG9pbnRRdWVyeSxcbiAgTWFwUG9pbnRlck1vdmVFdmVudCxcbiAgTWFwUmVuZGVyZWRFdmVudCxcbiAgUG9seWdvblNlbGZJbnRlcnNlY3Rpb25FeGVjdXRvcixcbn0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgQWRkTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBQb3N0Ym95QWJzdHJhY3RSZWdpc3RyYXRvciB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IE1hcE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFN0YXRlU2VydmljZSB9IGZyb20gJy4vbWFwLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtY2xpY2suc2VydmljZSc7XG5pbXBvcnQgeyBNYXBDbGlja0V2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1jbGljay5ldmVudCc7XG5pbXBvcnQgeyBDbG9zZVRvb2x0aXBDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvY2xvc2UtdG9vbHRpcC5jb21tYW5kJztcbmltcG9ydCB7IE1hcEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpdFRvRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvZml0LXRvLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgTWFwTW92ZUVuZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1tb3ZlLWVuZC5ldmVudCc7XG5pbXBvcnQgeyBDYW5jZWxEcmF3aW5nQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2NhbmNlbC1kcmF3aW5nLmNvbW1hbmQnO1xuaW1wb3J0IHsgU3RhcnREcmF3aW5nQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3N0YXJ0LWRyYXdpbmcuY29tbWFuZCc7XG5pbXBvcnQgeyBEcmF3aW5nU2VydmljZSB9IGZyb20gJy4vZHJhd2luZy9kcmF3aW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2V0TGF5ZXJRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWxheWVyLnF1ZXJ5JztcbmltcG9ydCB7IERyYXdpbmdGaW5pc2hlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL2RyYXdpbmctZmluaXNoZWQuZXZlbnQnO1xuaW1wb3J0IHsgRHJhd2luZ0dlbmVyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9kcmF3aW5nL2RyYXdpbmctZ2VuZXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi9mZWF0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2V0RmVhdHVyZXNJbkFyZWFRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWZlYXR1cmVzLWluLWFyZWEucXVlcnknO1xuaW1wb3J0IHsgRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvZHJhdy1zZWxlY3Rpb24tYXJlYS5jb21tYW5kJztcbmltcG9ydCB7IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZmlsdGVyLWZlYXR1cmVzLWluLWFyZWEuZXhlY3V0b3InO1xuaW1wb3J0IHsgR2VuZXJhdGVEcmF3RXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZ2VuZXJhdGUtZHJhdy5leGVjdXRvcic7XG5pbXBvcnQgeyBGZWF0dXJlTW9kaWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vZHJhd2luZy9mZWF0dXJlLW1vZGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENhbmNlbEZlYXR1cmVNb2RpZmljYXRpb25Db21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvY2FuY2VsLWZlYXR1cmUtbW9kaWZpY2F0aW9uLmNvbW1hbmQnO1xuaW1wb3J0IHsgTW9kaWZ5RmVhdHVyZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9tb2RpZnktZmVhdHVyZS5jb21tYW5kJztcbmltcG9ydCB7IEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9nZW5lcmF0ZS16b29tLWNvbnRyb2wuZXhlY3V0b3InO1xuaW1wb3J0IHsgWm9vbUNvbnRyb2xGYWN0b3J5IH0gZnJvbSAnLi4vbWFwLXBsYXRlL2NvbnRyb2xzL21hcC1jb250cm9sLXpvb20vem9vbS1jb250cm9sLmZhY3RvcnknO1xuaW1wb3J0IHsgUmVtb3ZlQ29udHJvbENvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtY29udHJvbC5jb21tYW5kJztcbmltcG9ydCB7IEFkZENvbnRyb2xDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWNvbnRyb2wuY29tbWFuZCc7XG5pbXBvcnQgeyBDb250cm9sc1NlcnZpY2UgfSBmcm9tICcuL2NvbnRyb2xzL2NvbnRyb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0TWFwQ2VudGVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3NldC1tYXAtY2VudGVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQXJlYUV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2NhbGN1bGF0ZS1hcmVhLmV4ZWN1dG9yJztcbmltcG9ydCB7IEdldE1hcFBvc2l0aW9uRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZ2V0LW1hcC1wb3NpdGlvbi5leGVjdXRvcic7XG5pbXBvcnQgeyBGaWx0ZXJGZWF0dXJlc0luUG9pbnRFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9maWx0ZXItZmVhdHVyZXMtaW4tcG9pbnQuZXhlY3V0b3InO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWFwRmVhdHVyZUhvdmVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtZmVhdHVyZS1ob3ZlcmVkLmV2ZW50JztcbmltcG9ydCB7IEFkZEltYWdlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWltYWdlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlSW1hZ2VMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtaW1hZ2UtbGF5ZXIuY29tbWFuZCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlIGV4dGVuZHMgUG9zdGJveUFic3RyYWN0UmVnaXN0cmF0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBzZXJ2aWNlOiBNYXBQb3N0Ym95U2VydmljZSxcbiAgICBtYW5hZ2VtZW50OiBNYXBNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHN0YXRlOiBNYXBTdGF0ZVNlcnZpY2UsXG4gICAgbWFwRmVhdHVyZTogTWFwRmVhdHVyZVNlcnZpY2UsXG4gICAgaW50ZXJhY3Rpb246IE1hcENsaWNrU2VydmljZSxcbiAgICBkcmF3aW5nOiBEcmF3aW5nU2VydmljZSxcbiAgICBmZWF0dXJlTW9kaWZpY2F0aW9uOiBGZWF0dXJlTW9kaWZpY2F0aW9uU2VydmljZSxcbiAgICBjb250cm9sczogQ29udHJvbHNTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihzZXJ2aWNlKTtcbiAgICB0aGlzLnJlZ2lzdGVyU2VydmljZXMoW21hbmFnZW1lbnQsIHN0YXRlLCBpbnRlcmFjdGlvbiwgbWFwRmVhdHVyZSwgZHJhd2luZywgZmVhdHVyZU1vZGlmaWNhdGlvbiwgY29udHJvbHNdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdXAoKTogdm9pZCB7XG4gICAgdGhpcy5yZWNvcmRSZXBsYXkoTWFwUmVuZGVyZWRFdmVudCk7XG4gICAgdGhpcy5yZWNvcmRSZXBsYXkoUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRSZXBsYXkoUmVtb3ZlQ29udHJvbENvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkUmVwbGF5KEFkZENvbnRyb2xDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFJlcGxheShTZXRNYXBDZW50ZXJDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoQWRkTGF5ZXJDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoUmVtb3ZlTGF5ZXJDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoQWRkVGlsZUNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChSZW1vdmVJbWFnZUxheWVyQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KEFkZEltYWdlTGF5ZXJDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoUmVtb3ZlVGlsZUNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChNYXBDbGlja0V2ZW50KTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoQ2xvc2VUb29sdGlwQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KEZpdFRvRmVhdHVyZXNDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoRml0VG9Qb2x5Z29uc0NvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChNYXBNb3ZlRW5kRXZlbnQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChDYW5jZWxEcmF3aW5nQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KFN0YXJ0RHJhd2luZ0NvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChHZXRMYXllclF1ZXJ5KTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoTWFwRmVhdHVyZUhvdmVyZWRFdmVudCk7XG4gICAgdGhpcy5yZWNvcmRXaXRoUGlwZShNYXBQb2ludGVyTW92ZUV2ZW50LCBuZXcgU3ViamVjdCgpLCAocykgPT4gcy5waXBlKGRlYm91bmNlVGltZSgxNTApKSk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KERyYXdpbmdGaW5pc2hlZEV2ZW50KTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoR2V0RmVhdHVyZXNJbkFyZWFRdWVyeSk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KERyYXdTZWxlY3Rpb25BcmVhQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KENhbmNlbEZlYXR1cmVNb2RpZmljYXRpb25Db21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoTW9kaWZ5RmVhdHVyZUNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChHZXRGZWF0dXJlc0luUG9pbnRRdWVyeSk7XG4gICAgdGhpcy5zZXRFeGVjdXRvcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RXhlY3V0b3JzKCkge1xuICAgIHRoaXMucmVjb3JkRXhlY3V0b3IoRmlsdGVyRmVhdHVyZXNJbkFyZWFFeGVjdXRvciwgKGUpID0+IEZlYXR1cmVTZXJ2aWNlLmZpbHRlckZlYXR1cmVzSW5BcmVhKGUpKTtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKEZpbHRlckZlYXR1cmVzSW5Qb2ludEV4ZWN1dG9yLCAoZSkgPT4gRmVhdHVyZVNlcnZpY2UuZmlsdGVyRmVhdHVyZXNJblBvaW50KGUpKTtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKENhbGN1bGF0ZUFyZWFFeGVjdXRvciwgKGUpID0+IEZlYXR1cmVTZXJ2aWNlLmNhbGN1bGF0ZUFyZWEoZS5wb2x5Z29uPy5mZWF0dXJlPy5nZXRHZW9tZXRyeSgpKSk7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihQb2x5Z29uU2VsZkludGVyc2VjdGlvbkV4ZWN1dG9yLCAoZSkgPT5cbiAgICAgIEZlYXR1cmVTZXJ2aWNlLnBvbHlnb25TZWxmSW50ZXJzZWN0cyhlLnBvbHlnb24uZmVhdHVyZSksXG4gICAgKTtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKEdlbmVyYXRlRHJhd0V4ZWN1dG9yLCAoZSkgPT4gRHJhd2luZ0dlbmVyYXRpb25TZXJ2aWNlLmdldERyYXcoZSkpO1xuICAgIHRoaXMucmVjb3JkRXhlY3V0b3IoR2VuZXJhdGVab29tQ29udHJvbEV4ZWN1dG9yLCAoZSkgPT4gWm9vbUNvbnRyb2xGYWN0b3J5LmJ1aWxkKGUuc2V0dGluZ3MpKTtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKEdldE1hcFBvc2l0aW9uRXhlY3V0b3IsICgpID0+IHRoaXMuc3RhdGUuZ2V0TWFwUG9zaXRpb24oKSk7XG4gIH1cbn1cbiJdfQ==
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQix1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQiwrQkFBK0IsR0FDaEMsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUkvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FB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QyxzQkFBc0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxnQ0FBZ0MsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFHLENBQUM7O3VIQTNEVSx5QkFBeUI7MkhBQXpCLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgRml0VG9Qb2x5Z29uc0NvbW1hbmQsXG4gIEdldEZlYXR1cmVzSW5Qb2ludFF1ZXJ5LFxuICBNYXBQb2ludGVyTW92ZUV2ZW50LFxuICBNYXBSZW5kZXJlZEV2ZW50LFxuICBQb2x5Z29uU2VsZkludGVyc2VjdGlvbkV4ZWN1dG9yLFxufSBmcm9tICcuLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcGxhY2UtbGF5ZXItZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBBZGRUaWxlQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFBvc3Rib3lBYnN0cmFjdFJlZ2lzdHJhdG9yIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgTWFwTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBDbGlja1NlcnZpY2UgfSBmcm9tICcuL21hcC1jbGljay5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcENsaWNrRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcy9ldmVudHMvbWFwLWNsaWNrLmV2ZW50JztcbmltcG9ydCB7IENsb3NlVG9vbHRpcENvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9jbG9zZS10b29sdGlwLmNvbW1hbmQnO1xuaW1wb3J0IHsgTWFwRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuL21hcC1mZWF0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRml0VG9GZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9maXQtdG8tZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBNYXBNb3ZlRW5kRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcy9ldmVudHMvbWFwLW1vdmUtZW5kLmV2ZW50JztcbmltcG9ydCB7IENhbmNlbERyYXdpbmdDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvY2FuY2VsLWRyYXdpbmcuY29tbWFuZCc7XG5pbXBvcnQgeyBTdGFydERyYXdpbmdDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvc3RhcnQtZHJhd2luZy5jb21tYW5kJztcbmltcG9ydCB7IERyYXdpbmdTZXJ2aWNlIH0gZnJvbSAnLi9kcmF3aW5nL2RyYXdpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBHZXRMYXllclF1ZXJ5IH0gZnJvbSAnLi4vbWVzc2FnZXMvcXVlcmllcy9nZXQtbGF5ZXIucXVlcnknO1xuaW1wb3J0IHsgRHJhd2luZ0ZpbmlzaGVkRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcy9ldmVudHMvZHJhd2luZy1maW5pc2hlZC5ldmVudCc7XG5pbXBvcnQgeyBEcmF3aW5nR2VuZXJhdGlvblNlcnZpY2UgfSBmcm9tICcuL2RyYXdpbmcvZHJhd2luZy1nZW5lcmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuL2ZlYXR1cmUuc2VydmljZSc7XG5pbXBvcnQgeyBHZXRGZWF0dXJlc0luQXJlYVF1ZXJ5IH0gZnJvbSAnLi4vbWVzc2FnZXMvcXVlcmllcy9nZXQtZmVhdHVyZXMtaW4tYXJlYS5xdWVyeSc7XG5pbXBvcnQgeyBEcmF3U2VsZWN0aW9uQXJlYUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9kcmF3LXNlbGVjdGlvbi1hcmVhLmNvbW1hbmQnO1xuaW1wb3J0IHsgRmlsdGVyRmVhdHVyZXNJbkFyZWFFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9maWx0ZXItZmVhdHVyZXMtaW4tYXJlYS5leGVjdXRvcic7XG5pbXBvcnQgeyBHZW5lcmF0ZURyYXdFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9nZW5lcmF0ZS1kcmF3LmV4ZWN1dG9yJztcbmltcG9ydCB7IEZlYXR1cmVNb2RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9kcmF3aW5nL2ZlYXR1cmUtbW9kaWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FuY2VsRmVhdHVyZU1vZGlmaWNhdGlvbkNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9jYW5jZWwtZmVhdHVyZS1tb2RpZmljYXRpb24uY29tbWFuZCc7XG5pbXBvcnQgeyBNb2RpZnlGZWF0dXJlQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL21vZGlmeS1mZWF0dXJlLmNvbW1hbmQnO1xuaW1wb3J0IHsgR2VuZXJhdGVab29tQ29udHJvbEV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2dlbmVyYXRlLXpvb20tY29udHJvbC5leGVjdXRvcic7XG5pbXBvcnQgeyBab29tQ29udHJvbEZhY3RvcnkgfSBmcm9tICcuLi9tYXAtcGxhdGUvY29udHJvbHMvbWFwLWNvbnRyb2wtem9vbS96b29tLWNvbnRyb2wuZmFjdG9yeSc7XG5pbXBvcnQgeyBSZW1vdmVDb250cm9sQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS1jb250cm9sLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkQ29udHJvbENvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtY29udHJvbC5jb21tYW5kJztcbmltcG9ydCB7IENvbnRyb2xzU2VydmljZSB9IGZyb20gJy4vY29udHJvbHMvY29udHJvbHMuc2VydmljZSc7XG5pbXBvcnQgeyBTZXRNYXBDZW50ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvc2V0LW1hcC1jZW50ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBDYWxjdWxhdGVBcmVhRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvY2FsY3VsYXRlLWFyZWEuZXhlY3V0b3InO1xuaW1wb3J0IHsgR2V0TWFwUG9zaXRpb25FeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9nZXQtbWFwLXBvc2l0aW9uLmV4ZWN1dG9yJztcbmltcG9ydCB7IEZpbHRlckZlYXR1cmVzSW5Qb2ludEV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2ZpbHRlci1mZWF0dXJlcy1pbi1wb2ludC5leGVjdXRvcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNYXBGZWF0dXJlSG92ZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1mZWF0dXJlLWhvdmVyZWQuZXZlbnQnO1xuaW1wb3J0IHsgQWRkSW1hZ2VMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtaW1hZ2UtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVJbWFnZUxheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS1pbWFnZS1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IEFkZFJhc3RlclRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLXJhc3Rlci10aWxlLWNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlUmFzdGVyVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtcmFzdGVyLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQge1xuICBHZXRHZW9tZXRyeUxlbmd0aEV4ZWN1dG9yLFxuICBHZXRHZW9tZXRyeUxlbmd0aEV4ZWN1dG9ySGFuZGxlcixcbn0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2dldC1nZW9tZXRyeS1sZW5ndGguZXhlY3V0b3InO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSBleHRlbmRzIFBvc3Rib3lBYnN0cmFjdFJlZ2lzdHJhdG9yIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2VydmljZTogTWFwUG9zdGJveVNlcnZpY2UsXG4gICAgbWFuYWdlbWVudDogTWFwTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdGF0ZTogTWFwU3RhdGVTZXJ2aWNlLFxuICAgIG1hcEZlYXR1cmU6IE1hcEZlYXR1cmVTZXJ2aWNlLFxuICAgIGludGVyYWN0aW9uOiBNYXBDbGlja1NlcnZpY2UsXG4gICAgZHJhd2luZzogRHJhd2luZ1NlcnZpY2UsXG4gICAgZmVhdHVyZU1vZGlmaWNhdGlvbjogRmVhdHVyZU1vZGlmaWNhdGlvblNlcnZpY2UsXG4gICAgY29udHJvbHM6IENvbnRyb2xzU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoc2VydmljZSk7XG4gICAgdGhpcy5yZWdpc3RlclNlcnZpY2VzKFttYW5hZ2VtZW50LCBzdGF0ZSwgaW50ZXJhY3Rpb24sIG1hcEZlYXR1cmUsIGRyYXdpbmcsIGZlYXR1cmVNb2RpZmljYXRpb24sIGNvbnRyb2xzXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3VwKCk6IHZvaWQge1xuICAgIHRoaXMucmVjb3JkUmVwbGF5KE1hcFJlbmRlcmVkRXZlbnQpO1xuICAgIHRoaXMucmVjb3JkUmVwbGF5KFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkUmVwbGF5KFJlbW92ZUNvbnRyb2xDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFJlcGxheShBZGRDb250cm9sQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRSZXBsYXkoU2V0TWFwQ2VudGVyQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KEFkZExheWVyQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KFJlbW92ZUxheWVyQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KEFkZFRpbGVDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoQWRkUmFzdGVyVGlsZUNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChSZW1vdmVSYXN0ZXJUaWxlQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KFJlbW92ZUltYWdlTGF5ZXJDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoQWRkSW1hZ2VMYXllckNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChSZW1vdmVUaWxlQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KE1hcENsaWNrRXZlbnQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChDbG9zZVRvb2x0aXBDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoRml0VG9GZWF0dXJlc0NvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChGaXRUb1BvbHlnb25zQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KE1hcE1vdmVFbmRFdmVudCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KENhbmNlbERyYXdpbmdDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoU3RhcnREcmF3aW5nQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KEdldExheWVyUXVlcnkpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChNYXBGZWF0dXJlSG92ZXJlZEV2ZW50KTtcbiAgICB0aGlzLnJlY29yZFdpdGhQaXBlKE1hcFBvaW50ZXJNb3ZlRXZlbnQsIG5ldyBTdWJqZWN0KCksIChzKSA9PiBzLnBpcGUoZGVib3VuY2VUaW1lKDE1MCkpKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoRHJhd2luZ0ZpbmlzaGVkRXZlbnQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChHZXRGZWF0dXJlc0luQXJlYVF1ZXJ5KTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoQ2FuY2VsRmVhdHVyZU1vZGlmaWNhdGlvbkNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChNb2RpZnlGZWF0dXJlQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KEdldEZlYXR1cmVzSW5Qb2ludFF1ZXJ5KTtcbiAgICB0aGlzLnNldEV4ZWN1dG9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRFeGVjdXRvcnMoKSB7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihGaWx0ZXJGZWF0dXJlc0luQXJlYUV4ZWN1dG9yLCAoZSkgPT4gRmVhdHVyZVNlcnZpY2UuZmlsdGVyRmVhdHVyZXNJbkFyZWEoZSkpO1xuICAgIHRoaXMucmVjb3JkRXhlY3V0b3IoRmlsdGVyRmVhdHVyZXNJblBvaW50RXhlY3V0b3IsIChlKSA9PiBGZWF0dXJlU2VydmljZS5maWx0ZXJGZWF0dXJlc0luUG9pbnQoZSkpO1xuICAgIHRoaXMucmVjb3JkRXhlY3V0b3IoQ2FsY3VsYXRlQXJlYUV4ZWN1dG9yLCAoZSkgPT4gRmVhdHVyZVNlcnZpY2UuY2FsY3VsYXRlQXJlYShlLnBvbHlnb24/LmZlYXR1cmU/LmdldEdlb21ldHJ5KCkpKTtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKFBvbHlnb25TZWxmSW50ZXJzZWN0aW9uRXhlY3V0b3IsIChlKSA9PlxuICAgICAgRmVhdHVyZVNlcnZpY2UucG9seWdvblNlbGZJbnRlcnNlY3RzKGUucG9seWdvbi5mZWF0dXJlKSxcbiAgICApO1xuICAgIHRoaXMucmVjb3JkRXhlY3V0b3IoR2VuZXJhdGVEcmF3RXhlY3V0b3IsIChlKSA9PiBEcmF3aW5nR2VuZXJhdGlvblNlcnZpY2UuZ2V0RHJhdyhlKSk7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihHZW5lcmF0ZVpvb21Db250cm9sRXhlY3V0b3IsIChlKSA9PiBab29tQ29udHJvbEZhY3RvcnkuYnVpbGQoZS5zZXR0aW5ncykpO1xuICAgIHRoaXMucmVjb3JkRXhlY3V0b3IoR2V0TWFwUG9zaXRpb25FeGVjdXRvciwgKCkgPT4gdGhpcy5zdGF0ZS5nZXRNYXBQb3NpdGlvbigpKTtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKEdldEdlb21ldHJ5TGVuZ3RoRXhlY3V0b3IsIChlKSA9PiBuZXcgR2V0R2VvbWV0cnlMZW5ndGhFeGVjdXRvckhhbmRsZXIoKS5oYW5kbGUoZSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -4,14 +4,18 @@ import { Fill, Text } from 'ol/style';
|
|
|
4
4
|
*/
|
|
5
5
|
export class TextStyleHelper {
|
|
6
6
|
/**
|
|
7
|
-
* Creates a new
|
|
7
|
+
* Creates and returns a new Text instance with specified styling properties.
|
|
8
8
|
*
|
|
9
|
-
* @param {string} text - The text content
|
|
10
|
-
* @param {string} font - The font style
|
|
11
|
-
* @param {string} color - The color of the
|
|
12
|
-
* @
|
|
9
|
+
* @param {string} text - The text content to display.
|
|
10
|
+
* @param {string} font - The font style to use for the text.
|
|
11
|
+
* @param {string} color - The color of the text.
|
|
12
|
+
* @param {string|null|undefined} [backColor] - The background color of the text. Optional.
|
|
13
|
+
* @param {number[]|null|undefined} [padding] - The padding around the text in pixels. Optional.
|
|
14
|
+
* @param {string|null|undefined} [textBaseline] - The text baseline alignment. Optional.
|
|
15
|
+
* @param {number|null|undefined} [offsetY] - The vertical offset for the text. Optional.
|
|
16
|
+
* @return {Text} A new Text instance configured with the specified properties.
|
|
13
17
|
*/
|
|
14
|
-
static get(text, font, color) {
|
|
18
|
+
static get(text, font, color, backColor, padding, textBaseline, offsetY) {
|
|
15
19
|
return new Text({
|
|
16
20
|
text: text,
|
|
17
21
|
font: font,
|
|
@@ -19,7 +23,11 @@ export class TextStyleHelper {
|
|
|
19
23
|
fill: new Fill({
|
|
20
24
|
color: color,
|
|
21
25
|
}),
|
|
26
|
+
backgroundFill: backColor ? new Fill({ color: backColor }) : undefined,
|
|
27
|
+
padding: padding !== null && padding !== void 0 ? padding : undefined,
|
|
28
|
+
textBaseline: textBaseline !== null && textBaseline !== void 0 ? textBaseline : undefined,
|
|
29
|
+
offsetY: offsetY !== null && offsetY !== void 0 ? offsetY : undefined,
|
|
22
30
|
});
|
|
23
31
|
}
|
|
24
32
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3RleHQtc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDMUI7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUNmLElBQVksRUFDWixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQXlCLEVBQ3pCLE9BQXlCLEVBQ3pCLFlBQTRCLEVBQzVCLE9BQXVCO1FBRXZCLE9BQU8sSUFBSSxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFFBQVE7WUFDbkIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNiLEtBQUssRUFBRSxLQUFLO2FBQ2IsQ0FBQztZQUNGLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDdEUsT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLFNBQVM7WUFDN0IsWUFBWSxFQUFFLFlBQVksYUFBWixZQUFZLGNBQVosWUFBWSxHQUFJLFNBQVM7WUFDdkMsT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLFNBQVM7U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsbCwgVGV4dCB9IGZyb20gJ29sL3N0eWxlJztcblxuLyoqXG4gKiBIZWxwZXIgY2xhc3MgZm9yIGNyZWF0aW5nIHRleHQgc3R5bGVzLlxuICovXG5leHBvcnQgY2xhc3MgVGV4dFN0eWxlSGVscGVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYW5kIHJldHVybnMgYSBuZXcgVGV4dCBpbnN0YW5jZSB3aXRoIHNwZWNpZmllZCBzdHlsaW5nIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gVGhlIHRleHQgY29udGVudCB0byBkaXNwbGF5LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9udCAtIFRoZSBmb250IHN0eWxlIHRvIHVzZSBmb3IgdGhlIHRleHQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb2xvciAtIFRoZSBjb2xvciBvZiB0aGUgdGV4dC5cbiAgICogQHBhcmFtIHtzdHJpbmd8bnVsbHx1bmRlZmluZWR9IFtiYWNrQ29sb3JdIC0gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHRleHQuIE9wdGlvbmFsLlxuICAgKiBAcGFyYW0ge251bWJlcltdfG51bGx8dW5kZWZpbmVkfSBbcGFkZGluZ10gLSBUaGUgcGFkZGluZyBhcm91bmQgdGhlIHRleHQgaW4gcGl4ZWxzLiBPcHRpb25hbC5cbiAgICogQHBhcmFtIHtzdHJpbmd8bnVsbHx1bmRlZmluZWR9IFt0ZXh0QmFzZWxpbmVdIC0gVGhlIHRleHQgYmFzZWxpbmUgYWxpZ25tZW50LiBPcHRpb25hbC5cbiAgICogQHBhcmFtIHtudW1iZXJ8bnVsbHx1bmRlZmluZWR9IFtvZmZzZXRZXSAtIFRoZSB2ZXJ0aWNhbCBvZmZzZXQgZm9yIHRoZSB0ZXh0LiBPcHRpb25hbC5cbiAgICogQHJldHVybiB7VGV4dH0gQSBuZXcgVGV4dCBpbnN0YW5jZSBjb25maWd1cmVkIHdpdGggdGhlIHNwZWNpZmllZCBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIGZvbnQ6IHN0cmluZyxcbiAgICBjb2xvcjogc3RyaW5nLFxuICAgIGJhY2tDb2xvcj86IHN0cmluZyB8IG51bGwsXG4gICAgcGFkZGluZz86IG51bWJlcltdIHwgbnVsbCxcbiAgICB0ZXh0QmFzZWxpbmU/OiBzdHJpbmcgfCBudWxsLFxuICAgIG9mZnNldFk/OiBudW1iZXIgfCBudWxsLFxuICApOiBUZXh0IHtcbiAgICByZXR1cm4gbmV3IFRleHQoe1xuICAgICAgdGV4dDogdGV4dCxcbiAgICAgIGZvbnQ6IGZvbnQsXG4gICAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICBjb2xvcjogY29sb3IsXG4gICAgICB9KSxcbiAgICAgIGJhY2tncm91bmRGaWxsOiBiYWNrQ29sb3IgPyBuZXcgRmlsbCh7IGNvbG9yOiBiYWNrQ29sb3IgfSkgOiB1bmRlZmluZWQsXG4gICAgICBwYWRkaW5nOiBwYWRkaW5nID8/IHVuZGVmaW5lZCxcbiAgICAgIHRleHRCYXNlbGluZTogdGV4dEJhc2VsaW5lID8/IHVuZGVmaW5lZCxcbiAgICAgIG9mZnNldFk6IG9mZnNldFkgPz8gdW5kZWZpbmVkLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -7,4 +7,6 @@ export * from './cluster-layer/cluster-layer.component';
|
|
|
7
7
|
export * from './cluster-layer/cluster-layer.settings';
|
|
8
8
|
export * from './image-layer/image-layer.component';
|
|
9
9
|
export * from './image-layer/image-layer.settings';
|
|
10
|
-
|
|
10
|
+
export * from './raster-tile/raster-tile-layer.component';
|
|
11
|
+
export * from './raster-tile/raster-tile-layer.settings';
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQ0FBMEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGlsZS1sYXllci90aWxlLWxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL29zbS10aWxlLWxheWVyL29zbS10aWxlLWxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2x1c3Rlci1sYXllci9jbHVzdGVyLWxheWVyLnNldHRpbmdzJztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UtbGF5ZXIvaW1hZ2UtbGF5ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UtbGF5ZXIvaW1hZ2UtbGF5ZXIuc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9yYXN0ZXItdGlsZS9yYXN0ZXItdGlsZS1sYXllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yYXN0ZXItdGlsZS9yYXN0ZXItdGlsZS1sYXllci5zZXR0aW5ncyc7XG4iXX0=
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { DestructibleComponent } from '../../../common/destructible.component';
|
|
3
|
+
import { MapRenderedEvent } from '../../../messages';
|
|
4
|
+
import { filter, first } from 'rxjs/operators';
|
|
5
|
+
import { RasterTileLayerSettings } from './raster-tile-layer.settings';
|
|
6
|
+
import { AddRasterTileCommand } from '../../../messages/commands/add-raster-tile-command';
|
|
7
|
+
import { RemoveRasterTileCommand } from '../../../messages/commands/remove-raster-tile.command';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../../services/map-postboy.service";
|
|
10
|
+
import * as i2 from "./raster-tile-layer.factory";
|
|
11
|
+
export class RasterTileLayerComponent extends DestructibleComponent {
|
|
12
|
+
constructor(postboy, factory) {
|
|
13
|
+
super();
|
|
14
|
+
this.postboy = postboy;
|
|
15
|
+
this.factory = factory;
|
|
16
|
+
this._settings = new RasterTileLayerSettings();
|
|
17
|
+
this.onDestroy = () => this.removeLayer();
|
|
18
|
+
}
|
|
19
|
+
set settings(value) {
|
|
20
|
+
if (!value || this._settings.isSame(value))
|
|
21
|
+
return;
|
|
22
|
+
this._settings = value;
|
|
23
|
+
this.initLayer();
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
this.postboy
|
|
27
|
+
.sub(MapRenderedEvent)
|
|
28
|
+
.pipe(filter((m) => !!m), first())
|
|
29
|
+
.subscribe((m) => this.initLayer());
|
|
30
|
+
}
|
|
31
|
+
initLayer() {
|
|
32
|
+
this.removeLayer();
|
|
33
|
+
this.layer = this.factory.build(this._settings);
|
|
34
|
+
this.postboy.fire(new AddRasterTileCommand(this.layer));
|
|
35
|
+
}
|
|
36
|
+
removeLayer() {
|
|
37
|
+
if (this.layer)
|
|
38
|
+
this.postboy.fire(new RemoveRasterTileCommand(this.layer));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
RasterTileLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RasterTileLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.RasterTileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
RasterTileLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RasterTileLayerComponent, selector: "art-raster-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RasterTileLayerComponent, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{
|
|
46
|
+
selector: 'art-raster-tile-layer',
|
|
47
|
+
template: '',
|
|
48
|
+
styleUrls: [],
|
|
49
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
50
|
+
}]
|
|
51
|
+
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.RasterTileLayerFactory }]; }, propDecorators: { settings: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFzdGVyLXRpbGUtbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9yYXN0ZXItdGlsZS9yYXN0ZXItdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFNL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUsvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7OztBQVFoRyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEscUJBQXFCO0lBR2pFLFlBQW9CLE9BQTBCLEVBQVUsT0FBK0I7UUFDckYsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQXdCO1FBSXZGLGNBQVMsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBa0JuRSxjQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBcEJyQyxDQUFDO0lBSUQsSUFBYSxRQUFRLENBQUMsS0FBMEM7UUFDOUQsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQ25ELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsR0FBRyxDQUFDLGdCQUFnQixDQUFDO2FBQ3JCLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEIsS0FBSyxFQUFFLENBQ1I7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFJTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7c0hBbkNVLHdCQUF3QjswR0FBeEIsd0JBQXdCLHNIQUp6QixFQUFFOzRGQUlELHdCQUF3QjtrQkFOcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUsRUFBRTtvQkFDWixTQUFTLEVBQUUsRUFBRTtvQkFDYixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7NklBVWMsUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCBUaWxlTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvVGlsZSc7XG5pbXBvcnQgeyBSYXN0ZXIsIFhZWiB9IGZyb20gJ29sL3NvdXJjZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGlsZUxheWVyRmFjdG9yeSB9IGZyb20gJy4uL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5mYWN0b3J5JztcbmltcG9ydCB7IFRpbGVMYXllclNldHRpbmdzIH0gZnJvbSAnLi4vdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgSW1hZ2VMYXllciBmcm9tICdvbC9sYXllci9JbWFnZSc7XG5pbXBvcnQgeyBSYXN0ZXJUaWxlTGF5ZXJGYWN0b3J5IH0gZnJvbSAnLi9yYXN0ZXItdGlsZS1sYXllci5mYWN0b3J5JztcbmltcG9ydCB7IFJhc3RlclRpbGVMYXllclNldHRpbmdzIH0gZnJvbSAnLi9yYXN0ZXItdGlsZS1sYXllci5zZXR0aW5ncyc7XG5pbXBvcnQgeyBBZGRSYXN0ZXJUaWxlQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC1yYXN0ZXItdGlsZS1jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVJhc3RlclRpbGVDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXJhc3Rlci10aWxlLmNvbW1hbmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcnQtcmFzdGVyLXRpbGUtbGF5ZXInLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSYXN0ZXJUaWxlTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQge1xuICBwdWJsaWMgbGF5ZXI/OiBJbWFnZUxheWVyPFJhc3Rlcj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSwgcHJpdmF0ZSBmYWN0b3J5OiBSYXN0ZXJUaWxlTGF5ZXJGYWN0b3J5KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIF9zZXR0aW5nczogUmFzdGVyVGlsZUxheWVyU2V0dGluZ3MgPSBuZXcgUmFzdGVyVGlsZUxheWVyU2V0dGluZ3MoKTtcblxuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IFJhc3RlclRpbGVMYXllclNldHRpbmdzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9zZXR0aW5ncy5pc1NhbWUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICB0aGlzLmluaXRMYXllcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3ViKE1hcFJlbmRlcmVkRXZlbnQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobSkgPT4gdGhpcy5pbml0TGF5ZXIoKSk7XG4gIH1cblxuICBvbkRlc3Ryb3kgPSAoKSA9PiB0aGlzLnJlbW92ZUxheWVyKCk7XG5cbiAgcHJpdmF0ZSBpbml0TGF5ZXIoKSB7XG4gICAgdGhpcy5yZW1vdmVMYXllcigpO1xuICAgIHRoaXMubGF5ZXIgPSB0aGlzLmZhY3RvcnkuYnVpbGQodGhpcy5fc2V0dGluZ3MpO1xuICAgIHRoaXMucG9zdGJveS5maXJlKG5ldyBBZGRSYXN0ZXJUaWxlQ29tbWFuZCh0aGlzLmxheWVyKSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxheWVyKCkge1xuICAgIGlmICh0aGlzLmxheWVyKSB0aGlzLnBvc3Rib3kuZmlyZShuZXcgUmVtb3ZlUmFzdGVyVGlsZUNvbW1hbmQodGhpcy5sYXllcikpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { XYZ } from 'ol/source';
|
|
3
|
+
import { get } from 'ol/proj';
|
|
4
|
+
import ImageLayer from 'ol/layer/Image';
|
|
5
|
+
import RasterSource from 'ol/source/Raster';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class RasterTileLayerFactory {
|
|
8
|
+
build(settings) {
|
|
9
|
+
const source = new XYZ({
|
|
10
|
+
tileSize: 256,
|
|
11
|
+
maxZoom: settings.maxZoom || 14,
|
|
12
|
+
minZoom: settings.minZoom || 1,
|
|
13
|
+
projection: get(settings.projection),
|
|
14
|
+
tileUrlFunction: this.getTileFunc(settings),
|
|
15
|
+
crossOrigin: 'Anonymous',
|
|
16
|
+
tileLoadFunction: !!settings.requestHeaders
|
|
17
|
+
? (tile, src) => this.tileLoader(tile, src, settings.requestHeaders)
|
|
18
|
+
: undefined,
|
|
19
|
+
});
|
|
20
|
+
const raster = new RasterSource({
|
|
21
|
+
sources: [source],
|
|
22
|
+
operationType: 'image',
|
|
23
|
+
operation: settings.operation,
|
|
24
|
+
});
|
|
25
|
+
return new ImageLayer({ source: raster, opacity: settings.opacity });
|
|
26
|
+
}
|
|
27
|
+
getTileFunc(settings) {
|
|
28
|
+
return (tileCoord) => {
|
|
29
|
+
const zoom = tileCoord[0];
|
|
30
|
+
const x = tileCoord[1];
|
|
31
|
+
const y = tileCoord[2];
|
|
32
|
+
const normalizedCoord = this.getNormalizedCoord({ x: x, y: y }, zoom);
|
|
33
|
+
const bound = 1 << zoom;
|
|
34
|
+
return settings.url
|
|
35
|
+
.replace('{x}', String((normalizedCoord === null || normalizedCoord === void 0 ? void 0 : normalizedCoord.x) || x))
|
|
36
|
+
.replace('{z}', String(zoom))
|
|
37
|
+
.replace('{y}', String(bound - ((normalizedCoord === null || normalizedCoord === void 0 ? void 0 : normalizedCoord.y) || y) - 1));
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
tileLoader(tile, src, headers) {
|
|
41
|
+
const client = new XMLHttpRequest();
|
|
42
|
+
client.open('GET', src);
|
|
43
|
+
client.responseType = 'arraybuffer';
|
|
44
|
+
Object.keys(headers).forEach((k) => client.setRequestHeader(k, headers[k]));
|
|
45
|
+
client.onload = function () {
|
|
46
|
+
if (this.response !== undefined) {
|
|
47
|
+
const arrayBufferView = new Uint8Array(this.response);
|
|
48
|
+
const blob = new Blob([arrayBufferView], { type: 'image/png' });
|
|
49
|
+
const urlCreator = window.URL || window.webkitURL;
|
|
50
|
+
tile.getImage().src = urlCreator.createObjectURL(blob);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
client.send();
|
|
54
|
+
}
|
|
55
|
+
getNormalizedCoord(coord, zoom) {
|
|
56
|
+
const y = coord.y;
|
|
57
|
+
let x = coord.x;
|
|
58
|
+
const tileRange = 1 << zoom;
|
|
59
|
+
if (y < 0 || y >= tileRange)
|
|
60
|
+
return null;
|
|
61
|
+
if (x < 0 || x >= tileRange)
|
|
62
|
+
x = ((x % tileRange) + tileRange) % tileRange;
|
|
63
|
+
return { x: x, y: y };
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
RasterTileLayerFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RasterTileLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
67
|
+
RasterTileLayerFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RasterTileLayerFactory, providedIn: 'root' });
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RasterTileLayerFactory, decorators: [{
|
|
69
|
+
type: Injectable,
|
|
70
|
+
args: [{
|
|
71
|
+
providedIn: 'root',
|
|
72
|
+
}]
|
|
73
|
+
}] });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFzdGVyLXRpbGUtbGF5ZXIuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvcmFzdGVyLXRpbGUvcmFzdGVyLXRpbGUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBVSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUc5QixPQUFPLFVBQVUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLFlBQVksTUFBTSxrQkFBa0IsQ0FBQzs7QUFLNUMsTUFBTSxPQUFPLHNCQUFzQjtJQUMxQixLQUFLLENBQUMsUUFBaUM7UUFDNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDckIsUUFBUSxFQUFFLEdBQUc7WUFDYixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxFQUFFO1lBQy9CLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxJQUFJLENBQUM7WUFDOUIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFFO1lBQ3JDLGVBQWUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztZQUMzQyxXQUFXLEVBQUUsV0FBVztZQUN4QixnQkFBZ0IsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWM7Z0JBQ3pDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsY0FBZSxDQUFDO2dCQUM3RSxDQUFDLENBQUMsU0FBUztTQUNkLENBQUMsQ0FBQztRQUNILE1B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SSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQzNFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QixDQUFDOztvSEExRFUsc0JBQXNCO3dIQUF0QixzQkFBc0IsY0FGckIsTUFBTTs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmFzdGVyLCBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IHsgVGlsZUNvb3JkIH0gZnJvbSAnb2wvdGlsZWNvb3JkJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IHsgVGlsZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IFJhc3RlclRpbGVMYXllclNldHRpbmdzIH0gZnJvbSAnLi9yYXN0ZXItdGlsZS1sYXllci5zZXR0aW5ncyc7XG5pbXBvcnQgSW1hZ2VMYXllciBmcm9tICdvbC9sYXllci9JbWFnZSc7XG5pbXBvcnQgUmFzdGVyU291cmNlIGZyb20gJ29sL3NvdXJjZS9SYXN0ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUmFzdGVyVGlsZUxheWVyRmFjdG9yeSB7XG4gIHB1YmxpYyBidWlsZChzZXR0aW5nczogUmFzdGVyVGlsZUxheWVyU2V0dGluZ3MpOiBJbWFnZUxheWVyPFJhc3Rlcj4ge1xuICAgIGNvbnN0IHNvdXJjZSA9IG5ldyBYWVooe1xuICAgICAgdGlsZVNpemU6IDI1NixcbiAgICAgIG1heFpvb206IHNldHRpbmdzLm1heFpvb20gfHwgMTQsXG4gICAgICBtaW5ab29tOiBzZXR0aW5ncy5taW5ab29tIHx8IDEsXG4gICAgICBwcm9qZWN0aW9uOiBnZXQoc2V0dGluZ3MucHJvamVjdGlvbikhLFxuICAgICAgdGlsZVVybEZ1bmN0aW9uOiB0aGlzLmdldFRpbGVGdW5jKHNldHRpbmdzKSxcbiAgICAgIGNyb3NzT3JpZ2luOiAnQW5vbnltb3VzJyxcbiAgICAgIHRpbGVMb2FkRnVuY3Rpb246ICEhc2V0dGluZ3MucmVxdWVzdEhlYWRlcnNcbiAgICAgICAgPyAodGlsZSwgc3JjOiBzdHJpbmcpID0+IHRoaXMudGlsZUxvYWRlcih0aWxlLCBzcmMsIHNldHRpbmdzLnJlcXVlc3RIZWFkZXJzISlcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgY29uc3QgcmFzdGVyID0gbmV3IFJhc3RlclNvdXJjZSh7XG4gICAgICBzb3VyY2VzOiBbc291cmNlXSxcbiAgICAgIG9wZXJhdGlvblR5cGU6ICdpbWFnZScsXG4gICAgICBvcGVyYXRpb246IHNldHRpbmdzLm9wZXJhdGlvbixcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IEltYWdlTGF5ZXIoeyBzb3VyY2U6IHJhc3Rlciwgb3BhY2l0eTogc2V0dGluZ3Mub3BhY2l0eSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGlsZUZ1bmMoc2V0dGluZ3M6IFJhc3RlclRpbGVMYXllclNldHRpbmdzKTogKHRpbGVDb29yZDogVGlsZUNvb3JkKSA9PiBzdHJpbmcge1xuICAgIHJldHVybiAodGlsZUNvb3JkKSA9PiB7XG4gICAgICBjb25zdCB6b29tID0gdGlsZUNvb3JkWzBdO1xuICAgICAgY29uc3QgeCA9IHRpbGVDb29yZFsxXTtcbiAgICAgIGNvbnN0IHkgPSB0aWxlQ29vcmRbMl07XG4gICAgICBjb25zdCBub3JtYWxpemVkQ29vcmQgPSB0aGlzLmdldE5vcm1hbGl6ZWRDb29yZCh7IHg6IHgsIHk6IHkgfSwgem9vbSk7XG4gICAgICBjb25zdCBib3VuZCA9IDEgPDwgem9vbTtcbiAgICAgIHJldHVybiBzZXR0aW5ncy51cmxcbiAgICAgICAgLnJlcGxhY2UoJ3t4fScsIFN0cmluZyhub3JtYWxpemVkQ29vcmQ/LnggfHwgeCkpXG4gICAgICAgIC5yZXBsYWNlKCd7en0nLCBTdHJpbmcoem9vbSkpXG4gICAgICAgIC5yZXBsYWNlKCd7eX0nLCBTdHJpbmcoYm91bmQgLSAobm9ybWFsaXplZENvb3JkPy55IHx8IHkpIC0gMSkpO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHRpbGVMb2FkZXIodGlsZTogVGlsZSwgc3JjOiBzdHJpbmcsIGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICBjbGllbnQub3BlbignR0VUJywgc3JjKTtcbiAgICBjbGllbnQucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJztcbiAgICBPYmplY3Qua2V5cyhoZWFkZXJzKS5mb3JFYWNoKChrOiBzdHJpbmcpID0+IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKGssIGhlYWRlcnNba10pKTtcbiAgICBjbGllbnQub25sb2FkID0gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKHRoaXMucmVzcG9uc2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBhcnJheUJ1ZmZlclZpZXcgPSBuZXcgVWludDhBcnJheSh0aGlzLnJlc3BvbnNlKTtcbiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFthcnJheUJ1ZmZlclZpZXddLCB7IHR5cGU6ICdpbWFnZS9wbmcnIH0pO1xuICAgICAgICBjb25zdCB1cmxDcmVhdG9yID0gd2luZG93LlVSTCB8fCAod2luZG93IGFzIGFueSkud2Via2l0VVJMO1xuICAgICAgICAodGlsZSBhcyBhbnkpLmdldEltYWdlKCkuc3JjID0gdXJsQ3JlYXRvci5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICB9XG4gICAgfTtcbiAgICBjbGllbnQuc2VuZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb3JtYWxpemVkQ29vcmQoY29vcmQ6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSwgem9vbTogbnVtYmVyKSB7XG4gICAgY29uc3QgeSA9IGNvb3JkLnk7XG4gICAgbGV0IHggPSBjb29yZC54O1xuICAgIGNvbnN0IHRpbGVSYW5nZSA9IDEgPDwgem9vbTtcbiAgICBpZiAoeSA8IDAgfHwgeSA+PSB0aWxlUmFuZ2UpIHJldHVybiBudWxsO1xuICAgIGlmICh4IDwgMCB8fCB4ID49IHRpbGVSYW5nZSkgeCA9ICgoeCAlIHRpbGVSYW5nZSkgKyB0aWxlUmFuZ2UpICUgdGlsZVJhbmdlO1xuICAgIHJldHVybiB7IHg6IHgsIHk6IHkgfTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
export class RasterTileLayerSettings {
|
|
2
|
+
constructor() {
|
|
3
|
+
/**
|
|
4
|
+
* The maximum zoom level for a map view.
|
|
5
|
+
*
|
|
6
|
+
* @type {number}
|
|
7
|
+
* @default 19
|
|
8
|
+
*/
|
|
9
|
+
this.maxZoom = 19;
|
|
10
|
+
/**
|
|
11
|
+
* The minimum zoom level allowed.
|
|
12
|
+
*
|
|
13
|
+
* @type {number}
|
|
14
|
+
*/
|
|
15
|
+
this.minZoom = 0;
|
|
16
|
+
/**
|
|
17
|
+
* The opacity of an element.
|
|
18
|
+
*
|
|
19
|
+
* @type {number}
|
|
20
|
+
* @default 0.6
|
|
21
|
+
*/
|
|
22
|
+
this.opacity = 0.6;
|
|
23
|
+
/**
|
|
24
|
+
* Represents the tiles URL.
|
|
25
|
+
* @typedef {string} url
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* 'https://example.ex/{z}/{x}/{y}.png'
|
|
29
|
+
*/
|
|
30
|
+
this.url = '';
|
|
31
|
+
/**
|
|
32
|
+
* The projection of the coordinate system.
|
|
33
|
+
*
|
|
34
|
+
* @type {string}
|
|
35
|
+
* @default 'EPSG:3857'
|
|
36
|
+
*/
|
|
37
|
+
this.projection = 'EPSG:3857';
|
|
38
|
+
/**
|
|
39
|
+
* Additional headers that should be added to each tile request
|
|
40
|
+
*
|
|
41
|
+
* @type {Record<string, string>}
|
|
42
|
+
* @default An empty array
|
|
43
|
+
*/
|
|
44
|
+
this.requestHeaders = null;
|
|
45
|
+
this.operation = (d) => { var _a; return (_a = d[0]) !== null && _a !== void 0 ? _a : []; };
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Creates a copy of the given tile layer settings.
|
|
49
|
+
*
|
|
50
|
+
* @param {RasterTileLayerSettings} model - The tile layer settings to be copied.
|
|
51
|
+
* @return {RasterTileLayerSettings} - A new instance of RasterTileLayerSettings with the same properties as the model.
|
|
52
|
+
*/
|
|
53
|
+
static copy(model) {
|
|
54
|
+
const result = new RasterTileLayerSettings();
|
|
55
|
+
result.maxZoom = model.maxZoom;
|
|
56
|
+
result.minZoom = model.minZoom;
|
|
57
|
+
result.projection = model.projection;
|
|
58
|
+
result.opacity = model.opacity;
|
|
59
|
+
result.url = model.url;
|
|
60
|
+
result.requestHeaders = model.requestHeaders;
|
|
61
|
+
result.operation = model.operation;
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Sets the URL of the RasterTileLayerSettings object.
|
|
66
|
+
*
|
|
67
|
+
* @param {string} url - The URL to be set.
|
|
68
|
+
* @return {RasterTileLayerSettings} - The updated RasterTileLayerSettings object.
|
|
69
|
+
*/
|
|
70
|
+
setUrl(url) {
|
|
71
|
+
return RasterTileLayerSettings.copy(Object.assign(Object.assign({}, this), { url }));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Sets the operation to apply on raster tile data.
|
|
75
|
+
*
|
|
76
|
+
* @param {function} operation - A function that takes an input of either a two-dimensional array of numbers or an array of ImageData objects and returns either a one-dimensional array of numbers or an ImageData object.
|
|
77
|
+
* @return {RasterTileLayerSettings} A new instance of RasterTileLayerSettings with the updated operation.
|
|
78
|
+
*/
|
|
79
|
+
setOperation(operation) {
|
|
80
|
+
return RasterTileLayerSettings.copy(Object.assign(Object.assign({}, this), { operation }));
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Sets the requestHeaders of the RasterTileLayerSettings object.
|
|
84
|
+
*
|
|
85
|
+
* @param {Record<string, string>} requestHeaders - The headers which should be provided.
|
|
86
|
+
* @return {RasterTileLayerSettings} - The updated RasterTileLayerSettings object.
|
|
87
|
+
*/
|
|
88
|
+
setRequestHeaders(requestHeaders) {
|
|
89
|
+
return RasterTileLayerSettings.copy(Object.assign(Object.assign({}, this), { requestHeaders }));
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Sets the maximum zoom level for the tile layer.
|
|
93
|
+
*
|
|
94
|
+
* @param {number} maxZoom - The maximum zoom level.
|
|
95
|
+
* @returns {RasterTileLayerSettings} - The updated tile layer settings object.
|
|
96
|
+
*/
|
|
97
|
+
setMaxZoom(maxZoom) {
|
|
98
|
+
return RasterTileLayerSettings.copy(Object.assign(Object.assign({}, this), { maxZoom }));
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Sets the minimum zoom level for the Tile Layer.
|
|
102
|
+
*
|
|
103
|
+
* @param {number} minZoom - The minimum zoom level to be set.
|
|
104
|
+
* @return {RasterTileLayerSettings} The modified RasterTileLayerSettings object with the updated minimum zoom level.
|
|
105
|
+
*/
|
|
106
|
+
setMinZoom(minZoom) {
|
|
107
|
+
return RasterTileLayerSettings.copy(Object.assign(Object.assign({}, this), { minZoom }));
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Sets the opacity of the RasterTileLayerSettings.
|
|
111
|
+
*
|
|
112
|
+
* @param {number} opacity - The opacity value to set. Must be a number between 0 and 1.
|
|
113
|
+
* @return {RasterTileLayerSettings} - A new instance of RasterTileLayerSettings with the opacity set.
|
|
114
|
+
*/
|
|
115
|
+
setOpacity(opacity) {
|
|
116
|
+
return RasterTileLayerSettings.copy(Object.assign(Object.assign({}, this), { opacity }));
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Sets the projection for the tile layer settings.
|
|
120
|
+
*
|
|
121
|
+
* @param {string} projection - The desired projection for the tile layer settings.
|
|
122
|
+
* @return {RasterTileLayerSettings} - The updated tile layer settings with the new projection.
|
|
123
|
+
*/
|
|
124
|
+
setProjection(projection) {
|
|
125
|
+
return RasterTileLayerSettings.copy(Object.assign(Object.assign({}, this), { projection }));
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Checks if the current instance of RasterTileLayerSettings is equal to the given model.
|
|
129
|
+
* @param {RasterTileLayerSettings} model - The model to compare against.
|
|
130
|
+
* @return {boolean} - True if all properties of the current instance matches the properties of the model;
|
|
131
|
+
* otherwise, false.
|
|
132
|
+
*/
|
|
133
|
+
isSame(model) {
|
|
134
|
+
if (this.maxZoom !== model.maxZoom)
|
|
135
|
+
return false;
|
|
136
|
+
if (this.minZoom !== model.minZoom)
|
|
137
|
+
return false;
|
|
138
|
+
if (this.url !== model.url)
|
|
139
|
+
return false;
|
|
140
|
+
if (this.projection !== model.projection)
|
|
141
|
+
return false;
|
|
142
|
+
if (this.opacity !== model.opacity)
|
|
143
|
+
return false;
|
|
144
|
+
if (this.requestHeaders !== model.requestHeaders)
|
|
145
|
+
return false;
|
|
146
|
+
if (this.operation !== model.operation)
|
|
147
|
+
return false;
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFzdGVyLXRpbGUtbGF5ZXIuc2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL3Jhc3Rlci10aWxlL3Jhc3Rlci10aWxlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx1QkFBdUI7SUFBcEM7UUFDRTs7Ozs7V0FLRztRQUNILFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckI7Ozs7V0FJRztRQUNILFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEI7Ozs7O1dBS0c7UUFDSCxZQUFPLEdBQVcsR0FBRyxDQUFDO1FBQ3RCOzs7Ozs7V0FNRztRQUNILFFBQUcsR0FBVyxFQUFFLENBQUM7UUFDakI7Ozs7O1dBS0c7UUFDSCxlQUFVLEdBQVcsV0FBVyxDQUFDO1FBQ2pDOzs7OztXQUtHO1FBQ0gsbUJBQWMsR0FBa0MsSUFBSSxDQUFDO1FBRXJELGNBQVMsR0FBNkQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxXQUFDLE9BQUEsTUFBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLG1DQUFJLEVBQUUsQ0FBQSxFQUFBLENBQUM7SUF5RzFGLENBQUM7SUF4R0M7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQThCO1FBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksdUJBQXVCLEVBQUUsQ0FBQztRQUM3QyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUM3QyxNQUFNLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDbkMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEdBQVc7UUFDaEIsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxHQUFHLElBQUcsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxZQUFZLENBQUMsU0FBbUU7UUFDOUUsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxTQUFTLElBQUcsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxpQkFBaUIsQ0FBQyxjQUFzQztRQUN0RCxPQUFPLHVCQUF1QixDQUFDLElBQUksaUNBQU0sSUFBSSxLQUFFLGNBQWMsSUFBRyxDQUFDO0lBQ25FLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8sdUJBQXVCLENBQUMsSUFBSSxpQ0FBTSxJQUFJLEtBQUUsT0FBTyxJQUFHLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxPQUFPLElBQUcsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLHVCQUF1QixDQUFDLElBQUksaUNBQU0sSUFBSSxLQUFFLE9BQU8sSUFBRyxDQUFDO0lBQzVELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxVQUFrQjtRQUM5QixPQUFPLHVCQUF1QixDQUFDLElBQUksaUNBQU0sSUFBSSxLQUFFLFVBQVUsSUFBRyxDQUFDO0lBQy9ELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxLQUE4QjtRQUMxQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLEdBQUc7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDLFVBQVU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssS0FBSyxDQUFDLGNBQWM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMvRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLFNBQVM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB6b29tIGxldmVsIGZvciBhIG1hcCB2aWV3LlxuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAZGVmYXVsdCAxOVxuICAgKi9cbiAgbWF4Wm9vbTogbnVtYmVyID0gMTk7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSB6b29tIGxldmVsIGFsbG93ZWQuXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBtaW5ab29tOiBudW1iZXIgPSAwO1xuICAvKipcbiAgICogVGhlIG9wYWNpdHkgb2YgYW4gZWxlbWVudC5cbiAgICpcbiAgICogQHR5cGUge251bWJlcn1cbiAgICogQGRlZmF1bHQgMC42XG4gICAqL1xuICBvcGFjaXR5OiBudW1iZXIgPSAwLjY7XG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSB0aWxlcyBVUkwuXG4gICAqIEB0eXBlZGVmIHtzdHJpbmd9IHVybFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiAnaHR0cHM6Ly9leGFtcGxlLmV4L3t6fS97eH0ve3l9LnBuZydcbiAgICovXG4gIHVybDogc3RyaW5nID0gJyc7XG4gIC8qKlxuICAgKiBUaGUgcHJvamVjdGlvbiBvZiB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0uXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0ICdFUFNHOjM4NTcnXG4gICAqL1xuICBwcm9qZWN0aW9uOiBzdHJpbmcgPSAnRVBTRzozODU3JztcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgaGVhZGVycyB0aGF0IHNob3VsZCBiZSBhZGRlZCB0byBlYWNoIHRpbGUgcmVxdWVzdFxuICAgKlxuICAgKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn1cbiAgICogQGRlZmF1bHQgQW4gZW1wdHkgYXJyYXlcbiAgICovXG4gIHJlcXVlc3RIZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCA9IG51bGw7XG5cbiAgb3BlcmF0aW9uOiAoZGF0YTogbnVtYmVyW11bXSB8IEltYWdlRGF0YVtdKSA9PiBudW1iZXJbXSB8IEltYWdlRGF0YSA9IChkKSA9PiBkWzBdID8/IFtdO1xuICAvKipcbiAgICogQ3JlYXRlcyBhIGNvcHkgb2YgdGhlIGdpdmVuIHRpbGUgbGF5ZXIgc2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSB7UmFzdGVyVGlsZUxheWVyU2V0dGluZ3N9IG1vZGVsIC0gVGhlIHRpbGUgbGF5ZXIgc2V0dGluZ3MgdG8gYmUgY29waWVkLlxuICAgKiBAcmV0dXJuIHtSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5nc30gLSBBIG5ldyBpbnN0YW5jZSBvZiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyB3aXRoIHRoZSBzYW1lIHByb3BlcnRpZXMgYXMgdGhlIG1vZGVsLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb3B5KG1vZGVsOiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyk6IFJhc3RlclRpbGVMYXllclNldHRpbmdzIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgUmFzdGVyVGlsZUxheWVyU2V0dGluZ3MoKTtcbiAgICByZXN1bHQubWF4Wm9vbSA9IG1vZGVsLm1heFpvb207XG4gICAgcmVzdWx0Lm1pblpvb20gPSBtb2RlbC5taW5ab29tO1xuICAgIHJlc3VsdC5wcm9qZWN0aW9uID0gbW9kZWwucHJvamVjdGlvbjtcbiAgICByZXN1bHQub3BhY2l0eSA9IG1vZGVsLm9wYWNpdHk7XG4gICAgcmVzdWx0LnVybCA9IG1vZGVsLnVybDtcbiAgICByZXN1bHQucmVxdWVzdEhlYWRlcnMgPSBtb2RlbC5yZXF1ZXN0SGVhZGVycztcbiAgICByZXN1bHQub3BlcmF0aW9uID0gbW9kZWwub3BlcmF0aW9uO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgVVJMIG9mIHRoZSBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyBvYmplY3QuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgLSBUaGUgVVJMIHRvIGJlIHNldC5cbiAgICogQHJldHVybiB7UmFzdGVyVGlsZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgUmFzdGVyVGlsZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0VXJsKHVybDogc3RyaW5nKTogUmFzdGVyVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgdXJsIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG9wZXJhdGlvbiB0byBhcHBseSBvbiByYXN0ZXIgdGlsZSBkYXRhLlxuICAgKlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvcGVyYXRpb24gLSBBIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYW4gaW5wdXQgb2YgZWl0aGVyIGEgdHdvLWRpbWVuc2lvbmFsIGFycmF5IG9mIG51bWJlcnMgb3IgYW4gYXJyYXkgb2YgSW1hZ2VEYXRhIG9iamVjdHMgYW5kIHJldHVybnMgZWl0aGVyIGEgb25lLWRpbWVuc2lvbmFsIGFycmF5IG9mIG51bWJlcnMgb3IgYW4gSW1hZ2VEYXRhIG9iamVjdC5cbiAgICogQHJldHVybiB7UmFzdGVyVGlsZUxheWVyU2V0dGluZ3N9IEEgbmV3IGluc3RhbmNlIG9mIFJhc3RlclRpbGVMYXllclNldHRpbmdzIHdpdGggdGhlIHVwZGF0ZWQgb3BlcmF0aW9uLlxuICAgKi9cbiAgc2V0T3BlcmF0aW9uKG9wZXJhdGlvbjogKGRhdGE6IG51bWJlcltdW10gfCBJbWFnZURhdGFbXSkgPT4gbnVtYmVyW10gfCBJbWFnZURhdGEpOiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFJhc3RlclRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBvcGVyYXRpb24gfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcmVxdWVzdEhlYWRlcnMgb2YgdGhlIFJhc3RlclRpbGVMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSByZXF1ZXN0SGVhZGVycyAtIFRoZSBoZWFkZXJzIHdoaWNoIHNob3VsZCBiZSBwcm92aWRlZC5cbiAgICogQHJldHVybiB7UmFzdGVyVGlsZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgUmFzdGVyVGlsZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0UmVxdWVzdEhlYWRlcnMocmVxdWVzdEhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFJhc3RlclRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCByZXF1ZXN0SGVhZGVycyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtYXhpbXVtIHpvb20gbGV2ZWwgZm9yIHRoZSB0aWxlIGxheWVyLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Wm9vbSAtIFRoZSBtYXhpbXVtIHpvb20gbGV2ZWwuXG4gICAqIEByZXR1cm5zIHtSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCB0aWxlIGxheWVyIHNldHRpbmdzIG9iamVjdC5cbiAgICovXG4gIHNldE1heFpvb20obWF4Wm9vbTogbnVtYmVyKTogUmFzdGVyVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWF4Wm9vbSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgZm9yIHRoZSBUaWxlIExheWVyLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbWluWm9vbSAtIFRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5nc30gVGhlIG1vZGlmaWVkIFJhc3RlclRpbGVMYXllclNldHRpbmdzIG9iamVjdCB3aXRoIHRoZSB1cGRhdGVkIG1pbmltdW0gem9vbSBsZXZlbC5cbiAgICovXG4gIHNldE1pblpvb20obWluWm9vbTogbnVtYmVyKTogUmFzdGVyVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWluWm9vbSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBvcGFjaXR5IG9mIHRoZSBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9wYWNpdHkgLSBUaGUgb3BhY2l0eSB2YWx1ZSB0byBzZXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuICAgKiBAcmV0dXJuIHtSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5nc30gLSBBIG5ldyBpbnN0YW5jZSBvZiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyB3aXRoIHRoZSBvcGFjaXR5IHNldC5cbiAgICovXG4gIHNldE9wYWNpdHkob3BhY2l0eTogbnVtYmVyKTogUmFzdGVyVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgb3BhY2l0eSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwcm9qZWN0aW9uIGZvciB0aGUgdGlsZSBsYXllciBzZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByb2plY3Rpb24gLSBUaGUgZGVzaXJlZCBwcm9qZWN0aW9uIGZvciB0aGUgdGlsZSBsYXllciBzZXR0aW5ncy5cbiAgICogQHJldHVybiB7UmFzdGVyVGlsZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgdGlsZSBsYXllciBzZXR0aW5ncyB3aXRoIHRoZSBuZXcgcHJvamVjdGlvbi5cbiAgICovXG4gIHNldFByb2plY3Rpb24ocHJvamVjdGlvbjogc3RyaW5nKTogUmFzdGVyVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgcHJvamVjdGlvbiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgUmFzdGVyVGlsZUxheWVyU2V0dGluZ3MgaXMgZXF1YWwgdG8gdGhlIGdpdmVuIG1vZGVsLlxuICAgKiBAcGFyYW0ge1Jhc3RlclRpbGVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSBtb2RlbCB0byBjb21wYXJlIGFnYWluc3QuXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IC0gVHJ1ZSBpZiBhbGwgcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSBtYXRjaGVzIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBtb2RlbDtcbiAgICogICAgICAgICAgICAgICAgICAgIG90aGVyd2lzZSwgZmFsc2UuXG4gICAqL1xuICBwdWJsaWMgaXNTYW1lKG1vZGVsOiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm1heFpvb20gIT09IG1vZGVsLm1heFpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5taW5ab29tICE9PSBtb2RlbC5taW5ab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMudXJsICE9PSBtb2RlbC51cmwpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5wcm9qZWN0aW9uICE9PSBtb2RlbC5wcm9qZWN0aW9uKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMub3BhY2l0eSAhPT0gbW9kZWwub3BhY2l0eSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnJlcXVlc3RIZWFkZXJzICE9PSBtb2RlbC5yZXF1ZXN0SGVhZGVycykgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm9wZXJhdGlvbiAhPT0gbW9kZWwub3BlcmF0aW9uKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|