Package detail

deferred-leveldown

Level5.2mMITdeprecated7.0.0

Superseded by abstract-level (https://github.com/Level/community#faq)

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

leveldb, level, levelup, leveldown

readme

deferred-leveldown

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

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

changelog

Changelog

7.0.0 - 2021-09-30

If you are upgrading: please see UPGRADING.md.

Changed

  • Breaking: only defer operations while db is opening (0e8475f) (#89) (Vincent Weevers)

Added

  • Add db.getMany(keys) (df5f239) (#89) (Vincent Weevers)

6.0.0 - 2021-04-17

If you are upgrading: please see UPGRADING.md.

Changed

Removed

5.3.0 - 2019-10-04

Added

Fixed

5.2.1 - 2019-09-17

Fixed

  • Create iterators in order and add type property for reachdown (#75) (@vweevers)

5.2.0 - 2019-09-06

Changed

  • Upgrade abstract-leveldown from ~6.0.0 to ~6.1.0 (#72) (@vweevers)
  • Upgrade hallmark devDependency from ^0.1.0 to ^2.0.0 (#70, #74) (@vweevers)
  • Upgrade standard devDependency from ^12.0.0 to ^14.0.0 (#69, #73) (@vweevers)

Added

  • Defer db.clear() and db.compactRange() (#72)

5.1.0 - 2019-06-22

Changed

  • Update nyc devDependency from ^13.2.0 to ^14.0.0 (#66) (@vweevers)

Added

5.0.1 - 2019-03-31

Changed

Fixed

5.0.0 - 2018-12-21

If you are upgrading: please see UPGRADING.md.

Changed

  • Upgrade abstract-leveldown dependency from ~5.0.0 to ~6.0.0 (@ralphtheninja)
  • Upgrade standard devDependency from ^11.0.0 to ^12.0.0 (@ralphtheninja)
  • Tweak copyright years for less maintenance (@ralphtheninja)

Added

Removed

4.0.2 - 2018-05-30

Changed

4.0.1 - 2018-05-22

Changed

4.0.0 - 2018-05-13

If you are upgrading: please see UPGRADING.md.

Added

Changed

Removed

3.0.0 - 2018-02-08

If you are upgrading: please see UPGRADING.md.

Added

Changed

Removed

  • Remove DeferredLevelDOWN.prototype._isBuffer, no longer needed since we use Buffer.isBuffer() (@ralphtheninja)

Fixed

2.0.3 - 2017-11-04

Note: abstract-leveldown@3.0.0 dropped support for node 0.12 and didn't have any breaking changes to api or behavior, hence a new patch version.

Added

Changed

  • Upgrade to abstract-leveldown@3.0.0 (@vweevers)

2.0.2 - 2017-10-06

Added

Changed

Fixed

  • _serializeKey() and _serializeValue() should not modify keys or values (@ralphtheninja)

2.0.1 - 2017-09-12

Added

Changed

Removed

2.0.0 - 2017-07-30

Changed

2.0.0-2 - 2015-05-28

Fixed

2.0.0-1 - 2015-05-28

No changes.

2.0.0-0 - 2015-05-27

Changed

1.2.2 - 2017-07-30

Added

Changed

  • Update tape and abstract-leveldown dependencies (@juliangruber)

Removed

1.2.1 - 2015-08-14

Added

Removed

Fixed

1.2.0 - 2015-05-28

Changed

  • Upgrade to abstract-leveldown@2.4.0 for .status (@juliangruber)

1.1.0 - 2015-05-22

Changed

1.0.0 - 2015-04-28

Changed

0.3.0 - 2015-04-16

Added

Changed

0.2.0 - 2014-04-26

Removed

  • Remove bops and replace with Buffer (@rvagg)

0.1.0 - 2013-10-14

Changed

  • location passed to AbstractLevelDOWN constructor is optional (@rvagg)

Removed

  • Remove npm-dl badge (@rvagg)

Fixed

  • Fix broken travis badge (@rvagg)
  • Fix links from rvagg/ to Level/ (@rvagg)

0.0.1 - 2013-09-30

Added

  • Add tests (@rvagg)
  • Add node 0.10 and 0.11 to travis (@rvagg)

Changed

  • Update documentation (@rvagg)

0.0.0 - 2013-09-17

:seedling: First release. (@rvagg)