File tree Expand file tree Collapse file tree 2 files changed +7
-17
lines changed Expand file tree Collapse file tree 2 files changed +7
-17
lines changed Original file line number Diff line number Diff line change @@ -136,13 +136,18 @@ const legacyWrapperList = new SafeSet([
136
136
'DEP0111' ) ;
137
137
}
138
138
if ( legacyWrapperList . has ( module ) ) {
139
- return nativeModuleRequire ( 'internal/legacy/processbinding' ) [ module ] ( ) ;
139
+ return bindingObj [ module ] ??=
140
+ nativeModuleRequire ( 'internal/legacy/processbinding' ) [ module ] ( ) ;
140
141
}
141
142
return internalBinding ( module ) ;
142
143
}
143
144
// eslint-disable-next-line no-restricted-syntax
144
145
throw new Error ( `No such module: ${ module } ` ) ;
145
146
} ;
147
+ }
148
+
149
+ {
150
+ const bindingObj = ObjectCreate ( null ) ;
146
151
147
152
process . _linkedBinding = function _linkedBinding ( module ) {
148
153
module = String ( module ) ;
Original file line number Diff line number Diff line change 2
2
const {
3
3
ArrayPrototypeFilter,
4
4
ArrayPrototypeIncludes,
5
- ArrayPrototypeMap,
6
5
ObjectFromEntries,
7
6
ObjectEntries,
8
7
SafeArrayIterator,
9
8
} = primordials ;
10
9
const types = require ( 'internal/util/types' ) ;
11
10
12
- const factories = {
11
+ module . exports = {
13
12
util ( ) {
14
13
return ObjectFromEntries ( new SafeArrayIterator ( ArrayPrototypeFilter (
15
14
ObjectEntries ( types ) ,
@@ -35,17 +34,3 @@ const factories = {
35
34
} ) ) ) ;
36
35
}
37
36
} ;
38
-
39
- module . exports = ObjectFromEntries (
40
- new SafeArrayIterator (
41
- ArrayPrototypeMap ( ObjectEntries ( factories ) , ( { 0 : key , 1 : factory } ) => {
42
- let result ;
43
- return [ key , ( ) => {
44
- if ( ! result ) {
45
- result = factory ( ) ;
46
- }
47
- return result ;
48
- } ] ;
49
- } ) ,
50
- ) ,
51
- ) ;
You can’t perform that action at this time.
0 commit comments