node package manager



A mock LevelDOWN implementation that queues operations while a real LevelDOWN instance is being opened.

LevelDB Logo

Build Status


DeferredLevelDOWN implements the basic AbstractLevelDOWN API so it can be used as a drop-in replacement where LevelDOWN is needed.

put(), get(), del() and batch() operations are all queued and kept in memory until a new LevelDOWN-compatible object can be supplied.

The setDb(db) method is used to supply a new LevelDOWN object. Once received, all queued operations are replayed against that object, in order.

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


DeferredLevelDOWN 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 file for more details.


DeferredLevelDOWN is only possible due to the excellent work of the following contributors:

Rod VaggGitHub/rvaggTwitter/@rvagg
John ChesleyGitHub/cheslesTwitter/@chesles
Jake VerbatenGitHub/raynosTwitter/@raynos2
Dominic TarrGitHub/dominictarrTwitter/@dominictarr
Max OgdenGitHub/maxogdenTwitter/@maxogden
Lars-Magnus SkogGitHub/ralphtheninjaTwitter/@ralphtheninja
David BjörklundGitHub/keslaTwitter/@david_bjorklund
Julian GruberGitHub/juliangruberTwitter/@juliangruber
Paolo FragomeniGitHub/hij1nxTwitter/@hij1nx
Anton WhalleyGitHub/No9Twitter/@antonwhalley
Matteo CollinaGitHub/mcollinaTwitter/@matteocollina
Pedro TeixeiraGitHub/pgteTwitter/@pgte
James HallidayGitHub/substackTwitter/@substack

License & copyright

Copyright (c) 2013-2015 DeferredLevelDOWN contributors (listed above).

DeferredLevelDOWN is licensed under the MIT license. All rights not explicitly granted in the MIT license are reserved. See the included file for more details.