message_flow/sagas/orchestration/saga_data_mapping.py (9 lines of code) (raw):

from typing import Any, Dict, Type, TypeVar __all__ = ["SagaDataMapping"] class SagaDataMapping: def __init__(self, mapping: Dict[str, Type[Any]]) -> None: self._mapping = mapping def map(self, class_name: str) -> Type[Any]: if (mapped_class := self._mapping.get(class_name)) is None: raise RuntimeError(f"No mapping for class {class_name}") return mapped_class