Sleep files for Node.js
npm install sleepfile
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')
})
})
Create a new sleep file. Storage should be a random-access-storage instance.
Options include
{
magicBytes: 0x00000000, // set a magic bytes header of the file
valueSize: 42, // explicitly set the valueSize (infered on first put otherwise)
valueEncoding: encoding, // optionally set an abstract-encoding for the values
name: 'algo', // optionally set the algorithm name in the header
overwrite: false // reset the file content
}
Insert a value at an index.
Insert an array of values starting at offset.
Get the value at index.
Get an array of values starting at offset.
Get metadata about the sleepfile itself. Returned object looks like this:
{
magicBytes: 0x00000000, // the magic bytes stored
version: 0, // sleep version
valueSize: 42,
name: 'algo name',
length: 42, // how many values are there maximum
density: 0.60 // how much of the underlying storage are actually in use
}
Get the value out with the highest index, i.e. stat.length - 1
.
If the file is empty null
is returned.
MIT