UNPKG

geotiff

Version:

GeoTIFF image decoding in JavaScript

45 lines 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeFileReaderSource = makeFileReaderSource; const basesource_js_1 = require("./basesource.js"); class FileReaderSource extends basesource_js_1.BaseSource { /** * @param {Blob} file */ constructor(file) { super(); this.file = file; } /** * @param {import('./basesource.js').Slice} slice * @param {AbortSignal} signal * @returns {Promise<import('./basesource.js').SliceWithData>} */ async fetchSlice(slice, signal) { return new Promise((resolve, reject) => { const blob = this.file.slice(slice.offset, slice.offset + slice.length); const reader = new FileReader(); reader.onload = () => resolve({ data: /** @type {ArrayBuffer} */ (reader.result), offset: slice.offset, length: slice.length, }); reader.onerror = reject; reader.onabort = reject; reader.readAsArrayBuffer(blob); if (signal) { signal.addEventListener('abort', () => reader.abort()); } }); } } /** * Create a new source from a given file/blob. * @param {Blob} file The file or blob to read from. * @returns {FileReaderSource} The constructed source */ function makeFileReaderSource(file) { return new FileReaderSource(file); } //# sourceMappingURL=filereader.js.map //# sourceMappingURL=filereader.js.map