From f22c67e48c9156ae0616611e3561f8b97fe8bb56 Mon Sep 17 00:00:00 2001 From: Dong-hyeon Shin <52447545+qu3vipon@users.noreply.github.com> Date: Sat, 28 Jan 2023 10:18:54 +0900 Subject: [PATCH] Type check event handler signature (#363) --- pynecone/utils.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pynecone/utils.py b/pynecone/utils.py index 48709a5ae..f8c376700 100644 --- a/pynecone/utils.py +++ b/pynecone/utils.py @@ -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),)