@@ -22,10 +22,6 @@ const NON_ARRAY_COPY_SOURCE_TYPES = new Set([
2222] ) ;
2323const ITERATOR_RETURNING_METHODS = new Set ( [ 'entries' , 'keys' , 'values' ] ) ;
2424
25- type NodeWithTypeAnnotation = TSESTree . Node & {
26- typeAnnotation ?: TSESTree . TSTypeAnnotation ;
27- } ;
28-
2925function getTypeReferenceName ( node : TSESTree . Node ) : string | null {
3026 if ( node . type !== 'TSTypeReference' ) {
3127 return null ;
@@ -41,19 +37,19 @@ function getTypeReferenceName(node: TSESTree.Node): string | null {
4137 return null ;
4238}
4339
44- function hasKnownNonArrayTypeAnnotation ( node : TSESTree . Node ) : boolean {
45- const typeAnnotation = ( node as NodeWithTypeAnnotation ) . typeAnnotation ;
46- if ( typeAnnotation ?. type !== 'TSTypeAnnotation' ) {
40+ function hasKnownNonArrayTypeAnnotation ( node : TSESTree . BindingName ) : boolean {
41+ const typeAnnotation = node . typeAnnotation ;
42+ if ( typeAnnotation === undefined ) {
4743 return false ;
4844 }
4945
5046 const annotation = typeAnnotation . typeAnnotation ;
5147 if ( annotation . type === 'TSUnionType' ) {
5248 return annotation . types . some ( ( typeNode ) =>
53- hasKnownNonArrayType ( typeNode as TSESTree . Node )
49+ hasKnownNonArrayType ( typeNode )
5450 ) ;
5551 }
56- return hasKnownNonArrayType ( annotation as TSESTree . Node ) ;
52+ return hasKnownNonArrayType ( annotation ) ;
5753}
5854
5955function hasKnownNonArrayType ( node : TSESTree . Node ) : boolean {
@@ -108,7 +104,7 @@ function resolvesToKnownNonArrayCopySource(
108104 return false ;
109105 }
110106
111- if ( hasKnownNonArrayTypeAnnotation ( def . name as TSESTree . Node ) ) {
107+ if ( hasKnownNonArrayTypeAnnotation ( def . name ) ) {
112108 return true ;
113109 }
114110
0 commit comments