diff --git a/src/dependency_injector/ext/aiohttp.py b/src/dependency_injector/ext/aiohttp.py index 976089c3..43990a7d 100644 --- a/src/dependency_injector/ext/aiohttp.py +++ b/src/dependency_injector/ext/aiohttp.py @@ -7,7 +7,6 @@ import warnings from dependency_injector import providers - warnings.warn( 'Module "dependency_injector.ext.aiohttp" is deprecated since ' 'version 4.0.0. Use "dependency_injector.wiring" module instead.', diff --git a/src/dependency_injector/ext/aiohttp.pyi b/src/dependency_injector/ext/aiohttp.pyi index 370cc9b0..c524712c 100644 --- a/src/dependency_injector/ext/aiohttp.pyi +++ b/src/dependency_injector/ext/aiohttp.pyi @@ -1,14 +1,16 @@ -from typing import Awaitable as _Awaitable +from typing import Any, Awaitable as _Awaitable, TypeVar from dependency_injector import providers -class Application(providers.Singleton): ... -class Extension(providers.Singleton): ... -class Middleware(providers.DelegatedCallable): ... -class MiddlewareFactory(providers.Factory): ... +T = TypeVar("T") -class View(providers.Callable): - def as_view(self) -> _Awaitable: ... +class Application(providers.Singleton[T]): ... +class Extension(providers.Singleton[T]): ... +class Middleware(providers.DelegatedCallable[T]): ... +class MiddlewareFactory(providers.Factory[T]): ... -class ClassBasedView(providers.Factory): - def as_view(self) -> _Awaitable: ... +class View(providers.Callable[T]): + def as_view(self) -> _Awaitable[T]: ... + +class ClassBasedView(providers.Factory[T]): + def as_view(self) -> _Awaitable[T]: ... diff --git a/src/dependency_injector/ext/flask.py b/src/dependency_injector/ext/flask.py index 498a9eee..15b9df0a 100644 --- a/src/dependency_injector/ext/flask.py +++ b/src/dependency_injector/ext/flask.py @@ -1,12 +1,12 @@ """Flask extension module.""" from __future__ import absolute_import + import warnings from flask import request as flask_request -from dependency_injector import providers, errors - +from dependency_injector import errors, providers warnings.warn( 'Module "dependency_injector.ext.flask" is deprecated since ' diff --git a/src/dependency_injector/ext/flask.pyi b/src/dependency_injector/ext/flask.pyi index 9b180c89..1c791b88 100644 --- a/src/dependency_injector/ext/flask.pyi +++ b/src/dependency_injector/ext/flask.pyi @@ -1,19 +1,21 @@ -from typing import Union, Optional, Callable as _Callable, Any +from typing import Any, Callable as _Callable, Optional, TypeVar, Union + +from flask.wrappers import Request -from flask import request as flask_request from dependency_injector import providers -request: providers.Object[flask_request] +request: providers.Object[Request] +T = TypeVar("T") -class Application(providers.Singleton): ... -class Extension(providers.Singleton): ... +class Application(providers.Singleton[T]): ... +class Extension(providers.Singleton[T]): ... -class View(providers.Callable): - def as_view(self) -> _Callable[..., Any]: ... +class View(providers.Callable[T]): + def as_view(self) -> _Callable[..., T]: ... -class ClassBasedView(providers.Factory): - def as_view(self, name: str) -> _Callable[..., Any]: ... +class ClassBasedView(providers.Factory[T]): + def as_view(self, name: str) -> _Callable[..., T]: ... def as_view( - provider: Union[View, ClassBasedView], name: Optional[str] = None -) -> _Callable[..., Any]: ... + provider: Union[View[T], ClassBasedView[T]], name: Optional[str] = None +) -> _Callable[..., T]: ...