@@ -4,7 +4,6 @@ from contextlib import AbstractContextManager, AbstractAsyncContextManager
44from pathlib import Path
55from typing import (
66 Awaitable ,
7- TypeVar ,
87 Generic ,
98 Type ,
109 Callable as _Callable ,
@@ -22,6 +21,8 @@ from typing import (
2221 overload ,
2322)
2423
24+ from typing_extensions import Self as _Self , TypeVar
25+
2526try :
2627 import yaml
2728except ImportError :
@@ -38,6 +39,7 @@ Injection = Any
3839ProviderParent = Union ["Provider" , Any ]
3940T = TypeVar ("T" )
4041TT = TypeVar ("TT" )
42+ T_Any = TypeVar ("T_Any" , default = Any )
4143P = TypeVar ("P" , bound = "Provider" )
4244BS = TypeVar ("BS" , bound = "BaseSingleton" )
4345
@@ -542,17 +544,17 @@ class Container(Provider[T]):
542544 def parent_name (self ) -> Optional [str ]: ...
543545 def assign_parent (self , parent : ProviderParent ) -> None : ...
544546
545- class Selector (Provider [Any ]):
547+ class Selector (Provider [T_Any ]):
546548 def __init__ (
547549 self , selector : Optional [_Callable [..., Any ]] = None , ** providers : Provider
548550 ): ...
549- def __getattr__ (self , name : str ) -> Provider : ...
551+ def __getattr__ (self , name : str ) -> Provider [ T_Any ] : ...
550552 @property
551553 def selector (self ) -> Optional [_Callable [..., Any ]]: ...
552- def set_selector (self , selector : Optional [_Callable [..., Any ]]) -> Selector : ...
554+ def set_selector (self , selector : Optional [_Callable [..., Any ]]) -> _Self : ...
553555 @property
554- def providers (self ) -> _Dict [str , Provider ]: ...
555- def set_providers (self , ** providers : Provider ) -> Selector : ...
556+ def providers (self ) -> _Dict [str , Provider [ T_Any ] ]: ...
557+ def set_providers (self , ** providers : Provider ) -> _Self : ...
556558
557559class ProvidedInstanceFluentInterface :
558560 def __getattr__ (self , item : Any ) -> AttributeGetter : ...
0 commit comments