Create a temporary sublevel that is guaranteed to be empty.
npm install level-temp
var temp = require('level-temp')
var tmp = temp(db) // where db is a levelup
// call tmp to get a temporary sublevel that is empty
var a = tmp()
a.put('hello', 'world', function () {
a.createReadStream()
.on('data', function (data) {
console.log('a has only one', data)
})
})
// call tmp again to get another empty sublevel
var b = tmp()
b.put('hej', 'verden', function () {
b.createReadStream()
.on('data', function (data) {
console.log('b has only one', data)
})
})
If you explicitly close the tmp database (using tmpDb.close()
) the contents will
be removed. If you restart your application previous tmp data will be overriden as well.
Create a new temporary sublevel generator. Options are used as default for any tmp databases created afterwards.
Optionally you can set prefix
to a string that will prefix all tmp sublevels created.
var tmp = temp(db, {valueEncoding: 'json'}) // set valueEncoding: json all tmp sublevels
Create a new temporary sublevel.
Any options
passed here are forwarded to levelup
with the default values from the temp
constructor mixed in.
Per default an increasing number is used to prefix the temporary sublevels.
To change this set the prefix
to whatever string you want to use as a prefix.
The returned tmpDb
is a regular levelup that will have its contents garbage collected when you call tmpDb.close()
or at some point in the future when the temporary sublevel prefix is being reused.
MIT