diff --git a/lib/stream.js b/lib/stream.js index ed6cc19753c806..9ea9a0ceeebbab 100644 --- a/lib/stream.js +++ b/lib/stream.js @@ -49,28 +49,30 @@ Stream.PassThrough = require('_stream_passthrough'); Stream.pipeline = pipeline; Stream.finished = eos; +function lazyLoadPromises() { + if (promises === null) promises = require('stream/promises'); + return promises; +} + ObjectDefineProperty(Stream, 'promises', { configurable: true, enumerable: true, get() { - if (promises === null) promises = require('stream/promises'); - return promises; + return lazyLoadPromises(); } }); ObjectDefineProperty(pipeline, customPromisify, { enumerable: true, get() { - if (promises === null) promises = require('stream/promises'); - return promises.pipeline; + return lazyLoadPromises().pipeline; } }); ObjectDefineProperty(eos, customPromisify, { enumerable: true, get() { - if (promises === null) promises = require('stream/promises'); - return promises.finished; + return lazyLoadPromises().finished; } });