diff --git a/src/dependency_injector/providers.pyi b/src/dependency_injector/providers.pyi index d312174e..83ce8c32 100644 --- a/src/dependency_injector/providers.pyi +++ b/src/dependency_injector/providers.pyi @@ -51,6 +51,12 @@ class Provider(Generic[T]): def provider(self) -> Provider: ... @property def provided(self) -> ProvidedInstance: ... + def enable_async_mode(self) -> None: ... + def disable_async_mode(self) -> None: ... + def reset_async_mode(self) -> None: ... + def is_async_mode_enabled(self) -> bool: ... + def is_async_mode_disabled(self) -> bool: ... + def is_async_mode_undefined(self) -> bool: ... def _copy_overridings(self, copied: Provider, memo: Optional[_Dict[Any, Any]]) -> None: ... diff --git a/tests/typing/provider.py b/tests/typing/provider.py index 8ba13922..46dd23a0 100644 --- a/tests/typing/provider.py +++ b/tests/typing/provider.py @@ -4,3 +4,12 @@ from dependency_injector import providers # Test 1: to check .provided attribute provider1: providers.Provider[int] = providers.Object(1) provided: providers.ProvidedInstance = provider1.provided + +# Test 2: to check async mode API +provider2: providers.Provider = providers.Provider() +provider2.enable_async_mode() +provider2.disable_async_mode() +provider2.reset_async_mode() +r1: bool = provider2.is_async_mode_enabled() +r2: bool = provider2.is_async_mode_disabled() +r3: bool = provider2.is_async_mode_undefined()