add AVIF enum in JS client [#116]

This commit is contained in:
Brandon Liu
2023-06-22 10:08:34 +08:00
parent 07f8fd8a09
commit 10021809dc
6 changed files with 11 additions and 1 deletions

View File

@@ -27,6 +27,8 @@ export const leafletRasterLayer = (source: PMTiles, options: any) => {
mimeType = "image/jpeg";
} else if (header.tileType == 4) {
mimeType = "image/webp";
} else if (header.tileType == 5) {
mimeType = "image/avif";
}
});
loaded = true;

View File

@@ -177,6 +177,7 @@ export enum TileType {
Png = 2,
Jpeg = 3,
Webp = 4,
Avif = 5,
}
const HEADER_SIZE_BYTES = 127;

View File

@@ -163,6 +163,7 @@ export const handlerRaw = async (
[TileType.Png, "png"],
[TileType.Jpeg, "jpg"],
[TileType.Webp, "webp"],
[TileType.Avif, "avif"],
]) {
if (header.tileType === pair[0] && ext !== pair[1]) {
if (header.tileType == TileType.Mvt && ext === "pbf") {
@@ -194,6 +195,9 @@ export const handlerRaw = async (
case TileType.Webp:
headers["Content-Type"] = "image/webp";
break;
case TileType.Avif:
headers["Content-Type"] = "image/avif";
break;
}
let data = tile_result.data;

View File

@@ -146,6 +146,7 @@ export default {
[TileType.Png, "png"],
[TileType.Jpeg, "jpg"],
[TileType.Webp, "webp"],
[TileType.Avif, "avif"],
]) {
if (p_header.tileType === pair[0] && ext !== pair[1]) {
if (p_header.tileType == TileType.Mvt && ext === "pbf") {

View File

@@ -52,6 +52,8 @@ export const tileJSON = (
ext = ".jpg";
} else if (header.tileType === TileType.Webp) {
ext = ".webp";
} else if (header.tileType === TileType.Avif) {
ext = ".avif";
}
return {

View File

@@ -91,7 +91,7 @@ The `Header` is 127 bytes, with little-endian integer values:
* **tile type**: A hint as to the tile contents. Clients and proxies may use this to:
* Automatically determine a visualization method
* provide a conventional MIME type `Content-Type` HTTP header
* Enforce a canonical extension e.g. `.mvt`, `png`, `jpeg`, `.webp` to prevent duplication in caches
* Enforce a canonical extension e.g. `.mvt`, `png`, `jpeg`, `.webp`, `.avif` to prevent duplication in caches
### Metadata