fix(46466): add missing async keyword before type parameters (#46467)

This commit is contained in:
Oleksandr T 2021-10-22 01:56:45 +03:00 committed by GitHub
parent 55b4928e82
commit bd12ae2454
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 1 deletions

View file

@ -53,7 +53,8 @@ namespace ts.codefix {
insertBefore = findChildOfKind(containingFunction, SyntaxKind.FunctionKeyword, sourceFile);
break;
case SyntaxKind.ArrowFunction:
insertBefore = findChildOfKind(containingFunction, SyntaxKind.OpenParenToken, sourceFile) || first(containingFunction.parameters);
const kind = containingFunction.typeParameters ? SyntaxKind.LessThanToken : SyntaxKind.OpenParenToken;
insertBefore = findChildOfKind(containingFunction, kind, sourceFile) || first(containingFunction.parameters);
break;
default:
return;

View file

@ -0,0 +1,16 @@
/// <reference path="fourslash.ts" />
////const foo = <T>(x: T): string => {
//// await new Promise(resolve => resolve(true));
//// return "";
////}
verify.codeFix({
description: ts.Diagnostics.Add_async_modifier_to_containing_function.message,
index: 0,
newFileContent:
`const foo = async <T>(x: T): Promise<string> => {
await new Promise(resolve => resolve(true));
return "";
}`
});