Source code for iamai.di
"""Dependency injection marker helpers used by handlers and middleware."""
from __future__ import annotations
from dataclasses import dataclass
from typing import Any, Callable
[docs]
@dataclass(frozen=True, slots=True)
class Depends:
"""Declare that a parameter should be resolved from a dependency provider."""
provider: Callable[..., Any] | Any
use_cache: bool = True
[docs]
def depends(provider: Callable[..., Any] | Any, *, use_cache: bool = True) -> Any:
"""Return a dependency marker for a handler or middleware parameter."""
return Depends(provider=provider, use_cache=use_cache)