random-access-storage provider via non-standard IDBMutableFile API
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is even with Gozala:master.
Cannot retrieve the latest commit at this time.
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
flow-typed/npm
src
test
.babelrc
.flowconfig
.gitignore
.npmignore
.travis.yml
License.md
Readme.md
karma.conf.js
package.json
rollup.config.js
yarn.lock

Readme.md

random-access-idb-mutable-file

travis package downloads styled with prettier

random-access storage layer over IDBMutableFile, which is non-standard IndexedDB extension in Gecko to provide virtual file system API with-in the IndexedDB.

This library will only work in Firefox (unless other browsers implement IDBMutableFile API) and it's mostly targeted at WebExtensions. It mostly amis to be a drop-in replacement for random-access-file. It is also an alternative to random-access-idb that is able to avoid loading all of the file content for random read / writes at the expanse of limited runtime suport.

Usage

import RandomAccess from "random-access-idb-mutable-file"

const main = async (filename, options) => {
  const randomAccessFile = await RandomAccess.mount()

  const file = randomAccessFile(filename, options)
  file.write(10, Buffer.from("hello"), error => {
    // write a buffer to offset 10
    file.read(10, 5, (error, buffer) => {
      console.log(buffer) // read 5 bytes from offset 10
      file.close(() => {
        console.log("file is closed")
      })
    })
  })
}

Install

npm install random-access-idb-mutable-file