By Default GiraphQL makes fields on output types Non-Nullable, and Arguments and Fields on InputObjects required. These defaults can be overwritten by either setting setting nullable: true
in the options for output fields, or by setting required: true
for input fields or arguments.
These defaults may not be the right choice for every application, and changing them on every field can be a pain. Instead, GiraphQL allows overwriting these defaults when setting up your SchemaBuilder. You will need to provide the new defaults in 2 places:
In the type parameter for the builder, which enables the type checking to work with your new
settings
In the Builder options, so that the correct schema is built at run time.
// Create a Builder that makes output fields nullable by defaultexport const builder = new SchemaBuilder<{DefaultFieldNullability: true;}>({defaultFieldNullability: true,});​// Create a Builder that makes input fields and arguments required by defaultexport const builder = new SchemaBuilder<{DefaultInputFieldRequiredness: true;}>({defaultInputFieldRequiredness: true,});