@@ -44,8 +44,11 @@ class NodeView(Mapping[_Node, dict[str, Any]], AbstractSet[_Node]):
44
44
@overload
45
45
def __call__ (self , data : Literal [False ] = False , default = None ) -> Self : ...
46
46
@overload
47
- def __call__ (self , data : Literal [True ] | str , default = None ) -> Self : ...
48
- def data (self , data : bool | str = True , default = None ) -> Self : ...
47
+ def __call__ (self , data : Literal [True ] | str , default = None ) -> NodeDataView [_Node ]: ...
48
+ @overload
49
+ def data (self , data : Literal [False ], default = None ) -> Self : ...
50
+ @overload
51
+ def data (self , data : Literal [True ] | str = True , default = None ) -> NodeDataView [_Node ]: ...
49
52
50
53
class NodeDataView (AbstractSet [_Node ]):
51
54
__slots__ = ("_nodes" , "_data" , "_default" )
@@ -57,12 +60,12 @@ class NodeDataView(AbstractSet[_Node]):
57
60
58
61
class DiDegreeView (Generic [_Node ]):
59
62
def __init__ (self , G : Graph [_Node ], nbunch : _NBunch [_Node ] = None , weight : None | bool | str = None ) -> None : ...
63
+ @overload # Use this overload first in case _Node=str, since `str` matches `Iterable[str]`
64
+ def __call__ (self , nbunch : _Node , weight : None | bool | str = None ) -> int : ... # type: ignore[overload-overlap]
60
65
@overload
61
- def __call__ (self , nbunch : None = None , weight : None | bool | str = None ) -> int : ... # type: ignore[overload-overlap]
62
- @overload
63
- def __call__ (self , nbunch : None | Iterable [_Node ], weight : None | bool | str = None ) -> Self : ...
64
- def __getitem__ (self , n : _Node ) -> float : ...
65
- def __iter__ (self ) -> Iterator [tuple [_Node , float ]]: ...
66
+ def __call__ (self , nbunch : Iterable [_Node ] | None = None , weight : None | bool | str = None ) -> Self : ...
67
+ def __getitem__ (self , n : _Node ) -> int : ...
68
+ def __iter__ (self ) -> Iterator [tuple [_Node , int ]]: ...
66
69
def __len__ (self ) -> int : ...
67
70
68
71
class DegreeView (DiDegreeView [_Node ]): ...
0 commit comments