Skip to content
master
Switch branches/tags
Code
This branch is up to date with master.
Contribute

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

random-access-idb

random-access-compatible indexedDB storage layer

Build Status

NB: This version is a fork of @substack's original random-access-idb that implements random-access-storage abstraction. It helps normalizing every random access instances and eases rai usage in modules like random-access-network.

Substack's idb.close() function is removed from this branch as it appears to conflict with how Corestore opens and closes the RandomAccess Store, until further work can be done to gracefully handle closing state.

example

var random = require('random-access-idb')('dbname')
var cool = random('cool.txt')
cool.write(100, Buffer.from('GREETINGS'), function (err) {
  if (err) return console.error(err)
  cool.read(104, 3, function (err, buf) {
    if (err) return console.error(err)
    console.log(buf.toString()) // TIN
  })
})

api

var random = require('random-access-idb')

var db = random(dbname, opts)

Open an indexedDB database at dbname.

Any opts provided are forwarded to db(name, opts) as default options.

var file = db(name, opts)

Create a handle file from name and opts:

  • opts.size - internal chunk size to use (default 4096)

You must keep opts.size the same after you've written data. If you change the size, bad things will happen.

file.read(offset, length, cb)

Read length bytes at an offset from file as cb(err, buf).

file.write(offset, buf, cb)

Write buf to file at an offset.

install

npm install random-access-idb

license

BSD

About

random-access-compatible indexedDB storage layer

Resources

License

Packages

No packages published