Skip to content

Commit eacc89f

Browse files
doc: add example for piping ReadableStream
When piping a `ReadableStream` created from an `Iterable` into a `WritableStream`, the sequence of objects in the `Iterable` must consist of either `Buffer`s, `TypedArray`s, or `DataView`s. Re: nodejs#56297
1 parent b3f82fe commit eacc89f

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

doc/api/webstreams.md

+33
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,39 @@ async function* asyncIterableGenerator() {
436436
})();
437437
```
438438

439+
To pipe the resulting {ReadableStream} into a {WritableStream} the {Iterable}
440+
should yield a sequence of {Buffer}, {TypedArray}, or {DataView} objects.
441+
442+
```mjs
443+
import { ReadableStream } from 'node:stream/web';
444+
import { Buffer } from 'node:buffer';
445+
446+
async function* asyncIterableGenerator() {
447+
yield Buffer.from('a');
448+
yield Buffer.from('b');
449+
yield Buffer.from('c');
450+
}
451+
452+
const stream = ReadableStream.from(asyncIterableGenerator());
453+
454+
stream.pipeTo(createWritableStreamSomehow());
455+
```
456+
457+
```cjs
458+
const { ReadableStream } = require('node:stream/web');
459+
const { Buffer } = require('node:buffer')
460+
461+
async function* asyncIterableGenerator() {
462+
yield Buffer.from('a');
463+
yield Buffer.from('b');
464+
yield Buffer.from('c');
465+
}
466+
467+
const stream = ReadableStream.from(asyncIterableGenerator());
468+
469+
stream.pipeTo(createWritableStreamSomehow());
470+
```
471+
439472
### Class: `ReadableStreamDefaultReader`
440473

441474
<!-- YAML

0 commit comments

Comments
 (0)