@basemaps/lambda-tiler 7.3.0 → 7.5.0

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.
Files changed (91) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/build/__tests__/config.data.d.ts +2 -0
  3. package/build/__tests__/config.data.js +24 -1
  4. package/build/__tests__/config.data.js.map +1 -1
  5. package/build/__tests__/index.test.js +1 -2
  6. package/build/__tests__/index.test.js.map +1 -1
  7. package/build/__tests__/tile.style.json.test.js +71 -16
  8. package/build/__tests__/tile.style.json.test.js.map +1 -1
  9. package/build/__tests__/wmts.capability.test.js +5 -2
  10. package/build/__tests__/wmts.capability.test.js.map +1 -1
  11. package/build/__tests__/xyz.util.js.map +1 -1
  12. package/build/cli/render.preview.js +5 -2
  13. package/build/cli/render.preview.js.map +1 -1
  14. package/build/cli/render.tile.js +1 -1
  15. package/build/cli/render.tile.js.map +1 -1
  16. package/build/index.js +1 -1
  17. package/build/index.js.map +1 -1
  18. package/build/routes/__tests__/attribution.test.js +1 -1
  19. package/build/routes/__tests__/attribution.test.js.map +1 -1
  20. package/build/routes/__tests__/health.test.js +1 -1
  21. package/build/routes/__tests__/health.test.js.map +1 -1
  22. package/build/routes/__tests__/imagery.test.js.map +1 -1
  23. package/build/routes/__tests__/memory.fs.js +1 -1
  24. package/build/routes/__tests__/memory.fs.js.map +1 -1
  25. package/build/routes/__tests__/preview.index.test.js +1 -1
  26. package/build/routes/__tests__/preview.index.test.js.map +1 -1
  27. package/build/routes/__tests__/tile.json.test.js.map +1 -1
  28. package/build/routes/__tests__/tile.style.json.test.js +144 -11
  29. package/build/routes/__tests__/tile.style.json.test.js.map +1 -1
  30. package/build/routes/__tests__/wmts.test.js +18 -2
  31. package/build/routes/__tests__/wmts.test.js.map +1 -1
  32. package/build/routes/config.js +1 -1
  33. package/build/routes/config.js.map +1 -1
  34. package/build/routes/ping.js +2 -2
  35. package/build/routes/ping.js.map +1 -1
  36. package/build/routes/preview.index.js +2 -1
  37. package/build/routes/preview.index.js.map +1 -1
  38. package/build/routes/preview.js +3 -1
  39. package/build/routes/preview.js.map +1 -1
  40. package/build/routes/sprites.js.map +1 -1
  41. package/build/routes/tile.style.json.d.ts +5 -4
  42. package/build/routes/tile.style.json.js +78 -24
  43. package/build/routes/tile.style.json.js.map +1 -1
  44. package/build/routes/tile.wmts.js +1 -0
  45. package/build/routes/tile.wmts.js.map +1 -1
  46. package/build/routes/tile.xyz.raster.js +6 -5
  47. package/build/routes/tile.xyz.raster.js.map +1 -1
  48. package/build/routes/version.js +2 -2
  49. package/build/routes/version.js.map +1 -1
  50. package/build/util/__test__/config.loader.test.js +12 -12
  51. package/build/util/__test__/config.loader.test.js.map +1 -1
  52. package/build/util/config.cache.js.map +1 -1
  53. package/build/util/source.cache.js +5 -4
  54. package/build/util/source.cache.js.map +1 -1
  55. package/build/util/validate.js +1 -1
  56. package/build/util/validate.js.map +1 -1
  57. package/build/wmts.capability.d.ts +8 -4
  58. package/build/wmts.capability.js +18 -8
  59. package/build/wmts.capability.js.map +1 -1
  60. package/package.json +10 -10
  61. package/src/__tests__/config.data.ts +31 -2
  62. package/src/__tests__/index.test.ts +2 -3
  63. package/src/__tests__/tile.style.json.test.ts +89 -16
  64. package/src/__tests__/wmts.capability.test.ts +13 -10
  65. package/src/__tests__/xyz.util.ts +4 -4
  66. package/src/cli/render.preview.ts +5 -2
  67. package/src/cli/render.tile.ts +1 -1
  68. package/src/routes/__tests__/attribution.test.ts +7 -7
  69. package/src/routes/__tests__/health.test.ts +3 -3
  70. package/src/routes/__tests__/imagery.test.ts +1 -1
  71. package/src/routes/__tests__/memory.fs.ts +2 -2
  72. package/src/routes/__tests__/preview.index.test.ts +3 -3
  73. package/src/routes/__tests__/tile.json.test.ts +1 -1
  74. package/src/routes/__tests__/tile.style.json.test.ts +175 -15
  75. package/src/routes/__tests__/wmts.test.ts +23 -3
  76. package/src/routes/config.ts +1 -1
  77. package/src/routes/ping.ts +2 -2
  78. package/src/routes/preview.index.ts +2 -1
  79. package/src/routes/preview.ts +4 -2
  80. package/src/routes/sprites.ts +1 -1
  81. package/src/routes/tile.style.json.ts +103 -24
  82. package/src/routes/tile.wmts.ts +1 -0
  83. package/src/routes/tile.xyz.raster.ts +7 -5
  84. package/src/routes/version.ts +2 -2
  85. package/src/util/__test__/config.loader.test.ts +17 -20
  86. package/src/util/config.cache.ts +2 -1
  87. package/src/util/source.cache.ts +6 -4
  88. package/src/util/validate.ts +1 -1
  89. package/src/wmts.capability.ts +17 -9
  90. package/tsconfig.json +10 -10
  91. package/tsconfig.tsbuildinfo +1 -1
@@ -8,13 +8,14 @@ export interface WmtsBuilderParams {
8
8
  apiKey?: string;
9
9
  /** Config location */
10
10
  config?: string | null;
11
- /** Specific DateRange filter for the wmts layers */
12
- filters?: Record<string, string | undefined>;
11
+ /** Default pipeline to use */
12
+ pipeline?: string;
13
13
  }
14
14
  export declare class WmtsBuilder {
15
15
  httpBase: string;
16
16
  apiKey?: string;
17
17
  config?: string | null;
18
+ pipeline?: string;
18
19
  filters?: Record<string, string | undefined>;
19
20
  /** All the imagery used by the tileSet and tileMatrixes */
20
21
  imagery: Map<string, ConfigImagery>;
@@ -33,8 +34,8 @@ export declare class WmtsBuilder {
33
34
  /** Combine all the bounds of the imagery inside the layers into a extent for the imagery set */
34
35
  buildBoundingBoxFromImagery(tms: TileMatrixSet, layers: ConfigLayer[]): VNodeElement | null;
35
36
  buildStyle(): VNodeElement;
36
- buildResourceUrl(tileSetId: string, suffix: string, addFilter?: boolean): VNodeElement;
37
- buildTileUrl(tileSetId: string, suffix: string, addFilter?: boolean): string;
37
+ buildResourceUrl(tileSetId: string, suffix: string): VNodeElement;
38
+ buildTileUrl(tileSetId: string, suffix: string): string;
38
39
  buildFormats(): VNodeElement[];
39
40
  buildTileMatrixLink(tileSet: ConfigTileSet): VNodeElement[];
40
41
  buildLayerFromImagery(layer: ConfigLayer): VNodeElement | null;
@@ -51,6 +52,8 @@ export interface WmtsCapabilitiesParams {
51
52
  formats: ImageFormat[];
52
53
  /** Specific layers to add to the WMTS */
53
54
  layers?: ConfigLayer[];
55
+ /** Default output pipeline to use */
56
+ pipeline?: string | null;
54
57
  }
55
58
  /**
56
59
  * WMTS Capabilities Builder
@@ -74,6 +77,7 @@ export declare class WmtsCapabilities extends WmtsBuilder {
74
77
  addTileSet(tileSet: ConfigTileSet): void;
75
78
  addLayers(configLayers?: ConfigLayer[]): void;
76
79
  addProvider(provider?: WmtsProvider): void;
80
+ addPipeline(pipeline: string): void;
77
81
  toProviderVNode(provider?: WmtsProvider): VNodeElement[] | [];
78
82
  toLayerVNode(tileSet: ConfigTileSet): VNodeElement;
79
83
  toAllImageryLayersVNode(configLayers?: ConfigLayer[]): VNodeElement[];
@@ -44,6 +44,12 @@ export class WmtsBuilder {
44
44
  writable: true,
45
45
  value: void 0
46
46
  });
47
+ Object.defineProperty(this, "pipeline", {
48
+ enumerable: true,
49
+ configurable: true,
50
+ writable: true,
51
+ value: void 0
52
+ });
47
53
  Object.defineProperty(this, "filters", {
48
54
  enumerable: true,
49
55
  configurable: true,
@@ -72,7 +78,7 @@ export class WmtsBuilder {
72
78
  this.httpBase = params.httpBase;
73
79
  this.apiKey = params.apiKey;
74
80
  this.config = params.config;
75
- this.filters = params.filters;
81
+ this.pipeline = params.pipeline;
76
82
  }
77
83
  addImagery(...imagery) {
78
84
  for (const im of imagery)
@@ -162,17 +168,16 @@ export class WmtsBuilder {
162
168
  buildStyle() {
163
169
  return V('Style', { isDefault: 'true' }, [V('ows:Title', 'Default Style'), V('ows:Identifier', 'default')]);
164
170
  }
165
- buildResourceUrl(tileSetId, suffix, addFilter = false) {
171
+ buildResourceUrl(tileSetId, suffix) {
166
172
  return V('ResourceURL', {
167
173
  format: 'image/' + suffix,
168
174
  resourceType: 'tile',
169
- template: this.buildTileUrl(tileSetId, suffix, addFilter),
175
+ template: this.buildTileUrl(tileSetId, suffix),
170
176
  });
171
177
  }
172
- buildTileUrl(tileSetId, suffix, addFilter = false) {
173
- let query = { api: this.apiKey, config: this.config };
174
- if (addFilter)
175
- query = { api: this.apiKey, config: this.config, ...this.filters };
178
+ buildTileUrl(tileSetId, suffix) {
179
+ // TODO this should restrict the output formats to supported formats in pipelines
180
+ const query = { api: this.apiKey, config: this.config, pipeline: this.pipeline };
176
181
  return [
177
182
  this.httpBase,
178
183
  'v1',
@@ -288,6 +293,9 @@ export class WmtsCapabilities extends WmtsBuilder {
288
293
  addProvider(provider) {
289
294
  this.provider = provider;
290
295
  }
296
+ addPipeline(pipeline) {
297
+ this.pipeline = pipeline;
298
+ }
291
299
  toProviderVNode(provider) {
292
300
  if (provider == null)
293
301
  return [];
@@ -348,7 +356,7 @@ export class WmtsCapabilities extends WmtsBuilder {
348
356
  this.buildStyle(),
349
357
  ...this.buildFormats(),
350
358
  ...this.buildTileMatrixLink(tileSet),
351
- ...this.getFormats().map((fmt) => this.buildResourceUrl(layerNameId, fmt, true)),
359
+ ...this.getFormats().map((fmt) => this.buildResourceUrl(layerNameId, fmt)),
352
360
  ]);
353
361
  }
354
362
  toAllImageryLayersVNode(configLayers) {
@@ -415,6 +423,8 @@ export class WmtsCapabilities extends WmtsBuilder {
415
423
  this.addTileSet(params.tileSet);
416
424
  this.addLayers(params.layers);
417
425
  this.addProvider(params.provider);
426
+ if (params.pipeline)
427
+ this.addPipeline(params.pipeline);
418
428
  }
419
429
  }
420
430
  //# sourceMappingURL=wmts.capability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wmts.capability.js","sourceRoot":"","sources":["../src/wmts.capability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wmts.capability.js","sourceRoot":"","sources":["../src/wmts.capability.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basemaps/lambda-tiler",
3
- "version": "7.3.0",
3
+ "version": "7.5.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/linz/basemaps.git",
@@ -22,13 +22,13 @@
22
22
  "types": "./build/index.d.ts",
23
23
  "license": "MIT",
24
24
  "dependencies": {
25
- "@basemaps/config": "^7.1.0",
26
- "@basemaps/config-loader": "^7.3.0",
27
- "@basemaps/geo": "^7.1.0",
28
- "@basemaps/shared": "^7.3.0",
29
- "@basemaps/tiler": "^7.1.0",
30
- "@basemaps/tiler-sharp": "^7.1.0",
31
- "@linzjs/geojson": "^7.1.0",
25
+ "@basemaps/config": "^7.5.0",
26
+ "@basemaps/config-loader": "^7.5.0",
27
+ "@basemaps/geo": "^7.5.0",
28
+ "@basemaps/shared": "^7.5.0",
29
+ "@basemaps/tiler": "^7.5.0",
30
+ "@basemaps/tiler-sharp": "^7.5.0",
31
+ "@linzjs/geojson": "^7.5.0",
32
32
  "@linzjs/lambda": "^4.0.0",
33
33
  "p-limit": "^4.0.0",
34
34
  "path-to-regexp": "^6.1.0",
@@ -49,11 +49,11 @@
49
49
  "bundle": "./bundle.sh"
50
50
  },
51
51
  "devDependencies": {
52
- "@basemaps/attribution": "^7.1.0",
52
+ "@basemaps/attribution": "^7.5.0",
53
53
  "@chunkd/fs": "^11.2.0",
54
54
  "@types/aws-lambda": "^8.10.75",
55
55
  "@types/pixelmatch": "^5.0.0",
56
56
  "pretty-json-log": "^1.0.0"
57
57
  },
58
- "gitHead": "7f99974dde2ad41c1179ef2ce49b29b30be0090d"
58
+ "gitHead": "6563870f6d1a848a81e9275df30e64146ff782c7"
59
59
  }
@@ -6,6 +6,8 @@ import {
6
6
  ConfigProviderMemory,
7
7
  ConfigTileSetRaster,
8
8
  ConfigTileSetVector,
9
+ DefaultColorRampOutput,
10
+ DefaultTerrainRgbOutput,
9
11
  TileSetType,
10
12
  } from '@basemaps/config';
11
13
  import { fsa, FsMemory } from '@basemaps/shared';
@@ -27,6 +29,7 @@ export const TileSetAerial: ConfigTileSetRaster = {
27
29
  },
28
30
  ],
29
31
  };
32
+
30
33
  export const TileSetVector: ConfigTileSetVector = {
31
34
  id: 'ts_topographic',
32
35
  type: TileSetType.Vector,
@@ -43,6 +46,23 @@ export const TileSetVector: ConfigTileSetVector = {
43
46
  },
44
47
  ],
45
48
  };
49
+ export const TileSetElevation: ConfigTileSetRaster = {
50
+ id: 'ts_elevation',
51
+ name: 'elevation',
52
+ type: TileSetType.Raster,
53
+ description: 'elevation__description',
54
+ title: 'Elevation Imagery',
55
+ category: 'Elevation',
56
+ layers: [
57
+ {
58
+ 2193: 'im_01FYWKAJ86W9P7RWM1VB62KD0H',
59
+ 3857: 'im_01FYWKATAEK2ZTJQ2PX44Y0XNT',
60
+ title: 'New Zealand 8m DEM (2012)',
61
+ name: 'new-zealand_2012_dem_8m',
62
+ },
63
+ ],
64
+ outputs: [DefaultTerrainRgbOutput, DefaultColorRampOutput],
65
+ };
46
66
 
47
67
  export const Imagery2193: ConfigImagery = {
48
68
  id: 'im_01FYWKAJ86W9P7RWM1VB62KD0H',
@@ -249,7 +269,7 @@ export const Provider: ConfigProvider = {
249
269
 
250
270
  export class FakeData {
251
271
  static tileSetRaster(name: string): ConfigTileSetRaster {
252
- const tileSet = JSON.parse(JSON.stringify(TileSetAerial));
272
+ const tileSet = JSON.parse(JSON.stringify(TileSetAerial)) as ConfigTileSetRaster;
253
273
 
254
274
  tileSet.name = name;
255
275
  tileSet.id = `ts_${name}`;
@@ -258,7 +278,16 @@ export class FakeData {
258
278
  }
259
279
 
260
280
  static tileSetVector(name: string): ConfigTileSetVector {
261
- const tileSet = JSON.parse(JSON.stringify(TileSetVector));
281
+ const tileSet = JSON.parse(JSON.stringify(TileSetVector)) as ConfigTileSetVector;
282
+
283
+ tileSet.name = name;
284
+ tileSet.id = `ts_${name}`;
285
+
286
+ return tileSet;
287
+ }
288
+
289
+ static tileSetElevation(name: string): ConfigTileSetRaster {
290
+ const tileSet = JSON.parse(JSON.stringify(TileSetElevation)) as ConfigTileSetRaster;
262
291
 
263
292
  tileSet.name = name;
264
293
  tileSet.id = `ts_${name}`;
@@ -26,7 +26,7 @@ describe('LambdaXyz index', () => {
26
26
  assert.equal(response.status, 200);
27
27
  assert.equal(response.statusDescription, 'ok');
28
28
  assert.equal(response.header('cache-control'), 'no-store');
29
- assert.deepEqual(JSON.parse(response.body as string), {
29
+ assert.deepEqual(JSON.parse(response.body), {
30
30
  version: '1.2.3',
31
31
  hash: 'abc456',
32
32
  });
@@ -38,11 +38,10 @@ describe('LambdaXyz index', () => {
38
38
 
39
39
  const response = await handler.router.handle(mockRequest('/v1/version'));
40
40
 
41
- const body = JSON.parse(response.body as string);
42
41
  assert.equal(response.status, 200);
43
42
  assert.equal(response.statusDescription, 'ok');
44
43
  assert.equal(response.header('cache-control'), 'no-store');
45
- assert.deepEqual(body, {
44
+ assert.deepEqual(JSON.parse(response.body), {
46
45
  version: '1.2.3',
47
46
  buildId: '1658821493-3',
48
47
  });
@@ -2,7 +2,9 @@ import assert from 'node:assert';
2
2
  import { afterEach, beforeEach, describe, it } from 'node:test';
3
3
 
4
4
  import { StyleJson } from '@basemaps/config';
5
+ import { GoogleTms, Nztm2000QuadTms } from '@basemaps/geo';
5
6
  import { Env } from '@basemaps/shared';
7
+ import { LambdaHttpResponse } from '@linzjs/lambda';
6
8
 
7
9
  import { convertRelativeUrl, convertStyleJson } from '../routes/tile.style.json.js';
8
10
 
@@ -30,16 +32,31 @@ describe('TileStyleJson', () => {
30
32
  });
31
33
 
32
34
  it('should only convert with api keys', () => {
33
- assert.equal(convertRelativeUrl('/foo', 'abc'), 'https://tiles.test/foo?api=abc');
34
- assert.equal(convertRelativeUrl('/bar/baz/', 'abc'), 'https://tiles.test/bar/baz/?api=abc');
35
+ assert.equal(convertRelativeUrl('/foo', undefined, 'abc'), 'https://tiles.test/foo?api=abc');
36
+ assert.equal(convertRelativeUrl('/bar/baz/', undefined, 'abc'), 'https://tiles.test/bar/baz/?api=abc');
35
37
  });
36
38
 
37
39
  it('should convert with other query params', () => {
38
- assert.equal(convertRelativeUrl('/foo?bar=baz', 'abc'), 'https://tiles.test/foo?bar=baz&api=abc');
40
+ assert.equal(convertRelativeUrl('/foo?bar=baz', undefined, 'abc'), 'https://tiles.test/foo?bar=baz&api=abc');
39
41
  });
40
42
 
41
43
  it('should not convert full urls', () => {
42
- assert.equal(convertRelativeUrl('https://foo.com/foo?bar=baz', 'abc'), 'https://foo.com/foo?bar=baz');
44
+ assert.equal(convertRelativeUrl('https://foo.com/foo?bar=baz', undefined, 'abc'), 'https://foo.com/foo?bar=baz');
45
+ });
46
+
47
+ it('should update tileMatrix if exists', () => {
48
+ assert.equal(
49
+ convertRelativeUrl('/{tileMatrix}/{z}/{x}/{y}.webp', GoogleTms),
50
+ 'https://tiles.test/WebMercatorQuad/{z}/{x}/{y}.webp',
51
+ );
52
+ assert.equal(
53
+ convertRelativeUrl('/{tileMatrix}/{z}/{x}/{y}.webp', Nztm2000QuadTms),
54
+ 'https://tiles.test/NZTM2000Quad/{z}/{x}/{y}.webp',
55
+ );
56
+ assert.equal(
57
+ convertRelativeUrl('/WebMercatorQuad/{z}/{x}/{y}.webp'),
58
+ 'https://tiles.test/WebMercatorQuad/{z}/{x}/{y}.webp',
59
+ );
43
60
  });
44
61
 
45
62
  const baseStyleJson: StyleJson = {
@@ -47,8 +64,9 @@ describe('TileStyleJson', () => {
47
64
  id: 'style.id',
48
65
  name: 'style.name',
49
66
  sources: {
50
- vector: { type: 'vector', url: '/v1/tiles/topographic/EPSG:3857/tile.json' },
51
- raster: { type: 'raster', tiles: ['/v1/tiles/aerial/EPSG:3857/{z}/{x}/{y}.webp'] },
67
+ vector: { type: 'vector', url: '/v1/tiles/topographic/{tileMatrix}/tile.json' },
68
+ raster: { type: 'raster', tiles: ['/v1/tiles/aerial/{tileMatrix}/{z}/{x}/{y}.webp'] },
69
+ terrain: { type: 'raster-dem', tiles: ['/v1/tiles/elevation/{tileMatrix}/{z}/{x}/{y}.png'] },
52
70
  },
53
71
  layers: [],
54
72
  metadata: {},
@@ -58,27 +76,35 @@ describe('TileStyleJson', () => {
58
76
 
59
77
  it('should not destroy the original configuration', () => {
60
78
  const apiKey = 'abc123';
61
- const converted = convertStyleJson(baseStyleJson, apiKey, null);
79
+ const converted = convertStyleJson(baseStyleJson, GoogleTms, apiKey, null);
62
80
 
63
81
  assert.deepEqual(converted.sources['vector'], {
64
82
  type: 'vector',
65
- url: 'https://tiles.test/v1/tiles/topographic/EPSG:3857/tile.json?api=abc123',
83
+ url: 'https://tiles.test/v1/tiles/topographic/WebMercatorQuad/tile.json?api=abc123',
66
84
  });
67
85
  assert.deepEqual(converted.sources['raster'], {
68
86
  type: 'raster',
69
- tiles: ['https://tiles.test/v1/tiles/aerial/EPSG:3857/{z}/{x}/{y}.webp?api=abc123'],
87
+ tiles: ['https://tiles.test/v1/tiles/aerial/WebMercatorQuad/{z}/{x}/{y}.webp?api=abc123'],
88
+ });
89
+ assert.deepEqual(converted.sources['terrain'], {
90
+ type: 'raster-dem',
91
+ tiles: ['https://tiles.test/v1/tiles/elevation/WebMercatorQuad/{z}/{x}/{y}.png?api=abc123'],
70
92
  });
71
93
 
72
94
  assert.equal(JSON.stringify(baseStyleJson).includes(apiKey), false);
73
95
 
74
- const convertedB = convertStyleJson(baseStyleJson, '0x1234', null);
96
+ const convertedB = convertStyleJson(baseStyleJson, GoogleTms, '0x1234', null);
75
97
  assert.deepEqual(convertedB.sources['vector'], {
76
98
  type: 'vector',
77
- url: 'https://tiles.test/v1/tiles/topographic/EPSG:3857/tile.json?api=0x1234',
99
+ url: 'https://tiles.test/v1/tiles/topographic/WebMercatorQuad/tile.json?api=0x1234',
78
100
  });
79
101
  assert.deepEqual(convertedB.sources['raster'], {
80
102
  type: 'raster',
81
- tiles: ['https://tiles.test/v1/tiles/aerial/EPSG:3857/{z}/{x}/{y}.webp?api=0x1234'],
103
+ tiles: ['https://tiles.test/v1/tiles/aerial/WebMercatorQuad/{z}/{x}/{y}.webp?api=0x1234'],
104
+ });
105
+ assert.deepEqual(convertedB.sources['terrain'], {
106
+ type: 'raster-dem',
107
+ tiles: ['https://tiles.test/v1/tiles/elevation/WebMercatorQuad/{z}/{x}/{y}.png?api=0x1234'],
82
108
  });
83
109
 
84
110
  assert.equal(JSON.stringify(baseStyleJson).includes('0x1234'), false);
@@ -86,9 +112,56 @@ describe('TileStyleJson', () => {
86
112
  assert.equal(JSON.stringify(baseStyleJson).includes('?api='), false);
87
113
  });
88
114
 
115
+ const rasterStyleJson: StyleJson = {
116
+ version: 8,
117
+ id: 'style.id',
118
+ name: 'style.name',
119
+ sources: {
120
+ raster: { type: 'raster', tiles: ['/v1/tiles/aerial/{tileMatrix}/{z}/{x}/{y}.webp'] },
121
+ terrain: { type: 'raster-dem', tiles: ['/v1/tiles/elevation/{tileMatrix}/{z}/{x}/{y}.png'] },
122
+ },
123
+ layers: [],
124
+ };
125
+
126
+ it('should cover raster style Json without metadata, sprite and glyphs', () => {
127
+ const apiKey = 'abc123';
128
+ const converted = convertStyleJson(rasterStyleJson, GoogleTms, apiKey, null);
129
+
130
+ assert.equal(converted.metadata, null);
131
+ assert.equal(converted.sprite, null);
132
+ assert.equal(converted.sprite, null);
133
+ });
134
+
135
+ it('should cover for raster styles for NZTM2000Quad', () => {
136
+ const rasterStyleJson: StyleJson = {
137
+ ...baseStyleJson,
138
+ sources: {
139
+ raster: { type: 'raster', tiles: ['/v1/tiles/aerial/{tileMatrix}/{z}/{x}/{y}.webp'] },
140
+ terrain: { type: 'raster-dem', tiles: ['/v1/tiles/elevation/{tileMatrix}/{z}/{x}/{y}.png'] },
141
+ },
142
+ };
143
+
144
+ const converted = convertStyleJson(rasterStyleJson, Nztm2000QuadTms, 'abc123', null);
145
+
146
+ assert.deepEqual(converted.sources['raster'], {
147
+ type: 'raster',
148
+ tiles: ['https://tiles.test/v1/tiles/aerial/NZTM2000Quad/{z}/{x}/{y}.webp?api=abc123'],
149
+ });
150
+ assert.deepEqual(converted.sources['terrain'], {
151
+ type: 'raster-dem',
152
+ tiles: ['https://tiles.test/v1/tiles/elevation/NZTM2000Quad/{z}/{x}/{y}.png?api=abc123'],
153
+ });
154
+ });
155
+
156
+ it('should thrown error for NZTM2000Quad with vector source', () => {
157
+ const converted = (): StyleJson => convertStyleJson(baseStyleJson, Nztm2000QuadTms, 'abc123', null);
158
+
159
+ assert.throws(converted, LambdaHttpResponse);
160
+ });
161
+
89
162
  it('should convert relative glyphs and sprites', () => {
90
163
  const apiKey = '0x9f9f';
91
- const converted = convertStyleJson(baseStyleJson, apiKey, null);
164
+ const converted = convertStyleJson(baseStyleJson, GoogleTms, apiKey, null);
92
165
  assert.equal(converted.sprite, 'https://tiles.test/v1/sprites');
93
166
  assert.equal(converted.glyphs, 'https://tiles.test/v1/glyphs');
94
167
 
@@ -98,17 +171,17 @@ describe('TileStyleJson', () => {
98
171
 
99
172
  it('should convert with config', () => {
100
173
  const apiKey = '0x9f9f';
101
- const converted = convertStyleJson(baseStyleJson, apiKey, 'config.json');
174
+ const converted = convertStyleJson(baseStyleJson, GoogleTms, apiKey, 'config.json');
102
175
  assert.equal(converted.sprite, 'https://tiles.test/v1/sprites?config=config.json');
103
176
  assert.equal(converted.glyphs, 'https://tiles.test/v1/glyphs?config=config.json');
104
177
 
105
178
  assert.deepEqual(converted.sources['vector'], {
106
179
  type: 'vector',
107
- url: 'https://tiles.test/v1/tiles/topographic/EPSG:3857/tile.json?api=0x9f9f&config=config.json',
180
+ url: 'https://tiles.test/v1/tiles/topographic/WebMercatorQuad/tile.json?api=0x9f9f&config=config.json',
108
181
  });
109
182
  assert.deepEqual(converted.sources['raster'], {
110
183
  type: 'raster',
111
- tiles: ['https://tiles.test/v1/tiles/aerial/EPSG:3857/{z}/{x}/{y}.webp?api=0x9f9f&config=config.json'],
184
+ tiles: ['https://tiles.test/v1/tiles/aerial/WebMercatorQuad/{z}/{x}/{y}.webp?api=0x9f9f&config=config.json'],
112
185
  });
113
186
  });
114
187
  });
@@ -20,7 +20,7 @@ function listTag(node: VNodeElement | null | undefined, tag: string): string[] {
20
20
  describe('WmtsCapabilities', () => {
21
21
  const apiKey = 'secret1234';
22
22
 
23
- const allImagery = new Map();
23
+ const allImagery = new Map<string, ConfigImagery>();
24
24
  allImagery.set(Imagery2193.id, Imagery2193);
25
25
  allImagery.set(Imagery3857.id, Imagery3857);
26
26
 
@@ -135,7 +135,7 @@ describe('WmtsCapabilities', () => {
135
135
  imageryB.name = 'bbbb';
136
136
  imageryB.title = 'bbbb';
137
137
 
138
- const imagery = new Map();
138
+ const imagery = new Map<string, ConfigImagery>();
139
139
  imagery.set(Imagery3857.id, Imagery3857);
140
140
  imagery.set(imageryB.id, imageryB);
141
141
  imagery.set(imageryA.id, imageryA);
@@ -167,7 +167,7 @@ describe('WmtsCapabilities', () => {
167
167
  });
168
168
 
169
169
  it('should build capability xml for tileSet and projection', () => {
170
- const imagery = new Map();
170
+ const imagery = new Map<string, ConfigImagery>();
171
171
  imagery.set(Imagery3857.id, Imagery3857);
172
172
 
173
173
  const wmts = new WmtsCapabilities({
@@ -232,7 +232,7 @@ describe('WmtsCapabilities', () => {
232
232
  it('should limit a bounding box to the tileMatrix extent WebMercatorQuad', () => {
233
233
  const wmts = new WmtsCapabilities({ httpBase: 'https://basemaps.test', apiKey });
234
234
 
235
- const bigImagery = new Map();
235
+ const bigImagery = new Map<string, ConfigImagery>();
236
236
  bigImagery.set(Imagery3857.id, {
237
237
  ...Imagery3857,
238
238
  bounds: {
@@ -272,7 +272,7 @@ describe('WmtsCapabilities', () => {
272
272
 
273
273
  it('should limit a bounding box to the tileMatrix extent NZTM2000Quad', () => {
274
274
  const wmts = new WmtsCapabilities({ httpBase: 'https://basemaps.test', apiKey });
275
- const bigImagery = new Map();
275
+ const bigImagery = new Map<string, ConfigImagery>();
276
276
 
277
277
  bigImagery.set(Imagery2193.id, {
278
278
  ...Imagery2193,
@@ -427,7 +427,7 @@ describe('WmtsCapabilities', () => {
427
427
  const layer = layers[0];
428
428
 
429
429
  // ensure order is valid
430
- assert.deepEqual(layer?.children.map((c) => (c instanceof VNodeElement ? c.tag : null)), [
430
+ assert.deepEqual(layer?.children.map((c) => (c instanceof VNodeElement ? c.tag : null)) as string[], [
431
431
  'ows:Title',
432
432
  'ows:Abstract',
433
433
  'ows:Identifier',
@@ -470,7 +470,10 @@ describe('WmtsCapabilities', () => {
470
470
 
471
471
  const wgs84 = layer.find('ows:WGS84BoundingBox');
472
472
  assert.equal(wgs84?.attrs['crs'], 'urn:ogc:def:crs:OGC:2:84');
473
- assert.deepEqual(wgs84?.children.map((c) => c.textContent), ['174.79248 -38.212288', '175.259399 -37.996163']);
473
+ assert.deepEqual(wgs84?.children.map((c) => c.textContent) as string[], [
474
+ '174.79248 -38.212288',
475
+ '175.259399 -37.996163',
476
+ ]);
474
477
  });
475
478
 
476
479
  it('should only output imagery if exists', () => {
@@ -515,7 +518,7 @@ describe('WmtsCapabilities', () => {
515
518
  const halfSize = GoogleTms.extent.width / 2;
516
519
  // Create two fake imagery adds one covers tile z1 x0 y0 another covers tile z1 x1 y1
517
520
  // so the entire bounding box should be tile z0 x0 y0 or the full extent
518
- const imagery = new Map();
521
+ const imagery = new Map<string, ConfigImagery>();
519
522
  const imageTopLeft = { ...Imagery3857, id: 'im_top_left', name: 'top_left' };
520
523
  imageTopLeft.bounds = { x: -halfSize, y: 0, width: halfSize, height: halfSize };
521
524
  imagery.set(imageTopLeft.id, imageTopLeft);
@@ -563,7 +566,7 @@ describe('WmtsCapabilities', () => {
563
566
  it('should work when crossing anti meridian', () => {
564
567
  const halfSize = GoogleTms.extent.width / 2;
565
568
 
566
- const imagery = new Map();
569
+ const imagery = new Map<string, ConfigImagery>();
567
570
  // This image covers z1 x1.5 y1 to z1 x0.5 y1
568
571
  // which cross the AM and covers half the width of two tiles
569
572
  const imageBottomRight = { ...Imagery3857, id: 'im_bottom_right', name: 'bottom_right' };
@@ -601,7 +604,7 @@ describe('WmtsCapabilities', () => {
601
604
  });
602
605
 
603
606
  it('should work with NZTM2000Quad', () => {
604
- const wmts = new WmtsCapabilities({ tileMatrix: [] } as any);
607
+ const wmts = new WmtsCapabilities({ httpBase: '' });
605
608
 
606
609
  // Full NZTM200Quad coverage
607
610
  const bbox = wmts.buildWgs84BoundingBox(Nztm2000QuadTms, []);
@@ -1,13 +1,13 @@
1
1
  import { LogConfig } from '@basemaps/shared';
2
- import { LambdaAlbRequest, LambdaHttpRequest, LambdaUrlRequest } from '@linzjs/lambda';
3
- import { Context } from 'aws-lambda';
2
+ import { LambdaAlbRequest, LambdaHttpRequest, LambdaUrlRequest, UrlEvent } from '@linzjs/lambda';
3
+ import { ALBEventRequestContext, Context } from 'aws-lambda';
4
4
 
5
5
  export function mockRequest(path: string, method = 'get', headers: Record<string, string> = {}): LambdaHttpRequest {
6
6
  const log = LogConfig.get();
7
7
  log.level = 'silent';
8
8
  return new LambdaAlbRequest(
9
9
  {
10
- requestContext: null as any,
10
+ requestContext: null as unknown as ALBEventRequestContext,
11
11
  httpMethod: method.toUpperCase(),
12
12
  path: encodeURI(path),
13
13
  headers,
@@ -34,7 +34,7 @@ export function mockUrlRequest(
34
34
  rawPath: encodeURI(path),
35
35
  rawQueryString: query,
36
36
  isBase64Encoded: false,
37
- } as any,
37
+ } as unknown as UrlEvent,
38
38
  {} as Context,
39
39
  log,
40
40
  );
@@ -20,7 +20,7 @@ async function main(): Promise<void> {
20
20
  setDefaultConfig(provider);
21
21
  const { tileSet, imagery } = await initConfigFromUrls(provider, [target]);
22
22
 
23
- if (tileSet.layers.length === 0) throw new Error('No imagery found in path: ' + target);
23
+ if (tileSet.layers.length === 0) throw new Error('No imagery found in path: ' + target.href);
24
24
  log.info({ tileSet: tileSet.name, layers: tileSet.layers.length }, 'TileSet:Loaded');
25
25
 
26
26
  for (const im of imagery) {
@@ -46,4 +46,7 @@ async function main(): Promise<void> {
46
46
  log.info({ path: previewFile }, 'Tile:Write');
47
47
  }
48
48
 
49
- main();
49
+ main().catch((err: unknown) => {
50
+ LogConfig.get().fatal({ err }, 'Cli:Failed');
51
+ throw err;
52
+ });
@@ -32,7 +32,7 @@ async function main(): Promise<void> {
32
32
 
33
33
  const tileSet = tileSets.find((f) => f.layers.length > 0);
34
34
 
35
- if (tileSet == null || tileSet.layers.length === 0) throw new Error('No imagery found in path: ' + source);
35
+ if (tileSet == null || tileSet.layers.length === 0) throw new Error('No imagery found in path: ' + source.href);
36
36
  log.info({ tileSet: tileSet.name, layers: tileSet.layers.length }, 'TileSet:Loaded');
37
37
 
38
38
  for (const im of imagery) {