@artstesh/maps 6.0.4 → 6.0.5

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/README.md CHANGED
@@ -6,8 +6,6 @@ Let's map a feature ;)
6
6
 
7
7
  The main purpose of the project is to make easier the process of using of [openlayers library](https://openlayers.org/) in Angular projects.
8
8
 
9
- It's just the first, initial version of the library, that gonna become much more functional in a few weeks.
10
-
11
9
  ### License
12
10
 
13
11
  This project is licensed under the MIT License
@@ -12,6 +12,9 @@ export class TileLayerFactory {
12
12
  projection: get(settings.projection),
13
13
  tileUrlFunction: this.getTileFunc(settings),
14
14
  crossOrigin: 'Anonymous',
15
+ tileLoadFunction: !!settings.requestHeaders
16
+ ? (tile, src) => this.tileLoader(tile, src, settings.requestHeaders)
17
+ : undefined,
15
18
  });
16
19
  return new TileLayer({ source, opacity: settings.opacity });
17
20
  }
@@ -28,6 +31,21 @@ export class TileLayerFactory {
28
31
  .replace('{y}', String(bound - (normalizedCoord?.y || y) - 1));
29
32
  };
30
33
  }
34
+ tileLoader(tile, src, headers) {
35
+ const client = new XMLHttpRequest();
36
+ client.open('GET', src);
37
+ client.responseType = 'arraybuffer';
38
+ Object.keys(headers).forEach((k) => client.setRequestHeader(k, headers[k]));
39
+ client.onload = function () {
40
+ if (this.response !== undefined) {
41
+ const arrayBufferView = new Uint8Array(this.response);
42
+ const blob = new Blob([arrayBufferView], { type: 'image/png' });
43
+ const urlCreator = window.URL || window.webkitURL;
44
+ tile.getImage().src = urlCreator.createObjectURL(blob);
45
+ }
46
+ };
47
+ client.send();
48
+ }
31
49
  getNormalizedCoord(coord, zoom) {
32
50
  const y = coord.y;
33
51
  let x = coord.x;
@@ -47,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
47
65
  providedIn: 'root',
48
66
  }]
49
67
  }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLFNBQVMsTUFBTSxlQUFlLENBQUM7O0FBS3RDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsS0FBSyxDQUFDLFFBQTJCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRTtZQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBRTtZQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDM0MsV0FBVyxFQUFFLFdBQVc7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUEyQjtRQUM3QyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUN4QixPQUFPLFFBQVEsQ0FBQyxHQUFHO2lCQUNoQixPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUMvQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDNUIsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUErQixFQUFFLElBQVk7UUFDdEUsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQzNFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QixDQUFDO3VHQWxDVSxnQkFBZ0I7MkdBQWhCLGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IHsgVGlsZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL3RpbGUtbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgVGlsZUNvb3JkIH0gZnJvbSAnb2wvdGlsZWNvb3JkJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVMYXllckZhY3Rvcnkge1xuICBwdWJsaWMgYnVpbGQoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogVGlsZUxheWVyPFhZWj4ge1xuICAgIGNvbnN0IHNvdXJjZSA9IG5ldyBYWVooe1xuICAgICAgdGlsZVNpemU6IDI1NixcbiAgICAgIG1heFpvb206IHNldHRpbmdzLm1heFpvb20gfHwgMTQsXG4gICAgICBtaW5ab29tOiBzZXR0aW5ncy5taW5ab29tIHx8IDEsXG4gICAgICBwcm9qZWN0aW9uOiBnZXQoc2V0dGluZ3MucHJvamVjdGlvbikhLFxuICAgICAgdGlsZVVybEZ1bmN0aW9uOiB0aGlzLmdldFRpbGVGdW5jKHNldHRpbmdzKSxcbiAgICAgIGNyb3NzT3JpZ2luOiAnQW5vbnltb3VzJyxcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFRpbGVMYXllcih7IHNvdXJjZSwgb3BhY2l0eTogc2V0dGluZ3Mub3BhY2l0eSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGlsZUZ1bmMoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogKHRpbGVDb29yZDogVGlsZUNvb3JkKSA9PiBzdHJpbmcge1xuICAgIHJldHVybiAodGlsZUNvb3JkKSA9PiB7XG4gICAgICBjb25zdCB6b29tID0gdGlsZUNvb3JkWzBdO1xuICAgICAgY29uc3QgeCA9IHRpbGVDb29yZFsxXTtcbiAgICAgIGNvbnN0IHkgPSB0aWxlQ29vcmRbMl07XG4gICAgICBjb25zdCBub3JtYWxpemVkQ29vcmQgPSB0aGlzLmdldE5vcm1hbGl6ZWRDb29yZCh7IHg6IHgsIHk6IHkgfSwgem9vbSk7XG4gICAgICBjb25zdCBib3VuZCA9IDEgPDwgem9vbTtcbiAgICAgIHJldHVybiBzZXR0aW5ncy51cmxcbiAgICAgICAgLnJlcGxhY2UoJ3t4fScsIFN0cmluZyhub3JtYWxpemVkQ29vcmQ/LnggfHwgeCkpXG4gICAgICAgIC5yZXBsYWNlKCd7en0nLCBTdHJpbmcoem9vbSkpXG4gICAgICAgIC5yZXBsYWNlKCd7eX0nLCBTdHJpbmcoYm91bmQgLSAobm9ybWFsaXplZENvb3JkPy55IHx8IHkpIC0gMSkpO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldE5vcm1hbGl6ZWRDb29yZChjb29yZDogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LCB6b29tOiBudW1iZXIpIHtcbiAgICBjb25zdCB5ID0gY29vcmQueTtcbiAgICBsZXQgeCA9IGNvb3JkLng7XG4gICAgY29uc3QgdGlsZVJhbmdlID0gMSA8PCB6b29tO1xuICAgIGlmICh5IDwgMCB8fCB5ID49IHRpbGVSYW5nZSkgcmV0dXJuIG51bGw7XG4gICAgaWYgKHggPCAwIHx8IHggPj0gdGlsZVJhbmdlKSB4ID0gKCh4ICUgdGlsZVJhbmdlKSArIHRpbGVSYW5nZSkgJSB0aWxlUmFuZ2U7XG4gICAgcmV0dXJuIHsgeDogeCwgeTogeSB9O1xuICB9XG59XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLFNBQVMsTUFBTSxlQUFlLENBQUM7O0FBTXRDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsS0FBSyxDQUFDLFFBQTJCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRTtZQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBRTtZQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDM0MsV0FBVyxFQUFFLFdBQVc7WUFDeEIsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjO2dCQUN6QyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLGNBQWUsQ0FBQztnQkFDN0UsQ0FBQyxDQUFDLFNBQVM7U0FDZCxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMs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SUFDeEIsQ0FBQzt1R0FyRFUsZ0JBQWdCOzJHQUFoQixnQkFBZ0IsY0FGZixNQUFNOzsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgWFlaIH0gZnJvbSAnb2wvc291cmNlJztcbmltcG9ydCB7IFRpbGVMYXllclNldHRpbmdzIH0gZnJvbSAnLi90aWxlLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IFRpbGVDb29yZCB9IGZyb20gJ29sL3RpbGVjb29yZCc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdvbC9wcm9qJztcbmltcG9ydCBUaWxlTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvVGlsZSc7XG5pbXBvcnQgeyBUaWxlIH0gZnJvbSAnb2wnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGlsZUxheWVyRmFjdG9yeSB7XG4gIHB1YmxpYyBidWlsZChzZXR0aW5nczogVGlsZUxheWVyU2V0dGluZ3MpOiBUaWxlTGF5ZXI8WFlaPiB7XG4gICAgY29uc3Qgc291cmNlID0gbmV3IFhZWih7XG4gICAgICB0aWxlU2l6ZTogMjU2LFxuICAgICAgbWF4Wm9vbTogc2V0dGluZ3MubWF4Wm9vbSB8fCAxNCxcbiAgICAgIG1pblpvb206IHNldHRpbmdzLm1pblpvb20gfHwgMSxcbiAgICAgIHByb2plY3Rpb246IGdldChzZXR0aW5ncy5wcm9qZWN0aW9uKSEsXG4gICAgICB0aWxlVXJsRnVuY3Rpb246IHRoaXMuZ2V0VGlsZUZ1bmMoc2V0dGluZ3MpLFxuICAgICAgY3Jvc3NPcmlnaW46ICdBbm9ueW1vdXMnLFxuICAgICAgdGlsZUxvYWRGdW5jdGlvbjogISFzZXR0aW5ncy5yZXF1ZXN0SGVhZGVyc1xuICAgICAgICA/ICh0aWxlLCBzcmM6IHN0cmluZykgPT4gdGhpcy50aWxlTG9hZGVyKHRpbGUsIHNyYywgc2V0dGluZ3MucmVxdWVzdEhlYWRlcnMhKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFRpbGVMYXllcih7IHNvdXJjZSwgb3BhY2l0eTogc2V0dGluZ3Mub3BhY2l0eSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGlsZUZ1bmMoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogKHRpbGVDb29yZDogVGlsZUNvb3JkKSA9PiBzdHJpbmcge1xuICAgIHJldHVybiAodGlsZUNvb3JkKSA9PiB7XG4gICAgICBjb25zdCB6b29tID0gdGlsZUNvb3JkWzBdO1xuICAgICAgY29uc3QgeCA9IHRpbGVDb29yZFsxXTtcbiAgICAgIGNvbnN0IHkgPSB0aWxlQ29vcmRbMl07XG4gICAgICBjb25zdCBub3JtYWxpemVkQ29vcmQgPSB0aGlzLmdldE5vcm1hbGl6ZWRDb29yZCh7IHg6IHgsIHk6IHkgfSwgem9vbSk7XG4gICAgICBjb25zdCBib3VuZCA9IDEgPDwgem9vbTtcbiAgICAgIHJldHVybiBzZXR0aW5ncy51cmxcbiAgICAgICAgLnJlcGxhY2UoJ3t4fScsIFN0cmluZyhub3JtYWxpemVkQ29vcmQ/LnggfHwgeCkpXG4gICAgICAgIC5yZXBsYWNlKCd7en0nLCBTdHJpbmcoem9vbSkpXG4gICAgICAgIC5yZXBsYWNlKCd7eX0nLCBTdHJpbmcoYm91bmQgLSAobm9ybWFsaXplZENvb3JkPy55IHx8IHkpIC0gMSkpO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHRpbGVMb2FkZXIodGlsZTogVGlsZSwgc3JjOiBzdHJpbmcsIGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICBjbGllbnQub3BlbignR0VUJywgc3JjKTtcbiAgICBjbGllbnQucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJztcbiAgICBPYmplY3Qua2V5cyhoZWFkZXJzKS5mb3JFYWNoKChrOiBzdHJpbmcpID0+IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKGssIGhlYWRlcnNba10pKTtcbiAgICBjbGllbnQub25sb2FkID0gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKHRoaXMucmVzcG9uc2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBhcnJheUJ1ZmZlclZpZXcgPSBuZXcgVWludDhBcnJheSh0aGlzLnJlc3BvbnNlKTtcbiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFthcnJheUJ1ZmZlclZpZXddLCB7IHR5cGU6ICdpbWFnZS9wbmcnIH0pO1xuICAgICAgICBjb25zdCB1cmxDcmVhdG9yID0gd2luZG93LlVSTCB8fCAod2luZG93IGFzIGFueSkud2Via2l0VVJMO1xuICAgICAgICAodGlsZSBhcyBhbnkpLmdldEltYWdlKCkuc3JjID0gdXJsQ3JlYXRvci5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICB9XG4gICAgfTtcbiAgICBjbGllbnQuc2VuZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb3JtYWxpemVkQ29vcmQoY29vcmQ6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSwgem9vbTogbnVtYmVyKSB7XG4gICAgY29uc3QgeSA9IGNvb3JkLnk7XG4gICAgbGV0IHggPSBjb29yZC54O1xuICAgIGNvbnN0IHRpbGVSYW5nZSA9IDEgPDwgem9vbTtcbiAgICBpZiAoeSA8IDAgfHwgeSA+PSB0aWxlUmFuZ2UpIHJldHVybiBudWxsO1xuICAgIGlmICh4IDwgMCB8fCB4ID49IHRpbGVSYW5nZSkgeCA9ICgoeCAlIHRpbGVSYW5nZSkgKyB0aWxlUmFuZ2UpICUgdGlsZVJhbmdlO1xuICAgIHJldHVybiB7IHg6IHgsIHk6IHkgfTtcbiAgfVxufVxuIl19
@@ -37,6 +37,13 @@ export class TileLayerSettings {
37
37
  * @default 'EPSG:3857'
38
38
  */
39
39
  projection = 'EPSG:3857';
40
+ /**
41
+ * Additional headers that should be added to each tile request
42
+ *
43
+ * @type {Record<string, string>}
44
+ * @default An empty array
45
+ */
46
+ requestHeaders = null;
40
47
  /**
41
48
  * Creates a copy of the given tile layer settings.
42
49
  *
@@ -50,6 +57,7 @@ export class TileLayerSettings {
50
57
  result.projection = model.projection;
51
58
  result.opacity = model.opacity;
52
59
  result.url = model.url;
60
+ result.requestHeaders = model.requestHeaders;
53
61
  return result;
54
62
  }
55
63
  /**
@@ -61,6 +69,15 @@ export class TileLayerSettings {
61
69
  setUrl(url) {
62
70
  return TileLayerSettings.copy({ ...this, url });
63
71
  }
72
+ /**
73
+ * Sets the requestHeaders of the TileLayerSettings object.
74
+ *
75
+ * @param {Record<string, string>} requestHeaders - The headers which should be provided.
76
+ * @return {TileLayerSettings} - The updated TileLayerSettings object.
77
+ */
78
+ setRequestHeaders(requestHeaders) {
79
+ return TileLayerSettings.copy({ ...this, requestHeaders });
80
+ }
64
81
  /**
65
82
  * Sets the maximum zoom level for the tile layer.
66
83
  *
@@ -114,7 +131,9 @@ export class TileLayerSettings {
114
131
  return false;
115
132
  if (this.opacity !== model.opacity)
116
133
  return false;
134
+ if (this.requestHeaders !== model.requestHeaders)
135
+ return false;
117
136
  return true;
118
137
  }
119
138
  }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1Qjs7Ozs7T0FLRztJQUNILE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckI7Ozs7T0FJRztJQUNILE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEI7Ozs7O09BS0c7SUFDSCxPQUFPLEdBQVcsR0FBRyxDQUFDO0lBQ3RCOzs7Ozs7T0FNRztJQUNILEdBQUcsR0FBVyxFQUFFLENBQUM7SUFDakI7Ozs7O09BS0c7SUFDSCxVQUFVLEdBQVcsV0FBVyxDQUFDO0lBRWpDOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUF3QjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUN2QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsR0FBVztRQUNoQixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsYUFBYSxDQUFDLFVBQWtCO1FBQzlCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsS0FBd0I7UUFDcEMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxHQUFHO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDekMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxVQUFVO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENsYXNzIHJlcHJlc2VudGluZyBzZXR0aW5ncyBmb3IgYSB0aWxlIGxheWVyLlxuICovXG5leHBvcnQgY2xhc3MgVGlsZUxheWVyU2V0dGluZ3Mge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gem9vbSBsZXZlbCBmb3IgYSBtYXAgdmlldy5cbiAgICpcbiAgICogQHR5cGUge251bWJlcn1cbiAgICogQGRlZmF1bHQgMTlcbiAgICovXG4gIG1heFpvb206IG51bWJlciA9IDE5O1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gem9vbSBsZXZlbCBhbGxvd2VkLlxuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgbWluWm9vbTogbnVtYmVyID0gMDtcbiAgLyoqXG4gICAqIFRoZSBvcGFjaXR5IG9mIGFuIGVsZW1lbnQuXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBkZWZhdWx0IDAuNlxuICAgKi9cbiAgb3BhY2l0eTogbnVtYmVyID0gMC42O1xuICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgdGlsZXMgVVJMLlxuICAgKiBAdHlwZWRlZiB7c3RyaW5nfSB1cmxcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogJ2h0dHBzOi8vZXhhbXBsZS5leC97en0ve3h9L3t5fS5wbmcnXG4gICAqL1xuICB1cmw6IHN0cmluZyA9ICcnO1xuICAvKipcbiAgICogVGhlIHByb2plY3Rpb24gb2YgdGhlIGNvb3JkaW5hdGUgc3lzdGVtLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCAnRVBTRzozODU3J1xuICAgKi9cbiAgcHJvamVjdGlvbjogc3RyaW5nID0gJ0VQU0c6Mzg1Nyc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjb3B5IG9mIHRoZSBnaXZlbiB0aWxlIGxheWVyIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge1RpbGVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSB0aWxlIGxheWVyIHNldHRpbmdzIHRvIGJlIGNvcGllZC5cbiAgICogQHJldHVybiB7VGlsZUxheWVyU2V0dGluZ3N9IC0gQSBuZXcgaW5zdGFuY2Ugb2YgVGlsZUxheWVyU2V0dGluZ3Mgd2l0aCB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFzIHRoZSBtb2RlbC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFRpbGVMYXllclNldHRpbmdzKCk7XG4gICAgcmVzdWx0Lm1heFpvb20gPSBtb2RlbC5tYXhab29tO1xuICAgIHJlc3VsdC5taW5ab29tID0gbW9kZWwubWluWm9vbTtcbiAgICByZXN1bHQucHJvamVjdGlvbiA9IG1vZGVsLnByb2plY3Rpb247XG4gICAgcmVzdWx0Lm9wYWNpdHkgPSBtb2RlbC5vcGFjaXR5O1xuICAgIHJlc3VsdC51cmwgPSBtb2RlbC51cmw7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBVUkwgb2YgdGhlIFRpbGVMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFRoZSBVUkwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtUaWxlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBUaWxlTGF5ZXJTZXR0aW5ncyBvYmplY3QuXG4gICAqL1xuICBzZXRVcmwodXJsOiBzdHJpbmcpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCB1cmwgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWF4aW11bSB6b29tIGxldmVsIGZvciB0aGUgdGlsZSBsYXllci5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IG1heFpvb20gLSBUaGUgbWF4aW11bSB6b29tIGxldmVsLlxuICAgKiBAcmV0dXJucyB7VGlsZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgdGlsZSBsYXllciBzZXR0aW5ncyBvYmplY3QuXG4gICAqL1xuICBzZXRNYXhab29tKG1heFpvb206IG51bWJlcik6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG1heFpvb20gfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWluaW11bSB6b29tIGxldmVsIGZvciB0aGUgVGlsZSBMYXllci5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IG1pblpvb20gLSBUaGUgbWluaW11bSB6b29tIGxldmVsIHRvIGJlIHNldC5cbiAgICogQHJldHVybiB7VGlsZUxheWVyU2V0dGluZ3N9IFRoZSBtb2RpZmllZCBUaWxlTGF5ZXJTZXR0aW5ncyBvYmplY3Qgd2l0aCB0aGUgdXBkYXRlZCBtaW5pbXVtIHpvb20gbGV2ZWwuXG4gICAqL1xuICBzZXRNaW5ab29tKG1pblpvb206IG51bWJlcik6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG1pblpvb20gfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgb3BhY2l0eSBvZiB0aGUgVGlsZUxheWVyU2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcGFjaXR5IC0gVGhlIG9wYWNpdHkgdmFsdWUgdG8gc2V0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbiAgICogQHJldHVybiB7VGlsZUxheWVyU2V0dGluZ3N9IC0gQSBuZXcgaW5zdGFuY2Ugb2YgVGlsZUxheWVyU2V0dGluZ3Mgd2l0aCB0aGUgb3BhY2l0eSBzZXQuXG4gICAqL1xuICBzZXRPcGFjaXR5KG9wYWNpdHk6IG51bWJlcik6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG9wYWNpdHkgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcHJvamVjdGlvbiBmb3IgdGhlIHRpbGUgbGF5ZXIgc2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9qZWN0aW9uIC0gVGhlIGRlc2lyZWQgcHJvamVjdGlvbiBmb3IgdGhlIHRpbGUgbGF5ZXIgc2V0dGluZ3MuXG4gICAqIEByZXR1cm4ge1RpbGVMYXllclNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIHRpbGUgbGF5ZXIgc2V0dGluZ3Mgd2l0aCB0aGUgbmV3IHByb2plY3Rpb24uXG4gICAqL1xuICBzZXRQcm9qZWN0aW9uKHByb2plY3Rpb246IHN0cmluZyk6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIHByb2plY3Rpb24gfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IGluc3RhbmNlIG9mIFRpbGVMYXllclNldHRpbmdzIGlzIGVxdWFsIHRvIHRoZSBnaXZlbiBtb2RlbC5cbiAgICogQHBhcmFtIHtUaWxlTGF5ZXJTZXR0aW5nc30gbW9kZWwgLSBUaGUgbW9kZWwgdG8gY29tcGFyZSBhZ2FpbnN0LlxuICAgKiBAcmV0dXJuIHtib29sZWFufSAtIFRydWUgaWYgYWxsIHByb3BlcnRpZXMgb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgbWF0Y2hlcyB0aGUgcHJvcGVydGllcyBvZiB0aGUgbW9kZWw7XG4gICAqICAgICAgICAgICAgICAgICAgICBvdGhlcndpc2UsIGZhbHNlLlxuICAgKi9cbiAgcHVibGljIGlzU2FtZShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tYXhab29tICE9PSBtb2RlbC5tYXhab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWluWm9vbSAhPT0gbW9kZWwubWluWm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnVybCAhPT0gbW9kZWwudXJsKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMucHJvamVjdGlvbiAhPT0gbW9kZWwucHJvamVjdGlvbikgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm9wYWNpdHkgIT09IG1vZGVsLm9wYWNpdHkpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1Qjs7Ozs7T0FLRztJQUNILE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckI7Ozs7T0FJRztJQUNILE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEI7Ozs7O09BS0c7SUFDSCxPQUFPLEdBQVcsR0FBRyxDQUFDO0lBQ3RCOzs7Ozs7T0FNRztJQUNILEdBQUcsR0FBVyxFQUFFLENBQUM7SUFDakI7Ozs7O09BS0c7SUFDSCxVQUFVLEdBQVcsV0FBVyxDQUFDO0lBQ2pDOzs7OztPQUtHO0lBQ0gsY0FBYyxHQUFrQyxJQUFJLENBQUM7SUFDckQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQXdCO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUN2QyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUM3QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsR0FBVztRQUNoQixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUJBQWlCLENBQUMsY0FBc0M7UUFDdEQsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxVQUFrQjtRQUM5QixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQXdCO1FBQ3BDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsR0FBRztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3pDLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLENBQUMsVUFBVTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3ZELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxLQUFLLENBQUMsY0FBYztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDbGFzcyByZXByZXNlbnRpbmcgc2V0dGluZ3MgZm9yIGEgdGlsZSBsYXllci5cbiAqL1xuZXhwb3J0IGNsYXNzIFRpbGVMYXllclNldHRpbmdzIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHpvb20gbGV2ZWwgZm9yIGEgbWFwIHZpZXcuXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBkZWZhdWx0IDE5XG4gICAqL1xuICBtYXhab29tOiBudW1iZXIgPSAxOTtcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgYWxsb3dlZC5cbiAgICpcbiAgICogQHR5cGUge251bWJlcn1cbiAgICovXG4gIG1pblpvb206IG51bWJlciA9IDA7XG4gIC8qKlxuICAgKiBUaGUgb3BhY2l0eSBvZiBhbiBlbGVtZW50LlxuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAZGVmYXVsdCAwLjZcbiAgICovXG4gIG9wYWNpdHk6IG51bWJlciA9IDAuNjtcbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIHRpbGVzIFVSTC5cbiAgICogQHR5cGVkZWYge3N0cmluZ30gdXJsXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqICdodHRwczovL2V4YW1wbGUuZXgve3p9L3t4fS97eX0ucG5nJ1xuICAgKi9cbiAgdXJsOiBzdHJpbmcgPSAnJztcbiAgLyoqXG4gICAqIFRoZSBwcm9qZWN0aW9uIG9mIHRoZSBjb29yZGluYXRlIHN5c3RlbS5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgJ0VQU0c6Mzg1NydcbiAgICovXG4gIHByb2plY3Rpb246IHN0cmluZyA9ICdFUFNHOjM4NTcnO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBoZWFkZXJzIHRoYXQgc2hvdWxkIGJlIGFkZGVkIHRvIGVhY2ggdGlsZSByZXF1ZXN0XG4gICAqXG4gICAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fVxuICAgKiBAZGVmYXVsdCBBbiBlbXB0eSBhcnJheVxuICAgKi9cbiAgcmVxdWVzdEhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBudWxsID0gbnVsbDtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjb3B5IG9mIHRoZSBnaXZlbiB0aWxlIGxheWVyIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge1RpbGVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSB0aWxlIGxheWVyIHNldHRpbmdzIHRvIGJlIGNvcGllZC5cbiAgICogQHJldHVybiB7VGlsZUxheWVyU2V0dGluZ3N9IC0gQSBuZXcgaW5zdGFuY2Ugb2YgVGlsZUxheWVyU2V0dGluZ3Mgd2l0aCB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFzIHRoZSBtb2RlbC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFRpbGVMYXllclNldHRpbmdzKCk7XG4gICAgcmVzdWx0Lm1heFpvb20gPSBtb2RlbC5tYXhab29tO1xuICAgIHJlc3VsdC5taW5ab29tID0gbW9kZWwubWluWm9vbTtcbiAgICByZXN1bHQucHJvamVjdGlvbiA9IG1vZGVsLnByb2plY3Rpb247XG4gICAgcmVzdWx0Lm9wYWNpdHkgPSBtb2RlbC5vcGFjaXR5O1xuICAgIHJlc3VsdC51cmwgPSBtb2RlbC51cmw7XG4gICAgcmVzdWx0LnJlcXVlc3RIZWFkZXJzID0gbW9kZWwucmVxdWVzdEhlYWRlcnM7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBVUkwgb2YgdGhlIFRpbGVMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFRoZSBVUkwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtUaWxlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBUaWxlTGF5ZXJTZXR0aW5ncyBvYmplY3QuXG4gICAqL1xuICBzZXRVcmwodXJsOiBzdHJpbmcpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCB1cmwgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcmVxdWVzdEhlYWRlcnMgb2YgdGhlIFRpbGVMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSByZXF1ZXN0SGVhZGVycyAtIFRoZSBoZWFkZXJzIHdoaWNoIHNob3VsZCBiZSBwcm92aWRlZC5cbiAgICogQHJldHVybiB7VGlsZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgVGlsZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0UmVxdWVzdEhlYWRlcnMocmVxdWVzdEhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCByZXF1ZXN0SGVhZGVycyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtYXhpbXVtIHpvb20gbGV2ZWwgZm9yIHRoZSB0aWxlIGxheWVyLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Wm9vbSAtIFRoZSBtYXhpbXVtIHpvb20gbGV2ZWwuXG4gICAqIEByZXR1cm5zIHtUaWxlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCB0aWxlIGxheWVyIHNldHRpbmdzIG9iamVjdC5cbiAgICovXG4gIHNldE1heFpvb20obWF4Wm9vbTogbnVtYmVyKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWF4Wm9vbSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgZm9yIHRoZSBUaWxlIExheWVyLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbWluWm9vbSAtIFRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtUaWxlTGF5ZXJTZXR0aW5nc30gVGhlIG1vZGlmaWVkIFRpbGVMYXllclNldHRpbmdzIG9iamVjdCB3aXRoIHRoZSB1cGRhdGVkIG1pbmltdW0gem9vbSBsZXZlbC5cbiAgICovXG4gIHNldE1pblpvb20obWluWm9vbTogbnVtYmVyKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWluWm9vbSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBvcGFjaXR5IG9mIHRoZSBUaWxlTGF5ZXJTZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9wYWNpdHkgLSBUaGUgb3BhY2l0eSB2YWx1ZSB0byBzZXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuICAgKiBAcmV0dXJuIHtUaWxlTGF5ZXJTZXR0aW5nc30gLSBBIG5ldyBpbnN0YW5jZSBvZiBUaWxlTGF5ZXJTZXR0aW5ncyB3aXRoIHRoZSBvcGFjaXR5IHNldC5cbiAgICovXG4gIHNldE9wYWNpdHkob3BhY2l0eTogbnVtYmVyKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgb3BhY2l0eSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwcm9qZWN0aW9uIGZvciB0aGUgdGlsZSBsYXllciBzZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByb2plY3Rpb24gLSBUaGUgZGVzaXJlZCBwcm9qZWN0aW9uIGZvciB0aGUgdGlsZSBsYXllciBzZXR0aW5ncy5cbiAgICogQHJldHVybiB7VGlsZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgdGlsZSBsYXllciBzZXR0aW5ncyB3aXRoIHRoZSBuZXcgcHJvamVjdGlvbi5cbiAgICovXG4gIHNldFByb2plY3Rpb24ocHJvamVjdGlvbjogc3RyaW5nKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgcHJvamVjdGlvbiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgVGlsZUxheWVyU2V0dGluZ3MgaXMgZXF1YWwgdG8gdGhlIGdpdmVuIG1vZGVsLlxuICAgKiBAcGFyYW0ge1RpbGVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSBtb2RlbCB0byBjb21wYXJlIGFnYWluc3QuXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IC0gVHJ1ZSBpZiBhbGwgcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSBtYXRjaGVzIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBtb2RlbDtcbiAgICogICAgICAgICAgICAgICAgICAgIG90aGVyd2lzZSwgZmFsc2UuXG4gICAqL1xuICBwdWJsaWMgaXNTYW1lKG1vZGVsOiBUaWxlTGF5ZXJTZXR0aW5ncyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm1heFpvb20gIT09IG1vZGVsLm1heFpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5taW5ab29tICE9PSBtb2RlbC5taW5ab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMudXJsICE9PSBtb2RlbC51cmwpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5wcm9qZWN0aW9uICE9PSBtb2RlbC5wcm9qZWN0aW9uKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMub3BhY2l0eSAhPT0gbW9kZWwub3BhY2l0eSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnJlcXVlc3RIZWFkZXJzICE9PSBtb2RlbC5yZXF1ZXN0SGVhZGVycykgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
@@ -12,6 +12,9 @@ export class TileLayerFactory {
12
12
  projection: get(settings.projection),
13
13
  tileUrlFunction: this.getTileFunc(settings),
14
14
  crossOrigin: 'Anonymous',
15
+ tileLoadFunction: !!settings.requestHeaders
16
+ ? (tile, src) => this.tileLoader(tile, src, settings.requestHeaders)
17
+ : undefined,
15
18
  });
16
19
  return new TileLayer({ source, opacity: settings.opacity });
17
20
  }
@@ -28,6 +31,21 @@ export class TileLayerFactory {
28
31
  .replace('{y}', String(bound - (normalizedCoord?.y || y) - 1));
29
32
  };
30
33
  }
34
+ tileLoader(tile, src, headers) {
35
+ const client = new XMLHttpRequest();
36
+ client.open('GET', src);
37
+ client.responseType = 'arraybuffer';
38
+ Object.keys(headers).forEach((k) => client.setRequestHeader(k, headers[k]));
39
+ client.onload = function () {
40
+ if (this.response !== undefined) {
41
+ const arrayBufferView = new Uint8Array(this.response);
42
+ const blob = new Blob([arrayBufferView], { type: 'image/png' });
43
+ const urlCreator = window.URL || window.webkitURL;
44
+ tile.getImage().src = urlCreator.createObjectURL(blob);
45
+ }
46
+ };
47
+ client.send();
48
+ }
31
49
  getNormalizedCoord(coord, zoom) {
32
50
  const y = coord.y;
33
51
  let x = coord.x;
@@ -47,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
47
65
  providedIn: 'root',
48
66
  }]
49
67
  }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLFNBQVMsTUFBTSxlQUFlLENBQUM7O0FBS3RDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsS0FBSyxDQUFDLFFBQTJCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRTtZQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBRTtZQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDM0MsV0FBVyxFQUFFLFdBQVc7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUEyQjtRQUM3QyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUN4QixPQUFPLFFBQVEsQ0FBQyxHQUFHO2lCQUNoQixPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUMvQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDNUIsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUErQixFQUFFLElBQVk7UUFDdEUsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQzNFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QixDQUFDO3VHQWxDVSxnQkFBZ0I7MkdBQWhCLGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IHsgVGlsZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL3RpbGUtbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgVGlsZUNvb3JkIH0gZnJvbSAnb2wvdGlsZWNvb3JkJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVMYXllckZhY3Rvcnkge1xuICBwdWJsaWMgYnVpbGQoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogVGlsZUxheWVyPFhZWj4ge1xuICAgIGNvbnN0IHNvdXJjZSA9IG5ldyBYWVooe1xuICAgICAgdGlsZVNpemU6IDI1NixcbiAgICAgIG1heFpvb206IHNldHRpbmdzLm1heFpvb20gfHwgMTQsXG4gICAgICBtaW5ab29tOiBzZXR0aW5ncy5taW5ab29tIHx8IDEsXG4gICAgICBwcm9qZWN0aW9uOiBnZXQoc2V0dGluZ3MucHJvamVjdGlvbikhLFxuICAgICAgdGlsZVVybEZ1bmN0aW9uOiB0aGlzLmdldFRpbGVGdW5jKHNldHRpbmdzKSxcbiAgICAgIGNyb3NzT3JpZ2luOiAnQW5vbnltb3VzJyxcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFRpbGVMYXllcih7IHNvdXJjZSwgb3BhY2l0eTogc2V0dGluZ3Mub3BhY2l0eSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGlsZUZ1bmMoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogKHRpbGVDb29yZDogVGlsZUNvb3JkKSA9PiBzdHJpbmcge1xuICAgIHJldHVybiAodGlsZUNvb3JkKSA9PiB7XG4gICAgICBjb25zdCB6b29tID0gdGlsZUNvb3JkWzBdO1xuICAgICAgY29uc3QgeCA9IHRpbGVDb29yZFsxXTtcbiAgICAgIGNvbnN0IHkgPSB0aWxlQ29vcmRbMl07XG4gICAgICBjb25zdCBub3JtYWxpemVkQ29vcmQgPSB0aGlzLmdldE5vcm1hbGl6ZWRDb29yZCh7IHg6IHgsIHk6IHkgfSwgem9vbSk7XG4gICAgICBjb25zdCBib3VuZCA9IDEgPDwgem9vbTtcbiAgICAgIHJldHVybiBzZXR0aW5ncy51cmxcbiAgICAgICAgLnJlcGxhY2UoJ3t4fScsIFN0cmluZyhub3JtYWxpemVkQ29vcmQ/LnggfHwgeCkpXG4gICAgICAgIC5yZXBsYWNlKCd7en0nLCBTdHJpbmcoem9vbSkpXG4gICAgICAgIC5yZXBsYWNlKCd7eX0nLCBTdHJpbmcoYm91bmQgLSAobm9ybWFsaXplZENvb3JkPy55IHx8IHkpIC0gMSkpO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldE5vcm1hbGl6ZWRDb29yZChjb29yZDogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LCB6b29tOiBudW1iZXIpIHtcbiAgICBjb25zdCB5ID0gY29vcmQueTtcbiAgICBsZXQgeCA9IGNvb3JkLng7XG4gICAgY29uc3QgdGlsZVJhbmdlID0gMSA8PCB6b29tO1xuICAgIGlmICh5IDwgMCB8fCB5ID49IHRpbGVSYW5nZSkgcmV0dXJuIG51bGw7XG4gICAgaWYgKHggPCAwIHx8IHggPj0gdGlsZVJhbmdlKSB4ID0gKCh4ICUgdGlsZVJhbmdlKSArIHRpbGVSYW5nZSkgJSB0aWxlUmFuZ2U7XG4gICAgcmV0dXJuIHsgeDogeCwgeTogeSB9O1xuICB9XG59XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLFNBQVMsTUFBTSxlQUFlLENBQUM7O0FBTXRDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsS0FBSyxDQUFDLFFBQTJCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRTtZQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBRTtZQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDM0MsV0FBVyxFQUFFLFdBQVc7WUFDeEIsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjO2dCQUN6QyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLGNBQWUsQ0FBQztnQkFDN0UsQ0FBQyxDQUFDLFNBQVM7U0FDZCxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLENB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QUM7SUFDeEIsQ0FBQzt1R0FyRFUsZ0JBQWdCOzJHQUFoQixnQkFBZ0IsY0FGZixNQUFNOzsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgWFlaIH0gZnJvbSAnb2wvc291cmNlJztcbmltcG9ydCB7IFRpbGVMYXllclNldHRpbmdzIH0gZnJvbSAnLi90aWxlLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IFRpbGVDb29yZCB9IGZyb20gJ29sL3RpbGVjb29yZCc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdvbC9wcm9qJztcbmltcG9ydCBUaWxlTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvVGlsZSc7XG5pbXBvcnQgeyBUaWxlIH0gZnJvbSAnb2wnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGlsZUxheWVyRmFjdG9yeSB7XG4gIHB1YmxpYyBidWlsZChzZXR0aW5nczogVGlsZUxheWVyU2V0dGluZ3MpOiBUaWxlTGF5ZXI8WFlaPiB7XG4gICAgY29uc3Qgc291cmNlID0gbmV3IFhZWih7XG4gICAgICB0aWxlU2l6ZTogMjU2LFxuICAgICAgbWF4Wm9vbTogc2V0dGluZ3MubWF4Wm9vbSB8fCAxNCxcbiAgICAgIG1pblpvb206IHNldHRpbmdzLm1pblpvb20gfHwgMSxcbiAgICAgIHByb2plY3Rpb246IGdldChzZXR0aW5ncy5wcm9qZWN0aW9uKSEsXG4gICAgICB0aWxlVXJsRnVuY3Rpb246IHRoaXMuZ2V0VGlsZUZ1bmMoc2V0dGluZ3MpLFxuICAgICAgY3Jvc3NPcmlnaW46ICdBbm9ueW1vdXMnLFxuICAgICAgdGlsZUxvYWRGdW5jdGlvbjogISFzZXR0aW5ncy5yZXF1ZXN0SGVhZGVyc1xuICAgICAgICA/ICh0aWxlLCBzcmM6IHN0cmluZykgPT4gdGhpcy50aWxlTG9hZGVyKHRpbGUsIHNyYywgc2V0dGluZ3MucmVxdWVzdEhlYWRlcnMhKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFRpbGVMYXllcih7IHNvdXJjZSwgb3BhY2l0eTogc2V0dGluZ3Mub3BhY2l0eSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGlsZUZ1bmMoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogKHRpbGVDb29yZDogVGlsZUNvb3JkKSA9PiBzdHJpbmcge1xuICAgIHJldHVybiAodGlsZUNvb3JkKSA9PiB7XG4gICAgICBjb25zdCB6b29tID0gdGlsZUNvb3JkWzBdO1xuICAgICAgY29uc3QgeCA9IHRpbGVDb29yZFsxXTtcbiAgICAgIGNvbnN0IHkgPSB0aWxlQ29vcmRbMl07XG4gICAgICBjb25zdCBub3JtYWxpemVkQ29vcmQgPSB0aGlzLmdldE5vcm1hbGl6ZWRDb29yZCh7IHg6IHgsIHk6IHkgfSwgem9vbSk7XG4gICAgICBjb25zdCBib3VuZCA9IDEgPDwgem9vbTtcbiAgICAgIHJldHVybiBzZXR0aW5ncy51cmxcbiAgICAgICAgLnJlcGxhY2UoJ3t4fScsIFN0cmluZyhub3JtYWxpemVkQ29vcmQ/LnggfHwgeCkpXG4gICAgICAgIC5yZXBsYWNlKCd7en0nLCBTdHJpbmcoem9vbSkpXG4gICAgICAgIC5yZXBsYWNlKCd7eX0nLCBTdHJpbmcoYm91bmQgLSAobm9ybWFsaXplZENvb3JkPy55IHx8IHkpIC0gMSkpO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHRpbGVMb2FkZXIodGlsZTogVGlsZSwgc3JjOiBzdHJpbmcsIGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICBjbGllbnQub3BlbignR0VUJywgc3JjKTtcbiAgICBjbGllbnQucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJztcbiAgICBPYmplY3Qua2V5cyhoZWFkZXJzKS5mb3JFYWNoKChrOiBzdHJpbmcpID0+IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKGssIGhlYWRlcnNba10pKTtcbiAgICBjbGllbnQub25sb2FkID0gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKHRoaXMucmVzcG9uc2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBhcnJheUJ1ZmZlclZpZXcgPSBuZXcgVWludDhBcnJheSh0aGlzLnJlc3BvbnNlKTtcbiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFthcnJheUJ1ZmZlclZpZXddLCB7IHR5cGU6ICdpbWFnZS9wbmcnIH0pO1xuICAgICAgICBjb25zdCB1cmxDcmVhdG9yID0gd2luZG93LlVSTCB8fCAod2luZG93IGFzIGFueSkud2Via2l0VVJMO1xuICAgICAgICAodGlsZSBhcyBhbnkpLmdldEltYWdlKCkuc3JjID0gdXJsQ3JlYXRvci5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICB9XG4gICAgfTtcbiAgICBjbGllbnQuc2VuZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb3JtYWxpemVkQ29vcmQoY29vcmQ6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSwgem9vbTogbnVtYmVyKSB7XG4gICAgY29uc3QgeSA9IGNvb3JkLnk7XG4gICAgbGV0IHggPSBjb29yZC54O1xuICAgIGNvbnN0IHRpbGVSYW5nZSA9IDEgPDwgem9vbTtcbiAgICBpZiAoeSA8IDAgfHwgeSA+PSB0aWxlUmFuZ2UpIHJldHVybiBudWxsO1xuICAgIGlmICh4IDwgMCB8fCB4ID49IHRpbGVSYW5nZSkgeCA9ICgoeCAlIHRpbGVSYW5nZSkgKyB0aWxlUmFuZ2UpICUgdGlsZVJhbmdlO1xuICAgIHJldHVybiB7IHg6IHgsIHk6IHkgfTtcbiAgfVxufVxuIl19
@@ -37,6 +37,13 @@ export class TileLayerSettings {
37
37
  * @default 'EPSG:3857'
38
38
  */
39
39
  projection = 'EPSG:3857';
40
+ /**
41
+ * Additional headers that should be added to each tile request
42
+ *
43
+ * @type {Record<string, string>}
44
+ * @default An empty array
45
+ */
46
+ requestHeaders = null;
40
47
  /**
41
48
  * Creates a copy of the given tile layer settings.
42
49
  *
@@ -50,6 +57,7 @@ export class TileLayerSettings {
50
57
  result.projection = model.projection;
51
58
  result.opacity = model.opacity;
52
59
  result.url = model.url;
60
+ result.requestHeaders = model.requestHeaders;
53
61
  return result;
54
62
  }
55
63
  /**
@@ -61,6 +69,15 @@ export class TileLayerSettings {
61
69
  setUrl(url) {
62
70
  return TileLayerSettings.copy({ ...this, url });
63
71
  }
72
+ /**
73
+ * Sets the requestHeaders of the TileLayerSettings object.
74
+ *
75
+ * @param {Record<string, string>} requestHeaders - The headers which should be provided.
76
+ * @return {TileLayerSettings} - The updated TileLayerSettings object.
77
+ */
78
+ setRequestHeaders(requestHeaders) {
79
+ return TileLayerSettings.copy({ ...this, requestHeaders });
80
+ }
64
81
  /**
65
82
  * Sets the maximum zoom level for the tile layer.
66
83
  *
@@ -114,7 +131,9 @@ export class TileLayerSettings {
114
131
  return false;
115
132
  if (this.opacity !== model.opacity)
116
133
  return false;
134
+ if (this.requestHeaders !== model.requestHeaders)
135
+ return false;
117
136
  return true;
118
137
  }
119
138
  }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1Qjs7Ozs7T0FLRztJQUNILE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckI7Ozs7T0FJRztJQUNILE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEI7Ozs7O09BS0c7SUFDSCxPQUFPLEdBQVcsR0FBRyxDQUFDO0lBQ3RCOzs7Ozs7T0FNRztJQUNILEdBQUcsR0FBVyxFQUFFLENBQUM7SUFDakI7Ozs7O09BS0c7SUFDSCxVQUFVLEdBQVcsV0FBVyxDQUFDO0lBRWpDOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUF3QjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUN2QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsR0FBVztRQUNoQixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsYUFBYSxDQUFDLFVBQWtCO1FBQzlCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsS0FBd0I7UUFDcEMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxHQUFHO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDekMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxVQUFVO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENsYXNzIHJlcHJlc2VudGluZyBzZXR0aW5ncyBmb3IgYSB0aWxlIGxheWVyLlxuICovXG5leHBvcnQgY2xhc3MgVGlsZUxheWVyU2V0dGluZ3Mge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gem9vbSBsZXZlbCBmb3IgYSBtYXAgdmlldy5cbiAgICpcbiAgICogQHR5cGUge251bWJlcn1cbiAgICogQGRlZmF1bHQgMTlcbiAgICovXG4gIG1heFpvb206IG51bWJlciA9IDE5O1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gem9vbSBsZXZlbCBhbGxvd2VkLlxuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgbWluWm9vbTogbnVtYmVyID0gMDtcbiAgLyoqXG4gICAqIFRoZSBvcGFjaXR5IG9mIGFuIGVsZW1lbnQuXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBkZWZhdWx0IDAuNlxuICAgKi9cbiAgb3BhY2l0eTogbnVtYmVyID0gMC42O1xuICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgdGlsZXMgVVJMLlxuICAgKiBAdHlwZWRlZiB7c3RyaW5nfSB1cmxcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogJ2h0dHBzOi8vZXhhbXBsZS5leC97en0ve3h9L3t5fS5wbmcnXG4gICAqL1xuICB1cmw6IHN0cmluZyA9ICcnO1xuICAvKipcbiAgICogVGhlIHByb2plY3Rpb24gb2YgdGhlIGNvb3JkaW5hdGUgc3lzdGVtLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCAnRVBTRzozODU3J1xuICAgKi9cbiAgcHJvamVjdGlvbjogc3RyaW5nID0gJ0VQU0c6Mzg1Nyc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjb3B5IG9mIHRoZSBnaXZlbiB0aWxlIGxheWVyIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge1RpbGVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSB0aWxlIGxheWVyIHNldHRpbmdzIHRvIGJlIGNvcGllZC5cbiAgICogQHJldHVybiB7VGlsZUxheWVyU2V0dGluZ3N9IC0gQSBuZXcgaW5zdGFuY2Ugb2YgVGlsZUxheWVyU2V0dGluZ3Mgd2l0aCB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFzIHRoZSBtb2RlbC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFRpbGVMYXllclNldHRpbmdzKCk7XG4gICAgcmVzdWx0Lm1heFpvb20gPSBtb2RlbC5tYXhab29tO1xuICAgIHJlc3VsdC5taW5ab29tID0gbW9kZWwubWluWm9vbTtcbiAgICByZXN1bHQucHJvamVjdGlvbiA9IG1vZGVsLnByb2plY3Rpb247XG4gICAgcmVzdWx0Lm9wYWNpdHkgPSBtb2RlbC5vcGFjaXR5O1xuICAgIHJlc3VsdC51cmwgPSBtb2RlbC51cmw7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBVUkwgb2YgdGhlIFRpbGVMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFRoZSBVUkwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtUaWxlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBUaWxlTGF5ZXJTZXR0aW5ncyBvYmplY3QuXG4gICAqL1xuICBzZXRVcmwodXJsOiBzdHJpbmcpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCB1cmwgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWF4aW11bSB6b29tIGxldmVsIGZvciB0aGUgdGlsZSBsYXllci5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IG1heFpvb20gLSBUaGUgbWF4aW11bSB6b29tIGxldmVsLlxuICAgKiBAcmV0dXJucyB7VGlsZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgdGlsZSBsYXllciBzZXR0aW5ncyBvYmplY3QuXG4gICAqL1xuICBzZXRNYXhab29tKG1heFpvb206IG51bWJlcik6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG1heFpvb20gfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWluaW11bSB6b29tIGxldmVsIGZvciB0aGUgVGlsZSBMYXllci5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IG1pblpvb20gLSBUaGUgbWluaW11bSB6b29tIGxldmVsIHRvIGJlIHNldC5cbiAgICogQHJldHVybiB7VGlsZUxheWVyU2V0dGluZ3N9IFRoZSBtb2RpZmllZCBUaWxlTGF5ZXJTZXR0aW5ncyBvYmplY3Qgd2l0aCB0aGUgdXBkYXRlZCBtaW5pbXVtIHpvb20gbGV2ZWwuXG4gICAqL1xuICBzZXRNaW5ab29tKG1pblpvb206IG51bWJlcik6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG1pblpvb20gfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgb3BhY2l0eSBvZiB0aGUgVGlsZUxheWVyU2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcGFjaXR5IC0gVGhlIG9wYWNpdHkgdmFsdWUgdG8gc2V0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbiAgICogQHJldHVybiB7VGlsZUxheWVyU2V0dGluZ3N9IC0gQSBuZXcgaW5zdGFuY2Ugb2YgVGlsZUxheWVyU2V0dGluZ3Mgd2l0aCB0aGUgb3BhY2l0eSBzZXQuXG4gICAqL1xuICBzZXRPcGFjaXR5KG9wYWNpdHk6IG51bWJlcik6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG9wYWNpdHkgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcHJvamVjdGlvbiBmb3IgdGhlIHRpbGUgbGF5ZXIgc2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9qZWN0aW9uIC0gVGhlIGRlc2lyZWQgcHJvamVjdGlvbiBmb3IgdGhlIHRpbGUgbGF5ZXIgc2V0dGluZ3MuXG4gICAqIEByZXR1cm4ge1RpbGVMYXllclNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIHRpbGUgbGF5ZXIgc2V0dGluZ3Mgd2l0aCB0aGUgbmV3IHByb2plY3Rpb24uXG4gICAqL1xuICBzZXRQcm9qZWN0aW9uKHByb2plY3Rpb246IHN0cmluZyk6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIHByb2plY3Rpb24gfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IGluc3RhbmNlIG9mIFRpbGVMYXllclNldHRpbmdzIGlzIGVxdWFsIHRvIHRoZSBnaXZlbiBtb2RlbC5cbiAgICogQHBhcmFtIHtUaWxlTGF5ZXJTZXR0aW5nc30gbW9kZWwgLSBUaGUgbW9kZWwgdG8gY29tcGFyZSBhZ2FpbnN0LlxuICAgKiBAcmV0dXJuIHtib29sZWFufSAtIFRydWUgaWYgYWxsIHByb3BlcnRpZXMgb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgbWF0Y2hlcyB0aGUgcHJvcGVydGllcyBvZiB0aGUgbW9kZWw7XG4gICAqICAgICAgICAgICAgICAgICAgICBvdGhlcndpc2UsIGZhbHNlLlxuICAgKi9cbiAgcHVibGljIGlzU2FtZShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tYXhab29tICE9PSBtb2RlbC5tYXhab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWluWm9vbSAhPT0gbW9kZWwubWluWm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnVybCAhPT0gbW9kZWwudXJsKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMucHJvamVjdGlvbiAhPT0gbW9kZWwucHJvamVjdGlvbikgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm9wYWNpdHkgIT09IG1vZGVsLm9wYWNpdHkpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1Qjs7Ozs7T0FLRztJQUNILE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckI7Ozs7T0FJRztJQUNILE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEI7Ozs7O09BS0c7SUFDSCxPQUFPLEdBQVcsR0FBRyxDQUFDO0lBQ3RCOzs7Ozs7T0FNRztJQUNILEdBQUcsR0FBVyxFQUFFLENBQUM7SUFDakI7Ozs7O09BS0c7SUFDSCxVQUFVLEdBQVcsV0FBVyxDQUFDO0lBQ2pDOzs7OztPQUtHO0lBQ0gsY0FBYyxHQUFrQyxJQUFJLENBQUM7SUFDckQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQXdCO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUN2QyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUM3QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsR0FBVztRQUNoQixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUJBQWlCLENBQUMsY0FBc0M7UUFDdEQsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxVQUFrQjtRQUM5QixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQXdCO1FBQ3BDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsR0FBRztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3pDLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLENBQUMsVUFBVTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3ZELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxLQUFLLENBQUMsY0FBYztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDbGFzcyByZXByZXNlbnRpbmcgc2V0dGluZ3MgZm9yIGEgdGlsZSBsYXllci5cbiAqL1xuZXhwb3J0IGNsYXNzIFRpbGVMYXllclNldHRpbmdzIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHpvb20gbGV2ZWwgZm9yIGEgbWFwIHZpZXcuXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBkZWZhdWx0IDE5XG4gICAqL1xuICBtYXhab29tOiBudW1iZXIgPSAxOTtcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgYWxsb3dlZC5cbiAgICpcbiAgICogQHR5cGUge251bWJlcn1cbiAgICovXG4gIG1pblpvb206IG51bWJlciA9IDA7XG4gIC8qKlxuICAgKiBUaGUgb3BhY2l0eSBvZiBhbiBlbGVtZW50LlxuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAZGVmYXVsdCAwLjZcbiAgICovXG4gIG9wYWNpdHk6IG51bWJlciA9IDAuNjtcbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIHRpbGVzIFVSTC5cbiAgICogQHR5cGVkZWYge3N0cmluZ30gdXJsXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqICdodHRwczovL2V4YW1wbGUuZXgve3p9L3t4fS97eX0ucG5nJ1xuICAgKi9cbiAgdXJsOiBzdHJpbmcgPSAnJztcbiAgLyoqXG4gICAqIFRoZSBwcm9qZWN0aW9uIG9mIHRoZSBjb29yZGluYXRlIHN5c3RlbS5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgJ0VQU0c6Mzg1NydcbiAgICovXG4gIHByb2plY3Rpb246IHN0cmluZyA9ICdFUFNHOjM4NTcnO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBoZWFkZXJzIHRoYXQgc2hvdWxkIGJlIGFkZGVkIHRvIGVhY2ggdGlsZSByZXF1ZXN0XG4gICAqXG4gICAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fVxuICAgKiBAZGVmYXVsdCBBbiBlbXB0eSBhcnJheVxuICAgKi9cbiAgcmVxdWVzdEhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBudWxsID0gbnVsbDtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjb3B5IG9mIHRoZSBnaXZlbiB0aWxlIGxheWVyIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge1RpbGVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSB0aWxlIGxheWVyIHNldHRpbmdzIHRvIGJlIGNvcGllZC5cbiAgICogQHJldHVybiB7VGlsZUxheWVyU2V0dGluZ3N9IC0gQSBuZXcgaW5zdGFuY2Ugb2YgVGlsZUxheWVyU2V0dGluZ3Mgd2l0aCB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFzIHRoZSBtb2RlbC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFRpbGVMYXllclNldHRpbmdzKCk7XG4gICAgcmVzdWx0Lm1heFpvb20gPSBtb2RlbC5tYXhab29tO1xuICAgIHJlc3VsdC5taW5ab29tID0gbW9kZWwubWluWm9vbTtcbiAgICByZXN1bHQucHJvamVjdGlvbiA9IG1vZGVsLnByb2plY3Rpb247XG4gICAgcmVzdWx0Lm9wYWNpdHkgPSBtb2RlbC5vcGFjaXR5O1xuICAgIHJlc3VsdC51cmwgPSBtb2RlbC51cmw7XG4gICAgcmVzdWx0LnJlcXVlc3RIZWFkZXJzID0gbW9kZWwucmVxdWVzdEhlYWRlcnM7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBVUkwgb2YgdGhlIFRpbGVMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFRoZSBVUkwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtUaWxlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBUaWxlTGF5ZXJTZXR0aW5ncyBvYmplY3QuXG4gICAqL1xuICBzZXRVcmwodXJsOiBzdHJpbmcpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCB1cmwgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcmVxdWVzdEhlYWRlcnMgb2YgdGhlIFRpbGVMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSByZXF1ZXN0SGVhZGVycyAtIFRoZSBoZWFkZXJzIHdoaWNoIHNob3VsZCBiZSBwcm92aWRlZC5cbiAgICogQHJldHVybiB7VGlsZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgVGlsZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0UmVxdWVzdEhlYWRlcnMocmVxdWVzdEhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCByZXF1ZXN0SGVhZGVycyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtYXhpbXVtIHpvb20gbGV2ZWwgZm9yIHRoZSB0aWxlIGxheWVyLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Wm9vbSAtIFRoZSBtYXhpbXVtIHpvb20gbGV2ZWwuXG4gICAqIEByZXR1cm5zIHtUaWxlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCB0aWxlIGxheWVyIHNldHRpbmdzIG9iamVjdC5cbiAgICovXG4gIHNldE1heFpvb20obWF4Wm9vbTogbnVtYmVyKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWF4Wm9vbSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgZm9yIHRoZSBUaWxlIExheWVyLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbWluWm9vbSAtIFRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtUaWxlTGF5ZXJTZXR0aW5nc30gVGhlIG1vZGlmaWVkIFRpbGVMYXllclNldHRpbmdzIG9iamVjdCB3aXRoIHRoZSB1cGRhdGVkIG1pbmltdW0gem9vbSBsZXZlbC5cbiAgICovXG4gIHNldE1pblpvb20obWluWm9vbTogbnVtYmVyKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWluWm9vbSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBvcGFjaXR5IG9mIHRoZSBUaWxlTGF5ZXJTZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9wYWNpdHkgLSBUaGUgb3BhY2l0eSB2YWx1ZSB0byBzZXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuICAgKiBAcmV0dXJuIHtUaWxlTGF5ZXJTZXR0aW5nc30gLSBBIG5ldyBpbnN0YW5jZSBvZiBUaWxlTGF5ZXJTZXR0aW5ncyB3aXRoIHRoZSBvcGFjaXR5IHNldC5cbiAgICovXG4gIHNldE9wYWNpdHkob3BhY2l0eTogbnVtYmVyKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgb3BhY2l0eSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwcm9qZWN0aW9uIGZvciB0aGUgdGlsZSBsYXllciBzZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByb2plY3Rpb24gLSBUaGUgZGVzaXJlZCBwcm9qZWN0aW9uIGZvciB0aGUgdGlsZSBsYXllciBzZXR0aW5ncy5cbiAgICogQHJldHVybiB7VGlsZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgdGlsZSBsYXllciBzZXR0aW5ncyB3aXRoIHRoZSBuZXcgcHJvamVjdGlvbi5cbiAgICovXG4gIHNldFByb2plY3Rpb24ocHJvamVjdGlvbjogc3RyaW5nKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgcHJvamVjdGlvbiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgVGlsZUxheWVyU2V0dGluZ3MgaXMgZXF1YWwgdG8gdGhlIGdpdmVuIG1vZGVsLlxuICAgKiBAcGFyYW0ge1RpbGVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSBtb2RlbCB0byBjb21wYXJlIGFnYWluc3QuXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IC0gVHJ1ZSBpZiBhbGwgcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSBtYXRjaGVzIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBtb2RlbDtcbiAgICogICAgICAgICAgICAgICAgICAgIG90aGVyd2lzZSwgZmFsc2UuXG4gICAqL1xuICBwdWJsaWMgaXNTYW1lKG1vZGVsOiBUaWxlTGF5ZXJTZXR0aW5ncyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm1heFpvb20gIT09IG1vZGVsLm1heFpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5taW5ab29tICE9PSBtb2RlbC5taW5ab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMudXJsICE9PSBtb2RlbC51cmwpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5wcm9qZWN0aW9uICE9PSBtb2RlbC5wcm9qZWN0aW9uKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMub3BhY2l0eSAhPT0gbW9kZWwub3BhY2l0eSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnJlcXVlc3RIZWFkZXJzICE9PSBtb2RlbC5yZXF1ZXN0SGVhZGVycykgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
@@ -1163,6 +1163,13 @@ class TileLayerSettings {
1163
1163
  * @default 'EPSG:3857'
1164
1164
  */
1165
1165
  projection = 'EPSG:3857';
1166
+ /**
1167
+ * Additional headers that should be added to each tile request
1168
+ *
1169
+ * @type {Record<string, string>}
1170
+ * @default An empty array
1171
+ */
1172
+ requestHeaders = null;
1166
1173
  /**
1167
1174
  * Creates a copy of the given tile layer settings.
1168
1175
  *
@@ -1176,6 +1183,7 @@ class TileLayerSettings {
1176
1183
  result.projection = model.projection;
1177
1184
  result.opacity = model.opacity;
1178
1185
  result.url = model.url;
1186
+ result.requestHeaders = model.requestHeaders;
1179
1187
  return result;
1180
1188
  }
1181
1189
  /**
@@ -1187,6 +1195,15 @@ class TileLayerSettings {
1187
1195
  setUrl(url) {
1188
1196
  return TileLayerSettings.copy({ ...this, url });
1189
1197
  }
1198
+ /**
1199
+ * Sets the requestHeaders of the TileLayerSettings object.
1200
+ *
1201
+ * @param {Record<string, string>} requestHeaders - The headers which should be provided.
1202
+ * @return {TileLayerSettings} - The updated TileLayerSettings object.
1203
+ */
1204
+ setRequestHeaders(requestHeaders) {
1205
+ return TileLayerSettings.copy({ ...this, requestHeaders });
1206
+ }
1190
1207
  /**
1191
1208
  * Sets the maximum zoom level for the tile layer.
1192
1209
  *
@@ -1240,6 +1257,8 @@ class TileLayerSettings {
1240
1257
  return false;
1241
1258
  if (this.opacity !== model.opacity)
1242
1259
  return false;
1260
+ if (this.requestHeaders !== model.requestHeaders)
1261
+ return false;
1243
1262
  return true;
1244
1263
  }
1245
1264
  }
@@ -1253,6 +1272,9 @@ class TileLayerFactory {
1253
1272
  projection: get(settings.projection),
1254
1273
  tileUrlFunction: this.getTileFunc(settings),
1255
1274
  crossOrigin: 'Anonymous',
1275
+ tileLoadFunction: !!settings.requestHeaders
1276
+ ? (tile, src) => this.tileLoader(tile, src, settings.requestHeaders)
1277
+ : undefined,
1256
1278
  });
1257
1279
  return new TileLayer({ source, opacity: settings.opacity });
1258
1280
  }
@@ -1269,6 +1291,21 @@ class TileLayerFactory {
1269
1291
  .replace('{y}', String(bound - (normalizedCoord?.y || y) - 1));
1270
1292
  };
1271
1293
  }
1294
+ tileLoader(tile, src, headers) {
1295
+ const client = new XMLHttpRequest();
1296
+ client.open('GET', src);
1297
+ client.responseType = 'arraybuffer';
1298
+ Object.keys(headers).forEach((k) => client.setRequestHeader(k, headers[k]));
1299
+ client.onload = function () {
1300
+ if (this.response !== undefined) {
1301
+ const arrayBufferView = new Uint8Array(this.response);
1302
+ const blob = new Blob([arrayBufferView], { type: 'image/png' });
1303
+ const urlCreator = window.URL || window.webkitURL;
1304
+ tile.getImage().src = urlCreator.createObjectURL(blob);
1305
+ }
1306
+ };
1307
+ client.send();
1308
+ }
1272
1309
  getNormalizedCoord(coord, zoom) {
1273
1310
  const y = coord.y;
1274
1311
  let x = coord.x;