@basemaps/lambda-tiler 6.46.0 → 7.1.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 (269) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +93 -1
  3. package/build/__tests__/config.data.d.ts +0 -1
  4. package/build/__tests__/config.data.js +2 -6
  5. package/build/__tests__/config.data.js.map +1 -1
  6. package/build/__tests__/index.test.d.ts +0 -1
  7. package/build/__tests__/index.test.js +28 -27
  8. package/build/__tests__/index.test.js.map +1 -1
  9. package/build/__tests__/tile.style.json.test.d.ts +0 -1
  10. package/build/__tests__/tile.style.json.test.js +38 -37
  11. package/build/__tests__/tile.style.json.test.js.map +1 -1
  12. package/build/__tests__/wmts.capability.test.d.ts +0 -1
  13. package/build/__tests__/wmts.capability.test.js +111 -122
  14. package/build/__tests__/wmts.capability.test.js.map +1 -1
  15. package/build/__tests__/xyz.util.d.ts +0 -1
  16. package/build/cli/render.preview.d.ts +0 -1
  17. package/build/cli/render.preview.js +13 -9
  18. package/build/cli/render.preview.js.map +1 -1
  19. package/build/cli/render.tile.d.ts +0 -1
  20. package/build/cli/render.tile.js +25 -17
  21. package/build/cli/render.tile.js.map +1 -1
  22. package/build/index.d.ts +0 -1
  23. package/build/index.js +27 -31
  24. package/build/index.js.map +1 -1
  25. package/build/routes/__tests__/attribution.test.d.ts +0 -1
  26. package/build/routes/__tests__/attribution.test.js +38 -37
  27. package/build/routes/__tests__/attribution.test.js.map +1 -1
  28. package/build/routes/__tests__/fonts.test.d.ts +0 -1
  29. package/build/routes/__tests__/fonts.test.js +61 -63
  30. package/build/routes/__tests__/fonts.test.js.map +1 -1
  31. package/build/routes/__tests__/health.test.d.ts +0 -1
  32. package/build/routes/__tests__/health.test.js +16 -16
  33. package/build/routes/__tests__/health.test.js.map +1 -1
  34. package/build/routes/__tests__/imagery.test.d.ts +0 -1
  35. package/build/routes/__tests__/imagery.test.js +10 -9
  36. package/build/routes/__tests__/imagery.test.js.map +1 -1
  37. package/build/routes/__tests__/memory.fs.d.ts +2 -3
  38. package/build/routes/__tests__/preview.index.test.d.ts +0 -1
  39. package/build/routes/__tests__/preview.index.test.js +88 -42
  40. package/build/routes/__tests__/preview.index.test.js.map +1 -1
  41. package/build/routes/__tests__/sprites.test.d.ts +0 -1
  42. package/build/routes/__tests__/sprites.test.js +34 -34
  43. package/build/routes/__tests__/sprites.test.js.map +1 -1
  44. package/build/routes/__tests__/tile.json.test.d.ts +0 -1
  45. package/build/routes/__tests__/tile.json.test.js +45 -51
  46. package/build/routes/__tests__/tile.json.test.js.map +1 -1
  47. package/build/routes/__tests__/tile.style.json.test.d.ts +0 -1
  48. package/build/routes/__tests__/tile.style.json.test.js +49 -50
  49. package/build/routes/__tests__/tile.style.json.test.js.map +1 -1
  50. package/build/routes/__tests__/wmts.test.d.ts +0 -1
  51. package/build/routes/__tests__/wmts.test.js +27 -20
  52. package/build/routes/__tests__/wmts.test.js.map +1 -1
  53. package/build/routes/__tests__/xyz.test.d.ts +0 -1
  54. package/build/routes/__tests__/xyz.test.js +97 -49
  55. package/build/routes/__tests__/xyz.test.js.map +1 -1
  56. package/build/routes/attribution.d.ts +1 -1
  57. package/build/routes/attribution.js +4 -5
  58. package/build/routes/attribution.js.map +1 -1
  59. package/build/routes/config.d.ts +0 -1
  60. package/build/routes/config.js +1 -2
  61. package/build/routes/config.js.map +1 -1
  62. package/build/routes/fonts.d.ts +0 -1
  63. package/build/routes/fonts.js +2 -3
  64. package/build/routes/fonts.js.map +1 -1
  65. package/build/routes/health.d.ts +1 -2
  66. package/build/routes/health.js +5 -15
  67. package/build/routes/health.js.map +1 -1
  68. package/build/routes/imagery.d.ts +0 -1
  69. package/build/routes/imagery.js +1 -1
  70. package/build/routes/imagery.js.map +1 -1
  71. package/build/routes/ping.d.ts +0 -1
  72. package/build/routes/ping.js +1 -1
  73. package/build/routes/ping.js.map +1 -1
  74. package/build/routes/preview.d.ts +6 -5
  75. package/build/routes/preview.index.d.ts +0 -1
  76. package/build/routes/preview.index.js +6 -5
  77. package/build/routes/preview.index.js.map +1 -1
  78. package/build/routes/preview.js +35 -10
  79. package/build/routes/preview.js.map +1 -1
  80. package/build/routes/sprites.d.ts +0 -1
  81. package/build/routes/sprites.js +2 -4
  82. package/build/routes/sprites.js.map +1 -1
  83. package/build/routes/tile.json.d.ts +0 -1
  84. package/build/routes/tile.json.js +10 -5
  85. package/build/routes/tile.json.js.map +1 -1
  86. package/build/routes/tile.style.json.d.ts +1 -1
  87. package/build/routes/tile.style.json.js +79 -16
  88. package/build/routes/tile.style.json.js.map +1 -1
  89. package/build/routes/tile.wmts.d.ts +0 -1
  90. package/build/routes/tile.wmts.js +8 -9
  91. package/build/routes/tile.wmts.js.map +1 -1
  92. package/build/routes/tile.xyz.d.ts +0 -1
  93. package/build/routes/tile.xyz.js.map +1 -1
  94. package/build/routes/tile.xyz.raster.d.ts +7 -8
  95. package/build/routes/tile.xyz.raster.js +17 -13
  96. package/build/routes/tile.xyz.raster.js.map +1 -1
  97. package/build/routes/tile.xyz.vector.d.ts +0 -1
  98. package/build/routes/tile.xyz.vector.js +4 -3
  99. package/build/routes/tile.xyz.vector.js.map +1 -1
  100. package/build/routes/version.d.ts +0 -1
  101. package/build/routes/version.js +3 -4
  102. package/build/routes/version.js.map +1 -1
  103. package/build/util/__test__/config.loader.test.d.ts +0 -1
  104. package/build/util/__test__/config.loader.test.js +35 -34
  105. package/build/util/__test__/config.loader.test.js.map +1 -1
  106. package/build/util/__test__/filter.test.d.ts +0 -1
  107. package/build/util/__test__/filter.test.js +17 -16
  108. package/build/util/__test__/filter.test.js.map +1 -1
  109. package/build/util/__test__/validate.test.d.ts +0 -1
  110. package/build/util/__test__/validate.test.js +26 -43
  111. package/build/util/__test__/validate.test.js.map +1 -1
  112. package/build/util/assets.provider.d.ts +5 -5
  113. package/build/util/assets.provider.js +8 -8
  114. package/build/util/assets.provider.js.map +1 -1
  115. package/build/util/config.cache.d.ts +2 -2
  116. package/build/util/config.cache.js +14 -3
  117. package/build/util/config.cache.js.map +1 -1
  118. package/build/util/config.loader.d.ts +0 -1
  119. package/build/util/config.loader.js +18 -13
  120. package/build/util/config.loader.js.map +1 -1
  121. package/build/util/cotar.serve.d.ts +3 -3
  122. package/build/util/cotar.serve.js +2 -2
  123. package/build/util/cotar.serve.js.map +1 -1
  124. package/build/util/etag.d.ts +0 -1
  125. package/build/util/etag.js.map +1 -1
  126. package/build/util/filter.d.ts +0 -1
  127. package/build/util/filter.js +4 -5
  128. package/build/util/filter.js.map +1 -1
  129. package/build/util/response.d.ts +0 -1
  130. package/build/util/source.cache.d.ts +8 -9
  131. package/build/util/source.cache.js +27 -24
  132. package/build/util/source.cache.js.map +1 -1
  133. package/build/util/swapping.lru.d.ts +0 -1
  134. package/build/util/swapping.lru.js +48 -7
  135. package/build/util/swapping.lru.js.map +1 -1
  136. package/build/util/validate.d.ts +17 -5
  137. package/build/util/validate.js +51 -15
  138. package/build/util/validate.js.map +1 -1
  139. package/build/wmts.capability.d.ts +1 -2
  140. package/build/wmts.capability.js +81 -12
  141. package/build/wmts.capability.js.map +1 -1
  142. package/bundle.sh +2 -2
  143. package/package.json +16 -18
  144. package/scripts/create.deployment.package.mjs +4 -11
  145. package/src/__tests__/config.data.ts +2 -6
  146. package/src/__tests__/index.test.ts +29 -27
  147. package/src/__tests__/tile.style.json.test.ts +40 -37
  148. package/src/__tests__/wmts.capability.test.ts +139 -120
  149. package/src/cli/render.preview.ts +14 -9
  150. package/src/cli/render.tile.ts +27 -18
  151. package/src/index.ts +31 -35
  152. package/src/routes/__tests__/attribution.test.ts +40 -37
  153. package/src/routes/__tests__/fonts.test.ts +68 -64
  154. package/src/routes/__tests__/health.test.ts +18 -17
  155. package/src/routes/__tests__/imagery.test.ts +11 -9
  156. package/src/routes/__tests__/preview.index.test.ts +114 -40
  157. package/src/routes/__tests__/sprites.test.ts +39 -34
  158. package/src/routes/__tests__/tile.json.test.ts +41 -39
  159. package/src/routes/__tests__/tile.style.json.test.ts +49 -46
  160. package/src/routes/__tests__/wmts.test.ts +28 -20
  161. package/src/routes/__tests__/xyz.test.ts +134 -55
  162. package/src/routes/attribution.ts +2 -2
  163. package/src/routes/config.ts +1 -0
  164. package/src/routes/fonts.ts +3 -3
  165. package/src/routes/health.ts +7 -13
  166. package/src/routes/imagery.ts +2 -1
  167. package/src/routes/ping.ts +1 -1
  168. package/src/routes/preview.index.ts +9 -5
  169. package/src/routes/preview.ts +44 -15
  170. package/src/routes/sprites.ts +4 -5
  171. package/src/routes/tile.json.ts +9 -2
  172. package/src/routes/tile.style.json.ts +89 -13
  173. package/src/routes/tile.wmts.ts +4 -3
  174. package/src/routes/tile.xyz.raster.ts +26 -22
  175. package/src/routes/tile.xyz.ts +1 -0
  176. package/src/routes/tile.xyz.vector.ts +5 -3
  177. package/src/routes/version.ts +3 -3
  178. package/src/util/__test__/config.loader.test.ts +38 -34
  179. package/src/util/__test__/filter.test.ts +19 -16
  180. package/src/util/__test__/validate.test.ts +28 -43
  181. package/src/util/assets.provider.ts +10 -9
  182. package/src/util/config.cache.ts +4 -3
  183. package/src/util/config.loader.ts +20 -14
  184. package/src/util/cotar.serve.ts +3 -2
  185. package/src/util/source.cache.ts +15 -26
  186. package/src/util/validate.ts +61 -14
  187. package/src/wmts.capability.ts +3 -3
  188. package/tsconfig.json +1 -0
  189. package/tsconfig.tsbuildinfo +1 -1
  190. package/typedoc.json +4 -0
  191. package/build/__tests__/config.data.d.ts.map +0 -1
  192. package/build/__tests__/index.test.d.ts.map +0 -1
  193. package/build/__tests__/tile.style.json.test.d.ts.map +0 -1
  194. package/build/__tests__/wmts.capability.test.d.ts.map +0 -1
  195. package/build/__tests__/xyz.util.d.ts.map +0 -1
  196. package/build/arcgis/__tests__/arcgis.style.json.test.d.ts +0 -2
  197. package/build/arcgis/__tests__/arcgis.style.json.test.d.ts.map +0 -1
  198. package/build/arcgis/__tests__/arcgis.style.json.test.js +0 -131
  199. package/build/arcgis/__tests__/arcgis.style.json.test.js.map +0 -1
  200. package/build/arcgis/__tests__/vector.tiler.server.test.d.ts +0 -2
  201. package/build/arcgis/__tests__/vector.tiler.server.test.d.ts.map +0 -1
  202. package/build/arcgis/__tests__/vector.tiler.server.test.js +0 -54
  203. package/build/arcgis/__tests__/vector.tiler.server.test.js.map +0 -1
  204. package/build/arcgis/arcgis.info.d.ts +0 -3
  205. package/build/arcgis/arcgis.info.d.ts.map +0 -1
  206. package/build/arcgis/arcgis.info.js +0 -25
  207. package/build/arcgis/arcgis.info.js.map +0 -1
  208. package/build/arcgis/arcgis.style.json.d.ts +0 -9
  209. package/build/arcgis/arcgis.style.json.d.ts.map +0 -1
  210. package/build/arcgis/arcgis.style.json.js +0 -75
  211. package/build/arcgis/arcgis.style.json.js.map +0 -1
  212. package/build/arcgis/vector.tile.server.d.ts +0 -8
  213. package/build/arcgis/vector.tile.server.d.ts.map +0 -1
  214. package/build/arcgis/vector.tile.server.js +0 -73
  215. package/build/arcgis/vector.tile.server.js.map +0 -1
  216. package/build/cli/render.preview.d.ts.map +0 -1
  217. package/build/cli/render.tile.d.ts.map +0 -1
  218. package/build/index.d.ts.map +0 -1
  219. package/build/routes/__tests__/attribution.test.d.ts.map +0 -1
  220. package/build/routes/__tests__/fonts.test.d.ts.map +0 -1
  221. package/build/routes/__tests__/health.test.d.ts.map +0 -1
  222. package/build/routes/__tests__/imagery.test.d.ts.map +0 -1
  223. package/build/routes/__tests__/memory.fs.d.ts.map +0 -1
  224. package/build/routes/__tests__/preview.index.test.d.ts.map +0 -1
  225. package/build/routes/__tests__/sprites.test.d.ts.map +0 -1
  226. package/build/routes/__tests__/tile.json.test.d.ts.map +0 -1
  227. package/build/routes/__tests__/tile.style.json.test.d.ts.map +0 -1
  228. package/build/routes/__tests__/wmts.test.d.ts.map +0 -1
  229. package/build/routes/__tests__/xyz.test.d.ts.map +0 -1
  230. package/build/routes/attribution.d.ts.map +0 -1
  231. package/build/routes/config.d.ts.map +0 -1
  232. package/build/routes/fonts.d.ts.map +0 -1
  233. package/build/routes/health.d.ts.map +0 -1
  234. package/build/routes/imagery.d.ts.map +0 -1
  235. package/build/routes/ping.d.ts.map +0 -1
  236. package/build/routes/preview.d.ts.map +0 -1
  237. package/build/routes/preview.index.d.ts.map +0 -1
  238. package/build/routes/sprites.d.ts.map +0 -1
  239. package/build/routes/tile.json.d.ts.map +0 -1
  240. package/build/routes/tile.style.json.d.ts.map +0 -1
  241. package/build/routes/tile.wmts.d.ts.map +0 -1
  242. package/build/routes/tile.xyz.d.ts.map +0 -1
  243. package/build/routes/tile.xyz.raster.d.ts.map +0 -1
  244. package/build/routes/tile.xyz.vector.d.ts.map +0 -1
  245. package/build/routes/version.d.ts.map +0 -1
  246. package/build/util/__test__/config.loader.test.d.ts.map +0 -1
  247. package/build/util/__test__/filter.test.d.ts.map +0 -1
  248. package/build/util/__test__/validate.test.d.ts.map +0 -1
  249. package/build/util/assets.provider.d.ts.map +0 -1
  250. package/build/util/config.cache.d.ts.map +0 -1
  251. package/build/util/config.loader.d.ts.map +0 -1
  252. package/build/util/cotar.serve.d.ts.map +0 -1
  253. package/build/util/etag.d.ts.map +0 -1
  254. package/build/util/filter.d.ts.map +0 -1
  255. package/build/util/response.d.ts.map +0 -1
  256. package/build/util/source.cache.d.ts.map +0 -1
  257. package/build/util/source.tracer.d.ts +0 -18
  258. package/build/util/source.tracer.d.ts.map +0 -1
  259. package/build/util/source.tracer.js +0 -26
  260. package/build/util/source.tracer.js.map +0 -1
  261. package/build/util/swapping.lru.d.ts.map +0 -1
  262. package/build/util/validate.d.ts.map +0 -1
  263. package/build/wmts.capability.d.ts.map +0 -1
  264. package/src/arcgis/__tests__/arcgis.style.json.test.ts +0 -157
  265. package/src/arcgis/__tests__/vector.tiler.server.test.ts +0 -70
  266. package/src/arcgis/arcgis.info.ts +0 -26
  267. package/src/arcgis/arcgis.style.json.ts +0 -83
  268. package/src/arcgis/vector.tile.server.ts +0 -81
  269. package/src/util/source.tracer.ts +0 -38
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=render.tile.d.ts.map
@@ -1,31 +1,34 @@
1
1
  import { ConfigProviderMemory } from '@basemaps/config';
2
- import { initConfigFromUrls } from '@basemaps/config/build/json/tiff.config.js';
3
- import { ImageFormat, TileMatrixSets } from '@basemaps/geo';
4
- import { LogConfig, setDefaultConfig } from '@basemaps/shared';
5
- import { fsa } from '@chunkd/fs';
2
+ import { initConfigFromUrls } from '@basemaps/config-loader';
3
+ import { TileMatrixSets } from '@basemaps/geo';
4
+ import { fsa, LogConfig, setDefaultConfig } from '@basemaps/shared';
6
5
  import { LambdaUrlRequest } from '@linzjs/lambda';
7
- import { pathToFileURL } from 'url';
6
+ import { extname } from 'path';
8
7
  import { TileXyzRaster } from '../routes/tile.xyz.raster.js';
9
- const target = pathToFileURL(`/home/blacha/tmp/imagery/southland-0.25-rural-2023/`);
10
- const tile = fromPath('/18/117833/146174.webp');
11
- const outputFormat = ImageFormat.Webp;
8
+ // Render configuration
9
+ const source = fsa.toUrl(`/home/blacha/data/elevation/christchurch_2020-2021/`);
10
+ const tile = fromPath('/14/7898/8615.webp');
11
+ const pipeline = 'color-ramp';
12
12
  let tileMatrix = null;
13
- /** Convert a tile path /:z/:x/:y.png into a tile */
13
+ /** Convert a tile path /:z/:x/:y.png into a tile & extension */
14
14
  function fromPath(s) {
15
+ const ext = extname(s).slice(1);
15
16
  const parts = s.split('.')[0].split('/').map(Number);
16
17
  if (s.startsWith('/'))
17
18
  parts.shift();
18
19
  if (parts.length !== 3)
19
20
  throw new Error(`Invalid tile path ${s}`);
20
- return { z: parts[0], x: parts[1], y: parts[2] };
21
+ return { z: parts[0], x: parts[1], y: parts[2], extension: ext };
21
22
  }
22
23
  async function main() {
23
24
  const log = LogConfig.get();
25
+ log.level = 'trace';
24
26
  const provider = new ConfigProviderMemory();
25
27
  setDefaultConfig(provider);
26
- const { tileSet, imagery } = await initConfigFromUrls(provider, [target]);
27
- if (tileSet.layers.length === 0)
28
- throw new Error('No imagery found in path: ' + target);
28
+ const { imagery, tileSets } = await initConfigFromUrls(provider, [source]);
29
+ const tileSet = tileSets.find((f) => f.layers.length > 0);
30
+ if (tileSet == null || tileSet.layers.length === 0)
31
+ throw new Error('No imagery found in path: ' + source);
29
32
  log.info({ tileSet: tileSet.name, layers: tileSet.layers.length }, 'TileSet:Loaded');
30
33
  for (const im of imagery) {
31
34
  log.info({ url: im.uri, title: im.title, tileMatrix: im.tileMatrix, files: im.files.length }, 'Imagery:Loaded');
@@ -42,10 +45,15 @@ async function main() {
42
45
  tile,
43
46
  tileMatrix,
44
47
  tileSet: tileSet.id,
45
- tileType: outputFormat,
48
+ tileType: tile.extension,
49
+ pipeline,
46
50
  });
47
- await fsa.write(`./${tile.z}_${tile.x}_${tile.y}.${outputFormat}`, Buffer.from(res.body, 'base64'));
48
- log.info({ path: `./${tile.z}_${tile.x}_${tile.y}.${outputFormat}` }, 'Tile:Write');
51
+ const pipelineName = pipeline ? `-${pipeline}` : '';
52
+ const fileName = `./render/${tile.z}_${tile.x}_${tile.y}${pipelineName}.${tile.extension}`;
53
+ await fsa.write(fsa.toUrl(fileName), Buffer.from(res.body, 'base64'));
54
+ log.info({ path: fileName, ...request.timer.metrics }, 'Tile:Write');
49
55
  }
50
- main();
56
+ main().catch((e) => {
57
+ LogConfig.get().fatal({ err: e }, 'Cli:Failed');
58
+ });
51
59
  //# sourceMappingURL=render.tile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.tile.js","sourceRoot":"","sources":["../../src/cli/render.tile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.tile.js","sourceRoot":"","sources":["../../src/cli/render.tile.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -1,2 +1 @@
1
1
  export declare const handler: import("@linzjs/lambda/build/src/function.js").LambdaHandlerAsync<import("@linzjs/lambda/build/src/http/request.http.js").HttpRequestEvent, import("@linzjs/lambda/build/src/http/request.http.js").HttpResponse> & import("@linzjs/lambda/build/src/function.js").HttpHandlerOptions;
2
- //# sourceMappingURL=index.d.ts.map
package/build/index.js CHANGED
@@ -1,49 +1,49 @@
1
- import { LogConfig } from '@basemaps/shared';
1
+ import { FsaCache, FsaLog, LogConfig } from '@basemaps/shared';
2
2
  import { LambdaHttpResponse, lf } from '@linzjs/lambda';
3
- import { arcgisInfoGet } from './arcgis/arcgis.info.js';
4
- import { arcgisStyleJsonGet } from './arcgis/arcgis.style.json.js';
5
- import { arcgisTileServerGet } from './arcgis/vector.tile.server.js';
6
3
  import { tileAttributionGet } from './routes/attribution.js';
7
4
  import { configImageryGet, configTileSetGet } from './routes/config.js';
8
5
  import { fontGet, fontList } from './routes/fonts.js';
9
6
  import { healthGet } from './routes/health.js';
10
7
  import { imageryGet } from './routes/imagery.js';
11
8
  import { pingGet } from './routes/ping.js';
9
+ import { previewIndexGet } from './routes/preview.index.js';
10
+ import { tilePreviewGet } from './routes/preview.js';
12
11
  import { spriteGet } from './routes/sprites.js';
13
12
  import { tileJsonGet } from './routes/tile.json.js';
14
13
  import { styleJsonGet } from './routes/tile.style.json.js';
15
14
  import { wmtsCapabilitiesGet } from './routes/tile.wmts.js';
16
15
  import { tileXyzGet } from './routes/tile.xyz.js';
17
16
  import { versionGet } from './routes/version.js';
18
- import { NotFound, OkResponse } from './util/response.js';
19
- import { CoSources } from './util/source.cache.js';
20
- import { St } from './util/source.tracer.js';
21
- import { tilePreviewGet } from './routes/preview.js';
22
- import { previewIndexGet } from './routes/preview.index.js';
17
+ import { NotFound } from './util/response.js';
23
18
  export const handler = lf.http(LogConfig.get());
24
19
  /** If the request takes too long, respond with a 408 timeout when there is approx 1 second remaining */
25
20
  handler.router.timeoutEarlyMs = 1000;
21
+ function randomTrace(req) {
22
+ // If the env is set to trace level always trace requests
23
+ if (process.env['TRACE']) {
24
+ req.log.level = 'trace';
25
+ return;
26
+ }
27
+ // Set the logging level based off a percent
28
+ const rand = Math.random();
29
+ // 1% trace
30
+ if (rand < 0.01)
31
+ req.log.level = 'trace';
32
+ // 5% debug
33
+ else if (rand < 0.04)
34
+ req.log.level = 'debug';
35
+ // everything else info
36
+ else
37
+ req.log.level = 'info';
38
+ }
26
39
  handler.router.hook('request', (req) => {
40
+ FsaLog.reset();
41
+ randomTrace(req);
27
42
  req.set('name', 'LambdaTiler');
28
- // Reset the request tracing before every request
29
- St.reset();
30
43
  });
31
44
  handler.router.hook('response', (req, res) => {
32
- if (St.requests.length > 0) {
33
- // TODO this could be relaxed to every say 5% of requests if logging gets too verbose.
34
- req.set('requests', St.requests.slice(0, 100)); // limit to 100 requests (some tiles need 100s of requests)
35
- req.set('requestCount', St.requests.length);
36
- }
37
- // Log the source cache hit/miss ratio
38
- req.set('sources', {
39
- hits: CoSources.cache.hits,
40
- misses: CoSources.cache.misses,
41
- size: CoSources.cache.currentSize,
42
- resets: CoSources.cache.resets,
43
- clears: CoSources.cache.clears,
44
- cacheA: CoSources.cache.cacheA.size,
45
- cacheB: CoSources.cache.cacheB.size,
46
- });
45
+ req.set('requestCount', FsaLog.requests.length);
46
+ req.set('cacheSize', FsaCache.size);
47
47
  // Force access-control-allow-origin to everything
48
48
  res.header('access-control-allow-origin', '*');
49
49
  });
@@ -81,6 +81,7 @@ handler.router.get('/v1/tiles/:tileSet/:tileMatrix/tile.json', tileJsonGet);
81
81
  handler.router.get('/v1/tiles/:tileSet/:tileMatrix/:z/:x/:y.:tileType', tileXyzGet);
82
82
  // Preview
83
83
  handler.router.get('/v1/preview/:tileSet/:tileMatrix/:z/:lon/:lat', tilePreviewGet);
84
+ handler.router.get('/v1/preview/:tileSet/:tileMatrix/:z/:lon/:lat/:outputType', tilePreviewGet);
84
85
  handler.router.get('/v1/@:location', previewIndexGet);
85
86
  handler.router.get('/@:location', previewIndexGet);
86
87
  // Attribution
@@ -90,9 +91,4 @@ handler.router.get('/v1/attribution/:tileSet/:tileMatrix/summary.json', tileAttr
90
91
  handler.router.get('/v1/tiles/:tileSet/:tileMatrix/WMTSCapabilities.xml', wmtsCapabilitiesGet);
91
92
  handler.router.get('/v1/tiles/:tileSet/WMTSCapabilities.xml', wmtsCapabilitiesGet);
92
93
  handler.router.get('/v1/tiles/WMTSCapabilities.xml', wmtsCapabilitiesGet);
93
- // Arcgis Vector
94
- handler.router.get('/v1/arcgis/rest/services/:tileSet/VectorTileServer', arcgisTileServerGet);
95
- handler.router.post('/v1/arcgis/rest/services/:tileSet/VectorTileServer', OkResponse);
96
- handler.router.get('/v1/arcgis/rest/services/:tileSet/VectorTileServer/root.json', arcgisStyleJsonGet);
97
- handler.router.get('/v1/arcgis/rest/info', arcgisInfoGet);
98
94
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=attribution.test.d.ts.map
@@ -1,14 +1,15 @@
1
+ import assert from 'node:assert';
2
+ import { afterEach, beforeEach, describe, it } from 'node:test';
1
3
  import { Attribution } from '@basemaps/attribution';
2
4
  import { ConfigProviderMemory } from '@basemaps/config';
3
5
  import { GoogleTms, Nztm2000QuadTms, Projection } from '@basemaps/geo';
4
6
  import { LogConfig } from '@basemaps/shared';
5
7
  import { HttpHeader } from '@linzjs/lambda';
6
- import o from 'ospec';
7
8
  import sinon from 'sinon';
8
- import { handler } from '../../index.js';
9
- import { ConfigLoader } from '../../util/config.loader.js';
10
9
  import { FakeData, Imagery2193, Imagery3857, Provider, TileSetAerial } from '../../__tests__/config.data.js';
11
10
  import { mockUrlRequest } from '../../__tests__/xyz.util.js';
11
+ import { handler } from '../../index.js';
12
+ import { ConfigLoader } from '../../util/config.loader.js';
12
13
  import { createCoordinates } from '../attribution.js';
13
14
  // const ExpectedJson = {
14
15
  // id: 'aerial_WebMercatorQuad',
@@ -278,10 +279,10 @@ import { createCoordinates } from '../attribution.js';
278
279
  // updatedAt: Date.now(),
279
280
  // };
280
281
  // }
281
- o.spec('/v1/attribution', () => {
282
+ describe('/v1/attribution', () => {
282
283
  const config = new ConfigProviderMemory();
283
284
  const sandbox = sinon.createSandbox();
284
- o.beforeEach(() => {
285
+ beforeEach(() => {
285
286
  LogConfig.get().level = 'silent';
286
287
  sandbox.stub(ConfigLoader, 'getDefaultConfig').resolves(config);
287
288
  config.objects.clear();
@@ -290,86 +291,86 @@ o.spec('/v1/attribution', () => {
290
291
  config.put(Imagery3857);
291
292
  config.put(Provider);
292
293
  });
293
- o.afterEach(() => {
294
+ afterEach(() => {
294
295
  sandbox.restore();
295
296
  });
296
- o('should notFound', async () => {
297
+ it('should notFound', async () => {
297
298
  const request = mockUrlRequest(`/v1/attribution/aerial/1234/summary.json`);
298
299
  const res = await handler.router.handle(request);
299
- o(res.status).equals(404);
300
+ assert.equal(res.status, 404);
300
301
  });
301
- o('should 304 with etag match', async () => {
302
+ it('should 304 with etag match', async () => {
302
303
  const request = mockUrlRequest(`/v1/attribution/aerial/EPSG:3857/summary.json`, 'get', {
303
- [HttpHeader.IfNoneMatch]: 'E5HGpTqF8AiJ7VgGVKLehYnVfLN9jaVw8Sy6UafJRh2f',
304
+ [HttpHeader.IfNoneMatch]: 'AFV7dcchHkfyFvmmyXwpkxuAPb5BuVXLkLzzYgeB3mFy',
304
305
  });
305
306
  const res = await handler.router.handle(request);
306
307
  if (res.status === 200)
307
- o(res.header('etag')).equals('E5HGpTqF8AiJ7VgGVKLehYnVfLN9jaVw8Sy6UafJRh2f');
308
+ assert.equal(res.header('etag'), 'AFV7dcchHkfyFvmmyXwpkxuAPb5BuVXLkLzzYgeB3mFy');
308
309
  console.log(res.header('etag'));
309
- o(res.status).equals(304);
310
+ assert.equal(res.status, 304);
310
311
  });
311
- o('should parse attribution', async () => {
312
+ it('should parse attribution', async () => {
312
313
  const request = mockUrlRequest(`/v1/attribution/aerial/EPSG:3857/summary.json`);
313
314
  const res = await handler.router.handle(request);
314
- o(res.status).equals(200);
315
+ assert.equal(res.status, 200);
315
316
  const json = JSON.parse(res.body);
316
317
  const attr = Attribution.fromStac(json);
317
- o(attr.attributions.length).equals(1);
318
- o(attr.attributions[0].minZoom).equals(0);
319
- o(attr.attributions[0].maxZoom).equals(32);
318
+ assert.equal(attr.attributions.length, 1);
319
+ assert.equal(attr.attributions[0].minZoom, 0);
320
+ assert.equal(attr.attributions[0].maxZoom, 32);
320
321
  });
321
- o.spec('ImageryRules', () => {
322
+ describe('ImageryRules', () => {
322
323
  const fakeLayer = { [2193]: Imagery2193.id, name: 'image', minZoom: 9, maxZoom: 16, title: 'Image' };
323
324
  const ts = FakeData.tileSetRaster('fake');
324
- o.beforeEach(() => {
325
+ beforeEach(() => {
325
326
  ts.layers = [fakeLayer];
326
327
  config.put(Imagery2193);
327
328
  config.put(ts);
328
329
  });
329
- o('should generate for NZTM', async () => {
330
+ it('should generate for NZTM', async () => {
330
331
  const req = mockUrlRequest('/v1/tiles/fake/NZTM2000/attribution.json', '');
331
332
  const res = await handler.router.handle(req);
332
- o(res.status).equals(200);
333
+ assert.equal(res.status, 200);
333
334
  const output = JSON.parse(res.body);
334
- o(output.title).equals(ts.title);
335
- o(output.collections[0].summaries['linz:zoom']).deepEquals({ min: 5, max: 11 });
335
+ assert.equal(output.title, ts.title);
336
+ assert.deepEqual(output.collections[0].summaries['linz:zoom'], { min: 5, max: 11 });
336
337
  });
337
- o('should generate with correct zooms for NZTM2000Quad', async () => {
338
+ it('should generate with correct zooms for NZTM2000Quad', async () => {
338
339
  const req = mockUrlRequest('/v1/tiles/fake/NZTM2000Quad/attribution.json', '');
339
340
  const res = await handler.router.handle(req);
340
- o(res.status).equals(200);
341
+ assert.equal(res.status, 200);
341
342
  const output = JSON.parse(res.body);
342
- o(output.title).equals(ts.title);
343
- o(output.collections[0].summaries['linz:zoom']).deepEquals({ min: 7, max: 14 });
343
+ assert.equal(output.title, ts.title);
344
+ assert.deepEqual(output.collections[0].summaries['linz:zoom'], { min: 7, max: 14 });
344
345
  });
345
- o('should generate with correct zooms for gebco NZTM2000Quad', async () => {
346
+ it('should generate with correct zooms for gebco NZTM2000Quad', async () => {
346
347
  const fakeGebco = { ...fakeLayer, minZoom: 0, maxZoom: 15 };
347
348
  ts.layers = [fakeGebco];
348
349
  const req = mockUrlRequest('/v1/tiles/fake/NZTM2000Quad/attribution.json', '');
349
350
  const res = await handler.router.handle(req);
350
- o(res.status).equals(200);
351
+ assert.equal(res.status, 200);
351
352
  const output = JSON.parse(res.body);
352
- o(output.title).equals(ts.title);
353
- o(output.collections[0].summaries['linz:zoom']).deepEquals({ min: 0, max: 13 });
353
+ assert.equal(output.title, ts.title);
354
+ assert.deepEqual(output.collections[0].summaries['linz:zoom'], { min: 0, max: 13 });
354
355
  });
355
- o('should generate with correct zooms for nz sentinel NZTM2000Quad', async () => {
356
+ it('should generate with correct zooms for nz sentinel NZTM2000Quad', async () => {
356
357
  const fakeGebco = { ...fakeLayer, minZoom: 0, maxZoom: 32 };
357
358
  ts.layers = [fakeGebco];
358
359
  const req = mockUrlRequest('/v1/tiles/fake/NZTM2000Quad/attribution.json', '');
359
360
  const res = await handler.router.handle(req);
360
- o(res.status).equals(200);
361
+ assert.equal(res.status, 200);
361
362
  const output = JSON.parse(res.body);
362
- o(output.title).equals(ts.title);
363
- o(output.collections[0].summaries['linz:zoom']).deepEquals({ min: 0, max: Nztm2000QuadTms.maxZoom });
363
+ assert.equal(output.title, ts.title);
364
+ assert.deepEqual(output.collections[0].summaries['linz:zoom'], { min: 0, max: Nztm2000QuadTms.maxZoom });
364
365
  });
365
366
  });
366
- o('should create valid coordinates', async () => {
367
+ it('should create valid coordinates', async () => {
367
368
  //bbox: BBox, files: NamedBounds[], proj: Projection
368
369
  const bbox = [174.79248047, -38.21228805, 175.25939941, -37.99616268];
369
370
  const proj = Projection.get(GoogleTms);
370
371
  const coordinates = createCoordinates(bbox, Imagery3857.files, proj);
371
372
  console.log(JSON.stringify(coordinates));
372
- o(coordinates).deepEquals([
373
+ assert.deepEqual(coordinates, [
373
374
  [
374
375
  [
375
376
  [174.79247149, -38.09998972],
@@ -1 +1 @@
1
- {"version":3,"file":"attribution.test.js","sourceRoot":"","sources":["../../../src/routes/__tests__/attribution.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attribution.test.js","sourceRoot":"","sources":["../../../src/routes/__tests__/attribution.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=fonts.test.d.ts.map
@@ -1,95 +1,93 @@
1
+ import assert from 'node:assert';
2
+ import { afterEach, beforeEach, describe, it } from 'node:test';
1
3
  import { base58, ConfigProviderMemory } from '@basemaps/config';
2
- import { getDefaultConfig } from '@basemaps/shared';
3
- import { fsa } from '@chunkd/fs';
4
- import o from 'ospec';
5
- import { createSandbox } from 'sinon';
4
+ import { setDefaultConfig } from '@basemaps/shared';
5
+ import { fsa, FsMemory } from '@chunkd/fs';
6
+ import { Api, mockRequest, mockUrlRequest } from '../../__tests__/xyz.util.js';
6
7
  import { handler } from '../../index.js';
7
8
  import { CachedConfig } from '../../util/config.cache.js';
8
- import { ConfigLoader } from '../../util/config.loader.js';
9
9
  import { CoSources } from '../../util/source.cache.js';
10
- import { Api, mockRequest, mockUrlRequest } from '../../__tests__/xyz.util.js';
11
10
  import { fontList } from '../fonts.js';
12
- import { FsMemory } from '@chunkd/source-memory';
13
- o.spec('/v1/fonts', () => {
11
+ describe('/v1/fonts', () => {
14
12
  const memory = new FsMemory();
15
- const sandbox = createSandbox();
16
13
  const config = new ConfigProviderMemory();
17
- o.before(() => {
14
+ beforeEach(() => {
15
+ config.objects.clear();
18
16
  fsa.register('memory://', memory);
17
+ config.assets = 'memory://assets/';
18
+ setDefaultConfig(config);
19
19
  });
20
- o.beforeEach(() => {
21
- config.assets = 'memory://';
22
- sandbox.stub(ConfigLoader, 'getDefaultConfig').resolves(config);
23
- });
24
- o.afterEach(() => {
25
- sandbox.restore();
20
+ afterEach(() => {
26
21
  CachedConfig.cache.clear();
27
22
  CoSources.cache.clear();
28
23
  memory.files.clear();
29
24
  });
30
- o('should return 404 if no font found', async () => {
25
+ it('should return 404 if no font found', async () => {
31
26
  const res = await fontList(mockRequest('/v1/fonts.json'));
32
- o(res.status).equals(404);
27
+ assert.equal(res.status, 404);
33
28
  });
34
- o('should return a list of fonts found', async () => {
35
- var _a;
36
- await fsa.write('memory://fonts/fonts.json', Buffer.from(JSON.stringify(['Roboto Black', 'Roboto Thin'])));
29
+ it('should return a list of fonts found', async () => {
30
+ await fsa.write(new URL('memory://assets/fonts/fonts.json'), Buffer.from(JSON.stringify(['Roboto Black', 'Roboto Thin'])));
37
31
  const res = await fontList(mockRequest('/v1/fonts.json'));
38
- o(res.status).equals(200);
39
- o(res.header('content-type')).equals('application/json');
40
- o(res.header('content-encoding')).equals(undefined);
41
- o((_a = res._body) === null || _a === void 0 ? void 0 : _a.toString()).equals(JSON.stringify(['Roboto Black', 'Roboto Thin']));
32
+ assert.equal(res.status, 200);
33
+ assert.equal(res.header('content-type'), 'application/json');
34
+ assert.equal(res.header('content-encoding'), undefined);
35
+ assert.equal(res._body?.toString(), JSON.stringify(['Roboto Black', 'Roboto Thin']));
42
36
  });
43
- o('should get the correct font', async () => {
44
- await fsa.write('memory://fonts/Roboto Thin/0-255.pbf', Buffer.from(''));
37
+ it('should get the correct font', async () => {
38
+ await fsa.write(new URL('memory://assets/fonts/Roboto Thin/0-255.pbf'), Buffer.from(''));
45
39
  const res255 = await handler.router.handle(mockRequest('/v1/fonts/Roboto Thin/0-255.pbf'));
46
- o(res255.status).equals(200);
47
- o(res255.header('content-type')).equals('application/x-protobuf');
48
- o(res255.header('content-encoding')).equals(undefined);
49
- o(res255.header('etag')).notEquals(undefined);
50
- o(res255.header('cache-control')).equals('public, max-age=604800, stale-while-revalidate=86400');
40
+ assert.equal(res255.status, 200);
41
+ assert.equal(res255.header('content-type'), 'application/x-protobuf');
42
+ assert.equal(res255.header('content-encoding'), undefined);
43
+ assert.notEqual(res255.header('etag'), undefined);
44
+ assert.equal(res255.header('cache-control'), 'public, max-age=604800, stale-while-revalidate=86400');
51
45
  const res404 = await handler.router.handle(mockRequest('/v1/fonts/Roboto Thin/256-512.pbf'));
52
- o(res404.status).equals(404);
46
+ assert.equal(res404.status, 404);
53
47
  });
54
- o('should get the correct utf8 font', async () => {
55
- await fsa.write('memory://fonts/🦄 🌈/0-255.pbf', Buffer.from(''));
48
+ it('should get the correct utf8 font', async () => {
49
+ await fsa.write(new URL('memory://assets/fonts/🦄 🌈/0-255.pbf'), Buffer.from(''));
56
50
  const res255 = await handler.router.handle(mockRequest('/v1/fonts/🦄 🌈/0-255.pbf'));
57
- o(res255.status).equals(200);
58
- o(res255.header('content-type')).equals('application/x-protobuf');
59
- o(res255.header('content-encoding')).equals(undefined);
60
- o(res255.header('etag')).notEquals(undefined);
61
- o(res255.header('cache-control')).equals('public, max-age=604800, stale-while-revalidate=86400');
51
+ assert.equal(res255.status, 200);
52
+ assert.equal(res255.header('content-type'), 'application/x-protobuf');
53
+ assert.equal(res255.header('content-encoding'), undefined);
54
+ assert.notEqual(res255.header('etag'), undefined);
55
+ assert.equal(res255.header('cache-control'), 'public, max-age=604800, stale-while-revalidate=86400');
62
56
  });
63
- o('should return 404 if no asset location set', async () => {
64
- getDefaultConfig().assets = undefined;
57
+ it('should return 404 if no asset location set', async () => {
58
+ config.assets = undefined;
65
59
  const res = await fontList(mockRequest('/v1/fonts.json'));
66
- o(res.status).equals(404);
60
+ assert.equal(res.status, 404);
67
61
  });
68
- o('should get the correct utf8 font with default assets', async () => {
69
- getDefaultConfig().assets = undefined;
70
- sandbox
71
- .stub(config.ConfigBundle, 'get')
72
- .resolves({ id: 'cb_latest', name: 'latest', path: 'latest', hash: 'hash', assets: 'memory://' });
73
- await fsa.write('memory://fonts/Roboto Thin/0-255.pbf', Buffer.from(''));
62
+ it('should get the correct utf8 font with default assets', async () => {
63
+ config.assets = undefined;
64
+ config.objects.set('cb_latest', {
65
+ id: 'cb_latest',
66
+ name: 'latest',
67
+ path: 'latest',
68
+ hash: 'hash',
69
+ assets: 'memory://new-location/',
70
+ });
71
+ await fsa.write(new URL('memory://new-location/fonts/Roboto Thin/0-255.pbf'), Buffer.from(''));
74
72
  const res255 = await handler.router.handle(mockRequest('/v1/fonts/Roboto Thin/0-255.pbf'));
75
- o(res255.status).equals(200);
76
- o(res255.header('content-type')).equals('application/x-protobuf');
77
- o(res255.header('content-encoding')).equals(undefined);
78
- o(res255.header('etag')).notEquals(undefined);
79
- o(res255.header('cache-control')).equals('public, max-age=604800, stale-while-revalidate=86400');
73
+ assert.equal(res255.status, 200, res255.statusDescription);
74
+ assert.equal(res255.header('content-type'), 'application/x-protobuf');
75
+ assert.equal(res255.header('content-encoding'), undefined);
76
+ assert.notEqual(res255.header('etag'), undefined);
77
+ assert.equal(res255.header('cache-control'), 'public, max-age=604800, stale-while-revalidate=86400');
80
78
  });
81
- o('should get the correct utf8 font with config assets', async () => {
79
+ it('should get the correct utf8 font with config assets', async () => {
82
80
  const cfgBundle = new ConfigProviderMemory();
83
- cfgBundle.assets = 'memory://config/assets';
84
- await fsa.write('memory://linz-basemaps/bar.json', JSON.stringify(cfgBundle.toJson()));
85
- await fsa.write('memory://config/assets/fonts/🦄 🌈/0-255.pbf', Buffer.from(''));
81
+ cfgBundle.assets = 'memory://config/assets/';
82
+ await fsa.write(new URL('memory://linz-basemaps/bar.json'), JSON.stringify(cfgBundle.toJson()));
83
+ await fsa.write(new URL('memory://config/assets/fonts/🦄 🌈/0-255.pbf'), Buffer.from(''));
86
84
  const configLocation = base58.encode(Buffer.from('memory://linz-basemaps/bar.json'));
87
85
  const res255 = await handler.router.handle(mockUrlRequest('/v1/fonts/🦄 🌈/0-255.pbf', `?config=${configLocation}`, Api.header));
88
- o(res255.status).equals(200);
89
- o(res255.header('content-type')).equals('application/x-protobuf');
90
- o(res255.header('content-encoding')).equals(undefined);
91
- o(res255.header('etag')).notEquals(undefined);
92
- o(res255.header('cache-control')).equals('public, max-age=604800, stale-while-revalidate=86400');
86
+ assert.equal(res255.status, 200);
87
+ assert.equal(res255.header('content-type'), 'application/x-protobuf');
88
+ assert.equal(res255.header('content-encoding'), undefined);
89
+ assert.notEqual(res255.header('etag'), undefined);
90
+ assert.equal(res255.header('cache-control'), 'public, max-age=604800, stale-while-revalidate=86400');
93
91
  });
94
92
  });
95
93
  //# sourceMappingURL=fonts.test.js.map