Home

Awesome

deferred-leveldown

A mock abstract-leveldown implementation that queues operations while a real abstract-leveldown instance is being opened.

:pushpin: This module will soon be deprecated, because its functionality is included in abstract-level.

level badge npm Node version Test Coverage Standard Common Changelog Donate

Usage

If you are upgrading: please see UPGRADING.md.

deferred-leveldown implements the abstract-leveldown API so it can be used as a drop-in replacement where leveldown is needed.

put(), get(), getMany(), del(), batch() and clear() operations are all queued and kept in memory until the abstract-leveldown-compatible object has been opened through deferred-leveldown's open() method.

batch() operations will all be replayed as the array form. Chained-batch operations are converted before being stored.

const deferred  = require('deferred-leveldown')
const leveldown = require('leveldown')

const db = deferred(leveldown('location'))

// Must always call open() first
db.open(function (err) {
  // ...
})

// But can operate before open() has finished
db.put('foo', 'bar', function (err) {
  // ...
})

Contributing

Level/deferred-leveldown is an OPEN Open Source Project. This means that:

Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.

See the Contribution Guide for more details.

Donate

Support us with a monthly donation on Open Collective and help us continue our work.

License

MIT