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.
57 lines
1.5 KiB
57 lines
1.5 KiB
|
|
# level-iterator-stream |
|
|
|
<img alt="LevelDB Logo" height="100" src="http://leveldb.org/img/logo.svg"> |
|
|
|
**Turn a leveldown iterator into a readable stream** |
|
|
|
[![Build Status](https://travis-ci.org/Level/iterator-stream.png)](https://travis-ci.org/Level/iterator-stream) |
|
|
|
## Example |
|
|
|
```js |
|
var iteratorStream = require('level-iterator-stream'); |
|
var leveldown = require('leveldown'); |
|
|
|
var db = leveldown(__dirname + '/db'); |
|
db.open(function(err){ |
|
if (err) throw err; |
|
|
|
var stream = iteratorStream(db.iterator()); |
|
stream.on('data', function(kv){ |
|
console.log('%s -> %s', kv.key, kv.value); |
|
}); |
|
}); |
|
``` |
|
|
|
## Installation |
|
|
|
```bash |
|
$ npm install level-iterator-stream |
|
``` |
|
|
|
## API |
|
|
|
### iteratorStream(iterator[, options]) |
|
|
|
Create a readable stream from `iterator`. `options` are passed down to the |
|
`require('readable-stream').Readable` constructor, with `objectMode` forced |
|
to `true`. |
|
|
|
If `options.decoder` is passed, each key/value pair will be transformed by it. |
|
Otherwise, an object with `{ key, value }` will be emitted. |
|
|
|
When the stream ends, the `iterator` will be closed and afterwards a |
|
`"close"` event emitted. |
|
|
|
`.destroy()` will force close the underlying iterator. |
|
|
|
## Publishers |
|
|
|
* [@juliangruber](https://github.com/juliangruber) |
|
|
|
## License & copyright |
|
|
|
Copyright (c) 2012-2015 LevelUP contributors. |
|
|
|
LevelUP is licensed under the MIT license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details.
|
|
|