Giter VIP home page Giter VIP logo

Comments (3)

leebyron avatar leebyron commented on April 29, 2024

Whoops indeed. We were writing spec as we were deciding on whether null should be a keyword or not.

The reason we decided not to have null as a keyword was that field(arg: null) and field would be isomorphic and it felt a little weird to have two ways of specifying the same thing.

I think we have a few possible paths forward and I'm interested in your opinions on which we might follow:

  1. Fix up the spec, leave things as they are, carry on.

  2. Introduce a null keyword which represents the value null. Introduce this slightly odd isomorphism but allow null to be used as expected.

  3. Introduce a reserved blacklist which the Name grammar cannot represent (or more conservatively the EnumValue cannot represent?), and include null on this list. This means there's no way to represent the input value null as is currently the case, but just makes field(arg: null) not even parse rather than do an unexpected thing.

from graphql-spec.

clentfort avatar clentfort commented on April 29, 2024

Strong vote for fixing the example. With arguments being unordered and having optional default values I don't see a reason for having an explicit null-type in GraphQL. A list of reserved words that are not going to be used in the future only because they have a meaning something in a different popular language makes no sense.

from graphql-spec.

leebyron avatar leebyron commented on April 29, 2024

I added some clarification to the example itself, but also implemented the conservative form of option "3" I described above in a12f6df. An EnumValue cannot be null to avoid this confusion.

from graphql-spec.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.