23
23
from typing import (Any , Callable , Deque , Iterator , NamedTuple , overload , Sequence ,
24
24
TYPE_CHECKING , Tuple , Type , TypeVar , Union , cast )
25
25
26
- from git .types import Literal , TypeGuard
26
+ from git .types import Literal
27
27
28
28
if TYPE_CHECKING :
29
29
from io import BytesIO , StringIO
@@ -306,23 +306,19 @@ class Tree:: (cls, Tree) -> Tuple[Tree, ...]
306
306
"""
307
307
raise NotImplementedError ("To be implemented in subclass" )
308
308
309
- def list_traverse (self , * args : Any , ** kwargs : Any ) -> IterableList [ 'TraversableIterableObj' ] :
309
+ def list_traverse (self , * args : Any , ** kwargs : Any ) -> IterableList :
310
310
"""
311
311
:return: IterableList with the results of the traversal as produced by
312
312
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 = ""
319
318
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
326
322
327
323
def traverse (self ,
328
324
predicate : Callable [[Union ['Traversable' , 'Blob' , TraversedTup ], int ], bool ] = lambda i , d : True ,
@@ -449,7 +445,7 @@ class TraversableIterableObj(Traversable, IterableObj):
449
445
450
446
TIobj_tuple = Tuple [Union [T_TIobj , None ], T_TIobj ]
451
447
452
- @overload # type: ignore
448
+ @ overload # type: ignore
453
449
def traverse (self : T_TIobj ,
454
450
predicate : Callable [[Union [T_TIobj , Tuple [Union [T_TIobj , None ], T_TIobj ]], int ], bool ],
455
451
prune : Callable [[Union [T_TIobj , Tuple [Union [T_TIobj , None ], T_TIobj ]], int ], bool ],
@@ -459,7 +455,7 @@ def traverse(self: T_TIobj,
459
455
) -> Iterator [T_TIobj ]:
460
456
...
461
457
462
- @overload
458
+ @ overload
463
459
def traverse (self : T_TIobj ,
464
460
predicate : Callable [[Union [T_TIobj , Tuple [Union [T_TIobj , None ], T_TIobj ]], int ], bool ],
465
461
prune : Callable [[Union [T_TIobj , Tuple [Union [T_TIobj , None ], T_TIobj ]], int ], bool ],
@@ -469,7 +465,7 @@ def traverse(self: T_TIobj,
469
465
) -> Iterator [Tuple [Union [T_TIobj , None ], T_TIobj ]]:
470
466
...
471
467
472
- @overload
468
+ @ overload
473
469
def traverse (self : T_TIobj ,
474
470
predicate : Callable [[Union [T_TIobj , TIobj_tuple ], int ], bool ],
475
471
prune : Callable [[Union [T_TIobj , TIobj_tuple ], int ], bool ],
0 commit comments