-
-
Notifications
You must be signed in to change notification settings - Fork 799
Description
Currently in Hot Chocolate, unless you use C# 8.0 nullable reference types (which is not really a nice-to-use and pretty feature, and has its own limitations and problems), you would have to explicitly specify which properties/methods that have a reference type should be non-nullable.
You could currently do this using attributes like this:
[GraphQLNonNullType]
public string Title { get; set; }But to achieve the same thing using IObjectFieldDescriptor's fluent API, this is what you would have to do:
descriptor.Field(p => p.Title).Type<NonNullType<StringType>>();which is:
- Ugly and long
- The
StringTypepart is effectively unnecessary and redundant - Looking at that line of code, you're not sure whether the type itself is being changed or it's just being set to non-nullable.
I'm sure you would agree that having a nice little helper method like NonNull() would make the code above way cleaner, more readable, and more understandable at first sight.
descriptor.Field(p => p.Title).NonNull();It also makes sense to have such a method since we already have the attribute that does the exact same thing.
What do you think?