From 840806e07ef1bba4848a317319812e9faae3dc0f Mon Sep 17 00:00:00 2001 From: rickyes Date: Tue, 14 Jul 2020 13:55:45 +0800 Subject: [PATCH] stream: refactor lazyLoadPromises PR-URL: https://github.com/nodejs/node/pull/34354 Reviewed-By: Matteo Collina Reviewed-By: Robert Nagy Reviewed-By: Zeyu Yang Reviewed-By: Anna Henningsen --- lib/stream.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) 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; } });