Skip to content

Commit 7e24afa

Browse files
committed
lib: export stable submodules in parent builtins
1 parent a987ba1 commit 7e24afa

File tree

2 files changed

+31
-6
lines changed

2 files changed

+31
-6
lines changed

lib/stream.js

Lines changed: 21 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,
@@ -97,12 +98,26 @@ Stream.finished = eos;
9798
Stream.destroy = destroyer;
9899
Stream.compose = compose;
99100

100-
ObjectDefineProperty(Stream, 'promises', {
101-
configurable: true,
102-
enumerable: true,
103-
get() {
104-
return promises;
105-
}
101+
let consumers;
102+
let web;
103+
ObjectDefineProperties(Stream, {
104+
// TODO: export stream/web when it is stable
105+
consumers: {
106+
configurable: true,
107+
enumerable: true,
108+
get() {
109+
if (consumers === undefined)
110+
consumers = require('stream/consumers');
111+
return consumers;
112+
}
113+
},
114+
promises: {
115+
configurable: true,
116+
enumerable: true,
117+
get() {
118+
return promises;
119+
},
120+
},
106121
});
107122

108123
ObjectDefineProperty(pipeline, customPromisify, {

lib/timers.js

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

0 commit comments

Comments
 (0)