INNER CODE UNIT · Python
field_or_arg_type_from_json
gsmith257-cyber/GraphCrawler · clairvoyance/graphql.py:234
def field_or_arg_type_from_json(jso: Dict[str, Any]) -> "TypeRef":
typ = None
if jso["kind"] not in ["NON_NULL", "LIST"]:
typ = TypeRef(name=jso["name"], kind=jso["kind"])
elif not jso["ofType"]["ofType"]:
actual_type = jso["ofType"]
if jso["kind"] == "NON_NULL":
typ = TypeRef(
name=actual_type["name"],
kind=actual_type["kind"],
non_null=True,
)
elif jso["kind"] == "LIST":
typ = TypeRef(
name=actual_type["name"], kind=actual_type["kind"], is_list=True
)