2323from typing import (Any , Callable , Deque , Iterator , NamedTuple , overload , Sequence ,
2424 TYPE_CHECKING , Tuple , Type , TypeVar , Union , cast )
2525
26- from git .types import Literal , TypeGuard
26+ from git .types import Literal
2727
2828if TYPE_CHECKING :
2929 from io import BytesIO , StringIO
@@ -306,23 +306,19 @@ class Tree:: (cls, Tree) -> Tuple[Tree, ...]
306306 """
307307 raise NotImplementedError ("To be implemented in subclass" )
308308
309- def list_traverse (self , * args : Any , ** kwargs : Any ) -> IterableList [ 'TraversableIterableObj' ] :
309+ def list_traverse (self , * args : Any , ** kwargs : Any ) -> IterableList :
310310 """
311311 :return: IterableList with the results of the traversal as produced by
312312 traverse()
313- List objects must be IterableObj and Traversable e.g. Commit, Submodule"""
314-
315- def is_TraversableIterableObj (inp : 'Traversable' ) -> TypeGuard ['TraversableIterableObj' ]:
316- # return isinstance(self, TraversableIterableObj)
317- # Can it be anything else? Check this
318- return isinstance (self , TraversableIterableObj )
313+ """
314+ if isinstance (self , TraversableIterableObj ):
315+ id = self ._id_attribute_
316+ else : # Tree
317+ id = ""
319318
320- if is_TraversableIterableObj (self ):
321- out : IterableList ['TraversableIterableObj' ] = IterableList (self ._id_attribute_ )
322- out .extend (self .traverse (* args , ** kwargs ))
323- return out
324- else :
325- return IterableList ("" ) # Its a Tree, which doesnt have _id_attribute_
319+ out : IterableList = IterableList (id )
320+ out .extend (self .traverse (* args , ** kwargs ))
321+ return out
326322
327323 def traverse (self ,
328324 predicate : Callable [[Union ['Traversable' , 'Blob' , TraversedTup ], int ], bool ] = lambda i , d : True ,
@@ -449,7 +445,7 @@ class TraversableIterableObj(Traversable, IterableObj):
449445
450446 TIobj_tuple = Tuple [Union [T_TIobj , None ], T_TIobj ]
451447
452- @overload # type: ignore
448+ @ overload # type: ignore
453449 def traverse (self : T_TIobj ,
454450 predicate : Callable [[Union [T_TIobj , Tuple [Union [T_TIobj , None ], T_TIobj ]], int ], bool ],
455451 prune : Callable [[Union [T_TIobj , Tuple [Union [T_TIobj , None ], T_TIobj ]], int ], bool ],
@@ -459,7 +455,7 @@ def traverse(self: T_TIobj,
459455 ) -> Iterator [T_TIobj ]:
460456 ...
461457
462- @overload
458+ @ overload
463459 def traverse (self : T_TIobj ,
464460 predicate : Callable [[Union [T_TIobj , Tuple [Union [T_TIobj , None ], T_TIobj ]], int ], bool ],
465461 prune : Callable [[Union [T_TIobj , Tuple [Union [T_TIobj , None ], T_TIobj ]], int ], bool ],
@@ -469,7 +465,7 @@ def traverse(self: T_TIobj,
469465 ) -> Iterator [Tuple [Union [T_TIobj , None ], T_TIobj ]]:
470466 ...
471467
472- @overload
468+ @ overload
473469 def traverse (self : T_TIobj ,
474470 predicate : Callable [[Union [T_TIobj , TIobj_tuple ], int ], bool ],
475471 prune : Callable [[Union [T_TIobj , TIobj_tuple ], int ], bool ],
0 commit comments