Skip to content

Commit 88a656a

Browse files
committed
stream: load stream module when using stream/promises
1 parent 47ca37d commit 88a656a

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

lib/stream/promises.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ const {
1313
const { pipelineImpl: pl } = require('internal/streams/pipeline');
1414
const { finished } = require('internal/streams/end-of-stream');
1515

16+
require('stream');
17+
1618
function pipeline(...streams) {
1719
return new Promise((resolve, reject) => {
1820
let signal;
Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1+
/* eslint-disable node-core/require-common-first, require-yield */
12
'use strict';
2-
const common = require('../common');
3-
const assert = require('assert');
43
const { pipeline } = require('node:stream/promises');
5-
64
{
75
// Ensure that async iterators can act as readable and writable streams
86
async function* myCustomReadable() {
97
yield 'Hello';
108
yield 'World';
119
}
1210

13-
// eslint-disable-next-line require-yield
11+
const messages = [];
1412
async function* myCustomWritable(stream) {
15-
const messages = [];
1613
for await (const chunk of stream) {
1714
messages.push(chunk);
1815
}
19-
assert.deepStrictEqual(messages, ['Hello', 'World']);
2016
}
2117

22-
pipeline(
23-
myCustomReadable,
24-
myCustomWritable,
25-
)
26-
.then(common.mustCall());
18+
(async () => {
19+
await pipeline(
20+
myCustomReadable,
21+
myCustomWritable,
22+
);
23+
// Importing here to avoid initializing streams
24+
require('assert').deepStrictEqual(messages, ['Hello', 'World']);
25+
})()
26+
.then(require('../common').mustCall());
2727
}

0 commit comments

Comments
 (0)