Source code for betty.dispatch

"""
Provide the Dispatch API.
"""

from abc import ABC, abstractmethod
from typing import Any, Sequence, Callable, Awaitable

TargetedDispatcher = Callable[..., Awaitable[Sequence[Any]]]


[docs] class Dispatcher(ABC): """ Dispatch events to handlers. """
[docs] @abstractmethod def dispatch(self, target_type: type[Any]) -> TargetedDispatcher: """ Dispatch a single target. """ pass