@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
@@ -1,59 +0,0 @@
1
- import { SourceMemory } from '@chunkd/core';
2
- import { CogTiff } from '@cogeotiff/core';
3
- import o from 'ospec';
4
- import { TiffCache } from '../tiff.cache.js';
5
- /** convert number to megabytes */
6
- const MegaBytes = (num) => num * 1024 * 1024;
7
- o.spec('TiffCache', () => {
8
- o.beforeEach(() => TiffCache.clear());
9
- o('should cache items', () => {
10
- var _a, _b;
11
- const source = new SourceMemory('fake', Buffer.from('foo'));
12
- const tiff = new CogTiff(source);
13
- o(TiffCache.get('fake')).equals(null);
14
- TiffCache.set('fake', tiff);
15
- o((_a = TiffCache.get('fake')) === null || _a === void 0 ? void 0 : _a.source.uri).equals(tiff.source.uri);
16
- TiffCache.check();
17
- o((_b = TiffCache.get('fake')) === null || _b === void 0 ? void 0 : _b.source.uri).equals(tiff.source.uri);
18
- });
19
- o('should expire cached object if size gets too large', () => {
20
- var _a, _b, _c, _d, _e;
21
- const source = new SourceMemory('fake', Buffer.from('foo'));
22
- const sourceB = new SourceMemory('fakeB', Buffer.from('foo'));
23
- // Override chunk size to say there is 500 mb of items
24
- source.chunkSize = MegaBytes(257);
25
- sourceB.chunkSize = MegaBytes(257);
26
- const tiff = new CogTiff(source);
27
- const tiffB = new CogTiff(sourceB);
28
- o(TiffCache.get('fake')).equals(null);
29
- TiffCache.set('fake', tiff);
30
- o((_a = TiffCache.get('fake')) === null || _a === void 0 ? void 0 : _a.source.uri).equals(tiff.source.uri);
31
- TiffCache.check();
32
- o((_b = TiffCache.cacheA.get('fake')) === null || _b === void 0 ? void 0 : _b.source.uri).equals(undefined);
33
- o((_c = TiffCache.cacheB.get('fake')) === null || _c === void 0 ? void 0 : _c.source.uri).equals(tiff.source.uri);
34
- // Should evict the cache
35
- TiffCache.set('fakeB', tiffB);
36
- TiffCache.check();
37
- o((_d = TiffCache.cacheA.get('fake')) === null || _d === void 0 ? void 0 : _d.source.uri).equals(undefined);
38
- o((_e = TiffCache.cacheB.get('fake')) === null || _e === void 0 ? void 0 : _e.source.uri).equals(undefined);
39
- });
40
- o('should allow multiple items in the cache', () => {
41
- const source = new SourceMemory('fake', Buffer.from('foo'));
42
- const tiff = new CogTiff(source);
43
- TiffCache.set('fake', tiff);
44
- const oneMb = MegaBytes(1);
45
- source.chunkSize = oneMb;
46
- for (let i = 1; i < 256; i++) {
47
- o(TiffCache.currentSize).equals(i * oneMb);
48
- source.chunks.set(i, source.chunks.get(0));
49
- }
50
- // should not have overflown
51
- TiffCache.check();
52
- o(TiffCache.cacheA.size).equals(1);
53
- // Overflow the cache
54
- source.chunks.set(257, source.chunks.get(0));
55
- TiffCache.check();
56
- o(TiffCache.cacheA.size).equals(0);
57
- });
58
- });
59
- //# sourceMappingURL=tiff.cache.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tiff.cache.test.js","sourceRoot":"","sources":["../../src/__tests__/tiff.cache.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=tile.cache.key.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.cache.key.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/tile.cache.key.test.ts"],"names":[],"mappings":""}
@@ -1,49 +0,0 @@
1
- import { GoogleTms, Nztm2000Tms, ImageFormat } from '@basemaps/geo';
2
- import { TileType } from '@basemaps/shared';
3
- import { TestTiff } from '@basemaps/test';
4
- import o from 'ospec';
5
- import { TileEtag } from '../routes/tile.etag.js';
6
- o.spec('TileCacheKey', () => {
7
- const oldRenderId = TileEtag.RenderId;
8
- const xyzData = {
9
- x: 0,
10
- y: 0,
11
- z: 0,
12
- tileMatrix: GoogleTms,
13
- name: 'foo',
14
- ext: ImageFormat.Png,
15
- type: TileType.Tile,
16
- };
17
- o.afterEach(() => {
18
- TileEtag.RenderId = oldRenderId;
19
- });
20
- o('should generate a cachekey', async () => {
21
- const tiff = await TestTiff.Google.init();
22
- const comp = {
23
- tiff,
24
- source: {
25
- x: 0,
26
- y: 0,
27
- imageId: 0,
28
- width: 512,
29
- height: 512,
30
- },
31
- x: 5,
32
- y: 5,
33
- };
34
- const firstKey = TileEtag.generate([comp], xyzData);
35
- o(firstKey).equals('8eJ7XnUeEGBI2d7mfAaK5o8KbUc0+CVaIoPzqCvkoDk=');
36
- // Different layers should generate different keys
37
- o(TileEtag.generate([comp, comp], xyzData)).notEquals(firstKey);
38
- // Different projections should generate different keys
39
- xyzData.tileMatrix = Nztm2000Tms;
40
- o(TileEtag.generate([comp], xyzData)).notEquals(firstKey);
41
- });
42
- o('should change if the renderId changes', () => {
43
- const keyA = TileEtag.generate([], { tileMatrix: {} });
44
- TileEtag.RenderId = 2;
45
- const KeyB = TileEtag.generate([], { tileMatrix: {} });
46
- o(keyA).notEquals(KeyB);
47
- });
48
- });
49
- //# sourceMappingURL=tile.cache.key.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.cache.key.test.js","sourceRoot":"","sources":["../../src/__tests__/tile.cache.key.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAe,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAEtC,MAAM,OAAO,GAAgB;QAC3B,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;KACpB,CAAC;IAEF,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;QACf,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAgB;YACxB,IAAI;YACJ,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG;aACZ;YACD,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL,CAAC;QACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC;QAEnE,kDAAkD;QAClD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEhE,uDAAuD;QACvD,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC;QACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAS,CAAC,CAAC;QAC9D,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAS,CAAC,CAAC;QAC9D,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=tile.set.cache.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.set.cache.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/tile.set.cache.test.ts"],"names":[],"mappings":""}
@@ -1,72 +0,0 @@
1
- import { TileSetType } from '@basemaps/config';
2
- import { GoogleTms } from '@basemaps/geo';
3
- import o from 'ospec';
4
- import sinon from 'sinon';
5
- import { TileSets } from '../tile.set.cache.js';
6
- import { TileSetRaster } from '../tile.set.raster.js';
7
- const sandbox = sinon.createSandbox();
8
- o.spec('TileSetCache', () => {
9
- const imageOne = {
10
- id: 'im_id1',
11
- name: 'tasman_rural_2018-19_0-3m',
12
- bounds: { x: 123, y: 456, width: 200, height: 300 },
13
- files: [{ name: 'foo', x: 123, y: 456, width: 200, height: 300 }],
14
- uri: 's3://foo/bar',
15
- };
16
- const imgMap = new Map();
17
- imgMap.set(imageOne.id, imageOne);
18
- o.afterEach(() => {
19
- TileSets.cache.clear();
20
- sandbox.restore();
21
- });
22
- o.spec('loadTileSet', () => {
23
- o('load individual set', async () => {
24
- TileSets.add(new TileSetRaster('aerial@head', GoogleTms));
25
- const parentTileSet = await TileSets.get('aerial@head', GoogleTms);
26
- if (parentTileSet == null || parentTileSet.type === TileSetType.Vector)
27
- throw new Error('null parentTileSet');
28
- parentTileSet.imagery = imgMap;
29
- parentTileSet.tileSet = {
30
- name: 'parent',
31
- title: 'parent aerial title',
32
- background: { r: 200, g: 50, b: 100, alpha: 0.5 },
33
- };
34
- const subTileSet = await TileSets.get('aerial@head:tasman_rural_2018-19_0-3m', GoogleTms);
35
- if (subTileSet == null || subTileSet.type === TileSetType.Vector)
36
- throw new Error('null subTileSet');
37
- o(subTileSet.title).equals('parent aerial title Tasman rural 2018-19 0.3m');
38
- o(subTileSet.fullName).equals('aerial@head:tasman_rural_2018-19_0-3m');
39
- o([...subTileSet.imagery.values()]).deepEquals([imageOne]);
40
- const [firstLayer] = subTileSet.tileSet.layers;
41
- o(firstLayer).deepEquals({
42
- name: firstLayer.name,
43
- [3857]: 'im_id1',
44
- minZoom: 0,
45
- maxZoom: 100,
46
- });
47
- o(subTileSet.tileSet.background).equals(undefined);
48
- o(parentTileSet.tileSet.background).deepEquals({ r: 200, g: 50, b: 100, alpha: 0.5 });
49
- const noTiffs = subTileSet.getTiffsForTile({ x: 0, y: 0, z: 1 });
50
- o(noTiffs).deepEquals([]);
51
- const aTiff = subTileSet.getTiffsForTile({ x: 0, y: 0, z: 0 });
52
- o(aTiff.length).equals(1);
53
- o(aTiff[0].source.uri).equals('s3://foo/bar/foo.tiff');
54
- TileSets.cache.delete(subTileSet.id);
55
- delete parentTileSet.tileSet.title;
56
- const subTileSetB = await TileSets.get('aerial@head:tasman_rural_2018-19_0-3m', GoogleTms);
57
- if (subTileSetB == null || subTileSetB.type === TileSetType.Vector)
58
- throw new Error('null subTileSetB');
59
- o(subTileSetB.title).equals('parent Tasman rural 2018-19 0.3m');
60
- });
61
- o('should not throw if child does not exist', async () => {
62
- TileSets.add(new TileSetRaster('aerial@head', GoogleTms));
63
- const parentTileSet = await TileSets.get('aerial@head', GoogleTms);
64
- if (parentTileSet == null || parentTileSet.type === TileSetType.Vector)
65
- throw new Error('null parentTileSet');
66
- parentTileSet.imagery = imgMap;
67
- const subTileSet = await TileSets.get('aerial@head:fake', GoogleTms);
68
- o(subTileSet).equals(null);
69
- });
70
- });
71
- });
72
- //# sourceMappingURL=tile.set.cache.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.set.cache.test.js","sourceRoot":"","sources":["../../src/__tests__/tile.set.cache.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=tile.set.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.set.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/tile.set.test.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- import { GoogleTms, Nztm2000Tms } from '@basemaps/geo';
2
- import o from 'ospec';
3
- import { TileSetRaster } from '../tile.set.raster.js';
4
- o.spec('tile.set', () => {
5
- o('extent', () => {
6
- o(new TileSetRaster('google', GoogleTms).extent.toBbox()).deepEquals([
7
- -20037508.3427892, -20037508.3427892, 20037508.3427892, 20037508.3427892,
8
- ]);
9
- o(new TileSetRaster('nztm', Nztm2000Tms).extent.toBbox()).deepEquals([274000, 3087000, 3327000, 7173000]);
10
- });
11
- });
12
- //# sourceMappingURL=tile.set.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.set.test.js","sourceRoot":"","sources":["../../src/__tests__/tile.set.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;IACtB,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE;QACf,CAAC,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;YACnE,CAAC,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB;SACzE,CAAC,CAAC;QACH,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5G,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"xyz.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/xyz.test.ts"],"names":[],"mappings":""}
@@ -1,275 +0,0 @@
1
- import { GoogleTms, Nztm2000QuadTms, TileMatrixSets } from '@basemaps/geo';
2
- import { Config, Env, LogConfig } from '@basemaps/shared';
3
- import { round } from '@basemaps/test/build/rounding.js';
4
- import o from 'ospec';
5
- import sinon from 'sinon';
6
- import { handleRequest } from '../index.js';
7
- import { TileEtag } from '../routes/tile.etag.js';
8
- import { TileSets } from '../tile.set.cache.js';
9
- import { TileComposer } from '../tile.set.raster.js';
10
- import { Provider } from './config.data.js';
11
- import { FakeTileSet, FakeTileSetVector, mockRequest } from './xyz.util.js';
12
- const sandbox = sinon.createSandbox();
13
- const TileSetNames = ['aerial', 'aerial@head', 'aerial@beta', '01E7PJFR9AMQFJ05X9G7FQ3XMW'];
14
- /* eslint-disable @typescript-eslint/explicit-function-return-type */
15
- o.spec('LambdaXyz', () => {
16
- const host = 'https://tiles.test';
17
- const origPublicUrlBase = process.env[Env.PublicUrlBase];
18
- /** Generate mock ALBEvent */
19
- let rasterMock = o.spy();
20
- const generateMock = o.spy(() => 'foo');
21
- const rasterMockBuffer = Buffer.from([1]);
22
- const origTileEtag = TileEtag.generate;
23
- const origCompose = TileComposer.compose;
24
- const apiKey = 'd01f7w7rnhdzg0p7fyrc9v9ard1';
25
- const apiKeyHeader = { 'x-linz-api-key': 'd01f7w7rnhdzg0p7fyrc9v9ard1' };
26
- o.beforeEach(() => {
27
- process.env[Env.PublicUrlBase] = host;
28
- LogConfig.disable();
29
- // tileMock = o.spy(() => tileMockData) as any;
30
- rasterMock = o.spy(() => {
31
- return {
32
- buffer: rasterMockBuffer,
33
- };
34
- });
35
- TileEtag.generate = generateMock;
36
- TileComposer.compose = rasterMock;
37
- const allMatrix = [...TileMatrixSets.All.values()];
38
- for (const tileSetName of TileSetNames) {
39
- for (const tileMatrix of allMatrix) {
40
- const tileSet = new FakeTileSet(tileSetName, tileMatrix);
41
- TileSets.add(tileSet);
42
- tileSet.getTiffsForTile = () => [];
43
- tileSet.initTiffs = async () => [];
44
- }
45
- }
46
- TileSets.add(new FakeTileSetVector('topographic', GoogleTms));
47
- Config.Provider.get = async () => Provider;
48
- });
49
- o.afterEach(() => {
50
- TileSets.cache.clear();
51
- TileComposer.compose = origCompose;
52
- TileEtag.generate = origTileEtag;
53
- process.env[Env.PublicUrlBase] = origPublicUrlBase;
54
- sandbox.restore();
55
- });
56
- o('should export handler', async () => {
57
- const base = await import('../index.js');
58
- o(typeof base.handler).equals('function');
59
- });
60
- TileSetNames.forEach((tileSetName) => {
61
- o(`should generate a tile 0,0,0 for ${tileSetName}.png`, async () => {
62
- o.timeout(200);
63
- const request = mockRequest(`/v1/tiles/${tileSetName}/global-mercator/0/0/0.png`, 'get', apiKeyHeader);
64
- const res = await handleRequest(request);
65
- o(res.status).equals(200);
66
- o(res.header('content-type')).equals('image/png');
67
- o(res.header('eTaG')).equals('foo');
68
- o(res.body).equals(rasterMockBuffer.toString('base64'));
69
- // Validate the session information has been set correctly
70
- o(request.logContext['tileSet']).equals(tileSetName);
71
- o(request.logContext['xyz']).deepEquals({ x: 0, y: 0, z: 0 });
72
- o(round(request.logContext['location'])).deepEquals({ lat: 0, lon: 0 });
73
- });
74
- });
75
- o('should generate a tile 0,0,0 for webp', async () => {
76
- const request = mockRequest('/v1/tiles/aerial/3857/0/0/0.webp', 'get', apiKeyHeader);
77
- const res = await handleRequest(request);
78
- o(res.status).equals(200);
79
- o(res.header('content-type')).equals('image/webp');
80
- o(res.header('eTaG')).equals('foo');
81
- o(res.body).equals(rasterMockBuffer.toString('base64'));
82
- // Validate the session information has been set correctly
83
- o(request.logContext['xyz']).deepEquals({ x: 0, y: 0, z: 0 });
84
- o(round(request.logContext['location'])).deepEquals({ lat: 0, lon: 0 });
85
- });
86
- ['png', 'webp', 'jpeg'].forEach((fmt) => {
87
- o(`should 200 with empty ${fmt} if a tile is out of bounds`, async () => {
88
- // tiler.tile = async () => [];
89
- const res = await handleRequest(mockRequest(`/v1/tiles/aerial/global-mercator/0/0/0.${fmt}`, 'get', apiKeyHeader));
90
- o(res.status).equals(200);
91
- o(res.header('content-type')).equals(`image/${fmt}`);
92
- o(rasterMock.calls.length).equals(1);
93
- });
94
- });
95
- o('should 304 if a tile is not modified', async () => {
96
- const key = 'foo';
97
- const request = mockRequest('/v1/tiles/aerial/global-mercator/0/0/0.png', 'get', {
98
- 'if-none-match': key,
99
- ...apiKeyHeader,
100
- });
101
- const res = await handleRequest(request);
102
- o(res.status).equals(304);
103
- o(res.header('eTaG')).equals(undefined);
104
- o(rasterMock.calls.length).equals(0);
105
- o(request.logContext['cache']).deepEquals({ key, match: key, hit: true });
106
- });
107
- o('should 404 if a tile is outside of the range', async () => {
108
- try {
109
- const res = await handleRequest(mockRequest('/v1/tiles/aerial/global-mercator/25/0/0.png', 'get', apiKeyHeader));
110
- o(res.status).equals(404);
111
- }
112
- catch (e) {
113
- o(e.status).equals(404);
114
- }
115
- try {
116
- const res = await handleRequest(mockRequest('/v1/tiles/aerial/2193/17/0/0.png', 'get', apiKeyHeader));
117
- o(res.status).equals(404);
118
- }
119
- catch (e) {
120
- o(e.status).equals(404);
121
- }
122
- });
123
- o.spec('tileJson', () => {
124
- o('should 404 if invalid url is given', async () => {
125
- const request = mockRequest('/v1/tiles/tile.json', 'get', apiKeyHeader);
126
- const res = await handleRequest(request);
127
- o(res.status).equals(404);
128
- });
129
- o('should serve tile json for tile_set', async () => {
130
- var _a;
131
- const request = mockRequest('/v1/tiles/aerial/NZTM2000Quad/tile.json', 'get', apiKeyHeader);
132
- const res = await handleRequest(request);
133
- o(res.status).equals(200);
134
- o(res.header('cache-control')).equals('no-store');
135
- const body = Buffer.from((_a = res.body) !== null && _a !== void 0 ? _a : '', 'base64').toString();
136
- o(JSON.parse(body)).deepEquals({
137
- tiles: [`https://tiles.test/v1/tiles/aerial/NZTM2000Quad/{z}/{x}/{y}.webp?api=${apiKey}`],
138
- tilejson: '3.0.0',
139
- });
140
- });
141
- o('should serve vector tiles', async () => {
142
- var _a;
143
- const request = mockRequest('/v1/tiles/topographic/WebMercatorQuad/tile.json', 'get', apiKeyHeader);
144
- const res = await handleRequest(request);
145
- o(res.status).equals(200);
146
- const body = Buffer.from((_a = res.body) !== null && _a !== void 0 ? _a : '', 'base64').toString();
147
- o(JSON.parse(body)).deepEquals({
148
- tiles: [`https://tiles.test/v1/tiles/topographic/WebMercatorQuad/{z}/{x}/{y}.pbf?api=${apiKey}`],
149
- tilejson: '3.0.0',
150
- });
151
- });
152
- o('should serve vector tiles with min/max zoom', async () => {
153
- var _a;
154
- const fakeTileSet = new FakeTileSetVector('fake-vector', GoogleTms);
155
- fakeTileSet.tileSet.maxZoom = 15;
156
- fakeTileSet.tileSet.minZoom = 3;
157
- TileSets.add(fakeTileSet);
158
- const request = mockRequest('/v1/tiles/fake-vector/WebMercatorQuad/tile.json', 'get', apiKeyHeader);
159
- const res = await handleRequest(request);
160
- o(res.status).equals(200);
161
- const body = Buffer.from((_a = res.body) !== null && _a !== void 0 ? _a : '', 'base64').toString();
162
- o(JSON.parse(body)).deepEquals({
163
- tiles: [`https://tiles.test/v1/tiles/fake-vector/WebMercatorQuad/{z}/{x}/{y}.pbf?api=${apiKey}`],
164
- maxzoom: 15,
165
- minzoom: 3,
166
- tilejson: '3.0.0',
167
- });
168
- });
169
- o('should serve convert zoom to tile matrix', async () => {
170
- var _a;
171
- const fakeTileSet = new FakeTileSetVector('fake-vector', Nztm2000QuadTms);
172
- fakeTileSet.tileSet.maxZoom = 15;
173
- fakeTileSet.tileSet.minZoom = 1;
174
- TileSets.add(fakeTileSet);
175
- const request = mockRequest('/v1/tiles/fake-vector/NZTM2000Quad/tile.json', 'get', apiKeyHeader);
176
- const res = await handleRequest(request);
177
- o(res.status).equals(200);
178
- const body = Buffer.from((_a = res.body) !== null && _a !== void 0 ? _a : '', 'base64').toString();
179
- o(JSON.parse(body)).deepEquals({
180
- tiles: [`https://tiles.test/v1/tiles/fake-vector/NZTM2000Quad/{z}/{x}/{y}.pbf?api=${apiKey}`],
181
- maxzoom: 13,
182
- minzoom: 0,
183
- tilejson: '3.0.0',
184
- });
185
- });
186
- });
187
- o.spec('styleJson', () => {
188
- o('should not found style json', async () => {
189
- const request = mockRequest('/v1/tiles/topographic/Google/style/topographic.json', 'get', apiKeyHeader);
190
- sandbox.stub(Config.Style, 'get').resolves(null);
191
- const res = await handleRequest(request);
192
- o(res.status).equals(404);
193
- });
194
- o('should serve style json', async () => {
195
- var _a;
196
- const request = mockRequest('/v1/tiles/topographic/Google/style/topographic.json', 'get', apiKeyHeader);
197
- const fakeStyle = {
198
- version: 8,
199
- id: 'test',
200
- name: 'topographic',
201
- sources: {
202
- basemaps_vector: {
203
- type: 'vector',
204
- url: `/vector`,
205
- },
206
- basemaps_raster: {
207
- type: 'raster',
208
- tiles: [`/raster`],
209
- },
210
- basemaps_raster_encode: {
211
- type: 'raster',
212
- tiles: [`/raster/{z}/{x}/{y}.webp`], // Shouldn't encode the {}
213
- },
214
- test_vector: {
215
- type: 'vector',
216
- url: 'vector.url.co.nz',
217
- },
218
- test_raster: {
219
- type: 'raster',
220
- tiles: ['raster.url.co.nz'],
221
- },
222
- },
223
- layers: [
224
- {
225
- layout: {
226
- visibility: 'visible',
227
- },
228
- paint: {
229
- 'background-color': 'rgba(206, 229, 242, 1)',
230
- },
231
- id: 'Background',
232
- type: 'background',
233
- minzoom: 0,
234
- },
235
- ],
236
- glyphs: '/glyphs',
237
- sprite: '/sprite',
238
- metadata: { id: 'test' },
239
- };
240
- const fakeRecord = {
241
- id: 'st_topographic_production',
242
- name: 'topographic',
243
- style: fakeStyle,
244
- };
245
- sandbox.stub(Config.Style, 'get').resolves(fakeRecord);
246
- const res = await handleRequest(request);
247
- o(res.status).equals(200);
248
- o(res.header('content-type')).equals('application/json');
249
- o(res.header('cache-control')).equals('no-store');
250
- const body = Buffer.from((_a = res.body) !== null && _a !== void 0 ? _a : '', 'base64').toString();
251
- fakeStyle.sources.basemaps_vector = {
252
- type: 'vector',
253
- url: `${host}/vector?api=${apiKey}`,
254
- };
255
- fakeStyle.sources.basemaps_raster = {
256
- type: 'raster',
257
- tiles: [`${host}/raster?api=${apiKey}`],
258
- };
259
- fakeStyle.sources.basemaps_raster_encode = {
260
- type: 'raster',
261
- tiles: [`${host}/raster/{z}/{x}/{y}.webp?api=${apiKey}`],
262
- };
263
- fakeStyle.sprite = `${host}/sprite`;
264
- fakeStyle.glyphs = `${host}/glyphs`;
265
- o(JSON.parse(body)).deepEquals(fakeStyle);
266
- });
267
- });
268
- ['/favicon.ico', '/index.html', '/foo/bar'].forEach((path) => {
269
- o('should error on invalid paths: ' + path, async () => {
270
- const res = await handleRequest(mockRequest(path, 'get', apiKeyHeader));
271
- o(res.status).equals(404);
272
- });
273
- });
274
- });
275
- //# sourceMappingURL=xyz.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xyz.test.js","sourceRoot":"","sources":["../../src/__tests__/xyz.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function isValidApiKey(apiKey?: string | null): boolean;
2
- //# sourceMappingURL=api.key.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.key.d.ts","sourceRoot":"","sources":["../src/api.key.ts"],"names":[],"mappings":"AAMA,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAgB7D"}
package/build/api.key.js DELETED
@@ -1,24 +0,0 @@
1
- import * as ulid from 'ulid';
2
- const OneHourMs = 60 * 60 * 1000;
3
- const OneDayMs = 24 * OneHourMs;
4
- const MaxApiAgeMs = 91 * OneDayMs;
5
- export function isValidApiKey(apiKey) {
6
- if (apiKey == null)
7
- return false;
8
- if (!apiKey.startsWith('c') && !apiKey.startsWith('d'))
9
- return false;
10
- const ulidId = apiKey.slice(1).toUpperCase();
11
- try {
12
- const ulidTime = ulid.decodeTime(ulidId);
13
- if (apiKey.startsWith('d'))
14
- return true;
15
- if (Date.now() - ulidTime > MaxApiAgeMs) {
16
- return false;
17
- }
18
- }
19
- catch (e) {
20
- return false;
21
- }
22
- return true;
23
- }
24
- //# sourceMappingURL=api.key.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.key.js","sourceRoot":"","sources":["../src/api.key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACjC,MAAM,QAAQ,GAAG,EAAE,GAAG,SAAS,CAAC;AAChC,MAAM,WAAW,GAAG,EAAE,GAAG,QAAQ,CAAC;AAElC,MAAM,UAAU,aAAa,CAAC,MAAsB;IAClD,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAI;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAExC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,WAAW,EAAE;YACvC,OAAO,KAAK,CAAC;SACd;KACF;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=dump.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dump.d.ts","sourceRoot":"","sources":["../../src/cli/dump.ts"],"names":[],"mappings":""}