js code formatting and linting

This commit is contained in:
Brandon Liu
2022-10-17 23:23:38 +08:00
parent 639c9e8b9c
commit ff19c76403
2 changed files with 26 additions and 19 deletions

View File

@@ -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() {

View File

@@ -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));
} }