Skip to content

apply_types

fast_depends.use.inject #

inject(
    func: Callable[P, T],
    *,
    cast: bool = True,
    cast_result: bool = True,
    extra_dependencies: Sequence[Dependant] = (),
    dependency_provider: Optional[Provider] = None,
    wrap_model: Callable[
        [CallModel], CallModel
    ] = lambda x: x,
    serializer_cls: Optional[
        SerializerProto
    ] = SerializerCls,
    **call_extra: Any,
) -> Callable[P, T]
inject(
    func: None = None,
    *,
    cast: bool = True,
    cast_result: bool = True,
    extra_dependencies: Sequence[Dependant] = (),
    dependency_provider: Optional[Provider] = None,
    wrap_model: Callable[
        [CallModel], CallModel
    ] = lambda x: x,
    serializer_cls: Optional[
        SerializerProto
    ] = SerializerCls,
    **call_extra: Any,
) -> InjectWrapper[..., Any]
inject(
    func: Callable[P, T] | None = None,
    *,
    cast: bool = True,
    cast_result: bool = True,
    extra_dependencies: Sequence[Dependant] = (),
    dependency_provider: Optional[Provider] = None,
    wrap_model: Callable[
        [CallModel], CallModel
    ] = lambda x: x,
    serializer_cls: Optional[
        SerializerProto
    ] = SerializerCls,
    **call_extra: Any,
) -> Union[Callable[P, T], InjectWrapper[P, T]]
Source code in fast_depends/use.py
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
def inject(
    func: Callable[P, T] | None = None,
    *,
    cast: bool = True,
    cast_result: bool = True,
    extra_dependencies: Sequence[Dependant] = (),
    dependency_provider: Optional["Provider"] = None,
    wrap_model: Callable[["CallModel"], "CallModel"] = lambda x: x,
    serializer_cls: Optional["SerializerProto"] = SerializerCls,
    **call_extra: Any,
) -> Union[Callable[P, T], "InjectWrapper[P, T]"]:
    if dependency_provider is None:
        dependency_provider = global_provider

    if not cast:
        serializer_cls = None

    decorator: InjectWrapper[P, T] = _wrap_inject(
        dependency_provider=dependency_provider,
        wrap_model=wrap_model,
        extra_dependencies=extra_dependencies,
        serializer_cls=serializer_cls,
        cast_result=cast_result,
        **call_extra,
    )

    if func is None:
        return decorator
    return decorator(func)