graphql-python / graphql-python/graphql-core-legacy

Parser raises an error for null Boolean Type

Aperta
#285 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
372
Fork
175
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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](https://github.com/octokit/graphql-schema/commit/18c40d2bb68d8f27acfc62e768d34aadfca9e8b2#diff-9fcde326d127f74194f70e563bdf2c118c51b719c308f015b8eb0204a9a552fb) 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](https://graphql.org/graphql-js/basic-types/):

> 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](https://user-images.githubusercontent.com/20818773/109168192-3d706b00-7787-11eb-8594-d84361c4081a.png)

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.