from typing import Callable from apollo_playlists_messages.constants import EventCode from apollo_playlists_messages.handlers.update import handler as update_handler from apollo_playlists_messages.handlers.common.handler import handler as common_handler def typed_common_handler(event_type): def wrapper(*args, **kwargs): return common_handler(*args, event_code=event_type, **kwargs) return wrapper def get_event_handler(event_code: EventCode) -> Callable: if event_code == EventCode.UPDATE: return update_handler return typed_common_handler(event_code)