@basemaps/lambda-tiler 7.0.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.
- package/CHANGELOG.md +29 -0
- package/build/__tests__/config.data.d.ts +0 -1
- package/build/__tests__/config.data.js +2 -6
- package/build/__tests__/config.data.js.map +1 -1
- package/build/__tests__/index.test.d.ts +0 -1
- package/build/__tests__/index.test.js +28 -27
- package/build/__tests__/index.test.js.map +1 -1
- package/build/__tests__/tile.style.json.test.d.ts +0 -1
- package/build/__tests__/tile.style.json.test.js +38 -37
- package/build/__tests__/tile.style.json.test.js.map +1 -1
- package/build/__tests__/wmts.capability.test.d.ts +0 -1
- package/build/__tests__/wmts.capability.test.js +111 -122
- package/build/__tests__/wmts.capability.test.js.map +1 -1
- package/build/__tests__/xyz.util.d.ts +0 -1
- package/build/cli/render.preview.d.ts +0 -1
- package/build/cli/render.preview.js +13 -9
- package/build/cli/render.preview.js.map +1 -1
- package/build/cli/render.tile.d.ts +0 -1
- package/build/cli/render.tile.js +25 -17
- package/build/cli/render.tile.js.map +1 -1
- package/build/index.d.ts +0 -1
- package/build/index.js +24 -20
- package/build/index.js.map +1 -1
- package/build/routes/__tests__/attribution.test.d.ts +0 -1
- package/build/routes/__tests__/attribution.test.js +38 -37
- package/build/routes/__tests__/attribution.test.js.map +1 -1
- package/build/routes/__tests__/fonts.test.d.ts +0 -1
- package/build/routes/__tests__/fonts.test.js +61 -63
- package/build/routes/__tests__/fonts.test.js.map +1 -1
- package/build/routes/__tests__/health.test.d.ts +0 -1
- package/build/routes/__tests__/health.test.js +16 -16
- package/build/routes/__tests__/health.test.js.map +1 -1
- package/build/routes/__tests__/imagery.test.d.ts +0 -1
- package/build/routes/__tests__/imagery.test.js +10 -9
- package/build/routes/__tests__/imagery.test.js.map +1 -1
- package/build/routes/__tests__/memory.fs.d.ts +2 -3
- package/build/routes/__tests__/preview.index.test.d.ts +0 -1
- package/build/routes/__tests__/preview.index.test.js +88 -42
- package/build/routes/__tests__/preview.index.test.js.map +1 -1
- package/build/routes/__tests__/sprites.test.d.ts +0 -1
- package/build/routes/__tests__/sprites.test.js +34 -34
- package/build/routes/__tests__/sprites.test.js.map +1 -1
- package/build/routes/__tests__/tile.json.test.d.ts +0 -1
- package/build/routes/__tests__/tile.json.test.js +45 -51
- package/build/routes/__tests__/tile.json.test.js.map +1 -1
- package/build/routes/__tests__/tile.style.json.test.d.ts +0 -1
- package/build/routes/__tests__/tile.style.json.test.js +49 -50
- package/build/routes/__tests__/tile.style.json.test.js.map +1 -1
- package/build/routes/__tests__/wmts.test.d.ts +0 -1
- package/build/routes/__tests__/wmts.test.js +27 -20
- package/build/routes/__tests__/wmts.test.js.map +1 -1
- package/build/routes/__tests__/xyz.test.d.ts +0 -1
- package/build/routes/__tests__/xyz.test.js +97 -49
- package/build/routes/__tests__/xyz.test.js.map +1 -1
- package/build/routes/attribution.d.ts +1 -1
- package/build/routes/attribution.js +4 -5
- package/build/routes/attribution.js.map +1 -1
- package/build/routes/config.d.ts +0 -1
- package/build/routes/config.js +1 -2
- package/build/routes/config.js.map +1 -1
- package/build/routes/fonts.d.ts +0 -1
- package/build/routes/fonts.js +2 -3
- package/build/routes/fonts.js.map +1 -1
- package/build/routes/health.d.ts +1 -2
- package/build/routes/health.js +5 -15
- package/build/routes/health.js.map +1 -1
- package/build/routes/imagery.d.ts +0 -1
- package/build/routes/imagery.js +1 -1
- package/build/routes/imagery.js.map +1 -1
- package/build/routes/ping.d.ts +0 -1
- package/build/routes/ping.js +1 -1
- package/build/routes/ping.js.map +1 -1
- package/build/routes/preview.d.ts +6 -5
- package/build/routes/preview.index.d.ts +0 -1
- package/build/routes/preview.index.js +6 -5
- package/build/routes/preview.index.js.map +1 -1
- package/build/routes/preview.js +35 -10
- package/build/routes/preview.js.map +1 -1
- package/build/routes/sprites.d.ts +0 -1
- package/build/routes/sprites.js +2 -4
- package/build/routes/sprites.js.map +1 -1
- package/build/routes/tile.json.d.ts +0 -1
- package/build/routes/tile.json.js +10 -5
- package/build/routes/tile.json.js.map +1 -1
- package/build/routes/tile.style.json.d.ts +1 -1
- package/build/routes/tile.style.json.js +79 -16
- package/build/routes/tile.style.json.js.map +1 -1
- package/build/routes/tile.wmts.d.ts +0 -1
- package/build/routes/tile.wmts.js +8 -9
- package/build/routes/tile.wmts.js.map +1 -1
- package/build/routes/tile.xyz.d.ts +0 -1
- package/build/routes/tile.xyz.js.map +1 -1
- package/build/routes/tile.xyz.raster.d.ts +7 -8
- package/build/routes/tile.xyz.raster.js +17 -13
- package/build/routes/tile.xyz.raster.js.map +1 -1
- package/build/routes/tile.xyz.vector.d.ts +0 -1
- package/build/routes/tile.xyz.vector.js +4 -3
- package/build/routes/tile.xyz.vector.js.map +1 -1
- package/build/routes/version.d.ts +0 -1
- package/build/routes/version.js +3 -4
- package/build/routes/version.js.map +1 -1
- package/build/util/__test__/config.loader.test.d.ts +0 -1
- package/build/util/__test__/config.loader.test.js +35 -34
- package/build/util/__test__/config.loader.test.js.map +1 -1
- package/build/util/__test__/filter.test.d.ts +0 -1
- package/build/util/__test__/filter.test.js +17 -16
- package/build/util/__test__/filter.test.js.map +1 -1
- package/build/util/__test__/validate.test.d.ts +0 -1
- package/build/util/__test__/validate.test.js +26 -43
- package/build/util/__test__/validate.test.js.map +1 -1
- package/build/util/assets.provider.d.ts +5 -5
- package/build/util/assets.provider.js +8 -8
- package/build/util/assets.provider.js.map +1 -1
- package/build/util/config.cache.d.ts +2 -2
- package/build/util/config.cache.js +14 -3
- package/build/util/config.cache.js.map +1 -1
- package/build/util/config.loader.d.ts +0 -1
- package/build/util/config.loader.js +11 -12
- package/build/util/config.loader.js.map +1 -1
- package/build/util/cotar.serve.d.ts +3 -3
- package/build/util/cotar.serve.js +2 -2
- package/build/util/cotar.serve.js.map +1 -1
- package/build/util/etag.d.ts +0 -1
- package/build/util/etag.js.map +1 -1
- package/build/util/filter.d.ts +0 -1
- package/build/util/filter.js +4 -5
- package/build/util/filter.js.map +1 -1
- package/build/util/response.d.ts +0 -1
- package/build/util/source.cache.d.ts +8 -9
- package/build/util/source.cache.js +27 -24
- package/build/util/source.cache.js.map +1 -1
- package/build/util/swapping.lru.d.ts +0 -1
- package/build/util/swapping.lru.js +48 -7
- package/build/util/swapping.lru.js.map +1 -1
- package/build/util/validate.d.ts +17 -5
- package/build/util/validate.js +51 -15
- package/build/util/validate.js.map +1 -1
- package/build/wmts.capability.d.ts +1 -2
- package/build/wmts.capability.js +81 -12
- package/build/wmts.capability.js.map +1 -1
- package/bundle.sh +2 -2
- package/package.json +16 -18
- package/scripts/create.deployment.package.mjs +4 -11
- package/src/__tests__/config.data.ts +2 -6
- package/src/__tests__/index.test.ts +29 -27
- package/src/__tests__/tile.style.json.test.ts +40 -37
- package/src/__tests__/wmts.capability.test.ts +139 -120
- package/src/cli/render.preview.ts +14 -9
- package/src/cli/render.tile.ts +27 -18
- package/src/index.ts +28 -23
- package/src/routes/__tests__/attribution.test.ts +40 -37
- package/src/routes/__tests__/fonts.test.ts +68 -64
- package/src/routes/__tests__/health.test.ts +18 -17
- package/src/routes/__tests__/imagery.test.ts +11 -9
- package/src/routes/__tests__/preview.index.test.ts +114 -40
- package/src/routes/__tests__/sprites.test.ts +39 -34
- package/src/routes/__tests__/tile.json.test.ts +41 -39
- package/src/routes/__tests__/tile.style.json.test.ts +49 -46
- package/src/routes/__tests__/wmts.test.ts +28 -20
- package/src/routes/__tests__/xyz.test.ts +134 -55
- package/src/routes/attribution.ts +2 -2
- package/src/routes/config.ts +1 -0
- package/src/routes/fonts.ts +3 -3
- package/src/routes/health.ts +7 -13
- package/src/routes/imagery.ts +2 -1
- package/src/routes/ping.ts +1 -1
- package/src/routes/preview.index.ts +9 -5
- package/src/routes/preview.ts +44 -15
- package/src/routes/sprites.ts +4 -5
- package/src/routes/tile.json.ts +9 -2
- package/src/routes/tile.style.json.ts +89 -13
- package/src/routes/tile.wmts.ts +4 -3
- package/src/routes/tile.xyz.raster.ts +26 -22
- package/src/routes/tile.xyz.ts +1 -0
- package/src/routes/tile.xyz.vector.ts +5 -3
- package/src/routes/version.ts +3 -3
- package/src/util/__test__/config.loader.test.ts +38 -34
- package/src/util/__test__/filter.test.ts +19 -16
- package/src/util/__test__/validate.test.ts +28 -43
- package/src/util/assets.provider.ts +10 -9
- package/src/util/config.cache.ts +4 -3
- package/src/util/config.loader.ts +13 -13
- package/src/util/cotar.serve.ts +3 -2
- package/src/util/source.cache.ts +15 -26
- package/src/util/validate.ts +61 -14
- package/src/wmts.capability.ts +3 -3
- package/tsconfig.json +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/__tests__/config.data.d.ts.map +0 -1
- package/build/__tests__/index.test.d.ts.map +0 -1
- package/build/__tests__/tile.style.json.test.d.ts.map +0 -1
- package/build/__tests__/wmts.capability.test.d.ts.map +0 -1
- package/build/__tests__/xyz.util.d.ts.map +0 -1
- package/build/cli/render.preview.d.ts.map +0 -1
- package/build/cli/render.tile.d.ts.map +0 -1
- package/build/index.d.ts.map +0 -1
- package/build/routes/__tests__/attribution.test.d.ts.map +0 -1
- package/build/routes/__tests__/fonts.test.d.ts.map +0 -1
- package/build/routes/__tests__/health.test.d.ts.map +0 -1
- package/build/routes/__tests__/imagery.test.d.ts.map +0 -1
- package/build/routes/__tests__/memory.fs.d.ts.map +0 -1
- package/build/routes/__tests__/preview.index.test.d.ts.map +0 -1
- package/build/routes/__tests__/sprites.test.d.ts.map +0 -1
- package/build/routes/__tests__/tile.json.test.d.ts.map +0 -1
- package/build/routes/__tests__/tile.style.json.test.d.ts.map +0 -1
- package/build/routes/__tests__/wmts.test.d.ts.map +0 -1
- package/build/routes/__tests__/xyz.test.d.ts.map +0 -1
- package/build/routes/attribution.d.ts.map +0 -1
- package/build/routes/config.d.ts.map +0 -1
- package/build/routes/fonts.d.ts.map +0 -1
- package/build/routes/health.d.ts.map +0 -1
- package/build/routes/imagery.d.ts.map +0 -1
- package/build/routes/ping.d.ts.map +0 -1
- package/build/routes/preview.d.ts.map +0 -1
- package/build/routes/preview.index.d.ts.map +0 -1
- package/build/routes/sprites.d.ts.map +0 -1
- package/build/routes/tile.json.d.ts.map +0 -1
- package/build/routes/tile.style.json.d.ts.map +0 -1
- package/build/routes/tile.wmts.d.ts.map +0 -1
- package/build/routes/tile.xyz.d.ts.map +0 -1
- package/build/routes/tile.xyz.raster.d.ts.map +0 -1
- package/build/routes/tile.xyz.vector.d.ts.map +0 -1
- package/build/routes/version.d.ts.map +0 -1
- package/build/util/__test__/config.loader.test.d.ts.map +0 -1
- package/build/util/__test__/filter.test.d.ts.map +0 -1
- package/build/util/__test__/validate.test.d.ts.map +0 -1
- package/build/util/assets.provider.d.ts.map +0 -1
- package/build/util/config.cache.d.ts.map +0 -1
- package/build/util/config.loader.d.ts.map +0 -1
- package/build/util/cotar.serve.d.ts.map +0 -1
- package/build/util/etag.d.ts.map +0 -1
- package/build/util/filter.d.ts.map +0 -1
- package/build/util/response.d.ts.map +0 -1
- package/build/util/source.cache.d.ts.map +0 -1
- package/build/util/source.tracer.d.ts +0 -18
- package/build/util/source.tracer.d.ts.map +0 -1
- package/build/util/source.tracer.js +0 -26
- package/build/util/source.tracer.js.map +0 -1
- package/build/util/swapping.lru.d.ts.map +0 -1
- package/build/util/validate.d.ts.map +0 -1
- package/build/wmts.capability.d.ts.map +0 -1
- package/src/util/source.tracer.ts +0 -38
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { fsa } from '@
|
|
2
|
-
import {
|
|
1
|
+
import { fsa } from '@basemaps/shared';
|
|
2
|
+
import { HttpHeader, LambdaHttpResponse } from '@linzjs/lambda';
|
|
3
3
|
import { ConfigLoader } from './config.loader.js';
|
|
4
4
|
import { isGzip } from './cotar.serve.js';
|
|
5
5
|
import { Etag } from './etag.js';
|
|
@@ -14,17 +14,17 @@ export class AssetProvider {
|
|
|
14
14
|
* s3://linz-baesmaps/assets/ # Remote location
|
|
15
15
|
* s3://linz-basemaps/assets/assets-b4ff211a.tar.co # Remote Cotar
|
|
16
16
|
*/
|
|
17
|
-
async get(
|
|
17
|
+
async get(url, fileName) {
|
|
18
18
|
// get assets file from cotar
|
|
19
|
-
if (
|
|
20
|
-
return await this.getFromCotar(
|
|
19
|
+
if (url.pathname.endsWith('.tar.co'))
|
|
20
|
+
return await this.getFromCotar(url, fileName);
|
|
21
21
|
// get assets file for directory
|
|
22
22
|
try {
|
|
23
|
-
const filePath =
|
|
23
|
+
const filePath = new URL(fileName, url);
|
|
24
24
|
return await fsa.read(filePath);
|
|
25
25
|
}
|
|
26
26
|
catch (e) {
|
|
27
|
-
if (e
|
|
27
|
+
if (e?.code === 404)
|
|
28
28
|
return null;
|
|
29
29
|
throw e;
|
|
30
30
|
}
|
|
@@ -47,7 +47,7 @@ export class AssetProvider {
|
|
|
47
47
|
return NotFound();
|
|
48
48
|
if (config.assets == null)
|
|
49
49
|
return NotFound();
|
|
50
|
-
const buf = await assetProvider.get(config.assets, file);
|
|
50
|
+
const buf = await assetProvider.get(fsa.toUrl(config.assets), file);
|
|
51
51
|
if (buf == null)
|
|
52
52
|
return NotFound();
|
|
53
53
|
const cacheKey = Etag.key(buf);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.provider.js","sourceRoot":"","sources":["../../src/util/assets.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"assets.provider.js","sourceRoot":"","sources":["../../src/util/assets.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAqB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEnF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,OAAO,aAAa;IACxB;;;;;;;OAOG;IAEH,KAAK,CAAC,GAAG,CAAC,GAAQ,EAAE,QAAgB;QAClC,6BAA6B;QAC7B,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEpF,gCAAgC;QAChC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACxC,OAAO,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAK,CAAsB,EAAE,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YACvD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAS,EAAE,QAAgB;QAC5C,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,GAAsB,EAAE,IAAY,EAAE,WAAmB;QACnE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,QAAQ,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;YAAE,OAAO,QAAQ,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,QAAQ,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC;YAAE,OAAO,WAAW,EAAE,CAAC;QAE5D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAClE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,sDAAsD,CAAC,CAAC;QACjG,IAAI,MAAM,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACrE,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
1
2
|
import { ConfigBundled, ConfigProviderMemory } from '@basemaps/config';
|
|
2
3
|
import { SwappingLru } from './swapping.lru.js';
|
|
3
4
|
declare class LruConfig {
|
|
@@ -8,9 +9,8 @@ declare class LruConfig {
|
|
|
8
9
|
export declare class ConfigCache {
|
|
9
10
|
cache: SwappingLru<LruConfig>;
|
|
10
11
|
constructor(maxSize: number);
|
|
11
|
-
get(location:
|
|
12
|
+
get(location: URL): Promise<ConfigProviderMemory | null>;
|
|
12
13
|
}
|
|
13
14
|
/** Cache 20 configs (Around <30KB -> 5MB each)*/
|
|
14
15
|
export declare const CachedConfig: ConfigCache;
|
|
15
16
|
export {};
|
|
16
|
-
//# sourceMappingURL=config.cache.d.ts.map
|
|
@@ -3,6 +3,12 @@ import { fsa } from '@basemaps/shared';
|
|
|
3
3
|
import { SwappingLru } from './swapping.lru.js';
|
|
4
4
|
class LruConfig {
|
|
5
5
|
constructor(config) {
|
|
6
|
+
Object.defineProperty(this, "configProvider", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
writable: true,
|
|
10
|
+
value: void 0
|
|
11
|
+
});
|
|
6
12
|
this.configProvider = config
|
|
7
13
|
.then((c) => {
|
|
8
14
|
if (c == null)
|
|
@@ -24,18 +30,23 @@ class LruConfig {
|
|
|
24
30
|
}
|
|
25
31
|
export class ConfigCache {
|
|
26
32
|
constructor(maxSize) {
|
|
33
|
+
Object.defineProperty(this, "cache", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true,
|
|
37
|
+
value: void 0
|
|
38
|
+
});
|
|
27
39
|
this.cache = new SwappingLru(maxSize);
|
|
28
40
|
}
|
|
29
41
|
get(location) {
|
|
30
|
-
|
|
31
|
-
const existing = (_a = this.cache.get(location)) === null || _a === void 0 ? void 0 : _a.configProvider;
|
|
42
|
+
const existing = this.cache.get(location.href)?.configProvider;
|
|
32
43
|
if (existing != null)
|
|
33
44
|
return existing;
|
|
34
45
|
const configJson = fsa.readJson(location).catch(() => {
|
|
35
46
|
return null;
|
|
36
47
|
});
|
|
37
48
|
const config = new LruConfig(configJson);
|
|
38
|
-
this.cache.set(location, config);
|
|
49
|
+
this.cache.set(location.href, config);
|
|
39
50
|
return config.configProvider;
|
|
40
51
|
}
|
|
41
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.cache.js","sourceRoot":"","sources":["../../src/util/config.cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.cache.js","sourceRoot":"","sources":["../../src/util/config.cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,SAAS;IAGb,YAAY,MAAqC;QAFjD;;;;;WAAqD;QAGnD,IAAI,CAAC,cAAc,GAAG,MAAM;aACzB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,IAAI,CAAC,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC3B,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxD,cAAc,CAAC,qBAAqB,EAAE,CAAC;YACvC,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YAChC,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,IAAI;QACN,qFAAqF;QACrF,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AAED,MAAM,OAAO,WAAW;IAEtB,YAAY,OAAe;QAD3B;;;;;WAA8B;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAY,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,GAAG,CAAC,QAAa;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;QAC/D,IAAI,QAAQ,IAAI,IAAI;YAAE,OAAO,QAAQ,CAAC;QACtC,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAgB,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAClE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC,cAAc,CAAC;IAC/B,CAAC;CACF;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { base58, isBase58 } from '@basemaps/config';
|
|
2
|
+
import { fsa, getDefaultConfig } from '@basemaps/shared';
|
|
2
3
|
import { LambdaHttpResponse } from '@linzjs/lambda';
|
|
3
|
-
import { parseUri } from '@chunkd/core';
|
|
4
4
|
import { CachedConfig } from './config.cache.js';
|
|
5
|
-
|
|
6
|
-
// FIXME load this from process.env COG BUCKETS?
|
|
5
|
+
// TODO load this from process.env COG BUCKETS?
|
|
7
6
|
const SafeBuckets = new Set([
|
|
8
7
|
'linz-workflows-scratch',
|
|
9
8
|
'linz-workflow-artifacts',
|
|
@@ -11,7 +10,7 @@ const SafeBuckets = new Set([
|
|
|
11
10
|
'linz-basemaps-staging',
|
|
12
11
|
'linz-basemaps-scratch',
|
|
13
12
|
]);
|
|
14
|
-
const SafeProtocols = new Set(['s3', 'memory']);
|
|
13
|
+
const SafeProtocols = new Set([new URL('s3://foo').protocol, new URL('memory://foo.json').protocol]);
|
|
15
14
|
export class ConfigLoader {
|
|
16
15
|
/** Exposed for testing */
|
|
17
16
|
static async getDefaultConfig() {
|
|
@@ -37,18 +36,18 @@ export class ConfigLoader {
|
|
|
37
36
|
if (rawLocation == null)
|
|
38
37
|
return this.getDefaultConfig();
|
|
39
38
|
const configLocation = isBase58(rawLocation) ? Buffer.from(base58.decode(rawLocation)).toString() : rawLocation;
|
|
40
|
-
const
|
|
41
|
-
if (
|
|
39
|
+
const configUrl = fsa.toUrl(configLocation);
|
|
40
|
+
if (configUrl == null)
|
|
42
41
|
throw new LambdaHttpResponse(400, 'Invalid config location');
|
|
43
|
-
if (!SafeProtocols.has(
|
|
44
|
-
throw new LambdaHttpResponse(400, `Invalid configuration location protocol:${
|
|
42
|
+
if (!SafeProtocols.has(configUrl.protocol)) {
|
|
43
|
+
throw new LambdaHttpResponse(400, `Invalid configuration location protocol:${configUrl.protocol}`);
|
|
45
44
|
}
|
|
46
|
-
if (!SafeBuckets.has(
|
|
47
|
-
throw new LambdaHttpResponse(400, `Bucket: "${
|
|
45
|
+
if (!SafeBuckets.has(configUrl.hostname)) {
|
|
46
|
+
throw new LambdaHttpResponse(400, `Bucket: "${configUrl.hostname}" is not a allowed bucket location`);
|
|
48
47
|
}
|
|
49
|
-
req.set('config',
|
|
48
|
+
req.set('config', configUrl.href);
|
|
50
49
|
req.timer.start('config:load');
|
|
51
|
-
return CachedConfig.get(
|
|
50
|
+
return CachedConfig.get(configUrl).then((f) => {
|
|
52
51
|
req.timer.end('config:load');
|
|
53
52
|
if (f == null)
|
|
54
53
|
throw new LambdaHttpResponse(400, `Invalid config location at ${configLocation}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.loader.js","sourceRoot":"","sources":["../../src/util/config.loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA0B,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config.loader.js","sourceRoot":"","sources":["../../src/util/config.loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
3
|
import { LambdaHttpRequest, LambdaHttpResponse } from '@linzjs/lambda';
|
|
3
4
|
/**
|
|
4
5
|
* Load a cotar and look for a file inside the cotar returning the file back as a LambdaResponse
|
|
@@ -7,7 +8,7 @@ import { LambdaHttpRequest, LambdaHttpResponse } from '@linzjs/lambda';
|
|
|
7
8
|
* - Content-Encoding if the file starts with gzip magic
|
|
8
9
|
* - Content-Type from the parameter contentType
|
|
9
10
|
*/
|
|
10
|
-
export declare function serveFromCotar(req: LambdaHttpRequest,
|
|
11
|
+
export declare function serveFromCotar(req: LambdaHttpRequest, url: URL, assetPath: string, contentType: string): Promise<LambdaHttpResponse>;
|
|
11
12
|
/**
|
|
12
13
|
* Does a buffer look like a gzipped document instead of raw json
|
|
13
14
|
*
|
|
@@ -17,4 +18,3 @@ export declare function serveFromCotar(req: LambdaHttpRequest, cotarPath: string
|
|
|
17
18
|
*
|
|
18
19
|
*/
|
|
19
20
|
export declare function isGzip(b: Buffer): boolean;
|
|
20
|
-
//# sourceMappingURL=cotar.serve.d.ts.map
|
|
@@ -9,8 +9,8 @@ import { CoSources } from './source.cache.js';
|
|
|
9
9
|
* - Content-Encoding if the file starts with gzip magic
|
|
10
10
|
* - Content-Type from the parameter contentType
|
|
11
11
|
*/
|
|
12
|
-
export async function serveFromCotar(req,
|
|
13
|
-
const cotar = await CoSources.getCotar(
|
|
12
|
+
export async function serveFromCotar(req, url, assetPath, contentType) {
|
|
13
|
+
const cotar = await CoSources.getCotar(url);
|
|
14
14
|
if (cotar == null)
|
|
15
15
|
return NotFound();
|
|
16
16
|
const fileData = await cotar.get(assetPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cotar.serve.js","sourceRoot":"","sources":["../../src/util/cotar.serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"cotar.serve.js","sourceRoot":"","sources":["../../src/util/cotar.serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEnF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAsB,EACtB,GAAQ,EACR,SAAiB,EACjB,WAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,QAAQ,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,QAAQ,EAAE,CAAC;IAExC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC;QAAE,OAAO,WAAW,EAAE,CAAC;IAE5D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAClE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,sDAAsD,CAAC,CAAC;IACjG,IAAI,MAAM,CAAC,GAAG,CAAC;QAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACrE,OAAO,QAAQ,CAAC;AAClB,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/util/etag.d.ts
CHANGED
package/build/util/etag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"etag.js","sourceRoot":"","sources":["../../src/util/etag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,gBAAgB,CAAC;AAE/D,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,GAAG,CAAC,GAAY;QACd,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC9E,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,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;
|
|
1
|
+
{"version":3,"file":"etag.js","sourceRoot":"","sources":["../../src/util/etag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,gBAAgB,CAAC;AAE/D,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,GAAG,CAAC,GAAY;QACd,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC9E,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,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,CAAC;YAC9D,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC"}
|
package/build/util/filter.d.ts
CHANGED
|
@@ -12,4 +12,3 @@ export declare function getFilters(req: LambdaHttpRequest): Record<string, strin
|
|
|
12
12
|
*/
|
|
13
13
|
export declare function yearRangeToInterval(x: [number] | [number, number]): [Date, Date];
|
|
14
14
|
export declare function filterLayers(req: LambdaHttpRequest, layers: ConfigLayer[]): ConfigLayer[];
|
|
15
|
-
//# sourceMappingURL=filter.d.ts.map
|
package/build/util/filter.js
CHANGED
|
@@ -5,10 +5,9 @@ export const FilterNames = {
|
|
|
5
5
|
DateAfter: 'date[after]',
|
|
6
6
|
};
|
|
7
7
|
export function getFilters(req) {
|
|
8
|
-
var _a, _b;
|
|
9
8
|
return {
|
|
10
|
-
[FilterNames.DateBefore]:
|
|
11
|
-
[FilterNames.DateAfter]:
|
|
9
|
+
[FilterNames.DateBefore]: req.query.get(FilterNames.DateBefore) ?? undefined,
|
|
10
|
+
[FilterNames.DateAfter]: req.query.get(FilterNames.DateAfter) ?? undefined,
|
|
12
11
|
};
|
|
13
12
|
}
|
|
14
13
|
/**
|
|
@@ -49,8 +48,8 @@ export function filterLayers(req, layers) {
|
|
|
49
48
|
});
|
|
50
49
|
// Trace that layers have been filtered
|
|
51
50
|
req.set('layerFilter', {
|
|
52
|
-
[FilterNames.DateBefore]: dateBefore
|
|
53
|
-
[FilterNames.DateAfter]: dateAfter
|
|
51
|
+
[FilterNames.DateBefore]: dateBefore?.toISOString(),
|
|
52
|
+
[FilterNames.DateAfter]: dateAfter?.toISOString(),
|
|
54
53
|
layerCount: layers.length,
|
|
55
54
|
filterCount: filtered.length,
|
|
56
55
|
});
|
package/build/util/filter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/util/filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAqB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,aAAa;CACzB,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,GAAsB
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/util/filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAqB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,aAAa;CACzB,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,GAAsB;IAC/C,OAAO;QACL,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,SAAS;QAC5E,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,SAAS;KAC3E,CAAC;AACJ,CAAC;AACD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAA8B;IAChE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC9G,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,cAAc,CAAC,CAAgB;IACtC,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,MAAM,IAAI,kBAAkB,CAAC,GAAG,EAAE,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC5F,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAsB,EAAE,MAAqB;IACxE,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE9D,IAAI,cAAc,IAAI,IAAI,IAAI,eAAe,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC;IACrE,MAAM,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACnC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAClC,MAAM,SAAS,GAAG,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAEpC,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,SAAS,IAAI,UAAU,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IAEH,uCAAuC;IACvC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE;QACrB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE;QACnD,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE;QACjD,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,WAAW,EAAE,QAAQ,CAAC,MAAM;KAC7B,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/build/util/response.d.ts
CHANGED
|
@@ -3,4 +3,3 @@ export declare const NotFound: () => LambdaHttpResponse;
|
|
|
3
3
|
export declare const NotModified: () => LambdaHttpResponse;
|
|
4
4
|
export declare const NoContent: () => LambdaHttpResponse;
|
|
5
5
|
export declare const OkResponse: (req: LambdaHttpRequest) => LambdaHttpResponse;
|
|
6
|
-
//# sourceMappingURL=response.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import { Cotar } from '@
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { Cotar, Tiff } from '@basemaps/shared';
|
|
3
3
|
import { SwappingLru } from './swapping.lru.js';
|
|
4
4
|
export type LruStrut = LruStrutCotar | LruStrutCog;
|
|
5
5
|
export interface LruStrutCotar {
|
|
@@ -9,21 +9,20 @@ export interface LruStrutCotar {
|
|
|
9
9
|
}
|
|
10
10
|
export interface LruStrutCog {
|
|
11
11
|
type: 'cog';
|
|
12
|
-
value: Promise<
|
|
13
|
-
_value?:
|
|
12
|
+
value: Promise<Tiff>;
|
|
13
|
+
_value?: Tiff;
|
|
14
14
|
}
|
|
15
15
|
declare class LruStrutObj<T extends LruStrut> {
|
|
16
16
|
ob: T;
|
|
17
17
|
constructor(ob: T);
|
|
18
|
-
|
|
18
|
+
size: number;
|
|
19
19
|
}
|
|
20
20
|
export declare class SourceCache {
|
|
21
21
|
cache: SwappingLru<LruStrutObj<LruStrutCotar | LruStrutCog>>;
|
|
22
22
|
constructor(maxSize: number);
|
|
23
|
-
getCog(location:
|
|
24
|
-
getCotar(location:
|
|
23
|
+
getCog(location: URL): Promise<Tiff>;
|
|
24
|
+
getCotar(location: URL): Promise<Cotar>;
|
|
25
25
|
}
|
|
26
|
-
/**
|
|
26
|
+
/** Cache the last 5,000 tiff/tar files accessed, generally it is only <100KB of memory used per tiff file so approx 50MB of cache */
|
|
27
27
|
export declare const CoSources: SourceCache;
|
|
28
28
|
export {};
|
|
29
|
-
//# sourceMappingURL=source.cache.d.ts.map
|
|
@@ -1,54 +1,57 @@
|
|
|
1
|
-
import { fsa } from '@basemaps/shared';
|
|
2
|
-
import { CogTiff } from '@cogeotiff/core';
|
|
3
|
-
import { Cotar } from '@cotar/core';
|
|
4
|
-
import { St } from './source.tracer.js';
|
|
1
|
+
import { Cotar, fsa, Tiff } from '@basemaps/shared';
|
|
5
2
|
import { SwappingLru } from './swapping.lru.js';
|
|
6
3
|
class LruStrutObj {
|
|
7
4
|
constructor(ob) {
|
|
5
|
+
Object.defineProperty(this, "ob", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
configurable: true,
|
|
8
|
+
writable: true,
|
|
9
|
+
value: void 0
|
|
10
|
+
});
|
|
11
|
+
Object.defineProperty(this, "size", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
configurable: true,
|
|
14
|
+
writable: true,
|
|
15
|
+
value: 1
|
|
16
|
+
});
|
|
8
17
|
this.ob = ob;
|
|
9
18
|
if (this.ob._value == null)
|
|
10
19
|
this.ob.value.then((c) => (this.ob._value = c));
|
|
11
20
|
}
|
|
12
|
-
get size() {
|
|
13
|
-
const val = this.ob._value;
|
|
14
|
-
if (val == null)
|
|
15
|
-
return 0;
|
|
16
|
-
return val.source.chunkSize * val.source.chunks.size;
|
|
17
|
-
}
|
|
18
21
|
}
|
|
19
22
|
export class SourceCache {
|
|
20
23
|
constructor(maxSize) {
|
|
24
|
+
Object.defineProperty(this, "cache", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
configurable: true,
|
|
27
|
+
writable: true,
|
|
28
|
+
value: void 0
|
|
29
|
+
});
|
|
21
30
|
this.cache = new SwappingLru(maxSize);
|
|
22
31
|
}
|
|
23
32
|
getCog(location) {
|
|
24
|
-
|
|
25
|
-
const existing = (_a = this.cache.get(location)) === null || _a === void 0 ? void 0 : _a.ob;
|
|
33
|
+
const existing = this.cache.get(location.href)?.ob;
|
|
26
34
|
if (existing != null) {
|
|
27
35
|
if (existing.type === 'cog')
|
|
28
36
|
return existing.value;
|
|
29
37
|
throw new Error(`Existing object of type: ${existing.type} made for location: ${location}`);
|
|
30
38
|
}
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
const value = CogTiff.create(source);
|
|
34
|
-
this.cache.set(location, new LruStrutObj({ type: 'cog', value }));
|
|
39
|
+
const value = Tiff.create(fsa.source(location));
|
|
40
|
+
this.cache.set(location.href, new LruStrutObj({ type: 'cog', value }));
|
|
35
41
|
return value;
|
|
36
42
|
}
|
|
37
43
|
getCotar(location) {
|
|
38
|
-
|
|
39
|
-
const existing = (_a = this.cache.get(location)) === null || _a === void 0 ? void 0 : _a.ob;
|
|
44
|
+
const existing = this.cache.get(location.href)?.ob;
|
|
40
45
|
if (existing != null) {
|
|
41
46
|
if (existing.type === 'cotar')
|
|
42
47
|
return existing.value;
|
|
43
48
|
throw new Error(`Existing object of type: ${existing.type} made for location: ${location}`);
|
|
44
49
|
}
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
const value = Cotar.fromTar(source);
|
|
48
|
-
this.cache.set(location, new LruStrutObj({ type: 'cotar', value }));
|
|
50
|
+
const value = Cotar.fromTar(fsa.source(location));
|
|
51
|
+
this.cache.set(location.href, new LruStrutObj({ type: 'cotar', value }));
|
|
49
52
|
return value;
|
|
50
53
|
}
|
|
51
54
|
}
|
|
52
|
-
/**
|
|
53
|
-
export const CoSources = new SourceCache(
|
|
55
|
+
/** Cache the last 5,000 tiff/tar files accessed, generally it is only <100KB of memory used per tiff file so approx 50MB of cache */
|
|
56
|
+
export const CoSources = new SourceCache(5000);
|
|
54
57
|
//# sourceMappingURL=source.cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.cache.js","sourceRoot":"","sources":["../../src/util/source.cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"source.cache.js","sourceRoot":"","sources":["../../src/util/source.cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgBhD,MAAM,WAAW;IAEf,YAAY,EAAK;QADjB;;;;;WAAM;QAMN;;;;mBAAO,CAAC;WAAC;QAJP,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,IAAI;YAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;CAGF;AAED,MAAM,OAAO,WAAW;IAEtB,YAAY,OAAe;QAD3B;;;;;WAA6D;QAE3D,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAwB,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,QAAa;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAEnD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK;gBAAE,OAAO,QAAQ,CAAC,KAAK,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,CAAC,IAAI,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ,CAAC,QAAa;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAEnD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,QAAQ,CAAC,KAAuB,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,CAAC,IAAI,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,qIAAqI;AACrI,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -1,12 +1,53 @@
|
|
|
1
1
|
export class SwappingLru {
|
|
2
2
|
constructor(maxSize) {
|
|
3
|
-
this
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
this
|
|
3
|
+
Object.defineProperty(this, "cacheA", {
|
|
4
|
+
enumerable: true,
|
|
5
|
+
configurable: true,
|
|
6
|
+
writable: true,
|
|
7
|
+
value: new Map()
|
|
8
|
+
});
|
|
9
|
+
Object.defineProperty(this, "cacheB", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
configurable: true,
|
|
12
|
+
writable: true,
|
|
13
|
+
value: new Map()
|
|
14
|
+
});
|
|
15
|
+
Object.defineProperty(this, "maxSize", {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
configurable: true,
|
|
18
|
+
writable: true,
|
|
19
|
+
value: void 0
|
|
20
|
+
});
|
|
21
|
+
Object.defineProperty(this, "hits", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
configurable: true,
|
|
24
|
+
writable: true,
|
|
25
|
+
value: 0
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(this, "misses", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
configurable: true,
|
|
30
|
+
writable: true,
|
|
31
|
+
value: 0
|
|
32
|
+
});
|
|
33
|
+
Object.defineProperty(this, "resets", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true,
|
|
37
|
+
value: 0
|
|
38
|
+
});
|
|
39
|
+
Object.defineProperty(this, "clears", {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
configurable: true,
|
|
42
|
+
writable: true,
|
|
43
|
+
value: 0
|
|
44
|
+
});
|
|
45
|
+
Object.defineProperty(this, "_lastCheckedAt", {
|
|
46
|
+
enumerable: true,
|
|
47
|
+
configurable: true,
|
|
48
|
+
writable: true,
|
|
49
|
+
value: -1
|
|
50
|
+
});
|
|
10
51
|
this.maxSize = maxSize;
|
|
11
52
|
}
|
|
12
53
|
get(id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swapping.lru.js","sourceRoot":"","sources":["../../src/util/swapping.lru.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IAYtB,YAAY,OAAe;QAX3B,
|
|
1
|
+
{"version":3,"file":"swapping.lru.js","sourceRoot":"","sources":["../../src/util/swapping.lru.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IAYtB,YAAY,OAAe;QAX3B;;;;mBAAyB,IAAI,GAAG,EAAE;WAAC;QACnC;;;;mBAAyB,IAAI,GAAG,EAAE;WAAC;QACnC;;;;;WAAgB;QAEhB;;;;mBAAO,CAAC;WAAC;QACT;;;;mBAAS,CAAC;WAAC;QACX;;;;mBAAS,CAAC;WAAC;QACX;;;;mBAAS,CAAC;WAAC;QAEX;;;;mBAAiB,CAAC,CAAC;WAAC;QAGlB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,0DAA0D;QAC1D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sBAAsB;IACtB,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,EAAU,EAAE,IAAO;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,sDAAsD;IACtD,KAAK;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC;YAAE,OAAO;QAC9B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,qFAAqF;QACrF,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,6DAA6D;IAC7D,IAAI,WAAW;QACb,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
package/build/util/validate.d.ts
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ConfigTileSetRaster, ConfigTileSetRasterOutput } from '@basemaps/config';
|
|
2
|
+
import { ImageFormat, LatLon, TileMatrixSet } from '@basemaps/geo';
|
|
2
3
|
import { LambdaHttpRequest } from '@linzjs/lambda';
|
|
3
|
-
import { TileXyzGet } from '../routes/tile.xyz';
|
|
4
|
+
import { TileXyzGet } from '../routes/tile.xyz.js';
|
|
4
5
|
export interface TileXyz {
|
|
6
|
+
/** Tile XYZ location */
|
|
5
7
|
tile: {
|
|
6
8
|
x: number;
|
|
7
9
|
y: number;
|
|
8
10
|
z: number;
|
|
9
11
|
};
|
|
12
|
+
/** Name of the tile set to use */
|
|
10
13
|
tileSet: string;
|
|
14
|
+
/** TileMatrix that is requested */
|
|
11
15
|
tileMatrix: TileMatrixSet;
|
|
12
|
-
|
|
16
|
+
/** Output tile format */
|
|
17
|
+
tileType: string;
|
|
18
|
+
/** Optional processing pipeline to use */
|
|
19
|
+
pipeline?: string | null;
|
|
13
20
|
}
|
|
14
21
|
export interface TileMatrixRequest {
|
|
15
22
|
Params: {
|
|
@@ -19,13 +26,13 @@ export interface TileMatrixRequest {
|
|
|
19
26
|
export declare const Validate: {
|
|
20
27
|
/**
|
|
21
28
|
* Validate that the api key exists and is valid
|
|
29
|
+
*
|
|
22
30
|
* @throws if api key is not valid
|
|
23
31
|
*/
|
|
24
32
|
apiKey(req: LambdaHttpRequest): string;
|
|
25
33
|
getTileMatrixSet(str?: string): TileMatrixSet | null;
|
|
26
34
|
/** Read in all image formats specified in the query parameters "format" or "tileFormat" */
|
|
27
35
|
getRequestedFormats(req: LambdaHttpRequest): ImageFormat[] | null;
|
|
28
|
-
getTileFormat(tileType: string): ImageFormat | VectorFormat | null;
|
|
29
36
|
/** Validate that a lat and lon are between -90/90 and -180/180 */
|
|
30
37
|
getLocation(lonIn: string, latIn: string): LatLon | null;
|
|
31
38
|
/**
|
|
@@ -39,5 +46,10 @@ export declare const Validate: {
|
|
|
39
46
|
* @param xyzData
|
|
40
47
|
*/
|
|
41
48
|
xyz(req: LambdaHttpRequest<TileXyzGet>): TileXyz;
|
|
49
|
+
/**
|
|
50
|
+
* Lookup the raster configuration pipeline for a output tile type
|
|
51
|
+
*
|
|
52
|
+
* Defaults to standard image format output if no outputs are defined on the tileset
|
|
53
|
+
*/
|
|
54
|
+
pipeline(tileSet: ConfigTileSetRaster, tileType: string, pipeline?: string | null): ConfigTileSetRasterOutput | null;
|
|
42
55
|
};
|
|
43
|
-
//# sourceMappingURL=validate.d.ts.map
|