mirror of
				https://github.com/ets-labs/python-dependency-injector.git
				synced 2025-10-31 07:57:43 +03:00 
			
		
		
		
	Fix override and copy decorator stubs (#302)
* Fix stubs and add tests * Fix tests * Fix stubs
This commit is contained in:
		
							parent
							
								
									88b3482ced
								
							
						
					
					
						commit
						56c9023b2d
					
				|  | @ -1,5 +1,5 @@ | |||
| from types import ModuleType | ||||
| from typing import Type, Dict, Tuple, Optional, Any, Union, ClassVar, Callable as _Callable, Iterable | ||||
| from typing import Type, Dict, Tuple, Optional, Any, Union, ClassVar, Callable as _Callable, Iterable, TypeVar | ||||
| 
 | ||||
| from .providers import Provider | ||||
| 
 | ||||
|  | @ -31,9 +31,14 @@ class DeclarativeContainer(Container): | |||
|     def __init__(self, **overriding_providers: Union[Provider, Any]) -> None: ... | ||||
| 
 | ||||
| 
 | ||||
| def override(container: Container) -> _Callable[[Container], Container]: ... | ||||
| C = TypeVar('C', bound=DeclarativeContainer) | ||||
| C_Overriding = TypeVar('C_Overriding', bound=DeclarativeContainer) | ||||
| 
 | ||||
| 
 | ||||
| def copy(container: Container) -> _Callable[[Container], Container]: ... | ||||
| def override(container: Type[C]) -> _Callable[[Type[C_Overriding]], Type[C_Overriding]]: ... | ||||
| 
 | ||||
| 
 | ||||
| def copy(container: Type[C]) -> _Callable[[Type[C_Overriding]], Type[C_Overriding]]: ... | ||||
| 
 | ||||
| 
 | ||||
| def is_container(instance: Any) -> bool: ... | ||||
|  |  | |||
|  | @ -10,3 +10,23 @@ container1 = Container1() | |||
| container1_type: containers.Container = Container1() | ||||
| provider1: providers.Provider = container1.provider | ||||
| val1: int = container1.provider(3) | ||||
| 
 | ||||
| 
 | ||||
| # Test 2: to check @override decorator | ||||
| class Container21(containers.DeclarativeContainer): | ||||
|     provider = providers.Factory(int) | ||||
| 
 | ||||
| 
 | ||||
| @containers.override(Container21) | ||||
| class Container22(containers.DeclarativeContainer): | ||||
|     ... | ||||
| 
 | ||||
| 
 | ||||
| # Test 3: to check @copy decorator | ||||
| class Container31(containers.DeclarativeContainer): | ||||
|     provider = providers.Factory(int) | ||||
| 
 | ||||
| 
 | ||||
| @containers.copy(Container31) | ||||
| class Container32(containers.DeclarativeContainer): | ||||
|     ... | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user