UNPKG

@loom-io/in-memory-adapter

Version:

A file system wrapper for Node.js and Bun

19 lines (18 loc) 641 B
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() { } }