@basemaps/lambda-tiler 7.4.0 → 7.6.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 (99) 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 +2 -2
  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.d.ts +0 -2
  24. package/build/routes/__tests__/memory.fs.js +1 -1
  25. package/build/routes/__tests__/memory.fs.js.map +1 -1
  26. package/build/routes/__tests__/preview.index.test.js +1 -1
  27. package/build/routes/__tests__/preview.index.test.js.map +1 -1
  28. package/build/routes/__tests__/tile.json.test.js.map +1 -1
  29. package/build/routes/__tests__/tile.style.json.test.js +144 -11
  30. package/build/routes/__tests__/tile.style.json.test.js.map +1 -1
  31. package/build/routes/__tests__/wmts.test.js +18 -2
  32. package/build/routes/__tests__/wmts.test.js.map +1 -1
  33. package/build/routes/attribution.d.ts +0 -1
  34. package/build/routes/config.js +1 -1
  35. package/build/routes/config.js.map +1 -1
  36. package/build/routes/health.d.ts +0 -1
  37. package/build/routes/ping.js +2 -2
  38. package/build/routes/ping.js.map +1 -1
  39. package/build/routes/preview.index.js +2 -1
  40. package/build/routes/preview.index.js.map +1 -1
  41. package/build/routes/preview.js +5 -3
  42. package/build/routes/preview.js.map +1 -1
  43. package/build/routes/sprites.js.map +1 -1
  44. package/build/routes/tile.style.json.d.ts +2 -2
  45. package/build/routes/tile.style.json.js +61 -10
  46. package/build/routes/tile.style.json.js.map +1 -1
  47. package/build/routes/tile.wmts.js +1 -0
  48. package/build/routes/tile.wmts.js.map +1 -1
  49. package/build/routes/tile.xyz.raster.d.ts +0 -1
  50. package/build/routes/tile.xyz.raster.js +6 -5
  51. package/build/routes/tile.xyz.raster.js.map +1 -1
  52. package/build/routes/version.js +2 -2
  53. package/build/routes/version.js.map +1 -1
  54. package/build/util/__test__/config.loader.test.js +12 -12
  55. package/build/util/__test__/config.loader.test.js.map +1 -1
  56. package/build/util/assets.provider.d.ts +0 -2
  57. package/build/util/config.cache.d.ts +0 -1
  58. package/build/util/config.cache.js.map +1 -1
  59. package/build/util/cotar.serve.d.ts +0 -2
  60. package/build/util/source.cache.d.ts +0 -1
  61. package/build/util/source.cache.js +5 -4
  62. package/build/util/source.cache.js.map +1 -1
  63. package/build/util/validate.js +1 -1
  64. package/build/util/validate.js.map +1 -1
  65. package/build/wmts.capability.d.ts +8 -4
  66. package/build/wmts.capability.js +18 -8
  67. package/build/wmts.capability.js.map +1 -1
  68. package/package.json +10 -10
  69. package/src/__tests__/config.data.ts +31 -2
  70. package/src/__tests__/index.test.ts +2 -3
  71. package/src/__tests__/tile.style.json.test.ts +2 -5
  72. package/src/__tests__/wmts.capability.test.ts +13 -10
  73. package/src/__tests__/xyz.util.ts +4 -4
  74. package/src/cli/render.preview.ts +5 -2
  75. package/src/cli/render.tile.ts +1 -1
  76. package/src/routes/__tests__/attribution.test.ts +7 -7
  77. package/src/routes/__tests__/health.test.ts +3 -3
  78. package/src/routes/__tests__/imagery.test.ts +1 -1
  79. package/src/routes/__tests__/memory.fs.ts +2 -2
  80. package/src/routes/__tests__/preview.index.test.ts +3 -3
  81. package/src/routes/__tests__/tile.json.test.ts +1 -1
  82. package/src/routes/__tests__/tile.style.json.test.ts +175 -15
  83. package/src/routes/__tests__/wmts.test.ts +23 -3
  84. package/src/routes/config.ts +1 -1
  85. package/src/routes/ping.ts +2 -2
  86. package/src/routes/preview.index.ts +2 -1
  87. package/src/routes/preview.ts +7 -5
  88. package/src/routes/sprites.ts +1 -1
  89. package/src/routes/tile.style.json.ts +73 -9
  90. package/src/routes/tile.wmts.ts +1 -0
  91. package/src/routes/tile.xyz.raster.ts +8 -6
  92. package/src/routes/version.ts +2 -2
  93. package/src/util/__test__/config.loader.test.ts +17 -20
  94. package/src/util/config.cache.ts +2 -1
  95. package/src/util/source.cache.ts +6 -4
  96. package/src/util/validate.ts +1 -1
  97. package/src/wmts.capability.ts +17 -9
  98. package/tsconfig.json +10 -10
  99. package/tsconfig.tsbuildinfo +1 -1
@@ -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":"AAAA,OAAO,EAA6C,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAe,MAAM,EAAE,SAAS,EAAe,UAAU,EAA+B,MAAM,eAAe,CAAC;AACrH,OAAO,EAAE,aAAa,EAAE,CAAC,EAAgB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,iBAAiB,GAAG;IACxB,KAAK,EAAE,iCAAiC;IACxC,WAAW,EAAE,gCAAgC;IAC7C,aAAa,EAAE,8BAA8B;IAC7C,WAAW,EAAE,2CAA2C;IACxD,WAAW,EAAE,4BAA4B;IACzC,oBAAoB,EAClB,sGAAsG;IACxG,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,SAAS,WAAW,CAAC,UAAyB,EAAE,IAAiB;IAC/D,OAAO,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,iDAAiD;AACjD,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,SAAS,YAAY,CAAC,CAAS,EAAE,SAAiB;IAChD,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AACjD,CAAC;AAED,4FAA4F;AAC5F,SAAS,UAAU,CAAC,CAAS,EAAE,CAAS,EAAE,SAAiB;IACzD,OAAO,GAAG,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;AACvE,CAAC;AAYD,MAAM,OAAO,WAAW;IAYtB,YAAY,MAAyB;QAXrC;;;;;WAAiB;QACjB;;;;;WAAgB;QAChB;;;;;WAAuB;QACvB;;;;;WAA6C;QAE7C,2DAA2D;QAC3D;;;;mBAAsC,IAAI,GAAG,EAAE;WAAC;QAChD;;;;mBAAyB,EAAE;WAAC;QAE5B;;;;mBAAiB,IAAI,GAAG,EAAyB;WAAC;QAGhD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,UAAU,CAAC,GAAG,OAAwB;QACpC,KAAK,MAAM,EAAE,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,aAAa,CAAC,GAAG,UAA2B;QAC1C,KAAK,MAAM,GAAG,IAAI,UAAU;YAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;IAED,UAAU,CAAC,GAAG,OAAsB;QAClC,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QAC7C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,OAAsB;QAClC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiB,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBAC/D,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,aAAa,CAAC,OAA8B;QAC1C,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC;QACvD,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,qBAAqB,CAAC,GAAkB,EAAE,MAAgB;QACxD,IAAI,IAAI,GAAgB,IAAI,CAAC;QAE7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;YAED,2GAA2G;YAC3G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvC,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,gFAAgF;QAChF,IAAI,IAAI,IAAI,IAAI;YAAE,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAEtD,gGAAgG;QAChG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YACf,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,0BAA0B,EAAE,EAAE;YACpE,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;YACnE,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;SACpE,CAAC,CAAC;IACL,CAAC;IAED,gGAAgG;IAChG,2BAA2B,CAAC,GAAkB,EAAE,MAAqB;QACnE,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,KAAK,IAAI,IAAI;gBAAE,SAAS;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,GAAG,IAAI,IAAI;gBAAE,SAAS;YAC1B,IAAI,MAAM,IAAI,IAAI;gBAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;gBACpD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAEhC,2GAA2G;QAC3G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;YAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAE5D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAE7B,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE;YAC3D,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;YACpF,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;SAC7F,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9G,CAAC;IAED,gBAAgB,CAAC,SAAiB,EAAE,MAAc,EAAE,SAAS,GAAG,KAAK;QACnE,OAAO,CAAC,CAAC,aAAa,EAAE;YACtB,MAAM,EAAE,QAAQ,GAAG,MAAM;YACzB,YAAY,EAAE,MAAM;YACpB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,SAAiB,EAAE,MAAc,EAAE,SAAS,GAAG,KAAK;QAC/D,IAAI,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACtD,IAAI,SAAS;YAAE,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAElF,OAAO;YACL,IAAI,CAAC,QAAQ;YACb,IAAI;YACJ,OAAO;YACP,SAAS;YACT,iBAAiB;YACjB,cAAc;YACd,WAAW;YACX,aAAa,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE;SAC7C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,mBAAmB,CAAC,OAAsB;QACxC,MAAM,cAAc,GAAmB,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBAC/D,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,qBAAqB,CAAC,KAAkB;QACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiB,CAAC;QAC5C,MAAM,cAAc,GAAmB,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,KAAK,IAAI,IAAI;gBAAE,SAAS;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,GAAG,IAAI,IAAI;gBAAE,SAAS;YAC1B,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,WAAW,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,IAAI,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAElC,OAAO,CAAC,CAAC,OAAO,EAAE;YAChB,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC;YAC3B,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;YACrB,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC5B,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3B,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC;YACF,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,UAAU,EAAE;YACjB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC;YAC9D,GAAG,cAAc;YACjB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;SAC3E,CAAC,CAAC;IACL,CAAC;CACF;AAgBD;;;;;;;;;GASG;AACH,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAU/C,YAAY,MAAyB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;QAVhB;;;;mBAAU,CAAC;WAAC;QACZ;;;;mBAAU,EAAE;WAAC;QACb,wDAAwD;QACxD;;;;;WAAwB;QACxB;;;;;WAA6B;QAE7B,gCAAgC;QAChC;;;;;WAAwB;IAIxB,CAAC;IAED,UAAU,CAAC,OAAsB;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,SAAS,CAAC,YAA4B;QACpC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,WAAW,CAAC,QAAuB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,eAAe,CAAC,QAAuB;QACrC,IAAI,QAAQ,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,EAAE,qBAAqB,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC;QAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;QACpC,OAAO;YACL,CAAC,CAAC,2BAA2B,EAAE;gBAC7B,CAAC,CAAC,WAAW,EAAE,qBAAqB,CAAC,KAAK,CAAC;gBAC3C,CAAC,CAAC,cAAc,EAAE,qBAAqB,CAAC,WAAW,CAAC;gBACpD,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC;gBAChC,CAAC,CAAC,wBAAwB,EAAE,OAAO,CAAC;gBACpC,CAAC,CAAC,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC;gBACzC,CAAC,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,iBAAiB,CAAC;aACpE,CAAC;YAEF,CAAC,CAAC,qBAAqB,EAAE;gBACvB,CAAC,CAAC,kBAAkB,EAAE,eAAe,CAAC,IAAI,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,EAAE,EAAE,YAAY,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;gBAC7D,CAAC,CAAC,oBAAoB,EAAE;oBACtB,CAAC,CAAC,oBAAoB,EAAE,OAAO,CAAC,cAAc,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,EAAE,OAAO,CAAC,QAAQ,CAAC;oBACvC,CAAC,CAAC,iBAAiB,EAAE;wBACnB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC/C,CAAC,CAAC,aAAa,EAAE;4BACf,CAAC,CAAC,mBAAmB,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;4BACrD,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;4BACnC,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;4BAC/C,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;4BACzC,CAAC,CAAC,2BAA2B,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;yBACtD,CAAC;qBACH,CAAC;iBACH,CAAC;aACH,CAAC;SACH,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,OAAsB;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,WAAW,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAE3F,+CAA+C;QAC/C,MAAM,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC;QAC3G,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1E,IAAI,GAAG,IAAI,IAAI;gBAAE,SAAS;YAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO,CAAC,CAAC,OAAO,EAAE;YAChB,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC;YAC7B,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;YAC5C,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC3B,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/F,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,MAAM,CAAC;YACtD,IAAI,CAAC,UAAU,EAAE;YACjB,GAAG,IAAI,CAAC,YAAY,EAAE;YACtB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YACpC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;SACjF,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB,CAAC,YAA4B;QAClD,IAAI,YAAY,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QACpC,MAAM,WAAW,GAAmB,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;QACnD,mCAAmC;QACnC,KAAK,MAAM,GAAG,IAAI,YAAY;YAAE,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACrF,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACnE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,CACrD,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,KAAK;gBAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,kBAAkB,CAAC,GAAkB;QACnC,OAAO,CAAC,CAAC,eAAe,EAAE;YACxB,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;YAC7B,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;YAC7D,CAAC,CAAC,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC;YACnC,CAAC,CAAC,kBAAkB,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC7C,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI;YACpF,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACpE,OAAO,CAAC,CAAC,YAAY,EAAE;oBACrB,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,UAAU,CAAC;oBACjC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,gBAAgB,CAAC;oBACzC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC7C,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;oBAC3B,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC;oBAC7B,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC;oBAC/B,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,YAAY,CAAC;iBAClC,CAAC,CAAC;YACL,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACjE,mCAAmC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErD,6BAA6B;QAC7B,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAEhF,+BAA+B;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5F,OAAO,CAAC,CAAC,cAAc,EAAE,iBAAiB,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,KAAK;QACH,OAAO,0CAA0C,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;IAChF,CAAC;IAED,UAAU,CAAC,MAA8B;QACvC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,UAAU;YAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC3E,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;YAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE7D,0BAA0B;QAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;CACF"}
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.4.0",
3
+ "version": "7.6.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.4.0",
26
- "@basemaps/config-loader": "^7.4.0",
27
- "@basemaps/geo": "^7.4.0",
28
- "@basemaps/shared": "^7.4.0",
29
- "@basemaps/tiler": "^7.4.0",
30
- "@basemaps/tiler-sharp": "^7.4.0",
31
- "@linzjs/geojson": "^7.1.0",
25
+ "@basemaps/config": "^7.6.0",
26
+ "@basemaps/config-loader": "^7.6.0",
27
+ "@basemaps/geo": "^7.5.0",
28
+ "@basemaps/shared": "^7.6.0",
29
+ "@basemaps/tiler": "^7.5.0",
30
+ "@basemaps/tiler-sharp": "^7.6.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.4.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": "4302f0ced0baff4b2c3240029c3b3a7bae062d7c"
58
+ "gitHead": "b97ded866e18b19410cb3effd5c67240e8980da4"
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
  });
@@ -4,6 +4,7 @@ import { afterEach, beforeEach, describe, it } from 'node:test';
4
4
  import { StyleJson } from '@basemaps/config';
5
5
  import { GoogleTms, Nztm2000QuadTms } from '@basemaps/geo';
6
6
  import { Env } from '@basemaps/shared';
7
+ import { LambdaHttpResponse } from '@linzjs/lambda';
7
8
 
8
9
  import { convertRelativeUrl, convertStyleJson } from '../routes/tile.style.json.js';
9
10
 
@@ -153,13 +154,9 @@ describe('TileStyleJson', () => {
153
154
  });
154
155
 
155
156
  it('should thrown error for NZTM2000Quad with vector source', () => {
156
- const expected = new Error(
157
- 'TileMatrix is not supported for the vector source /v1/tiles/topographic/{tileMatrix}/tile.json.',
158
- );
159
-
160
157
  const converted = (): StyleJson => convertStyleJson(baseStyleJson, Nztm2000QuadTms, 'abc123', null);
161
158
 
162
- assert.throws(converted, expected);
159
+ assert.throws(converted, LambdaHttpResponse);
163
160
  });
164
161
 
165
162
  it('should convert relative glyphs and sprites', () => {
@@ -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) {
@@ -3,7 +3,7 @@ import { afterEach, beforeEach, describe, it } from 'node:test';
3
3
 
4
4
  import { Attribution } from '@basemaps/attribution';
5
5
  import { ConfigProviderMemory } from '@basemaps/config';
6
- import { GoogleTms, Nztm2000QuadTms, Projection } from '@basemaps/geo';
6
+ import { AttributionStac, GoogleTms, Nztm2000QuadTms, Projection } from '@basemaps/geo';
7
7
  import { LogConfig } from '@basemaps/shared';
8
8
  import { BBox } from '@linzjs/geojson';
9
9
  import { HttpHeader } from '@linzjs/lambda';
@@ -328,7 +328,7 @@ describe('/v1/attribution', () => {
328
328
  const res = await handler.router.handle(request);
329
329
  assert.equal(res.status, 200);
330
330
 
331
- const json = JSON.parse(res.body);
331
+ const json = JSON.parse(res.body) as AttributionStac;
332
332
 
333
333
  const attr = Attribution.fromStac(json);
334
334
  assert.equal(attr.attributions.length, 1);
@@ -351,7 +351,7 @@ describe('/v1/attribution', () => {
351
351
  const res = await handler.router.handle(req);
352
352
  assert.equal(res.status, 200);
353
353
 
354
- const output = JSON.parse(res.body);
354
+ const output = JSON.parse(res.body) as AttributionStac;
355
355
  assert.equal(output.title, ts.title);
356
356
  assert.deepEqual(output.collections[0].summaries['linz:zoom'], { min: 5, max: 11 });
357
357
  });
@@ -361,7 +361,7 @@ describe('/v1/attribution', () => {
361
361
  const res = await handler.router.handle(req);
362
362
  assert.equal(res.status, 200);
363
363
 
364
- const output = JSON.parse(res.body);
364
+ const output = JSON.parse(res.body) as AttributionStac;
365
365
  assert.equal(output.title, ts.title);
366
366
  assert.deepEqual(output.collections[0].summaries['linz:zoom'], { min: 7, max: 14 });
367
367
  });
@@ -374,7 +374,7 @@ describe('/v1/attribution', () => {
374
374
  const res = await handler.router.handle(req);
375
375
  assert.equal(res.status, 200);
376
376
 
377
- const output = JSON.parse(res.body);
377
+ const output = JSON.parse(res.body) as AttributionStac;
378
378
  assert.equal(output.title, ts.title);
379
379
  assert.deepEqual(output.collections[0].summaries['linz:zoom'], { min: 0, max: 13 });
380
380
  });
@@ -387,13 +387,13 @@ describe('/v1/attribution', () => {
387
387
  const res = await handler.router.handle(req);
388
388
  assert.equal(res.status, 200);
389
389
 
390
- const output = JSON.parse(res.body);
390
+ const output = JSON.parse(res.body) as AttributionStac;
391
391
  assert.equal(output.title, ts.title);
392
392
  assert.deepEqual(output.collections[0].summaries['linz:zoom'], { min: 0, max: Nztm2000QuadTms.maxZoom });
393
393
  });
394
394
  });
395
395
 
396
- it('should create valid coordinates', async () => {
396
+ it('should create valid coordinates', () => {
397
397
  //bbox: BBox, files: NamedBounds[], proj: Projection
398
398
  const bbox = [174.79248047, -38.21228805, 175.25939941, -37.99616268] as BBox;
399
399
  const proj = Projection.get(GoogleTms);
@@ -4,7 +4,7 @@ import { afterEach, before, beforeEach, describe, it } from 'node:test';
4
4
  import { ConfigProviderMemory } from '@basemaps/config';
5
5
  import { LogConfig } from '@basemaps/shared';
6
6
  import { LambdaAlbRequest, LambdaHttpRequest, LambdaHttpResponse } from '@linzjs/lambda';
7
- import { Context } from 'aws-lambda';
7
+ import { ALBEventRequestContext, Context } from 'aws-lambda';
8
8
  import sinon from 'sinon';
9
9
 
10
10
  import { FakeData } from '../../__tests__/config.data.js';
@@ -14,7 +14,7 @@ import { TileXyzRaster } from '../tile.xyz.raster.js';
14
14
 
15
15
  const ctx: LambdaHttpRequest = new LambdaAlbRequest(
16
16
  {
17
- requestContext: null as any,
17
+ requestContext: null as unknown as ALBEventRequestContext,
18
18
  httpMethod: 'get',
19
19
  path: '/v1/tiles/health',
20
20
  body: null,
@@ -24,7 +24,7 @@ const ctx: LambdaHttpRequest = new LambdaAlbRequest(
24
24
  LogConfig.get(),
25
25
  );
26
26
 
27
- describe('/v1/health', async () => {
27
+ describe('/v1/health', () => {
28
28
  const sandbox = sinon.createSandbox();
29
29
  const config = new ConfigProviderMemory();
30
30
 
@@ -10,6 +10,6 @@ describe('ImageryRoute', () => {
10
10
  assert.equal(isAllowedFile('foo.tiff'), false);
11
11
  assert.equal(isAllowedFile('foo'), false);
12
12
  assert.equal(isAllowedFile(''), false);
13
- assert.equal(isAllowedFile(null as any), false);
13
+ assert.equal(isAllowedFile(null as unknown as string), false);
14
14
  });
15
15
  });
@@ -4,9 +4,9 @@ export async function toBuffer(stream: Readable): Promise<Buffer> {
4
4
  return new Promise<Buffer>((resolve, reject) => {
5
5
  const buf: Buffer[] = [];
6
6
 
7
- stream.on('data', (chunk) => buf.push(chunk));
7
+ stream.on('data', (chunk: Buffer) => buf.push(chunk));
8
8
  stream.on('end', () => resolve(Buffer.concat(buf)));
9
- stream.on('error', (err) => reject(`error converting stream - ${err}`));
9
+ stream.on('error', (err) => reject(`error converting stream - ${String(err)}`));
10
10
  });
11
11
  }
12
12
  export function toReadable(r: string | Buffer | Readable): Readable {
@@ -5,16 +5,16 @@ import { ConfigProviderMemory, DefaultColorRampOutput, DefaultTerrainRgbOutput }
5
5
  import { LocationUrl } from '@basemaps/geo';
6
6
  import { Env, fsa, FsMemory, LogConfig, V } from '@basemaps/shared';
7
7
  import { LambdaAlbRequest, LambdaHttpRequest, LambdaHttpResponse } from '@linzjs/lambda';
8
- import { ALBEvent, Context } from 'aws-lambda';
8
+ import { ALBEvent, ALBEventRequestContext, Context } from 'aws-lambda';
9
9
 
10
10
  import { FakeData } from '../../__tests__/config.data.js';
11
11
  import { CachedConfig } from '../../util/config.cache.js';
12
12
  import { loadAndServeIndexHtml, PreviewIndexGet, previewIndexGet } from '../preview.index.js';
13
13
 
14
- describe('/@*', async () => {
14
+ describe('/@*', () => {
15
15
  // o.specTimeout(1000);
16
16
  const baseRequest: ALBEvent = {
17
- requestContext: null as any,
17
+ requestContext: null as unknown as ALBEventRequestContext,
18
18
  httpMethod: 'get',
19
19
  path: '/@-41.8900012,174.0492432,z5',
20
20
  body: null,
@@ -149,7 +149,7 @@ describe('/v1/tiles/:tileSet/:tileMatrix/tile.json', () => {
149
149
  const res = await handler.router.handle(request);
150
150
  assert.equal(res.status, 200);
151
151
 
152
- const body = JSON.parse(Buffer.from(res.body, 'base64').toString());
152
+ const body = JSON.parse(Buffer.from(res.body, 'base64').toString()) as { tiles: string[] };
153
153
  assert.equal(body.tiles[0].includes(`config=${configLocation}`), true);
154
154
  });
155
155