You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							63 lines
						
					
					
						
							3.1 KiB
						
					
					
				
			
		
		
	
	
							63 lines
						
					
					
						
							3.1 KiB
						
					
					
				# deferred-leveldown
 | 
						|
 | 
						|
> A mock `abstract-leveldown` implementation that queues operations while a real `abstract-leveldown` instance is being opened.
 | 
						|
 | 
						|
[![level badge][level-badge]](https://github.com/Level/awesome)
 | 
						|
[](https://www.npmjs.com/package/deferred-leveldown)
 | 
						|
[](https://www.npmjs.com/package/deferred-leveldown)
 | 
						|
[](https://travis-ci.org/Level/deferred-leveldown)
 | 
						|
[](https://coveralls.io/github/Level/deferred-leveldown)
 | 
						|
[](https://standardjs.com)
 | 
						|
[](https://www.npmjs.com/package/deferred-leveldown)
 | 
						|
[](#backers)
 | 
						|
[](#sponsors)
 | 
						|
 | 
						|
`deferred-leveldown` implements the basic [abstract-leveldown](https://github.com/Level/abstract-leveldown) API so it can be used as a drop-in replacement where `leveldown` is needed.
 | 
						|
 | 
						|
`put()`, `get()`, `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.
 | 
						|
 | 
						|
```js
 | 
						|
const deferred  = require('deferred-leveldown')
 | 
						|
const leveldown = require('leveldown')
 | 
						|
 | 
						|
const db = deferred(leveldown('location'))
 | 
						|
 | 
						|
db.put('foo', 'bar', function (err) {
 | 
						|
 | 
						|
})
 | 
						|
 | 
						|
db.open(function (err) {
 | 
						|
  // ...
 | 
						|
})
 | 
						|
```
 | 
						|
 | 
						|
**If you are upgrading:** please see [UPGRADING.md](UPGRADING.md).
 | 
						|
 | 
						|
## Contributing
 | 
						|
 | 
						|
[`Level/deferred-leveldown`](https://github.com/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](https://github.com/Level/community/blob/master/CONTRIBUTING.md) for more details.
 | 
						|
 | 
						|
## Donate
 | 
						|
 | 
						|
To sustain [`Level`](https://github.com/Level) and its activities, become a backer or sponsor on [Open Collective](https://opencollective.com/level). Your logo or avatar will be displayed on our 28+ [GitHub repositories](https://github.com/Level) and [npm](https://www.npmjs.com/) packages. 💖
 | 
						|
 | 
						|
### Backers
 | 
						|
 | 
						|
[](https://opencollective.com/level)
 | 
						|
 | 
						|
### Sponsors
 | 
						|
 | 
						|
[](https://opencollective.com/level)
 | 
						|
 | 
						|
## License
 | 
						|
 | 
						|
[MIT](LICENSE.md) © 2013-present Rod Vagg and [Contributors](CONTRIBUTORS.md).
 | 
						|
 | 
						|
[level-badge]: https://leveljs.org/img/badge.svg
 |