Skip to content

Commit 0612b21

Browse files
committed
fix(mypy): types and __call__
1 parent cab6d60 commit 0612b21

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

aws_lambda_powertools/event_handler/appsync.py

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
import logging
2-
from typing import Any, Callable, Type
2+
from typing import Any, Callable, Optional, Type, TypeVar
33

44
from aws_lambda_powertools.utilities.data_classes import AppSyncResolverEvent
55
from aws_lambda_powertools.utilities.typing import LambdaContext
66

77
logger = logging.getLogger(__name__)
88

9+
AppSyncResolverEventT = TypeVar("AppSyncResolverEventT", bound=AppSyncResolverEvent)
10+
911

1012
class AppSyncResolver:
1113
"""
@@ -38,13 +40,13 @@ def common_field() -> str:
3840
return str(uuid.uuid4())
3941
"""
4042

41-
current_event: AppSyncResolverEvent
43+
current_event: AppSyncResolverEventT # type: ignore[valid-type]
4244
lambda_context: LambdaContext
4345

4446
def __init__(self):
4547
self._resolvers: dict = {}
4648

47-
def resolver(self, type_name: str = "*", field_name: str = None):
49+
def resolver(self, type_name: str = "*", field_name: Optional[str] = None):
4850
"""Registers the resolver for field_name
4951
5052
Parameters
@@ -112,6 +114,8 @@ def _get_resolver(self, type_name: str, field_name: str) -> Callable:
112114
raise ValueError(f"No resolver found for '{full_name}'")
113115
return resolver["func"]
114116

115-
def __call__(self, event, context) -> Any:
117+
def __call__(
118+
self, event: dict, context: LambdaContext, model: Type[AppSyncResolverEvent] = AppSyncResolverEvent
119+
) -> Any:
116120
"""Implicit lambda handler which internally calls `resolve`"""
117-
return self.resolve(event, context)
121+
return self.resolve(event, context, model)

0 commit comments

Comments
 (0)