diff --git a/lib/stream.js b/lib/stream.js index a69354138a2248..3484bd8b6ba0d0 100644 --- a/lib/stream.js +++ b/lib/stream.js @@ -22,6 +22,7 @@ 'use strict'; const { + ObjectDefineProperties, ObjectDefineProperty, ObjectKeys, ReflectApply, @@ -110,12 +111,34 @@ Stream.compose = compose; Stream.setDefaultHighWaterMark = setDefaultHighWaterMark; Stream.getDefaultHighWaterMark = getDefaultHighWaterMark; -ObjectDefineProperty(Stream, 'promises', { - __proto__: null, - configurable: true, - enumerable: true, - get() { - return promises; +let consumers; +let web; +ObjectDefineProperties(Stream, { + consumers: { + __proto__: null, + configurable: true, + enumerable: true, + get() { + consumers ??= require('stream/consumers'); + return consumers; + }, + }, + promises: { + __proto__: null, + configurable: true, + enumerable: true, + get() { + return promises; + }, + }, + web: { + __proto__: null, + configurable: true, + enumerable: true, + get() { + web ??= require('stream/web'); + return web; + }, }, });