22namespace ts . codefix {
33 type ContextualTrackChangesFunction = ( cb : ( changeTracker : textChanges . ChangeTracker ) => void ) => FileTextChanges [ ] ;
44 const fixId = "addMissingAwait" ;
5+ const propertyAccessCode = Diagnostics . Property_0_does_not_exist_on_type_1 . code ;
56 const callableConstructableErrorCodes = [
67 Diagnostics . This_expression_is_not_callable . code ,
78 Diagnostics . This_expression_is_not_constructable . code ,
@@ -21,7 +22,7 @@ namespace ts.codefix {
2122 Diagnostics . Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator . code ,
2223 Diagnostics . Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator . code ,
2324 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 ,
2526 ...callableConstructableErrorCodes ,
2627 ] ;
2728
@@ -140,6 +141,12 @@ namespace ts.codefix {
140141 changeTracker . replaceNode ( sourceFile , left , newLeft ) ;
141142 changeTracker . replaceNode ( sourceFile , right , newRight ) ;
142143 }
144+ else if ( errorCode === propertyAccessCode && isPropertyAccessExpression ( insertionSite . parent ) ) {
145+ changeTracker . replaceNode (
146+ sourceFile ,
147+ insertionSite . parent . expression ,
148+ createParen ( createAwait ( insertionSite . parent . expression ) ) ) ;
149+ }
143150 else if ( contains ( callableConstructableErrorCodes , errorCode ) && isCallOrNewExpression ( insertionSite . parent ) ) {
144151 changeTracker . replaceNode ( sourceFile , insertionSite , createParen ( createAwait ( insertionSite ) ) ) ;
145152 }
0 commit comments