@basemaps/lambda-tiler 6.30.0 → 6.32.1

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 (276) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/build/__tests__/config.data.d.ts +6 -1
  3. package/build/__tests__/config.data.d.ts.map +1 -1
  4. package/build/__tests__/config.data.js +33 -2
  5. package/build/__tests__/config.data.js.map +1 -1
  6. package/build/__tests__/index.test.js +3 -13
  7. package/build/__tests__/index.test.js.map +1 -1
  8. package/build/__tests__/wmts.capability.test.js +88 -6
  9. package/build/__tests__/wmts.capability.test.js.map +1 -1
  10. package/build/__tests__/xyz.util.d.ts +7 -9
  11. package/build/__tests__/xyz.util.d.ts.map +1 -1
  12. package/build/__tests__/xyz.util.js +14 -20
  13. package/build/__tests__/xyz.util.js.map +1 -1
  14. package/build/index.d.ts +0 -2
  15. package/build/index.d.ts.map +1 -1
  16. package/build/index.js +57 -26
  17. package/build/index.js.map +1 -1
  18. package/build/routes/__tests__/attribution.test.js +350 -400
  19. package/build/routes/__tests__/attribution.test.js.map +1 -1
  20. package/build/routes/__tests__/fonts.test.js +11 -5
  21. package/build/routes/__tests__/fonts.test.js.map +1 -1
  22. package/build/routes/__tests__/health.test.js +16 -13
  23. package/build/routes/__tests__/health.test.js.map +1 -1
  24. package/build/routes/__tests__/sprites.test.js +6 -0
  25. package/build/routes/__tests__/sprites.test.js.map +1 -1
  26. package/build/routes/__tests__/tile.json.test.d.ts +2 -0
  27. package/build/routes/__tests__/tile.json.test.d.ts.map +1 -0
  28. package/build/routes/__tests__/tile.json.test.js +124 -0
  29. package/build/routes/__tests__/tile.json.test.js.map +1 -0
  30. package/build/routes/__tests__/tile.style.json.test.d.ts +2 -0
  31. package/build/routes/__tests__/tile.style.json.test.d.ts.map +1 -0
  32. package/build/routes/__tests__/tile.style.json.test.js +95 -0
  33. package/build/routes/__tests__/tile.style.json.test.js.map +1 -0
  34. package/build/routes/__tests__/wmts.test.js +5 -44
  35. package/build/routes/__tests__/wmts.test.js.map +1 -1
  36. package/build/{__tests__ → routes/__tests__}/xyz.test.d.ts +0 -0
  37. package/build/routes/__tests__/xyz.test.d.ts.map +1 -0
  38. package/build/routes/__tests__/xyz.test.js +99 -0
  39. package/build/routes/__tests__/xyz.test.js.map +1 -0
  40. package/build/routes/attribution.d.ts +7 -5
  41. package/build/routes/attribution.d.ts.map +1 -1
  42. package/build/routes/attribution.js +49 -91
  43. package/build/routes/attribution.js.map +1 -1
  44. package/build/routes/fonts.d.ts +1 -1
  45. package/build/routes/fonts.d.ts.map +1 -1
  46. package/build/routes/fonts.js +30 -15
  47. package/build/routes/fonts.js.map +1 -1
  48. package/build/routes/health.d.ts +3 -3
  49. package/build/routes/health.d.ts.map +1 -1
  50. package/build/routes/health.js +15 -13
  51. package/build/routes/health.js.map +1 -1
  52. package/build/routes/imagery.d.ts.map +1 -1
  53. package/build/routes/imagery.js +11 -10
  54. package/build/routes/imagery.js.map +1 -1
  55. package/build/routes/ping.d.ts +3 -0
  56. package/build/routes/ping.d.ts.map +1 -0
  57. package/build/routes/ping.js +7 -0
  58. package/build/routes/ping.js.map +1 -0
  59. package/build/routes/sprites.d.ts.map +1 -1
  60. package/build/routes/sprites.js +16 -10
  61. package/build/routes/sprites.js.map +1 -1
  62. package/build/routes/tile.json.d.ts +7 -1
  63. package/build/routes/tile.json.d.ts.map +1 -1
  64. package/build/routes/tile.json.js +18 -21
  65. package/build/routes/tile.json.js.map +1 -1
  66. package/build/routes/tile.style.json.d.ts +6 -1
  67. package/build/routes/tile.style.json.d.ts.map +1 -1
  68. package/build/routes/tile.style.json.js +10 -13
  69. package/build/routes/tile.style.json.js.map +1 -1
  70. package/build/routes/tile.wmts.d.ts +9 -3
  71. package/build/routes/tile.wmts.d.ts.map +1 -1
  72. package/build/routes/tile.wmts.js +26 -35
  73. package/build/routes/tile.wmts.js.map +1 -1
  74. package/build/routes/tile.xyz.d.ts +14 -4
  75. package/build/routes/tile.xyz.d.ts.map +1 -1
  76. package/build/routes/tile.xyz.js +21 -17
  77. package/build/routes/tile.xyz.js.map +1 -1
  78. package/build/routes/tile.xyz.raster.d.ts +11 -0
  79. package/build/routes/tile.xyz.raster.d.ts.map +1 -0
  80. package/build/routes/tile.xyz.raster.js +90 -0
  81. package/build/routes/tile.xyz.raster.js.map +1 -0
  82. package/build/routes/tile.xyz.vector.d.ts +8 -0
  83. package/build/routes/tile.xyz.vector.d.ts.map +1 -0
  84. package/build/routes/tile.xyz.vector.js +46 -0
  85. package/build/routes/tile.xyz.vector.js.map +1 -0
  86. package/build/routes/version.d.ts +3 -0
  87. package/build/routes/version.d.ts.map +1 -0
  88. package/build/routes/version.js +9 -0
  89. package/build/routes/version.js.map +1 -0
  90. package/build/util/__test__/validate.test.d.ts +2 -0
  91. package/build/util/__test__/validate.test.d.ts.map +1 -0
  92. package/build/util/__test__/validate.test.js +66 -0
  93. package/build/util/__test__/validate.test.js.map +1 -0
  94. package/build/{cotar.cache.d.ts → util/cotar.serve.d.ts} +3 -8
  95. package/build/util/cotar.serve.d.ts.map +1 -0
  96. package/build/util/cotar.serve.js +41 -0
  97. package/build/util/cotar.serve.js.map +1 -0
  98. package/build/util/etag.d.ts +6 -0
  99. package/build/util/etag.d.ts.map +1 -0
  100. package/build/util/etag.js +20 -0
  101. package/build/util/etag.js.map +1 -0
  102. package/build/util/response.d.ts +4 -0
  103. package/build/util/response.d.ts.map +1 -0
  104. package/build/util/response.js +4 -0
  105. package/build/util/response.js.map +1 -0
  106. package/build/util/source.cache.d.ts +28 -0
  107. package/build/util/source.cache.d.ts.map +1 -0
  108. package/build/util/source.cache.js +53 -0
  109. package/build/util/source.cache.js.map +1 -0
  110. package/build/{source.tracer.d.ts → util/source.tracer.d.ts} +1 -0
  111. package/build/util/source.tracer.d.ts.map +1 -0
  112. package/build/{source.tracer.js → util/source.tracer.js} +3 -0
  113. package/build/util/source.tracer.js.map +1 -0
  114. package/build/util/swapping.lru.d.ts +21 -0
  115. package/build/util/swapping.lru.d.ts.map +1 -0
  116. package/build/util/swapping.lru.js +56 -0
  117. package/build/util/swapping.lru.js.map +1 -0
  118. package/build/util/validate.d.ts +46 -0
  119. package/build/util/validate.d.ts.map +1 -0
  120. package/build/util/validate.js +107 -0
  121. package/build/util/validate.js.map +1 -0
  122. package/build/wmts.capability.d.ts +1 -1
  123. package/build/wmts.capability.d.ts.map +1 -1
  124. package/build/wmts.capability.js +24 -8
  125. package/build/wmts.capability.js.map +1 -1
  126. package/dist/index.js +78 -76
  127. package/dist/node_modules/.package-lock.json +1 -1
  128. package/dist/package-lock.json +2 -2
  129. package/dist/package.json +1 -1
  130. package/package.json +10 -10
  131. package/src/__tests__/config.data.ts +41 -3
  132. package/src/__tests__/index.test.ts +3 -19
  133. package/src/__tests__/wmts.capability.test.ts +109 -6
  134. package/src/__tests__/xyz.util.ts +18 -21
  135. package/src/index.ts +66 -29
  136. package/src/routes/__tests__/attribution.test.ts +356 -403
  137. package/src/routes/__tests__/fonts.test.ts +11 -5
  138. package/src/routes/__tests__/health.test.ts +17 -13
  139. package/src/routes/__tests__/sprites.test.ts +6 -1
  140. package/src/routes/__tests__/tile.json.test.ts +145 -0
  141. package/src/routes/__tests__/tile.style.json.test.ts +105 -0
  142. package/src/routes/__tests__/wmts.test.ts +5 -55
  143. package/src/routes/__tests__/xyz.test.ts +119 -0
  144. package/src/routes/attribution.ts +59 -111
  145. package/src/routes/fonts.ts +29 -15
  146. package/src/routes/health.ts +17 -16
  147. package/src/routes/imagery.ts +10 -9
  148. package/src/routes/ping.ts +8 -0
  149. package/src/routes/sprites.ts +16 -10
  150. package/src/routes/tile.json.ts +24 -18
  151. package/src/routes/tile.style.json.ts +15 -12
  152. package/src/routes/tile.wmts.ts +30 -31
  153. package/src/routes/tile.xyz.raster.ts +106 -0
  154. package/src/routes/tile.xyz.ts +31 -16
  155. package/src/routes/tile.xyz.vector.ts +47 -0
  156. package/src/routes/version.ts +8 -0
  157. package/src/util/__test__/validate.test.ts +74 -0
  158. package/src/util/cotar.serve.ts +46 -0
  159. package/src/util/etag.ts +20 -0
  160. package/src/util/response.ts +4 -0
  161. package/src/util/source.cache.ts +71 -0
  162. package/src/{source.tracer.ts → util/source.tracer.ts} +4 -0
  163. package/src/util/swapping.lru.ts +63 -0
  164. package/src/util/validate.ts +126 -0
  165. package/src/wmts.capability.ts +30 -13
  166. package/tsconfig.tsbuildinfo +1 -1
  167. package/build/__tests__/route.test.d.ts +0 -2
  168. package/build/__tests__/route.test.d.ts.map +0 -1
  169. package/build/__tests__/route.test.js +0 -21
  170. package/build/__tests__/route.test.js.map +0 -1
  171. package/build/__tests__/tiff.cache.test.d.ts +0 -2
  172. package/build/__tests__/tiff.cache.test.d.ts.map +0 -1
  173. package/build/__tests__/tiff.cache.test.js +0 -59
  174. package/build/__tests__/tiff.cache.test.js.map +0 -1
  175. package/build/__tests__/tile.cache.key.test.d.ts +0 -2
  176. package/build/__tests__/tile.cache.key.test.d.ts.map +0 -1
  177. package/build/__tests__/tile.cache.key.test.js +0 -49
  178. package/build/__tests__/tile.cache.key.test.js.map +0 -1
  179. package/build/__tests__/tile.set.cache.test.d.ts +0 -2
  180. package/build/__tests__/tile.set.cache.test.d.ts.map +0 -1
  181. package/build/__tests__/tile.set.cache.test.js +0 -72
  182. package/build/__tests__/tile.set.cache.test.js.map +0 -1
  183. package/build/__tests__/tile.set.test.d.ts +0 -2
  184. package/build/__tests__/tile.set.test.d.ts.map +0 -1
  185. package/build/__tests__/tile.set.test.js +0 -12
  186. package/build/__tests__/tile.set.test.js.map +0 -1
  187. package/build/__tests__/xyz.test.d.ts.map +0 -1
  188. package/build/__tests__/xyz.test.js +0 -275
  189. package/build/__tests__/xyz.test.js.map +0 -1
  190. package/build/api.key.d.ts +0 -2
  191. package/build/api.key.d.ts.map +0 -1
  192. package/build/api.key.js +0 -24
  193. package/build/api.key.js.map +0 -1
  194. package/build/cli/dump.d.ts +0 -2
  195. package/build/cli/dump.d.ts.map +0 -1
  196. package/build/cli/dump.js +0 -48
  197. package/build/cli/dump.js.map +0 -1
  198. package/build/cli/tile.set.local.d.ts +0 -12
  199. package/build/cli/tile.set.local.d.ts.map +0 -1
  200. package/build/cli/tile.set.local.js +0 -40
  201. package/build/cli/tile.set.local.js.map +0 -1
  202. package/build/cotar.cache.d.ts.map +0 -1
  203. package/build/cotar.cache.js +0 -50
  204. package/build/cotar.cache.js.map +0 -1
  205. package/build/router.d.ts +0 -15
  206. package/build/router.d.ts.map +0 -1
  207. package/build/router.js +0 -50
  208. package/build/router.js.map +0 -1
  209. package/build/routes/api.d.ts +0 -4
  210. package/build/routes/api.d.ts.map +0 -1
  211. package/build/routes/api.js +0 -14
  212. package/build/routes/api.js.map +0 -1
  213. package/build/routes/esri/rest.d.ts +0 -10
  214. package/build/routes/esri/rest.d.ts.map +0 -1
  215. package/build/routes/esri/rest.js +0 -88
  216. package/build/routes/esri/rest.js.map +0 -1
  217. package/build/routes/response.d.ts +0 -4
  218. package/build/routes/response.d.ts.map +0 -1
  219. package/build/routes/response.js +0 -4
  220. package/build/routes/response.js.map +0 -1
  221. package/build/routes/tile.d.ts +0 -3
  222. package/build/routes/tile.d.ts.map +0 -1
  223. package/build/routes/tile.etag.d.ts +0 -11
  224. package/build/routes/tile.etag.d.ts.map +0 -1
  225. package/build/routes/tile.etag.js +0 -30
  226. package/build/routes/tile.etag.js.map +0 -1
  227. package/build/routes/tile.js +0 -28
  228. package/build/routes/tile.js.map +0 -1
  229. package/build/source.tracer.d.ts.map +0 -1
  230. package/build/source.tracer.js.map +0 -1
  231. package/build/tiff.cache.d.ts +0 -17
  232. package/build/tiff.cache.d.ts.map +0 -1
  233. package/build/tiff.cache.js +0 -46
  234. package/build/tiff.cache.js.map +0 -1
  235. package/build/tile.set.cache.d.ts +0 -20
  236. package/build/tile.set.cache.d.ts.map +0 -1
  237. package/build/tile.set.cache.js +0 -72
  238. package/build/tile.set.cache.js.map +0 -1
  239. package/build/tile.set.d.ts +0 -4
  240. package/build/tile.set.d.ts.map +0 -1
  241. package/build/tile.set.js +0 -2
  242. package/build/tile.set.js.map +0 -1
  243. package/build/tile.set.raster.d.ts +0 -49
  244. package/build/tile.set.raster.d.ts.map +0 -1
  245. package/build/tile.set.raster.js +0 -189
  246. package/build/tile.set.raster.js.map +0 -1
  247. package/build/tile.set.vector.d.ts +0 -18
  248. package/build/tile.set.vector.d.ts.map +0 -1
  249. package/build/tile.set.vector.js +0 -54
  250. package/build/tile.set.vector.js.map +0 -1
  251. package/build/validate.d.ts +0 -16
  252. package/build/validate.d.ts.map +0 -1
  253. package/build/validate.js +0 -32
  254. package/build/validate.js.map +0 -1
  255. package/src/__tests__/route.test.ts +0 -24
  256. package/src/__tests__/tiff.cache.test.ts +0 -73
  257. package/src/__tests__/tile.cache.key.test.ts +0 -56
  258. package/src/__tests__/tile.set.cache.test.ts +0 -80
  259. package/src/__tests__/tile.set.test.ts +0 -12
  260. package/src/__tests__/xyz.test.ts +0 -318
  261. package/src/api.key.ts +0 -23
  262. package/src/cli/dump.ts +0 -61
  263. package/src/cli/tile.set.local.ts +0 -51
  264. package/src/cotar.cache.ts +0 -54
  265. package/src/router.ts +0 -58
  266. package/src/routes/api.ts +0 -15
  267. package/src/routes/esri/rest.ts +0 -90
  268. package/src/routes/response.ts +0 -4
  269. package/src/routes/tile.etag.ts +0 -36
  270. package/src/routes/tile.ts +0 -23
  271. package/src/tiff.cache.ts +0 -51
  272. package/src/tile.set.cache.ts +0 -84
  273. package/src/tile.set.raster.ts +0 -230
  274. package/src/tile.set.ts +0 -4
  275. package/src/tile.set.vector.ts +0 -61
  276. package/src/validate.ts +0 -32
package/build/cli/dump.js DELETED
@@ -1,48 +0,0 @@
1
- import { Nztm2000Tms, ImageFormat } from '@basemaps/geo';
2
- import { LogConfig } from '@basemaps/shared';
3
- import { LambdaAlbRequest } from '@linzjs/lambda';
4
- import { promises as fs } from 'fs';
5
- import { tileXyz } from '../routes/tile.xyz.js';
6
- import { TileSets } from '../tile.set.cache.js';
7
- import { TileSetLocal } from './tile.set.local.js';
8
- const xyz = { x: 0, y: 0, z: 0 };
9
- const tileMatrix = Nztm2000Tms;
10
- const tileSetName = 'aerial';
11
- const ext = ImageFormat.Png;
12
- /** Load a tileset form a file path otherwise default to the hard coded one from AWS */
13
- async function getTileSet(filePath) {
14
- if (filePath != null) {
15
- const tileSet = new TileSetLocal('local', filePath);
16
- await tileSet.load();
17
- TileSets.add(tileSet);
18
- return tileSet;
19
- }
20
- const tileSet = await TileSets.get(tileSetName, tileMatrix);
21
- if (tileSet == null)
22
- throw new Error('Missing');
23
- return tileSet;
24
- }
25
- /**
26
- * Utility to render a single tile then save it as a png
27
- */
28
- async function main() {
29
- var _a;
30
- const logger = LogConfig.get();
31
- const filePath = process.argv[2];
32
- const tileSet = await getTileSet(filePath);
33
- logger.info({ ...xyz, projection: tileMatrix.projection.code, tileMatrix: tileMatrix.identifier }, 'RenderTile');
34
- const ctx = new LambdaAlbRequest({
35
- httpMethod: 'get',
36
- path: `/v1/tiles/${tileSet.fullName}/${tileMatrix.identifier}/${xyz.z}/${xyz.x}/${xyz.y}.${ext}`,
37
- }, {}, logger);
38
- const tileData = await tileXyz(ctx);
39
- const headers = {};
40
- for (const [key, value] of tileData.headers)
41
- headers[key] = value;
42
- logger.info({ ...tileData, _body: (_a = tileData.body) === null || _a === void 0 ? void 0 : _a.length, headers }, 'Done');
43
- if (tileData._body != null) {
44
- await fs.writeFile(`output_${xyz.x}_${xyz.y}_z${xyz.z}.${ext}`, tileData._body);
45
- }
46
- }
47
- main().catch(console.error);
48
- //# sourceMappingURL=dump.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dump.js","sourceRoot":"","sources":["../../src/cli/dump.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { CogTiff } from '@cogeotiff/core';
2
- import { TileSetRaster } from '../tile.set.raster.js';
3
- export declare class TileSetLocal extends TileSetRaster {
4
- tiffs: CogTiff[];
5
- filePath: string;
6
- tileSet: any;
7
- constructor(name: string, path: string);
8
- setTitle(name: string): void;
9
- load(): Promise<boolean>;
10
- getTiffsForTile(): CogTiff[];
11
- }
12
- //# sourceMappingURL=tile.set.local.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.set.local.d.ts","sourceRoot":"","sources":["../../src/cli/tile.set.local.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAc,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAMtD,qBAAa,YAAa,SAAQ,aAAa;IAC7C,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,MAAa;gBAER,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQtC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAItB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAqB9B,eAAe,IAAI,OAAO,EAAE;CAG7B"}
@@ -1,40 +0,0 @@
1
- import { Epsg, GoogleTms, TileMatrixSets } from '@basemaps/geo';
2
- import { fsa, LogConfig } from '@basemaps/shared';
3
- import { CogTiff, TiffTagGeo } from '@cogeotiff/core';
4
- import { TileSetRaster } from '../tile.set.raster.js';
5
- function isTiff(fileName) {
6
- return fileName.toLowerCase().endsWith('.tif') || fileName.toLowerCase().endsWith('.tiff');
7
- }
8
- export class TileSetLocal extends TileSetRaster {
9
- constructor(name, path) {
10
- super(name, GoogleTms);
11
- this.tileSet = {};
12
- this.filePath = path;
13
- this.tileSet.name = name;
14
- this.tileSet.title = name;
15
- this.tileSet.projection = GoogleTms.projection.code;
16
- }
17
- setTitle(name) {
18
- this.tileSet.title = name;
19
- }
20
- async load() {
21
- if (this.tiffs != null)
22
- return true;
23
- const fileList = isTiff(this.filePath) ? [this.filePath] : await fsa.toArray(fsa.list(this.filePath));
24
- const files = fileList.filter(isTiff);
25
- if (files.length === 0)
26
- throw new Error(`No tiff files found in ${this.filePath}`);
27
- this.tiffs = files.map((filePath) => new CogTiff(fsa.source(filePath)));
28
- // Read in the projection information
29
- const [firstTiff] = this.tiffs;
30
- await firstTiff.init(true);
31
- const projection = Epsg.get(firstTiff.getImage(0).valueGeo(TiffTagGeo.ProjectedCSTypeGeoKey));
32
- this.tileMatrix = TileMatrixSets.get(projection);
33
- LogConfig.get().info({ path: this.filePath, count: this.tiffs.length, tileMatrix: this.tileMatrix.identifier }, 'LoadedTiffs');
34
- return true;
35
- }
36
- getTiffsForTile() {
37
- return this.tiffs;
38
- }
39
- }
40
- //# sourceMappingURL=tile.set.local.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.set.local.js","sourceRoot":"","sources":["../../src/cli/tile.set.local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,SAAS,MAAM,CAAC,QAAgB;IAC9B,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,OAAO,YAAa,SAAQ,aAAa;IAK7C,YAAY,IAAY,EAAE,IAAY;QACpC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAHzB,YAAO,GAAG,EAAS,CAAC;QAIlB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;IACtD,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtG,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEnF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAExE,qCAAqC;QACrC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/B,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAW,CAAC,CAAC;QACxG,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjD,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAClB,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EACzF,aAAa,CACd,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cotar.cache.d.ts","sourceRoot":"","sources":["../src/cotar.cache.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAIpD,qBAAa,UAAU;IACrB,MAAM,CAAC,KAAK,qCAA4C;IAExD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;CAU/C;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAS7B;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEzC"}
@@ -1,50 +0,0 @@
1
- import { fsa } from '@chunkd/fs';
2
- import { Cotar } from '@cotar/core';
3
- import { LambdaHttpResponse } from '@linzjs/lambda';
4
- import { NotFound } from './routes/response.js';
5
- import { St } from './source.tracer.js';
6
- export class CotarCache {
7
- static get(uri) {
8
- let existing = CotarCache.cache.get(uri);
9
- if (existing == null) {
10
- const source = fsa.source(uri);
11
- St.trace(source);
12
- existing = Cotar.fromTar(source);
13
- CotarCache.cache.set(uri, existing);
14
- }
15
- return existing;
16
- }
17
- }
18
- CotarCache.cache = new Map();
19
- /**
20
- * Load a cotar and look for a file inside the cotar returning the file back as a LambdaResponse
21
- *
22
- * This will also set two headers
23
- * - Content-Encoding if the file starts with gzip magic
24
- * - Content-Type from the parameter contentType
25
- */
26
- export async function serveFromCotar(cotarPath, assetPath, contentType) {
27
- const cotar = await CotarCache.get(cotarPath);
28
- if (cotar == null)
29
- return NotFound;
30
- const fileData = await cotar.get(assetPath);
31
- if (fileData == null)
32
- return NotFound;
33
- const buf = Buffer.from(fileData);
34
- const ret = LambdaHttpResponse.ok().buffer(buf, contentType);
35
- if (isGzip(buf))
36
- ret.header('content-encoding', 'gzip');
37
- return ret;
38
- }
39
- /**
40
- * Does a buffer look like a gzipped document instead of raw json
41
- *
42
- * Determined by checking the first two bytes are the gzip magic bytes `0x1f 0x8b`
43
- *
44
- * @see https://en.wikipedia.org/wiki/Gzip
45
- *
46
- */
47
- export function isGzip(b) {
48
- return b[0] === 0x1f && b[1] === 0x8b;
49
- }
50
- //# sourceMappingURL=cotar.cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cotar.cache.js","sourceRoot":"","sources":["../src/cotar.cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,MAAM,OAAO,UAAU;IAGrB,MAAM,CAAC,GAAG,CAAC,GAAW;QACpB,IAAI,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjB,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SACrC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;;AAXM,gBAAK,GAAG,IAAI,GAAG,EAAiC,CAAC;AAc1D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,SAAiB,EACjB,WAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,QAAQ,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,QAAQ,CAAC;IACtC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACxD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CAAC,CAAS;IAC9B,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACxC,CAAC"}
package/build/router.d.ts DELETED
@@ -1,15 +0,0 @@
1
- import { LambdaHttpRequest, LambdaHttpResponse } from '@linzjs/lambda';
2
- export declare type ReqCallback = (req: LambdaHttpRequest) => Promise<LambdaHttpResponse>;
3
- export interface ActionData {
4
- version: string;
5
- name: string;
6
- rest: string[];
7
- }
8
- export declare class Router {
9
- static action(req: LambdaHttpRequest): ActionData;
10
- static apiKey(req: LambdaHttpRequest): string | undefined;
11
- private handlers;
12
- handle(req: LambdaHttpRequest): Promise<LambdaHttpResponse>;
13
- get(path: string, handler: ReqCallback): void;
14
- }
15
- //# sourceMappingURL=router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEnF,oBAAY,WAAW,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAElF,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,qBAAa,MAAM;IACjB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,iBAAiB,GAAG,UAAU;IASjD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS;IASzD,OAAO,CAAC,QAAQ,CAAmC;IAE7C,MAAM,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqBjE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;CAI9C"}
package/build/router.js DELETED
@@ -1,50 +0,0 @@
1
- import { Const } from '@basemaps/shared';
2
- import { HttpHeader, LambdaHttpResponse } from '@linzjs/lambda';
3
- export class Router {
4
- constructor() {
5
- this.handlers = {};
6
- }
7
- static action(req) {
8
- const path = req.path;
9
- const [version, name, ...rest] = (path[0] === '/' ? path.slice(1) : path)
10
- .split('/')
11
- .map((c) => decodeURIComponent(c));
12
- if (name == null)
13
- return { version: 'v1', name: version, rest: [] };
14
- return { version, name: name, rest };
15
- }
16
- static apiKey(req) {
17
- var _a;
18
- const apiKey = (_a = req.query.get(Const.ApiKey.QueryString)) !== null && _a !== void 0 ? _a : req.header('X-LINZ-Api-Key');
19
- if (apiKey != null && !Array.isArray(apiKey)) {
20
- req.set(Const.ApiKey.QueryString, this.apiKey);
21
- return apiKey;
22
- }
23
- return;
24
- }
25
- async handle(req) {
26
- // Allow cross origin requests
27
- if (req.method === 'options') {
28
- return new LambdaHttpResponse(200, 'Options', {
29
- [HttpHeader.Cors]: '*',
30
- 'Access-Control-Allow-Credentials': 'false',
31
- 'Access-Control-Allow-Methods': 'OPTIONS,GET,PUT,POST,DELETE',
32
- });
33
- }
34
- if (req.method !== 'GET')
35
- return new LambdaHttpResponse(405, 'Method not allowed');
36
- const action = Router.action(req);
37
- const handler = action.version === 'v1' ? this.handlers[action.name] : null;
38
- if (handler == null)
39
- return new LambdaHttpResponse(404, 'Not Found');
40
- const response = await handler(req);
41
- response.header(HttpHeader.Cors, '*');
42
- return response;
43
- }
44
- get(path, handler) {
45
- if (this.handlers[path] != null)
46
- throw new Error(path + ' already registered');
47
- this.handlers[path] = handler;
48
- }
49
- }
50
- //# sourceMappingURL=router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAqB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAUnF,MAAM,OAAO,MAAM;IAAnB;QAmBU,aAAQ,GAAgC,EAAE,CAAC;IA2BrD,CAAC;IA7CC,MAAM,CAAC,MAAM,CAAC,GAAsB;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aACtE,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACpE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,GAAsB;;QAClC,MAAM,MAAM,GAAG,MAAA,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,mCAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACvF,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC5C,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/C,OAAO,MAAM,CAAC;SACf;QACD,OAAO;IACT,CAAC;IAID,KAAK,CAAC,MAAM,CAAC,GAAsB;QACjC,8BAA8B;QAC9B,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;YAC5B,OAAO,IAAI,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE;gBAC5C,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG;gBACtB,kCAAkC,EAAE,OAAO;gBAC3C,8BAA8B,EAAE,6BAA6B;aAC9D,CAAC,CAAC;SACJ;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO,IAAI,kBAAkB,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;QAEnF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,kBAAkB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAErE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,OAAoB;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,qBAAqB,CAAC,CAAC;QAC/E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IAChC,CAAC;CACF"}
@@ -1,4 +0,0 @@
1
- import { LambdaHttpResponse } from '@linzjs/lambda';
2
- export declare function Ping(): Promise<LambdaHttpResponse>;
3
- export declare function Version(): Promise<LambdaHttpResponse>;
4
- //# sourceMappingURL=api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/routes/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAc,MAAM,gBAAgB,CAAC;AAKhE,wBAAsB,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAExD;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAK3D"}
@@ -1,14 +0,0 @@
1
- import { LambdaHttpResponse, HttpHeader } from '@linzjs/lambda';
2
- const OkResponse = new LambdaHttpResponse(200, 'ok');
3
- OkResponse.header(HttpHeader.CacheControl, 'no-store');
4
- export async function Ping() {
5
- return OkResponse;
6
- }
7
- export async function Version() {
8
- var _a;
9
- const response = new LambdaHttpResponse(200, 'ok');
10
- response.header(HttpHeader.CacheControl, 'no-store');
11
- response.json({ version: (_a = process.env.GIT_VERSION) !== null && _a !== void 0 ? _a : 'dev', hash: process.env.GIT_HASH });
12
- return response;
13
- }
14
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/routes/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,UAAU,GAAG,IAAI,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACrD,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO;;IAC3B,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,WAAW,mCAAI,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,10 +0,0 @@
1
- import { TileMatrixSet } from '@basemaps/geo';
2
- import { LambdaHttpRequest, LambdaHttpResponse } from '@linzjs/lambda';
3
- export declare function vectorTileServer(req: LambdaHttpRequest, layerId: string, tms: TileMatrixSet): Promise<LambdaHttpResponse>;
4
- /**
5
- * /v1/esri/services/:layerId/VectorTileServer
6
- *
7
- * @example http://localhost:5000/v1/esri/services/topographic/VectorTileServer
8
- */
9
- export declare function Esri(req: LambdaHttpRequest): Promise<LambdaHttpResponse>;
10
- //# sourceMappingURL=rest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../../src/routes/esri/rest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAKvE,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,aAAa,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAiD7B;AAED;;;;GAIG;AACH,wBAAsB,IAAI,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsB9E"}
@@ -1,88 +0,0 @@
1
- import { GoogleTms } from '@basemaps/geo';
2
- import { tileXyzFromPath } from '@basemaps/shared';
3
- import { LambdaHttpResponse } from '@linzjs/lambda';
4
- import { Router } from '../../router.js';
5
- import { TileSets } from '../../tile.set.cache.js';
6
- import { NotFound } from '../response.js';
7
- export async function vectorTileServer(req, layerId, tms) {
8
- if (tms.identifier !== GoogleTms.identifier)
9
- return NotFound;
10
- const extent = {
11
- xmin: tms.extent.x,
12
- ymin: tms.extent.y,
13
- xmax: tms.extent.right,
14
- ymax: tms.extent.bottom,
15
- // TODO where is wkid from
16
- spatialReference: { wkid: 102100, latestWkid: tms.projection.code },
17
- };
18
- const res = new LambdaHttpResponse(200, 'ok');
19
- res.json({
20
- currentVersion: 10.4,
21
- name: layerId,
22
- capabilities: 'TilesOnly',
23
- type: 'indexedVector',
24
- tileMap: 'tilemap',
25
- defaultStyles: 'resources/styles',
26
- tiles: ['tiles/{z}/{x}/{y}.pbf'],
27
- exportTilesAllowed: false,
28
- maxExportTilesCount: 0,
29
- initialExtent: extent,
30
- fullExtent: extent,
31
- minScale: tms.zooms[0].scaleDenominator,
32
- maxScale: tms.zooms[tms.zooms.length - 1].scaleDenominator,
33
- tileInfo: {
34
- // TODO are all the pbf 256x256?
35
- rows: 256,
36
- cols: 256,
37
- dpi: 96,
38
- format: 'pbf',
39
- origin: { x: tms.extent.x, y: tms.extent.bottom },
40
- spatialReference: { wkid: 102100, latestWkid: tms.projection.code },
41
- lods: tms.zooms.map((c, i) => {
42
- return {
43
- level: i,
44
- scale: c.scaleDenominator,
45
- resolution: c.scaleDenominator * 0.28e-3,
46
- };
47
- }),
48
- },
49
- resourceInfo: {
50
- styleVersion: 8,
51
- tileCompression: 'gzip',
52
- cacheInfo: { storageInfo: { packetSize: 128, storageFormat: 'compactV2' } },
53
- },
54
- });
55
- return res;
56
- }
57
- /**
58
- * /v1/esri/services/:layerId/VectorTileServer
59
- *
60
- * @example http://localhost:5000/v1/esri/services/topographic/VectorTileServer
61
- */
62
- export async function Esri(req) {
63
- const { rest } = Router.action(req);
64
- if (rest[0] !== 'services')
65
- return NotFound;
66
- const layerId = rest[1];
67
- if (layerId == null)
68
- return NotFound;
69
- const serviceId = rest[2];
70
- if (serviceId !== 'VectorTileServer')
71
- return NotFound;
72
- if (rest.length === 3)
73
- return vectorTileServer(req, layerId, GoogleTms);
74
- if (rest[rest.length - 1].endsWith('.pbf')) {
75
- const generatedPath = [layerId, GoogleTms.identifier, ...rest.slice(rest.length - 3)];
76
- const xyz = tileXyzFromPath(generatedPath);
77
- if (xyz == null)
78
- return NotFound;
79
- req.timer.start('tileset:load');
80
- const tileSet = await TileSets.get(xyz.name, xyz.tileMatrix);
81
- req.timer.end('tileset:load');
82
- if (tileSet == null)
83
- return NotFound;
84
- return await tileSet.tile(req, xyz);
85
- }
86
- return new LambdaHttpResponse(200, 'ok');
87
- }
88
- //# sourceMappingURL=rest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../src/routes/esri/rest.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { LambdaHttpResponse } from '@linzjs/lambda';
2
- export declare const NotFound: LambdaHttpResponse;
3
- export declare const NotModified: LambdaHttpResponse;
4
- //# sourceMappingURL=response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/routes/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,eAAO,MAAM,QAAQ,oBAA2C,CAAC;AACjE,eAAO,MAAM,WAAW,oBAA8C,CAAC"}
@@ -1,4 +0,0 @@
1
- import { LambdaHttpResponse } from '@linzjs/lambda';
2
- export const NotFound = new LambdaHttpResponse(404, 'Not Found');
3
- export const NotModified = new LambdaHttpResponse(304, 'Not modified');
4
- //# sourceMappingURL=response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/routes/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { LambdaHttpRequest, LambdaHttpResponse } from '@linzjs/lambda';
2
- export declare function Tiles(req: LambdaHttpRequest): Promise<LambdaHttpResponse>;
3
- //# sourceMappingURL=tile.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../../src/routes/tile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAUvE,wBAAsB,KAAK,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAY/E"}
@@ -1,11 +0,0 @@
1
- import { Composition } from '@basemaps/tiler';
2
- import { TileDataXyz } from '@basemaps/shared';
3
- import { LambdaHttpRequest } from '@linzjs/lambda';
4
- export declare const TileEtag: {
5
- RenderId: number;
6
- key(object: Record<string, unknown>): string;
7
- /** Generate a unique ETag for this tile */
8
- generate(compositions: Composition[], xyzData: TileDataXyz): string;
9
- isNotModified(req: LambdaHttpRequest, cacheKey: string): boolean;
10
- };
11
- //# sourceMappingURL=tile.etag.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.etag.d.ts","sourceRoot":"","sources":["../../src/routes/tile.etag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAc,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAG/D,eAAO,MAAM,QAAQ;;gBAIP,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAI5C,2CAA2C;2BACpB,WAAW,EAAE,WAAW,WAAW,GAAG,MAAM;uBAUhD,iBAAiB,YAAY,MAAM,GAAG,OAAO;CAUjE,CAAC"}
@@ -1,30 +0,0 @@
1
- import { createHash } from 'crypto';
2
- import { HttpHeader } from '@linzjs/lambda';
3
- import { basename } from 'path';
4
- export const TileEtag = {
5
- // To force a full cache invalidation change this number
6
- RenderId: 1,
7
- key(object) {
8
- return createHash('sha256').update(JSON.stringify(object)).digest('base64');
9
- },
10
- /** Generate a unique ETag for this tile */
11
- generate(compositions, xyzData) {
12
- // We cannot serialize the CogTiff inside of composition so replace it with the source name
13
- const layers = compositions.map((c) => {
14
- return { ...c, tiff: basename(c.tiff.source.uri) };
15
- });
16
- const xyz = { ...xyzData, tileMatrix: xyzData.tileMatrix.identifier };
17
- return TileEtag.key({ xyz, layers, RenderId: TileEtag.RenderId });
18
- },
19
- isNotModified(req, cacheKey) {
20
- // If the user has supplied a IfNoneMatch Header and it contains the full sha256 sum for our
21
- // etag this tile has not been modified.
22
- const ifNoneMatch = req.header(HttpHeader.IfNoneMatch);
23
- if (ifNoneMatch != null && ifNoneMatch.indexOf(cacheKey) > -1) {
24
- req.set('cache', { key: cacheKey, hit: true, match: ifNoneMatch });
25
- return true;
26
- }
27
- return false;
28
- },
29
- };
30
- //# sourceMappingURL=tile.etag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.etag.js","sourceRoot":"","sources":["../../src/routes/tile.etag.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAqB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,wDAAwD;IACxD,QAAQ,EAAE,CAAC;IAEX,GAAG,CAAC,MAA+B;QACjC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAED,2CAA2C;IAC3C,QAAQ,CAAC,YAA2B,EAAE,OAAoB;QACxD,2FAA2F;QAC3F,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACpC,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACtE,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,aAAa,CAAC,GAAsB,EAAE,QAAgB;QACpD,4FAA4F;QAC5F,wCAAwC;QACxC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7D,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC"}
@@ -1,28 +0,0 @@
1
- import { LambdaHttpResponse } from '@linzjs/lambda';
2
- import { isValidApiKey } from '../api.key.js';
3
- import { Router } from '../router.js';
4
- import { attribution } from './attribution.js';
5
- import { NotFound } from './response.js';
6
- import { tileJson } from './tile.json.js';
7
- import { styleJson } from './tile.style.json.js';
8
- import { wmts } from './tile.wmts.js';
9
- import { tileXyz } from './tile.xyz.js';
10
- export async function Tiles(req) {
11
- const { rest } = Router.action(req);
12
- if (rest.length < 1)
13
- return NotFound;
14
- const apiKey = Router.apiKey(req);
15
- if (!isValidApiKey(apiKey))
16
- return new LambdaHttpResponse(400, 'Invalid API Key');
17
- const fileName = rest[rest.length - 1].toLowerCase();
18
- if (fileName === 'attribution.json')
19
- return attribution(req);
20
- if (fileName === 'wmtscapabilities.xml')
21
- return wmts(req);
22
- if (fileName === 'tile.json')
23
- return tileJson(req);
24
- if (fileName.endsWith('json') && rest[rest.length - 2] === 'style')
25
- return styleJson(req, fileName);
26
- return tileXyz(req);
27
- }
28
- //# sourceMappingURL=tile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.js","sourceRoot":"","sources":["../../src/routes/tile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,GAAsB;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAElF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,IAAI,QAAQ,KAAK,kBAAkB;QAAE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,QAAQ,KAAK,sBAAsB;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,QAAQ,KAAK,WAAW;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACpG,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"source.tracer.d.ts","sourceRoot":"","sources":["../src/source.tracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,YAAY;IACvB,QAAQ,EAAE,aAAa,EAAE,CAAM;IAE/B,+BAA+B;IAC/B,KAAK,IAAI,IAAI;IAIb,6EAA6E;IAC7E,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAajC;AAED,eAAO,MAAM,EAAE,cAAqB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"source.tracer.js","sourceRoot":"","sources":["../src/source.tracer.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,YAAY;IAAzB;QACE,aAAQ,GAAoB,EAAE,CAAC;IAqBjC,CAAC;IAnBC,+BAA+B;IAC/B,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,MAAmB;QACvB,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;QACtC,MAAM,CAAC,UAAU,GAAG,KAAK,EAAE,MAAc,EAAE,MAAe,EAAwB,EAAE;YAClF,MAAM,OAAO,GAAkB,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YACtE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAE9D,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC1C,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,YAAY,EAAE,CAAC"}
@@ -1,17 +0,0 @@
1
- import { CogTiff } from '@cogeotiff/core';
2
- /** Limit the caching of tiffs */
3
- export declare class TiffCache {
4
- static cacheA: Map<string, CogTiff>;
5
- static cacheB: Map<string, CogTiff>;
6
- /** 256 MB Cache */
7
- static MaxCacheSizeBytes: number;
8
- static get(id: string): CogTiff | null;
9
- /** Reset the cache */
10
- static clear(): void;
11
- static set(id: string, tiff: CogTiff): void;
12
- /** Validate the size of the cache has not exploded */
13
- static check(): void;
14
- /** Calculate the total number of bytes used by this tiff cache */
15
- static get currentSize(): number;
16
- }
17
- //# sourceMappingURL=tiff.cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tiff.cache.d.ts","sourceRoot":"","sources":["../src/tiff.cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,iCAAiC;AACjC,qBAAa,SAAS;IACpB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAa;IAChD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAa;IAEhD,mBAAmB;IACnB,MAAM,CAAC,iBAAiB,SAAqB;IAE7C,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAYtC,sBAAsB;IACtB,MAAM,CAAC,KAAK,IAAI,IAAI;IAKpB,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAK3C,sDAAsD;IACtD,MAAM,CAAC,KAAK,IAAI,IAAI;IAOpB,kEAAkE;IAClE,MAAM,KAAK,WAAW,IAAI,MAAM,CAM/B;CACF"}
@@ -1,46 +0,0 @@
1
- /** Limit the caching of tiffs */
2
- export class TiffCache {
3
- static get(id) {
4
- const cacheA = TiffCache.cacheA.get(id);
5
- if (cacheA)
6
- return cacheA;
7
- const cacheB = TiffCache.cacheB.get(id);
8
- if (cacheB == null)
9
- return null;
10
- // If a object is still useful move it into the main cache
11
- TiffCache.cacheA.set(id, cacheB);
12
- TiffCache.cacheB.delete(id);
13
- return cacheB;
14
- }
15
- /** Reset the cache */
16
- static clear() {
17
- this.cacheA.clear();
18
- this.cacheB.clear();
19
- }
20
- static set(id, tiff) {
21
- TiffCache.cacheA.set(id, tiff);
22
- TiffCache.check();
23
- }
24
- /** Validate the size of the cache has not exploded */
25
- static check() {
26
- if (TiffCache.MaxCacheSizeBytes <= 0)
27
- return;
28
- if (TiffCache.currentSize <= TiffCache.MaxCacheSizeBytes)
29
- return;
30
- TiffCache.cacheB = TiffCache.cacheA;
31
- TiffCache.cacheA = new Map();
32
- }
33
- /** Calculate the total number of bytes used by this tiff cache */
34
- static get currentSize() {
35
- let size = 0;
36
- for (const value of TiffCache.cacheA.values()) {
37
- size += value.source.chunkSize * value.source.chunks.size;
38
- }
39
- return size;
40
- }
41
- }
42
- TiffCache.cacheA = new Map();
43
- TiffCache.cacheB = new Map();
44
- /** 256 MB Cache */
45
- TiffCache.MaxCacheSizeBytes = 256 * 1024 * 1024;
46
- //# sourceMappingURL=tiff.cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tiff.cache.js","sourceRoot":"","sources":["../src/tiff.cache.ts"],"names":[],"mappings":"AAGA,iCAAiC;AACjC,MAAM,OAAO,SAAS;IAOpB,MAAM,CAAC,GAAG,CAAC,EAAU;QACnB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,0DAA0D;QAC1D,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACjC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sBAAsB;IACtB,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,EAAU,EAAE,IAAa;QAClC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/B,SAAS,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,sDAAsD;IACtD,MAAM,CAAC,KAAK;QACV,IAAI,SAAS,CAAC,iBAAiB,IAAI,CAAC;YAAE,OAAO;QAC7C,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,iBAAiB;YAAE,OAAO;QACjE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QACpC,SAAS,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED,kEAAkE;IAClE,MAAM,KAAK,WAAW;QACpB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE;YAC7C,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,GAAI,KAAK,CAAC,MAA0B,CAAC,MAAM,CAAC,IAAI,CAAC;SAChF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA5CM,gBAAM,GAAyB,IAAI,GAAG,EAAE,CAAC;AACzC,gBAAM,GAAyB,IAAI,GAAG,EAAE,CAAC;AAEhD,mBAAmB;AACZ,2BAAiB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC"}
@@ -1,20 +0,0 @@
1
- import { TileMatrixSet } from '@basemaps/geo';
2
- import { TileSet } from './tile.set.js';
3
- export declare class TileSetCache {
4
- /** Duration to cache tile sets for */
5
- CacheTime: number;
6
- /** Cache the fetch requests */
7
- cache: Map<string, {
8
- time: number;
9
- value: Promise<TileSet | null>;
10
- }>;
11
- /** Cache initialized tile sets */
12
- tileSets: Map<string, TileSet>;
13
- id(tileSet: TileSet): string;
14
- id(name: string, tileMatrix: TileMatrixSet): string;
15
- add(tileSet: TileSet, expiresAt?: number): void;
16
- get(name: string, tileMatrix: TileMatrixSet): Promise<TileSet | null>;
17
- loadTileSet(name: string, tileMatrix: TileMatrixSet): Promise<TileSet | null>;
18
- }
19
- export declare const TileSets: TileSetCache;
20
- //# sourceMappingURL=tile.set.cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.set.cache.d.ts","sourceRoot":"","sources":["../src/tile.set.cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAIxC,qBAAa,YAAY;IACvB,sCAAsC;IACtC,SAAS,SAAU;IAEnB,+BAA+B;IAC/B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;KAAE,CAAC,CAAa;IACjF,kCAAkC;IAClC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAa;IAE3C,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAC5B,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,GAAG,MAAM;IAUnD,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,SAA8B,GAAG,IAAI;IAMpE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAY/D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;CAoCpF;AAED,eAAO,MAAM,QAAQ,cAAqB,CAAC"}