2
2
namespace ts . codefix {
3
3
type ContextualTrackChangesFunction = ( cb : ( changeTracker : textChanges . ChangeTracker ) => void ) => FileTextChanges [ ] ;
4
4
const fixId = "addMissingAwait" ;
5
+ const propertyAccessCode = Diagnostics . Property_0_does_not_exist_on_type_1 . code ;
5
6
const callableConstructableErrorCodes = [
6
7
Diagnostics . This_expression_is_not_callable . code ,
7
8
Diagnostics . This_expression_is_not_constructable . code ,
@@ -21,7 +22,7 @@ namespace ts.codefix {
21
22
Diagnostics . Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator . code ,
22
23
Diagnostics . Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator . code ,
23
24
Diagnostics . Argument_of_type_0_is_not_assignable_to_parameter_of_type_1 . code ,
24
- Diagnostics . Property_0_does_not_exist_on_type_1 . code ,
25
+ propertyAccessCode ,
25
26
...callableConstructableErrorCodes ,
26
27
] ;
27
28
@@ -140,6 +141,12 @@ namespace ts.codefix {
140
141
changeTracker . replaceNode ( sourceFile , left , newLeft ) ;
141
142
changeTracker . replaceNode ( sourceFile , right , newRight ) ;
142
143
}
144
+ else if ( errorCode === propertyAccessCode && isPropertyAccessExpression ( insertionSite . parent ) ) {
145
+ changeTracker . replaceNode (
146
+ sourceFile ,
147
+ insertionSite . parent . expression ,
148
+ createParen ( createAwait ( insertionSite . parent . expression ) ) ) ;
149
+ }
143
150
else if ( contains ( callableConstructableErrorCodes , errorCode ) && isCallOrNewExpression ( insertionSite . parent ) ) {
144
151
changeTracker . replaceNode ( sourceFile , insertionSite , createParen ( createAwait ( insertionSite ) ) ) ;
145
152
}
0 commit comments