Add stub for the declarative container

This commit is contained in:
Roman Mogylatov 2020-08-26 20:59:55 -04:00
parent 2152f259b7
commit ce5d975126
2 changed files with 30 additions and 2 deletions

View File

@ -1,9 +1,9 @@
from typing import Type, Dict, Tuple, Optional, Any, Union
from typing import Type, Dict, Tuple, Optional, Any, Union, ClassVar, Callable as _Callable
from .providers import Provider
class DynamicContainer:
class Container:
provider_type: Type[Provider] = Provider
providers: Dict[str, Provider]
overridden: Tuple[Provider]
@ -16,3 +16,19 @@ class DynamicContainer:
def override_providers(self, **overriding_providers: Provider) -> None: ...
def reset_last_overriding(self) -> None: ...
def reset_override(self) -> None: ...
class DynamicContainer(Container): ...
class DeclarativeContainer(Container):
cls_providers: ClassVar[Dict[str, Provider]]
inherited_providers: ClassVar[Dict[str, Provider]]
def override(container: Container) -> _Callable[[Container], Container]: ...
def copy(container: Container) -> _Callable[[Container], Container]: ...
def is_container(instance: Any) -> bool: ...

View File

@ -0,0 +1,12 @@
from dependency_injector import containers, providers
# Test 1: to check declarative container subclass
class Container1(containers.DeclarativeContainer):
provider = providers.Factory(int)
container1 = Container1()
container1_type: containers.Container = Container1()
provider1: providers.Provider = container1.provider
val1: int = container1.provider(3)