瀏覽代碼

Type check event handler signature (#363)

Dong-hyeon Shin 2 年之前
父節點
當前提交
f22c67e48c
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      pynecone/utils.py

+ 7 - 0
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),)