random-access-compatible indexedDB storage layer
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.
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
})
})
var random = require('random-access-idb')
Open an indexedDB database at dbname
.
Any opts
provided are forwarded to db(name, opts)
as default options.
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.
Read length
bytes at an offset
from file
as cb(err, buf)
.
Write buf
to file
at an offset
.
npm install random-access-idb
BSD