Skip to content
Permalink
Browse files
doc: include code examples for webstreams consumers
Add missing examples for webstreams consumers

Doc URL: https://nodejs.org/api/webstreams.html#streamconsumerstextstream

PR-URL: #44387
Reviewed-By: Erick Wendel <erick.workspace@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
  • Loading branch information
khaosdoctor authored and RafaelGSS committed Sep 26, 2022
1 parent ce1704c commit 10a0d75c2644ac2212d4c99f07e82a7d36c30453
Showing 1 changed file with 128 additions and 0 deletions.
@@ -1457,6 +1457,32 @@ added: v16.7.0
* Returns: {Promise} Fulfills with an `ArrayBuffer` containing the full
contents of the stream.

```mjs
import { buffer as arrayBuffer } from 'node:stream/consumers';
import { Readable } from 'node:stream';
import { TextEncoder } from 'node:util';
const encoder = new TextEncoder();
const dataArray = encoder.encode('hello world from consumers!');
const readable = Readable.from(dataArray);
const data = await arrayBuffer(readable);
console.log(`from readable: ${data.byteLength}`);
```

```cjs
const { arrayBuffer } = require('node:stream/consumers');
const { Readable } = require('stream');
const { TextEncoder } = require('util');
const encoder = new TextEncoder();
const dataArray = encoder.encode(['hello world from consumers!']);
const readable = Readable.from(dataArray);
arrayBuffer(readable).then((data) => {
console.log(`from readable: ${data.byteLength}`);
});
```

#### `streamConsumers.blob(stream)`

<!-- YAML
@@ -1467,6 +1493,27 @@ added: v16.7.0
* Returns: {Promise} Fulfills with a {Blob} containing the full contents
of the stream.

```mjs
import { blob } from 'node:stream/consumers';
const dataBlob = new Blob(['hello world from consumers!']);
const readable = dataBlob.stream();
const data = await blob(readable);
console.log(`from readable: ${data.size}`);
```

```cjs
const { blob } = require('node:stream/consumers');
const dataBlob = new Blob(['hello world from consumers!']);
const readable = dataBlob.stream();
blob(readable).then((data) => {
console.log(`from readable: ${data.size}`);
});
```

#### `streamConsumers.buffer(stream)`

<!-- YAML
@@ -1477,6 +1524,31 @@ added: v16.7.0
* Returns: {Promise} Fulfills with a {Buffer} containing the full
contents of the stream.

```mjs
import { buffer } from 'node:stream/consumers';
import { Readable } from 'node:stream';
import { Buffer } from 'node:buffer';
const dataBuffer = Buffer.from('hello world from consumers!');
const readable = Readable.from(dataBuffer);
const data = await buffer(readable);
console.log(`from readable: ${data.length}`);
```

```cjs
const { buffer } = require('node:stream/consumers');
const { Readable } = require('node:stream');
const { Buffer } = require('node:buffer');
const dataBuffer = Buffer.from('hello world from consumers!');
const readable = Readable.from(dataBuffer);
buffer(readable).then((data) => {
console.log(`from readable: ${data.length}`);
});
```

#### `streamConsumers.json(stream)`

<!-- YAML
@@ -1487,6 +1559,43 @@ added: v16.7.0
* Returns: {Promise} Fulfills with the contents of the stream parsed as a
UTF-8 encoded string that is then passed through `JSON.parse()`.

```mjs
import { json } from 'node:stream/consumers';
import { Readable } from 'node:stream';
const items = Array.from(
{
length: 100
},
() => ({
message: 'hello world from consumers!'
})
);
const readable = Readable.from(JSON.stringify(items));
const data = await json(readable);
console.log(`from readable: ${data.length}`);
```

```cjs
const { json } = require('node:stream/consumers');
const { Readable } = require('node:stream');
const items = Array.from(
{
length: 100
},
() => ({
message: 'hello world from consumers!'
})
);
const readable = Readable.from(JSON.stringify(items));
json(readable).then((data) => {
console.log(`from readable: ${data.length}`);
});
```

#### `streamConsumers.text(stream)`

<!-- YAML
@@ -1497,5 +1606,24 @@ added: v16.7.0
* Returns: {Promise} Fulfills with the contents of the stream parsed as a
UTF-8 encoded string.

```mjs
import { json, text, blob, buffer } from 'node:stream/consumers';
import { Readable } from 'node:stream';
const readable = Readable.from('Hello world from consumers!');
const data = await text(readable);
console.log(`from readable: ${data.length}`);
```

```cjs
const { text } = require('node:stream/consumers');
const { Readable } = require('node:stream');
const readable = Readable.from('Hello world from consumers!');
text(readable).then((data) => {
console.log(`from readable: ${data.length}`);
});
```

[Streams]: stream.md
[WHATWG Streams Standard]: https://streams.spec.whatwg.org/

0 comments on commit 10a0d75

Please sign in to comment.