@bugsplat/elfy
Version:
Tiny utility for parsing ELF/SELF files.
27 lines • 855 B
JavaScript
/**
* DataSource implementation for Blob/File objects.
* Works in browsers with File objects from <input type="file"> or fetch responses.
*/
export class BlobDataSource {
constructor(blob) {
this.blob = blob;
}
async read(offset, length) {
const slice = this.blob.slice(offset, offset + length);
const buffer = await slice.arrayBuffer();
return new Uint8Array(buffer);
}
}
/**
* DataSource implementation for an in-memory Uint8Array or ArrayBuffer.
* Useful for small files or when the entire file is already in memory.
*/
export class BufferDataSource {
constructor(data) {
this.data = data instanceof ArrayBuffer ? new Uint8Array(data) : data;
}
async read(offset, length) {
return this.data.slice(offset, offset + length);
}
}
//# sourceMappingURL=data-source.js.map