From 638664c8b0a4fbb2a149a0e47487a08bcf8092a0 Mon Sep 17 00:00:00 2001 From: acalcutt Date: Sun, 16 Mar 2025 10:41:11 -0400 Subject: [PATCH] use fetchTileData --- src/contour.js | 52 ++++++++++---------------------------------------- 1 file changed, 10 insertions(+), 42 deletions(-) diff --git a/src/contour.js b/src/contour.js index fa770dd..ab5bee9 100644 --- a/src/contour.js +++ b/src/contour.js @@ -1,6 +1,6 @@ import sharp from 'sharp'; import mlcontour from '../node_modules/maplibre-contour/dist/index.mjs'; -import { getPMtilesTile } from './pmtiles_adapter.js'; +import { fetchTileData } from './utils.js'; /** * Manages local DEM (Digital Elevation Model) data using maplibre-contour. @@ -117,47 +117,15 @@ export class LocalDemManager { } try { - let data; - if (this.sourceType === 'pmtiles') { - let zxyTile; - if (getPMtilesTile) { - zxyTile = await getPMtilesTile( - this.source, - $zxy.z, - $zxy.x, - $zxy.y, - abortController, - ); - } else { - if (abortController.signal.aborted) { - console.log('pmtiles aborted in default'); - return null; - } - zxyTile = { - data: new Uint8Array([$zxy.z, $zxy.x, $zxy.y]), - }; - } - - if (!zxyTile || !zxyTile.data) { - throw new Error(`No tile returned for $`); - } - data = zxyTile.data; - } else { - data = await new Promise((resolve, reject) => { - this.source.getTile($zxy.z, $zxy.x, $zxy.y, (err, tileData) => { - if (err) { - return /does not exist/.test(err.message) - ? resolve(null) - : reject(err); - } - resolve(tileData); - }); - }); - } - - if (data == null) { - return null; - } + const fetchTile = await fetchTileData( + this.source, + this.sourceType, + $zxy.z, + $zxy.x, + $zxy.y, + ); + if (fetchTile == null) return null; + let data = fetchTile.data; if (!data) { throw new Error(`No tile returned for $`);