executor abstraction, graphene to strawberry
This commit is contained in:
@@ -139,34 +139,34 @@ PRISMA_SPECIAL: dict[str, str] = {
|
||||
}
|
||||
|
||||
# =============================================================================
|
||||
# Graphene Type Resolvers
|
||||
# Strawberry Type Resolvers
|
||||
# =============================================================================
|
||||
|
||||
|
||||
def _resolve_graphene_list(base: Any) -> str:
|
||||
"""Resolve graphene List type."""
|
||||
def _resolve_strawberry_list(base: Any) -> str:
|
||||
"""Resolve strawberry List type annotation."""
|
||||
args = get_args(base)
|
||||
if args:
|
||||
inner = args[0]
|
||||
if inner is str:
|
||||
return "graphene.List(graphene.String)"
|
||||
return "List[str]"
|
||||
elif inner is int:
|
||||
return "graphene.List(graphene.Int)"
|
||||
return "List[int]"
|
||||
elif inner is float:
|
||||
return "graphene.List(graphene.Float)"
|
||||
return "List[float]"
|
||||
elif inner is bool:
|
||||
return "graphene.List(graphene.Boolean)"
|
||||
return "graphene.List(graphene.String)"
|
||||
return "List[bool]"
|
||||
return "List[str]"
|
||||
|
||||
|
||||
GRAPHENE_RESOLVERS: dict[Any, Callable[[Any], str]] = {
|
||||
str: lambda _: "graphene.String",
|
||||
int: lambda _: "graphene.Int",
|
||||
float: lambda _: "graphene.Float",
|
||||
bool: lambda _: "graphene.Boolean",
|
||||
"UUID": lambda _: "graphene.UUID",
|
||||
"datetime": lambda _: "graphene.DateTime",
|
||||
"dict": lambda _: "graphene.JSONString",
|
||||
"list": _resolve_graphene_list,
|
||||
"enum": lambda base: f"graphene.String", # Enums exposed as strings in GQL
|
||||
STRAWBERRY_RESOLVERS: dict[Any, Callable[[Any], str]] = {
|
||||
str: lambda _: "str",
|
||||
int: lambda _: "int",
|
||||
float: lambda _: "float",
|
||||
bool: lambda _: "bool",
|
||||
"UUID": lambda _: "UUID",
|
||||
"datetime": lambda _: "datetime",
|
||||
"dict": lambda _: "JSON",
|
||||
"list": _resolve_strawberry_list,
|
||||
"enum": lambda base: base.__name__,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user