geotiff
Version:
GeoTIFF image decoding in JavaScript
21 lines (18 loc) • 715 B
JavaScript
/* global globalThis */
/* eslint-disable import/no-mutable-exports */
import { getDecoder } from '../compression/index.js';
const worker = /** @type {Worker} */ (/** @type {unknown} */ (globalThis));
worker.addEventListener('message', async (e) => {
const { compression, decoderParameters, buffer, ...extra } = e.data;
try {
const decoder = await getDecoder(compression, decoderParameters);
const decoded = await decoder.decode(buffer);
worker.postMessage({ decoded, ...extra }, [decoded]);
} catch (error) {
if (error instanceof Error) {
worker.postMessage({ error: error.message, ...extra });
} else {
worker.postMessage({ error: String(error), ...extra });
}
}
});