mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-06-17 03:53:14 +03:00
fixup! Add support for Fast Stream Depends
This commit is contained in:
parent
2fe4c393a8
commit
575d0e4609
|
@ -102,6 +102,23 @@ if TYPE_CHECKING:
|
|||
else:
|
||||
Container = Any
|
||||
|
||||
def _is_fastapi_depends(param: Any) -> bool:
|
||||
return fastapi and isinstance(param, fastapi.params.Depends)
|
||||
|
||||
|
||||
if fast_depends:
|
||||
def _is_fast_stream_depends(param: Any) -> bool:
|
||||
return isinstance(param, fast_depends.dependencies.Depends)
|
||||
else:
|
||||
def _is_fast_stream_depends(param: Any) -> bool:
|
||||
return False
|
||||
|
||||
|
||||
_DEPENDS_CHECKERS = (
|
||||
_is_fastapi_depends,
|
||||
_is_fast_stream_depends,
|
||||
)
|
||||
|
||||
|
||||
class PatchedRegistry:
|
||||
|
||||
|
@ -600,7 +617,7 @@ def _extract_marker(parameter: inspect.Parameter) -> Optional["_Marker"]:
|
|||
else:
|
||||
marker = parameter.default
|
||||
|
||||
if _is_fastapi_depends(marker) or _is_fast_stream_depends(marker):
|
||||
if any(depends_checker(marker) for depends_checker in _DEPENDS_CHECKERS):
|
||||
depends_available = True
|
||||
|
||||
if not isinstance(marker, _Marker) and not depends_available:
|
||||
|
@ -728,18 +745,6 @@ def _get_patched(
|
|||
return patched
|
||||
|
||||
|
||||
def _is_fastapi_depends(param: Any) -> bool:
|
||||
return fastapi and isinstance(param, fastapi.params.Depends)
|
||||
|
||||
|
||||
if fast_depends:
|
||||
def _is_fast_stream_depends(param: Any) -> bool:
|
||||
return isinstance(param, fast_depends.dependencies.Depends)
|
||||
else:
|
||||
def _is_fast_stream_depends(param: Any) -> bool:
|
||||
return False
|
||||
|
||||
|
||||
def _is_patched(fn) -> bool:
|
||||
return _patched_registry.has_callable(fn)
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user