// the take
event-stream is a small toolkit of composable Node.js stream helpers (map, filter, split, merge, wait, parse/stringify) that let you treat a stream like an array laid out over time. It targets Node developers building line-oriented or JSON-over-stdin/stdout pipelines who want Array-style combinators instead of writing raw Transform classes by hand.
The API maps cleanly onto familiar Array methods (map, filter, reduce-style wait), which keeps the learning curve low for anyone who already thinks in terms of functional pipelines. split() handles both string and regex delimiters and explicitly documents how to keep line breaks, which is a detail most hand-rolled line-splitters get wrong. duplex() and child() make it easy to wrap a child_process's stdin/stdout pair or any writable/readable pair as a single through stream, which is genuinely fiddly to do correctly with raw Node streams.
This exact package was the vector for a well-known 2018 supply-chain attack: publish rights to its dependency flatmap-stream were handed to an unknown contributor who added obfuscated code that stole Bitcoin private keys from the Copay wallet app and others downstream. Anyone pulling this in transitively needs to verify they're on a patched version (3.3.6+) and not resolving an old pinned range. Last pushed in 2018 with no activity since, so it predates async iterators and the current Stream/Transform ergonomics Node has had for years. map()'s correctness depends on the callback being called exactly once per item — forgetting it silently stalls the stream with no error, which is an easy footgun. Node core plus small, actively maintained single-purpose packages (split2, through2, pump) now cover nearly everything here, leaving little reason to add this as a new dependency today.
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →