sleepfile
Sleep files for Node.js
npm install sleepfile
Usage
const Sleepfile = require('sleepfile')
const ram = require('random-access-memory')
const file = new Sleepfile(ram())
file.put(42, Buffer.alloc(42), function (err) {
console.log('Inserted an entry at index 42')
file.get(42, function (err, buf) {
console.log('Read it out again')
})
})
API
file = new Sleepfile(storage, [options])
Create a new sleep file. Storage should be a random-access-storage instance.
Options include
{
magicBytes: 0x00000000,
valueSize: 42,
valueEncoding: encoding,
name: 'algo',
overwrite: false
}
file.put(index, value, [callback])
Insert a value at an index.
file.putBatch(offset, values, [callback])
Insert an array of values starting at offset.
file.get(index, callback)
Get the value at index.
file.getBatch(offset, length, [callback])
Get an array of values starting at offset.
file.stat(callback)
Get metadata about the sleepfile itself. Returned object looks like this:
{
magicBytes: 0x00000000,
version: 0,
valueSize: 42,
name: 'algo name',
length: 42,
density: 0.60
}
file.head(callback)
Get the value out with the highest index, i.e. stat.length - 1.
If the file is empty null is returned.
License
MIT