Type check event handler signature (#363)

This commit is contained in:
Dong-hyeon Shin 2023-01-28 10:18:54 +09:00 committed by GitHub
parent c690b2a824
commit f22c67e48c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1127,8 +1127,15 @@ def get_handler_args(event_spec: EventSpec, arg: Var) -> Tuple[Tuple[str, str],
Returns:
The handler args.
Raises:
TypeError: If the event handler has an invalid signature.
"""
args = inspect.getfullargspec(event_spec.handler.fn).args
if len(args) < 2:
raise TypeError(
f"Event handler has an invalid signature, needed a method with a parameter, got {event_spec.handler}."
)
return event_spec.args if len(args) > 2 else ((args[1], arg.name),)