graphql-core-legacy icon indicating copy to clipboard operation
graphql-core-legacy copied to clipboard

Parser raises an error for null Boolean Type

Open DeanArbel opened this issue 4 years ago • 0 comments

The parser is not able to handle boolean types with null default type.

This is handled in this line: https://github.com/graphql-python/graphql-core-legacy/blob/master/graphql/language/parser.py#L502

Following a commit GitHub introduced to their schema yesterday gql can no longer parse its schema, as it fails on this null Boolean type:

{'name': 'isVerified', 'description': 'Filter by if the domain is verified.', 'type': {'kind': 'SCALAR', 'name': 'Boolean', 'ofType': None}, 'defaultValue': 'null'}

GitHub claims this change is in accordance with the GraphQL standards documentation:

By default, every type is nullable - it's legitimate to return null as any of the scalar types. Use an exclamation point to indicate a type cannot be nullable, so String! is a non-nullable string.

Therefore, it appears that a null default value for a boolean is valid in GraphQL.

Currently the code specifically ignores null values.

image

DeanArbel avatar Feb 28 '21 06:02 DeanArbel