@basemaps/lambda-tiler 6.31.0 → 6.32.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 +21 -0
- package/build/__tests__/config.data.d.ts +6 -1
- package/build/__tests__/config.data.d.ts.map +1 -1
- package/build/__tests__/config.data.js +33 -2
- package/build/__tests__/config.data.js.map +1 -1
- package/build/__tests__/index.test.js +3 -13
- package/build/__tests__/index.test.js.map +1 -1
- package/build/__tests__/xyz.util.d.ts +7 -9
- package/build/__tests__/xyz.util.d.ts.map +1 -1
- package/build/__tests__/xyz.util.js +14 -20
- package/build/__tests__/xyz.util.js.map +1 -1
- package/build/index.d.ts +0 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +57 -26
- package/build/index.js.map +1 -1
- package/build/routes/__tests__/attribution.test.js +350 -400
- package/build/routes/__tests__/attribution.test.js.map +1 -1
- package/build/routes/__tests__/fonts.test.js +11 -5
- package/build/routes/__tests__/fonts.test.js.map +1 -1
- package/build/routes/__tests__/health.test.js +16 -13
- package/build/routes/__tests__/health.test.js.map +1 -1
- package/build/routes/__tests__/sprites.test.js +6 -0
- package/build/routes/__tests__/sprites.test.js.map +1 -1
- package/build/routes/__tests__/tile.json.test.d.ts +2 -0
- package/build/routes/__tests__/tile.json.test.d.ts.map +1 -0
- package/build/routes/__tests__/tile.json.test.js +124 -0
- package/build/routes/__tests__/tile.json.test.js.map +1 -0
- package/build/routes/__tests__/tile.style.json.test.d.ts +2 -0
- package/build/routes/__tests__/tile.style.json.test.d.ts.map +1 -0
- package/build/routes/__tests__/tile.style.json.test.js +95 -0
- package/build/routes/__tests__/tile.style.json.test.js.map +1 -0
- package/build/routes/__tests__/wmts.test.js +5 -44
- package/build/routes/__tests__/wmts.test.js.map +1 -1
- package/build/{__tests__ → routes/__tests__}/xyz.test.d.ts +0 -0
- package/build/routes/__tests__/xyz.test.d.ts.map +1 -0
- package/build/routes/__tests__/xyz.test.js +99 -0
- package/build/routes/__tests__/xyz.test.js.map +1 -0
- package/build/routes/attribution.d.ts +7 -5
- package/build/routes/attribution.d.ts.map +1 -1
- package/build/routes/attribution.js +43 -81
- package/build/routes/attribution.js.map +1 -1
- package/build/routes/fonts.d.ts +1 -1
- package/build/routes/fonts.d.ts.map +1 -1
- package/build/routes/fonts.js +30 -15
- package/build/routes/fonts.js.map +1 -1
- package/build/routes/health.d.ts +3 -3
- package/build/routes/health.d.ts.map +1 -1
- package/build/routes/health.js +15 -13
- package/build/routes/health.js.map +1 -1
- package/build/routes/imagery.d.ts.map +1 -1
- package/build/routes/imagery.js +11 -10
- package/build/routes/imagery.js.map +1 -1
- package/build/routes/ping.d.ts +3 -0
- package/build/routes/ping.d.ts.map +1 -0
- package/build/routes/ping.js +7 -0
- package/build/routes/ping.js.map +1 -0
- package/build/routes/sprites.d.ts.map +1 -1
- package/build/routes/sprites.js +16 -10
- package/build/routes/sprites.js.map +1 -1
- package/build/routes/tile.json.d.ts +7 -1
- package/build/routes/tile.json.d.ts.map +1 -1
- package/build/routes/tile.json.js +18 -21
- package/build/routes/tile.json.js.map +1 -1
- package/build/routes/tile.style.json.d.ts +6 -1
- package/build/routes/tile.style.json.d.ts.map +1 -1
- package/build/routes/tile.style.json.js +10 -13
- package/build/routes/tile.style.json.js.map +1 -1
- package/build/routes/tile.wmts.d.ts +9 -3
- package/build/routes/tile.wmts.d.ts.map +1 -1
- package/build/routes/tile.wmts.js +26 -35
- package/build/routes/tile.wmts.js.map +1 -1
- package/build/routes/tile.xyz.d.ts +14 -4
- package/build/routes/tile.xyz.d.ts.map +1 -1
- package/build/routes/tile.xyz.js +21 -17
- package/build/routes/tile.xyz.js.map +1 -1
- package/build/routes/tile.xyz.raster.d.ts +11 -0
- package/build/routes/tile.xyz.raster.d.ts.map +1 -0
- package/build/routes/tile.xyz.raster.js +90 -0
- package/build/routes/tile.xyz.raster.js.map +1 -0
- package/build/routes/tile.xyz.vector.d.ts +8 -0
- package/build/routes/tile.xyz.vector.d.ts.map +1 -0
- package/build/routes/tile.xyz.vector.js +46 -0
- package/build/routes/tile.xyz.vector.js.map +1 -0
- package/build/routes/version.d.ts +3 -0
- package/build/routes/version.d.ts.map +1 -0
- package/build/routes/version.js +9 -0
- package/build/routes/version.js.map +1 -0
- package/build/util/__test__/validate.test.d.ts +2 -0
- package/build/util/__test__/validate.test.d.ts.map +1 -0
- package/build/util/__test__/validate.test.js +66 -0
- package/build/util/__test__/validate.test.js.map +1 -0
- package/build/{cotar.cache.d.ts → util/cotar.serve.d.ts} +3 -8
- package/build/util/cotar.serve.d.ts.map +1 -0
- package/build/util/cotar.serve.js +41 -0
- package/build/util/cotar.serve.js.map +1 -0
- package/build/util/etag.d.ts +6 -0
- package/build/util/etag.d.ts.map +1 -0
- package/build/util/etag.js +20 -0
- package/build/util/etag.js.map +1 -0
- package/build/util/response.d.ts +4 -0
- package/build/util/response.d.ts.map +1 -0
- package/build/util/response.js +4 -0
- package/build/util/response.js.map +1 -0
- package/build/util/source.cache.d.ts +28 -0
- package/build/util/source.cache.d.ts.map +1 -0
- package/build/util/source.cache.js +53 -0
- package/build/util/source.cache.js.map +1 -0
- package/build/{source.tracer.d.ts → util/source.tracer.d.ts} +1 -0
- package/build/util/source.tracer.d.ts.map +1 -0
- package/build/{source.tracer.js → util/source.tracer.js} +3 -0
- package/build/util/source.tracer.js.map +1 -0
- package/build/util/swapping.lru.d.ts +21 -0
- package/build/util/swapping.lru.d.ts.map +1 -0
- package/build/util/swapping.lru.js +56 -0
- package/build/util/swapping.lru.js.map +1 -0
- package/build/util/validate.d.ts +46 -0
- package/build/util/validate.d.ts.map +1 -0
- package/build/util/validate.js +107 -0
- package/build/util/validate.js.map +1 -0
- package/build/wmts.capability.d.ts +1 -1
- package/build/wmts.capability.d.ts.map +1 -1
- package/dist/index.js +62 -60
- package/dist/node_modules/.package-lock.json +1 -1
- package/dist/package-lock.json +2 -2
- package/dist/package.json +1 -1
- package/package.json +6 -6
- package/src/__tests__/config.data.ts +41 -3
- package/src/__tests__/index.test.ts +3 -19
- package/src/__tests__/xyz.util.ts +18 -21
- package/src/index.ts +66 -29
- package/src/routes/__tests__/attribution.test.ts +356 -403
- package/src/routes/__tests__/fonts.test.ts +11 -5
- package/src/routes/__tests__/health.test.ts +17 -13
- package/src/routes/__tests__/sprites.test.ts +6 -1
- package/src/routes/__tests__/tile.json.test.ts +145 -0
- package/src/routes/__tests__/tile.style.json.test.ts +105 -0
- package/src/routes/__tests__/wmts.test.ts +5 -55
- package/src/routes/__tests__/xyz.test.ts +119 -0
- package/src/routes/attribution.ts +53 -99
- package/src/routes/fonts.ts +29 -15
- package/src/routes/health.ts +17 -16
- package/src/routes/imagery.ts +10 -9
- package/src/routes/ping.ts +8 -0
- package/src/routes/sprites.ts +16 -10
- package/src/routes/tile.json.ts +24 -18
- package/src/routes/tile.style.json.ts +15 -12
- package/src/routes/tile.wmts.ts +30 -31
- package/src/routes/tile.xyz.raster.ts +106 -0
- package/src/routes/tile.xyz.ts +31 -16
- package/src/routes/tile.xyz.vector.ts +47 -0
- package/src/routes/version.ts +8 -0
- package/src/util/__test__/validate.test.ts +74 -0
- package/src/util/cotar.serve.ts +46 -0
- package/src/util/etag.ts +20 -0
- package/src/util/response.ts +4 -0
- package/src/util/source.cache.ts +71 -0
- package/src/{source.tracer.ts → util/source.tracer.ts} +4 -0
- package/src/util/swapping.lru.ts +63 -0
- package/src/util/validate.ts +126 -0
- package/src/wmts.capability.ts +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/build/__tests__/route.test.d.ts +0 -2
- package/build/__tests__/route.test.d.ts.map +0 -1
- package/build/__tests__/route.test.js +0 -21
- package/build/__tests__/route.test.js.map +0 -1
- package/build/__tests__/tiff.cache.test.d.ts +0 -2
- package/build/__tests__/tiff.cache.test.d.ts.map +0 -1
- package/build/__tests__/tiff.cache.test.js +0 -59
- package/build/__tests__/tiff.cache.test.js.map +0 -1
- package/build/__tests__/tile.cache.key.test.d.ts +0 -2
- package/build/__tests__/tile.cache.key.test.d.ts.map +0 -1
- package/build/__tests__/tile.cache.key.test.js +0 -49
- package/build/__tests__/tile.cache.key.test.js.map +0 -1
- package/build/__tests__/tile.set.cache.test.d.ts +0 -2
- package/build/__tests__/tile.set.cache.test.d.ts.map +0 -1
- package/build/__tests__/tile.set.cache.test.js +0 -72
- package/build/__tests__/tile.set.cache.test.js.map +0 -1
- package/build/__tests__/tile.set.test.d.ts +0 -2
- package/build/__tests__/tile.set.test.d.ts.map +0 -1
- package/build/__tests__/tile.set.test.js +0 -12
- package/build/__tests__/tile.set.test.js.map +0 -1
- package/build/__tests__/xyz.test.d.ts.map +0 -1
- package/build/__tests__/xyz.test.js +0 -275
- package/build/__tests__/xyz.test.js.map +0 -1
- package/build/api.key.d.ts +0 -2
- package/build/api.key.d.ts.map +0 -1
- package/build/api.key.js +0 -24
- package/build/api.key.js.map +0 -1
- package/build/cli/dump.d.ts +0 -2
- package/build/cli/dump.d.ts.map +0 -1
- package/build/cli/dump.js +0 -48
- package/build/cli/dump.js.map +0 -1
- package/build/cli/tile.set.local.d.ts +0 -12
- package/build/cli/tile.set.local.d.ts.map +0 -1
- package/build/cli/tile.set.local.js +0 -40
- package/build/cli/tile.set.local.js.map +0 -1
- package/build/cotar.cache.d.ts.map +0 -1
- package/build/cotar.cache.js +0 -50
- package/build/cotar.cache.js.map +0 -1
- package/build/router.d.ts +0 -15
- package/build/router.d.ts.map +0 -1
- package/build/router.js +0 -50
- package/build/router.js.map +0 -1
- package/build/routes/api.d.ts +0 -4
- package/build/routes/api.d.ts.map +0 -1
- package/build/routes/api.js +0 -14
- package/build/routes/api.js.map +0 -1
- package/build/routes/esri/rest.d.ts +0 -10
- package/build/routes/esri/rest.d.ts.map +0 -1
- package/build/routes/esri/rest.js +0 -88
- package/build/routes/esri/rest.js.map +0 -1
- package/build/routes/response.d.ts +0 -4
- package/build/routes/response.d.ts.map +0 -1
- package/build/routes/response.js +0 -4
- package/build/routes/response.js.map +0 -1
- package/build/routes/tile.d.ts +0 -3
- package/build/routes/tile.d.ts.map +0 -1
- package/build/routes/tile.etag.d.ts +0 -11
- package/build/routes/tile.etag.d.ts.map +0 -1
- package/build/routes/tile.etag.js +0 -30
- package/build/routes/tile.etag.js.map +0 -1
- package/build/routes/tile.js +0 -28
- package/build/routes/tile.js.map +0 -1
- package/build/source.tracer.d.ts.map +0 -1
- package/build/source.tracer.js.map +0 -1
- package/build/tiff.cache.d.ts +0 -17
- package/build/tiff.cache.d.ts.map +0 -1
- package/build/tiff.cache.js +0 -46
- package/build/tiff.cache.js.map +0 -1
- package/build/tile.set.cache.d.ts +0 -20
- package/build/tile.set.cache.d.ts.map +0 -1
- package/build/tile.set.cache.js +0 -72
- package/build/tile.set.cache.js.map +0 -1
- package/build/tile.set.d.ts +0 -4
- package/build/tile.set.d.ts.map +0 -1
- package/build/tile.set.js +0 -2
- package/build/tile.set.js.map +0 -1
- package/build/tile.set.raster.d.ts +0 -49
- package/build/tile.set.raster.d.ts.map +0 -1
- package/build/tile.set.raster.js +0 -189
- package/build/tile.set.raster.js.map +0 -1
- package/build/tile.set.vector.d.ts +0 -18
- package/build/tile.set.vector.d.ts.map +0 -1
- package/build/tile.set.vector.js +0 -54
- package/build/tile.set.vector.js.map +0 -1
- package/build/validate.d.ts +0 -16
- package/build/validate.d.ts.map +0 -1
- package/build/validate.js +0 -32
- package/build/validate.js.map +0 -1
- package/src/__tests__/route.test.ts +0 -24
- package/src/__tests__/tiff.cache.test.ts +0 -73
- package/src/__tests__/tile.cache.key.test.ts +0 -56
- package/src/__tests__/tile.set.cache.test.ts +0 -80
- package/src/__tests__/tile.set.test.ts +0 -12
- package/src/__tests__/xyz.test.ts +0 -318
- package/src/api.key.ts +0 -23
- package/src/cli/dump.ts +0 -61
- package/src/cli/tile.set.local.ts +0 -51
- package/src/cotar.cache.ts +0 -54
- package/src/router.ts +0 -58
- package/src/routes/api.ts +0 -15
- package/src/routes/esri/rest.ts +0 -90
- package/src/routes/response.ts +0 -4
- package/src/routes/tile.etag.ts +0 -36
- package/src/routes/tile.ts +0 -23
- package/src/tiff.cache.ts +0 -51
- package/src/tile.set.cache.ts +0 -84
- package/src/tile.set.raster.ts +0 -230
- package/src/tile.set.ts +0 -4
- package/src/tile.set.vector.ts +0 -61
- package/src/validate.ts +0 -32
|
@@ -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"}
|
package/build/cotar.cache.js
DELETED
|
@@ -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
|
package/build/cotar.cache.js.map
DELETED
|
@@ -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
|
package/build/router.d.ts.map
DELETED
|
@@ -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
|
package/build/router.js.map
DELETED
|
@@ -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"}
|
package/build/routes/api.d.ts
DELETED
|
@@ -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"}
|
package/build/routes/api.js
DELETED
|
@@ -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
|
package/build/routes/api.js.map
DELETED
|
@@ -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 +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"}
|
package/build/routes/response.js
DELETED
|
@@ -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"}
|
package/build/routes/tile.d.ts
DELETED
|
@@ -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"}
|
package/build/routes/tile.js
DELETED
|
@@ -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
|
package/build/routes/tile.js.map
DELETED
|
@@ -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"}
|
package/build/tiff.cache.d.ts
DELETED
|
@@ -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"}
|
package/build/tiff.cache.js
DELETED
|
@@ -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
|
package/build/tiff.cache.js.map
DELETED
|
@@ -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"}
|
package/build/tile.set.cache.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { TileSetNameParser, TileSetType } from '@basemaps/config';
|
|
2
|
-
import { Config } from '@basemaps/shared';
|
|
3
|
-
import { TileSetRaster } from './tile.set.raster.js';
|
|
4
|
-
import { TileSetVector } from './tile.set.vector.js';
|
|
5
|
-
export class TileSetCache {
|
|
6
|
-
constructor() {
|
|
7
|
-
/** Duration to cache tile sets for */
|
|
8
|
-
this.CacheTime = 30000;
|
|
9
|
-
/** Cache the fetch requests */
|
|
10
|
-
this.cache = new Map();
|
|
11
|
-
/** Cache initialized tile sets */
|
|
12
|
-
this.tileSets = new Map();
|
|
13
|
-
}
|
|
14
|
-
id(name, tileMatrix) {
|
|
15
|
-
if (typeof name === 'string') {
|
|
16
|
-
const nameComp = TileSetNameParser.parse(name);
|
|
17
|
-
return `${TileSetNameParser.componentsToName(nameComp)}_${tileMatrix === null || tileMatrix === void 0 ? void 0 : tileMatrix.identifier}`;
|
|
18
|
-
}
|
|
19
|
-
return `${name.fullName}_${name.tileMatrix.identifier}`;
|
|
20
|
-
}
|
|
21
|
-
add(tileSet, expiresAt = Date.now() + this.CacheTime) {
|
|
22
|
-
const id = this.id(tileSet);
|
|
23
|
-
if (this.cache.has(id))
|
|
24
|
-
throw new Error('Trying to add duplicate tile set:' + id);
|
|
25
|
-
this.cache.set(id, { time: expiresAt, value: Promise.resolve(tileSet) });
|
|
26
|
-
}
|
|
27
|
-
get(name, tileMatrix) {
|
|
28
|
-
const tsId = this.id(name, tileMatrix);
|
|
29
|
-
let existing = this.cache.get(tsId);
|
|
30
|
-
// Validate the data is current every ~30 seconds
|
|
31
|
-
if (existing == null || Date.now() - existing.time > 0) {
|
|
32
|
-
const value = this.loadTileSet(name, tileMatrix);
|
|
33
|
-
existing = { time: Date.now(), value };
|
|
34
|
-
this.cache.set(tsId, existing);
|
|
35
|
-
}
|
|
36
|
-
return existing.value;
|
|
37
|
-
}
|
|
38
|
-
async loadTileSet(name, tileMatrix) {
|
|
39
|
-
const nameComp = TileSetNameParser.parse(name);
|
|
40
|
-
const tileSetId = this.id(name, tileMatrix);
|
|
41
|
-
if (nameComp.layer != null) {
|
|
42
|
-
const parentName = TileSetNameParser.componentsToName({ ...nameComp, layer: undefined });
|
|
43
|
-
const parent = await this.get(parentName, tileMatrix);
|
|
44
|
-
if (parent == null || parent.type === TileSetType.Vector)
|
|
45
|
-
return null;
|
|
46
|
-
return parent.child(nameComp.layer);
|
|
47
|
-
}
|
|
48
|
-
const dbId = Config.TileSet.id(name);
|
|
49
|
-
const tileSet = await Config.TileSet.get(dbId);
|
|
50
|
-
if (tileSet == null) {
|
|
51
|
-
this.cache.delete(tileSetId);
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
// If we already have a copy and it hasn't been modified just return it
|
|
55
|
-
const existing = this.tileSets.get(tileSetId);
|
|
56
|
-
if (existing != null && (existing === null || existing === void 0 ? void 0 : existing.tileSet.updatedAt) === tileSet.updatedAt) {
|
|
57
|
-
return existing;
|
|
58
|
-
}
|
|
59
|
-
if (Config.isTileSetRaster(tileSet)) {
|
|
60
|
-
const ts = new TileSetRaster(name, tileMatrix);
|
|
61
|
-
await ts.init(tileSet);
|
|
62
|
-
this.tileSets.set(tileSetId, ts);
|
|
63
|
-
return ts;
|
|
64
|
-
}
|
|
65
|
-
const ts = new TileSetVector(name, tileMatrix);
|
|
66
|
-
await ts.init(tileSet);
|
|
67
|
-
this.tileSets.set(tileSetId, ts);
|
|
68
|
-
return ts;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
export const TileSets = new TileSetCache();
|
|
72
|
-
//# sourceMappingURL=tile.set.cache.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tile.set.cache.js","sourceRoot":"","sources":["../src/tile.set.cache.ts"],"names":[],"mappings":"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"}
|
package/build/tile.set.d.ts
DELETED
package/build/tile.set.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tile.set.d.ts","sourceRoot":"","sources":["../src/tile.set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,oBAAY,OAAO,GAAG,aAAa,GAAG,aAAa,CAAC"}
|
package/build/tile.set.js
DELETED
package/build/tile.set.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tile.set.js","sourceRoot":"","sources":["../src/tile.set.ts"],"names":[],"mappings":""}
|