@@ -101,13 +101,15 @@ module.exports = function convert(config) {
101101 function convertTypeArgumentsToTypeParameters ( typeArguments ) {
102102 const firstTypeArgument = typeArguments [ 0 ] ;
103103 const lastTypeArgument = typeArguments [ typeArguments . length - 1 ] ;
104+ const greaterThanToken = nodeUtils . findNextToken ( lastTypeArgument , ast ) ;
105+
104106 return {
105107 type : AST_NODE_TYPES . TypeParameterInstantiation ,
106108 range : [
107109 firstTypeArgument . pos - 1 ,
108- lastTypeArgument . end + 1
110+ greaterThanToken . end
109111 ] ,
110- loc : nodeUtils . getLocFor ( firstTypeArgument . pos - 1 , lastTypeArgument . end + 1 , ast ) ,
112+ loc : nodeUtils . getLocFor ( firstTypeArgument . pos - 1 , greaterThanToken . end , ast ) ,
111113 params : typeArguments . map ( typeArgument => ( {
112114 type : AST_NODE_TYPES . GenericTypeAnnotation ,
113115 range : [
@@ -131,13 +133,16 @@ module.exports = function convert(config) {
131133 function convertTSTypeParametersToTypeParametersDeclaration ( typeParameters ) {
132134 const firstTypeParameter = typeParameters [ 0 ] ;
133135 const lastTypeParameter = typeParameters [ typeParameters . length - 1 ] ;
136+
137+ const greaterThanToken = nodeUtils . findNextToken ( lastTypeParameter , ast ) ;
138+
134139 return {
135140 type : AST_NODE_TYPES . TypeParameterDeclaration ,
136141 range : [
137142 firstTypeParameter . pos - 1 ,
138- lastTypeParameter . end + 1
143+ greaterThanToken . end
139144 ] ,
140- loc : nodeUtils . getLocFor ( firstTypeParameter . pos - 1 , lastTypeParameter . end + 1 , ast ) ,
145+ loc : nodeUtils . getLocFor ( firstTypeParameter . pos - 1 , greaterThanToken . end , ast ) ,
141146 params : typeParameters . map ( typeParameter => {
142147 const name = nodeUtils . unescapeIdentifier ( typeParameter . name . text ) ;
143148
0 commit comments