Provides a uniform interface for accessing binary data from local files, remote HTTP resources, and Blob data in the browser.
import { LocalFile, RemoteFile, BlobFile } from 'generic-filehandle2'
const local = new LocalFile('/some/file/path/file.txt')
const remote = new RemoteFile('http://somesite.com/file.txt')
const blobfile = new BlobFile(new Blob([some_data], { type: 'text/plain' }))
const buf1 = await remote.read(/* length */ 10, /* position */ 10) // range request
const buf2 = await remote.readFile()length- number of bytes to readposition- byte offset to read from
Returns the full file contents as a Uint8Array, or as a string if
opts.encoding is set.
Returns an object with the size of the file.
All entries are optional.
signal<AbortSignal>- passed to the fetch or file read callheaders<Record<string, string>>- extra HTTP headers for remote requestsoverrides<Object>- extra parameters passed to the fetch callencoding<string>- (readFileonly) if set to"utf8", returns a string instead ofUint8Array
The RemoteFile constructor accepts the same Options above, plus:
fetch<Function>- custom fetch implementation (defaults toglobalThis.fetch)
The original generic-filehandle library: https://github.com/GMOD/generic-filehandle
Trusted publishing via GitHub Actions.
npm version patch # or minor/major