@@ -553,8 +553,8 @@ namespace ts {
553553 // ...
554554 // new Promise(function (_a, _b) { require([x], _a, _b); }); /*Amd Require*/
555555 // });
556- const resolve = createIdentifier ( "_a ") ;
557- const reject = createIdentifier ( "_b" ) ;
556+ const resolve = createUniqueName ( "resolve ") ;
557+ const reject = createUniqueName ( "reject" )
558558 return createNew (
559559 createIdentifier ( "Promise" ) ,
560560 /*typeArguments*/ undefined ,
@@ -570,24 +570,21 @@ namespace ts {
570570 createCall (
571571 createIdentifier ( "require" ) ,
572572 /*typeArguments*/ undefined ,
573- [ createArrayLiteral ( node . arguments ) , resolve , reject ]
573+ [ createArrayLiteral ( [ firstOrUndefined ( node . arguments ) || createOmittedExpression ( ) ] ) , resolve , reject ]
574574 ) ) ] )
575575 ) ] ) ;
576576 }
577577
578578 function transformImportCallExpressionCommonJS ( node : ImportCall ) : Expression {
579579 // import("./blah")
580580 // emit as
581- // var __resolved = new Promise(function (resolve) { resolve(); });
582- // ....
583- // __resolved.then(function () { return require(x); }) /*CommonJs Require*/
584-
585- // Promise.resolve().then(() => require("./blah"));
581+ // Promise.resolve().then(function () { return require(x); }) /*CommonJs Require*/
586582 // We have to wrap require in then callback so that require is done in asynchronously
587583 // if we simply do require in resolve callback in Promise constructor. We will execute the loading immediately
588- context . requestEmitHelper ( dynamicImportCreateResolvedHelper ) ;
589584 return createCall (
590- createPropertyAccess ( createIdentifier ( "__resolved" ) , "then" ) ,
585+ createPropertyAccess (
586+ createCall ( createPropertyAccess ( createIdentifier ( "Promise" ) , "resolve" ) , /*typeArguments*/ undefined , /*argumentsArray*/ [ ] ) ,
587+ "then" ) ,
591588 /*typeArguments*/ undefined ,
592589 [ createFunctionExpression (
593590 /*modifiers*/ undefined ,
@@ -1609,14 +1606,6 @@ namespace ts {
16091606 name : "typescript:dynamicimport-sync-require" ,
16101607 scoped : true ,
16111608 text : `
1612- var __syncRequire = typeof module === "object" && typeof module.exports === "object";
1613- var __resolved = new Promise(function (resolve) { resolve(); });`
1614- } ;
1615-
1616- const dynamicImportCreateResolvedHelper : EmitHelper = {
1617- name : "typescript:dynamicimport-create-resolved" ,
1618- scoped : false ,
1619- priority : 1 ,
1620- text : `var __resolved = new Promise(function (resolve) { resolve(); });`
1609+ var __syncRequire = typeof module === "object" && typeof module.exports === "object";`
16211610 } ;
16221611}
0 commit comments