Skip to content

Commit 6b4f5ed

Browse files
committed
lib: export stable submodules in parent builtins
1 parent 3a3672b commit 6b4f5ed

File tree

2 files changed

+41
-6
lines changed

2 files changed

+41
-6
lines changed

lib/stream.js

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
'use strict';
2323

2424
const {
25+
ObjectDefineProperties,
2526
ObjectDefineProperty,
2627
ObjectKeys,
2728
ReflectApply,
@@ -109,12 +110,36 @@ Stream.compose = compose;
109110
Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
110111
Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
111112

112-
ObjectDefineProperty(Stream, 'promises', {
113-
__proto__: null,
114-
configurable: true,
115-
enumerable: true,
116-
get() {
117-
return promises;
113+
let consumers;
114+
let web;
115+
ObjectDefineProperties(Stream, {
116+
consumers: {
117+
__proto__: null,
118+
configurable: true,
119+
enumerable: true,
120+
get() {
121+
if (consumers === undefined)
122+
consumers = require('stream/consumers');
123+
return consumers;
124+
}
125+
},
126+
promises: {
127+
__proto__: null,
128+
configurable: true,
129+
enumerable: true,
130+
get() {
131+
return promises;
132+
},
133+
},
134+
web: {
135+
__proto__: null,
136+
configurable: true,
137+
enumerable: true,
138+
get() {
139+
if (web === undefined)
140+
web = require('stream/web');
141+
return web;
142+
}
118143
},
119144
});
120145

lib/timers.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,3 +363,13 @@ module.exports = {
363363
'timers.enroll() is deprecated. Please use setTimeout instead.',
364364
'DEP0095'),
365365
};
366+
367+
ObjectDefineProperty(module.exports, 'promises', {
368+
configurable: true,
369+
enumerable: true,
370+
get() {
371+
if (!timersPromises)
372+
timersPromises = require('timers/promises');
373+
return timersPromises;
374+
},
375+
});

0 commit comments

Comments
 (0)