2
2
3
3
const {
4
4
ArrayPrototypeJoin,
5
+ ArrayPrototypeMap,
6
+ ArrayPrototypePush,
7
+ FunctionPrototype,
5
8
ObjectSetPrototypeOf,
6
9
PromiseAll,
10
+ PromiseResolve,
11
+ PromisePrototypeCatch,
12
+ ReflectApply,
7
13
SafeSet,
8
- SafePromise,
9
14
StringPrototypeIncludes,
10
15
StringPrototypeMatch,
11
16
StringPrototypeReplace,
@@ -16,9 +21,9 @@ const { ModuleWrap } = internalBinding('module_wrap');
16
21
17
22
const { decorateErrorStack } = require ( 'internal/util' ) ;
18
23
const assert = require ( 'internal/assert' ) ;
19
- const resolvedPromise = SafePromise . resolve ( ) ;
24
+ const resolvedPromise = PromiseResolve ( ) ;
20
25
21
- function noop ( ) { }
26
+ const noop = FunctionPrototype ;
22
27
23
28
let hasPausedEntry = false ;
24
29
@@ -35,7 +40,7 @@ class ModuleJob {
35
40
this . module = undefined ;
36
41
// Expose the promise to the ModuleWrap directly for linking below.
37
42
// `this.module` is also filled in below.
38
- this . modulePromise = moduleProvider . call ( loader , url , isMain ) ;
43
+ this . modulePromise = ReflectApply ( moduleProvider , loader , [ url , isMain ] ) ;
39
44
40
45
// Wait for the ModuleWrap instance being linked with all dependencies.
41
46
const link = async ( ) => {
@@ -49,21 +54,21 @@ class ModuleJob {
49
54
const dependencyJobs = [ ] ;
50
55
const promises = this . module . link ( async ( specifier ) => {
51
56
const jobPromise = this . loader . getModuleJob ( specifier , url ) ;
52
- dependencyJobs . push ( jobPromise ) ;
57
+ ArrayPrototypePush ( dependencyJobs , jobPromise ) ;
53
58
const job = await jobPromise ;
54
59
return job . modulePromise ;
55
60
} ) ;
56
61
57
62
if ( promises !== undefined )
58
- await SafePromise . all ( promises ) ;
63
+ await PromiseAll ( promises ) ;
59
64
60
- return SafePromise . all ( dependencyJobs ) ;
65
+ return PromiseAll ( dependencyJobs ) ;
61
66
} ;
62
67
// Promise for the list of all dependencyJobs.
63
68
this . linked = link ( ) ;
64
69
// This promise is awaited later anyway, so silence
65
70
// 'unhandled rejection' warnings.
66
- this . linked . catch ( noop ) ;
71
+ PromisePrototypeCatch ( this . linked , noop ) ;
67
72
68
73
// instantiated == deep dependency jobs wrappers are instantiated,
69
74
// and module wrapper is instantiated.
@@ -85,7 +90,8 @@ class ModuleJob {
85
90
}
86
91
jobsInGraph . add ( moduleJob ) ;
87
92
const dependencyJobs = await moduleJob . linked ;
88
- return PromiseAll ( dependencyJobs . map ( addJobsToDependencyGraph ) ) ;
93
+ return PromiseAll (
94
+ ArrayPrototypeMap ( dependencyJobs , addJobsToDependencyGraph ) ) ;
89
95
} ;
90
96
await addJobsToDependencyGraph ( this ) ;
91
97
0 commit comments