@loom-io/in-memory-adapter
Version:
A file system wrapper for Node.js and Bun
19 lines (18 loc) • 641 B
JavaScript
export class FileHandler {
file;
mode;
constructor(file, mode = 'r') {
this.file = file;
this.mode = mode;
}
async read(bufferOrOptions, _options = {}) {
const [buffer, options] = bufferOrOptions instanceof Buffer ? [bufferOrOptions, _options] : [Buffer.alloc(16384), bufferOrOptions];
const { offset = 0, length = buffer.length - offset, position = 0 } = options;
const { content } = this.file;
const slice = content.subarray(position, position + length);
slice.copy(buffer, offset);
return { buffer, bytesRead: slice.length };
}
close() {
}
}