@@ -311,7 +311,7 @@ namespace ts.codefix {
311
311
const tryBlock = createBlock ( transformExpression ( node . expression , transformer , node , prevArgName ) ) ;
312
312
313
313
const transformationBody = getTransformationBody ( func , prevArgName , argName , node , transformer ) ;
314
- const catchArg = argName . identifier . text . length > 0 ? argName . identifier . text : "e" ;
314
+ const catchArg = argName ? argName . identifier . text : "e" ;
315
315
const catchClause = createCatchClause ( catchArg , createBlock ( transformationBody ) ) ;
316
316
317
317
/*
@@ -353,7 +353,7 @@ namespace ts.codefix {
353
353
354
354
const transformationBody2 = getTransformationBody ( rej , prevArgName , argNameRej , node , transformer ) ;
355
355
356
- const catchArg = argNameRej . identifier . text . length > 0 ? argNameRej . identifier . text : "e" ;
356
+ const catchArg = argNameRej ? argNameRej . identifier . text : "e" ;
357
357
const catchClause = createCatchClause ( catchArg , createBlock ( transformationBody2 ) ) ;
358
358
359
359
return [ createTry ( tryBlock , catchClause , /* finallyBlock */ undefined ) as Statement ] ;
@@ -370,12 +370,11 @@ namespace ts.codefix {
370
370
function transformPromiseCall ( node : Expression , transformer : Transformer , prevArgName ?: SynthIdentifier ) : Statement [ ] {
371
371
const shouldReturn = transformer . setOfExpressionsToReturn . get ( getNodeId ( node ) . toString ( ) ) ;
372
372
// the identifier is empty when the handler (.then()) ignores the argument - In this situation we do not need to save the result of the promise returning call
373
- const hasPrevArgName = prevArgName && prevArgName . identifier . text . length > 0 ;
374
373
const originalNodeParent = node . original ? node . original . parent : node . parent ;
375
- if ( hasPrevArgName && ! shouldReturn && ( ! originalNodeParent || isPropertyAccessExpression ( originalNodeParent ) ) ) {
376
- return createTransformedStatement ( prevArgName ! , createAwait ( node ) , transformer ) . concat ( ) ; // hack to make the types match
374
+ if ( prevArgName && ! shouldReturn && ( ! originalNodeParent || isPropertyAccessExpression ( originalNodeParent ) ) ) {
375
+ return createTransformedStatement ( prevArgName , createAwait ( node ) , transformer ) . concat ( ) ; // hack to make the types match
377
376
}
378
- else if ( ! hasPrevArgName && ! shouldReturn && ( ! originalNodeParent || isPropertyAccessExpression ( originalNodeParent ) ) ) {
377
+ else if ( ! prevArgName && ! shouldReturn && ( ! originalNodeParent || isPropertyAccessExpression ( originalNodeParent ) ) ) {
379
378
return [ createStatement ( createAwait ( node ) ) ] ;
380
379
}
381
380
@@ -398,18 +397,17 @@ namespace ts.codefix {
398
397
}
399
398
400
399
// should be kept up to date with isFixablePromiseArgument in suggestionDiagnostics.ts
401
- function getTransformationBody ( func : Node , prevArgName : SynthIdentifier | undefined , argName : SynthIdentifier , parent : CallExpression , transformer : Transformer ) : NodeArray < Statement > {
400
+ function getTransformationBody ( func : Node , prevArgName : SynthIdentifier | undefined , argName : SynthIdentifier | undefined , parent : CallExpression , transformer : Transformer ) : NodeArray < Statement > {
402
401
403
- const hasArgName = argName && argName . identifier . text . length > 0 ;
404
402
const shouldReturn = transformer . setOfExpressionsToReturn . get ( getNodeId ( parent ) . toString ( ) ) ;
405
403
switch ( func . kind ) {
406
404
case SyntaxKind . NullKeyword :
407
405
// do not produce a transformed statement for a null argument
408
406
break ;
409
407
case SyntaxKind . Identifier : // identifier includes undefined
410
- if ( ! hasArgName ) break ;
408
+ if ( ! argName ) break ;
411
409
412
- const synthCall = createCall ( getSynthesizedDeepClone ( func ) as Identifier , /*typeArguments*/ undefined , [ argName . identifier ] ) ;
410
+ const synthCall = createCall ( getSynthesizedDeepClone ( func ) as Identifier , /*typeArguments*/ undefined , argName ? [ argName . identifier ] : [ ] ) ;
413
411
if ( shouldReturn ) {
414
412
return createNodeArray ( [ createReturn ( synthCall ) ] ) ;
415
413
}
@@ -534,7 +532,7 @@ namespace ts.codefix {
534
532
return innerCbBody ;
535
533
}
536
534
537
- function getArgName ( funcNode : Node , transformer : Transformer ) : SynthIdentifier {
535
+ function getArgName ( funcNode : Node , transformer : Transformer ) : SynthIdentifier | undefined {
538
536
539
537
const numberOfAssignmentsOriginal = 0 ;
540
538
const types : Type [ ] = [ ] ;
@@ -552,7 +550,7 @@ namespace ts.codefix {
552
550
}
553
551
554
552
if ( ! name || name . identifier === undefined || name . identifier . text === "undefined" ) {
555
- return { identifier : createIdentifier ( "" ) , types , numberOfAssignmentsOriginal } ;
553
+ return undefined ;
556
554
}
557
555
558
556
return name ;
0 commit comments