Skip to content

Commit bd12ae2

Browse files
authored
fix(46466): add missing async keyword before type parameters (#46467)
1 parent 55b4928 commit bd12ae2

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

src/services/codefixes/fixAwaitInSyncFunction.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ namespace ts.codefix {
5353
insertBefore = findChildOfKind(containingFunction, SyntaxKind.FunctionKeyword, sourceFile);
5454
break;
5555
case SyntaxKind.ArrowFunction:
56-
insertBefore = findChildOfKind(containingFunction, SyntaxKind.OpenParenToken, sourceFile) || first(containingFunction.parameters);
56+
const kind = containingFunction.typeParameters ? SyntaxKind.LessThanToken : SyntaxKind.OpenParenToken;
57+
insertBefore = findChildOfKind(containingFunction, kind, sourceFile) || first(containingFunction.parameters);
5758
break;
5859
default:
5960
return;
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/// <reference path="fourslash.ts" />
2+
3+
////const foo = <T>(x: T): string => {
4+
//// await new Promise(resolve => resolve(true));
5+
//// return "";
6+
////}
7+
8+
verify.codeFix({
9+
description: ts.Diagnostics.Add_async_modifier_to_containing_function.message,
10+
index: 0,
11+
newFileContent:
12+
`const foo = async <T>(x: T): Promise<string> => {
13+
await new Promise(resolve => resolve(true));
14+
return "";
15+
}`
16+
});

0 commit comments

Comments
 (0)