- Version: v13.11.0
- Platform: Windows 10 64-bit
- Subsystem: stream
What steps will reproduce the bug?
index.mjs:
import { pipeline, PassThrough } from 'stream'
async function* asyncGen(source) {
for await (const chunk of source) {
yield chunk;
}
}
pipeline(process.stdin, asyncGen, process.stdout, err => {
console.error('end')
})
then echo "hello" | node index.mjs ends up like this:
but if you replace asyncGen in the pipeline by new PassThrough(), it ends up like this:
As you can see, the callback is never called.
How often does it reproduce? Is there a required condition?
What is the expected behavior?
What do you see instead?
Additional information
I don't really know if it's an expected behavior or a bug to be honest. As I can't find anything related in the documentation, it feels like a bug.