
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
level-read-stream
Advanced tools
Read from an abstract-level database using Node.js streams.
:pushpin: Which module should I use? What is
abstract-level? Head over to the FAQ.
If you are migrating from levelup or level <= 7: please see UPGRADING.md.
const { EntryStream } = require('level-read-stream')
const { Writable, pipeline } = require('readable-stream')
await db.put('a', '1')
await db.put('b', '2')
await db.put('c', '3')
const src = new EntryStream(db, {
gte: 'b'
})
const dst = new Writable({
write (entry, _, next) {
console.log('%s: %s', entry.key, entry.value)
next()
}
})
pipeline(src, dst)
Yields:
b: 2
c: 3
To only read keys or values rather than entries:
const { KeyStream, ValueStream } = require('level-read-stream')
pipeline(new KeyStream(db), new Writable({
write (key, _, next) {
console.log(key)
next()
}
}))
With npm do:
npm install level-read-stream
stream = new EntryStream(db[, options])Create a readable stream that will yield entries. An entry is an object with key and value properties. The db argument must be an abstract-level database. The optional options object may contain:
highWaterMark (number): the maximum number of entries to buffer internally before ceasing to read further entries. Default 16.Any other options are forwarded to db.iterator(options). The stream wraps that iterator. If you prefer to consume entries with for await...of then it's recommended to directly use db.iterator(). In either case, most databases will read from a snapshot (thus unaffected by simultaneous writes) as indicated by db.supports.snapshots.
Upon stream end or having called stream.destroy() the underlying iterator will be closed after which a close event is emitted on the stream.
stream = new KeyStream(db[, options])Same as EntryStream but yields keys instead of entries. If only keys are needed, using KeyStream may increase performance because values won't have to be fetched.
stream = new ValueStream(db[, options])Same as EntryStream but yields values instead of entries. If only values are needed, using ValueStream may increase performance because keys won't have to be fetched.
streamAn instance of EntryStream, KeyStream or ValueStream has the following special properties.
stream.dbA read-only reference to the db that was passed to the stream constructor.
Level/read-stream 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.
Support us with a monthly donation on Open Collective and help us continue our work.
FAQs
Read from an abstract-level database using Node.js streams
The npm package level-read-stream receives a total of 0 weekly downloads. As such, level-read-stream popularity was classified as not popular.
We found that level-read-stream demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.