mirror of
https://github.com/protomaps/PMTiles.git
synced 2026-02-04 10:51:07 +00:00
js code formatting and linting
This commit is contained in:
27
js/index.ts
27
js/index.ts
@@ -1,6 +1,6 @@
|
|||||||
import { decompressSync } from "fflate";
|
import { decompressSync } from "fflate";
|
||||||
import v2 from "./v2";
|
import v2 from "./v2";
|
||||||
export * from './adapters';
|
export * from "./adapters";
|
||||||
|
|
||||||
export interface BufferPosition {
|
export interface BufferPosition {
|
||||||
buf: Uint8Array;
|
buf: Uint8Array;
|
||||||
@@ -372,10 +372,14 @@ function deserializeIndex(buffer: ArrayBuffer): Entry[] {
|
|||||||
function detectVersion(a: ArrayBuffer): number {
|
function detectVersion(a: ArrayBuffer): number {
|
||||||
const v = new DataView(a);
|
const v = new DataView(a);
|
||||||
if (v.getUint16(2, true) === 2) {
|
if (v.getUint16(2, true) === 2) {
|
||||||
console.warn("PMTiles spec version 2 has been deprecated; please see github.com/protomaps/PMTiles for tools to upgrade");
|
console.warn(
|
||||||
|
"PMTiles spec version 2 has been deprecated; please see github.com/protomaps/PMTiles for tools to upgrade"
|
||||||
|
);
|
||||||
return 2;
|
return 2;
|
||||||
} else if (v.getUint16(2, true) === 1) {
|
} else if (v.getUint16(2, true) === 1) {
|
||||||
console.warn("PMTiles spec version 1 has been deprecated; please see github.com/protomaps/PMTiles for tools to upgrade");
|
console.warn(
|
||||||
|
"PMTiles spec version 1 has been deprecated; please see github.com/protomaps/PMTiles for tools to upgrade"
|
||||||
|
);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 3;
|
return 3;
|
||||||
@@ -404,7 +408,7 @@ async function getHeaderAndRoot(
|
|||||||
source: Source,
|
source: Source,
|
||||||
prefetch: boolean
|
prefetch: boolean
|
||||||
): Promise<[Header, [string, number, Entry[] | ArrayBuffer]?]> {
|
): Promise<[Header, [string, number, Entry[] | ArrayBuffer]?]> {
|
||||||
let resp = await source.getBytes(0, 16384);
|
const resp = await source.getBytes(0, 16384);
|
||||||
|
|
||||||
const v = new DataView(resp.data);
|
const v = new DataView(resp.data);
|
||||||
if (v.getUint16(0, true) !== 0x4d50) {
|
if (v.getUint16(0, true) !== 0x4d50) {
|
||||||
@@ -450,7 +454,7 @@ async function getDirectory(
|
|||||||
length: number,
|
length: number,
|
||||||
header: Header
|
header: Header
|
||||||
): Promise<Entry[]> {
|
): Promise<Entry[]> {
|
||||||
let resp = await source.getBytes(offset, length);
|
const resp = await source.getBytes(offset, length);
|
||||||
|
|
||||||
if (header.etag && header.etag !== resp.etag) {
|
if (header.etag && header.etag !== resp.etag) {
|
||||||
throw new VersionMismatch("ETag mismatch: " + header.etag);
|
throw new VersionMismatch("ETag mismatch: " + header.etag);
|
||||||
@@ -494,7 +498,7 @@ export class ResolvedValueCache {
|
|||||||
return data as Header;
|
return data as Header;
|
||||||
}
|
}
|
||||||
|
|
||||||
let res = await getHeaderAndRoot(source, this.prefetch);
|
const res = await getHeaderAndRoot(source, this.prefetch);
|
||||||
if (res[1]) {
|
if (res[1]) {
|
||||||
this.cache.set(res[1][0], {
|
this.cache.set(res[1][0], {
|
||||||
lastUsed: this.counter++,
|
lastUsed: this.counter++,
|
||||||
@@ -553,7 +557,7 @@ export class ResolvedValueCache {
|
|||||||
return data as ArrayBuffer;
|
return data as ArrayBuffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
let resp = await source.getBytes(offset, length);
|
const resp = await source.getBytes(offset, length);
|
||||||
if (header.etag && header.etag !== resp.etag) {
|
if (header.etag && header.etag !== resp.etag) {
|
||||||
throw new VersionMismatch("ETag mismatch: " + header.etag);
|
throw new VersionMismatch("ETag mismatch: " + header.etag);
|
||||||
}
|
}
|
||||||
@@ -765,9 +769,12 @@ export class PMTiles {
|
|||||||
if (header.specVersion < 3) {
|
if (header.specVersion < 3) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
let d_o = header.rootDirectoryOffset;
|
return await this.cache.getDirectory(
|
||||||
let d_l = header.rootDirectoryLength;
|
this.source,
|
||||||
return await this.cache.getDirectory(this.source, d_o, d_l, header);
|
header.rootDirectoryOffset,
|
||||||
|
header.rootDirectoryLength,
|
||||||
|
header
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
async getHeader() {
|
async getHeader() {
|
||||||
|
|||||||
18
js/v2.ts
18
js/v2.ts
@@ -188,7 +188,7 @@ export const deriveLeaf = (view: DataView, tile: Zxy): Zxy | null => {
|
|||||||
const numEntries = view.byteLength / 17;
|
const numEntries = view.byteLength / 17;
|
||||||
const entry = parseEntry(view, numEntries - 1);
|
const entry = parseEntry(view, numEntries - 1);
|
||||||
if (entry.is_dir) {
|
if (entry.is_dir) {
|
||||||
let leaf_level = entry.z;
|
const leaf_level = entry.z;
|
||||||
const level_diff = tile.z - leaf_level;
|
const level_diff = tile.z - leaf_level;
|
||||||
const leaf_x = Math.trunc(tile.x / (1 << level_diff));
|
const leaf_x = Math.trunc(tile.x / (1 << level_diff));
|
||||||
const leaf_y = Math.trunc(tile.y / (1 << level_diff));
|
const leaf_y = Math.trunc(tile.y / (1 << level_diff));
|
||||||
@@ -198,7 +198,7 @@ export const deriveLeaf = (view: DataView, tile: Zxy): Zxy | null => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
async function getHeader(source: Source): Promise<Header> {
|
async function getHeader(source: Source): Promise<Header> {
|
||||||
let resp = await source.getBytes(0, 512000);
|
const resp = await source.getBytes(0, 512000);
|
||||||
|
|
||||||
const dataview = new DataView(resp.data);
|
const dataview = new DataView(resp.data);
|
||||||
|
|
||||||
@@ -233,7 +233,7 @@ async function getHeader(source: Source): Promise<Header> {
|
|||||||
let max_lat = 85.0;
|
let max_lat = 85.0;
|
||||||
|
|
||||||
if (json_metadata.bounds) {
|
if (json_metadata.bounds) {
|
||||||
let split = json_metadata.bounds.split(",");
|
const split = json_metadata.bounds.split(",");
|
||||||
min_lon = +split[0];
|
min_lon = +split[0];
|
||||||
min_lat = +split[1];
|
min_lat = +split[1];
|
||||||
max_lon = +split[2];
|
max_lon = +split[2];
|
||||||
@@ -241,7 +241,7 @@ async function getHeader(source: Source): Promise<Header> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (json_metadata.center) {
|
if (json_metadata.center) {
|
||||||
let split = json_metadata.center.split(",");
|
const split = json_metadata.center.split(",");
|
||||||
center_lon = +split[0];
|
center_lon = +split[0];
|
||||||
center_lat = +split[1];
|
center_lat = +split[1];
|
||||||
center_zoom = +split[2];
|
center_zoom = +split[2];
|
||||||
@@ -299,10 +299,10 @@ async function getZxy(
|
|||||||
|
|
||||||
const entry = queryTile(new DataView(root_dir), z, x, y);
|
const entry = queryTile(new DataView(root_dir), z, x, y);
|
||||||
if (entry) {
|
if (entry) {
|
||||||
let resp = await source.getBytes(entry.offset, entry.length, signal);
|
const resp = await source.getBytes(entry.offset, entry.length, signal);
|
||||||
let tile_data = resp.data;
|
let tile_data = resp.data;
|
||||||
|
|
||||||
let view = new DataView(tile_data);
|
const view = new DataView(tile_data);
|
||||||
if (view.getUint8(0) == 0x1f && view.getUint8(1) == 0x8b) {
|
if (view.getUint8(0) == 0x1f && view.getUint8(1) == 0x8b) {
|
||||||
tile_data = decompressSync(new Uint8Array(tile_data));
|
tile_data = decompressSync(new Uint8Array(tile_data));
|
||||||
}
|
}
|
||||||
@@ -331,16 +331,16 @@ async function getZxy(
|
|||||||
if (header.specVersion === 1) {
|
if (header.specVersion === 1) {
|
||||||
leaf_dir = sortDir(leaf_dir);
|
leaf_dir = sortDir(leaf_dir);
|
||||||
}
|
}
|
||||||
let tile_entry = queryTile(new DataView(leaf_dir), z, x, y);
|
const tile_entry = queryTile(new DataView(leaf_dir), z, x, y);
|
||||||
if (tile_entry) {
|
if (tile_entry) {
|
||||||
let resp = await source.getBytes(
|
const resp = await source.getBytes(
|
||||||
tile_entry.offset,
|
tile_entry.offset,
|
||||||
tile_entry.length,
|
tile_entry.length,
|
||||||
signal
|
signal
|
||||||
);
|
);
|
||||||
let tile_data = resp.data;
|
let tile_data = resp.data;
|
||||||
|
|
||||||
let view = new DataView(tile_data);
|
const view = new DataView(tile_data);
|
||||||
if (view.getUint8(0) == 0x1f && view.getUint8(1) == 0x8b) {
|
if (view.getUint8(0) == 0x1f && view.getUint8(1) == 0x8b) {
|
||||||
tile_data = decompressSync(new Uint8Array(tile_data));
|
tile_data = decompressSync(new Uint8Array(tile_data));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user