ParseOptions
Index
Properties
optionalexperimentalClientControlledNullability
EXPERIMENTAL:
If enabled, the parser will understand and parse Client Controlled Nullability
Designators contained in Fields. They’ll be represented in the
nullabilityAssertion
field of the FieldNode.
The syntax looks like the following:
{
nullableField!
nonNullableField?
nonNullableSelectionSet? {
childField!
}
}
Note: this feature is experimental and may change or be removed in the future.
optionalexperimentalFragmentArguments
EXPERIMENTAL:
If enabled, the parser will understand and parse fragment variable definitions
and arguments on fragment spreads. Fragment variable definitions will be represented
in the variableDefinitions
field of the FragmentDefinitionNode.
Fragment spread arguments will be represented in the arguments
field of FragmentSpreadNode.
For example:
{
t { ...A(var: true) }
}
fragment A($var: Boolean = false) on T {
...B(x: $var)
}
optionalmaxTokens
Parser CPU and memory usage is linear to the number of tokens in a document however in extreme cases it becomes quadratic due to memory exhaustion. Parsing happens before validation so even invalid queries can burn lots of CPU time and memory. To prevent this you can set a maximum number of tokens allowed within a document.
optionalnoLocation
By default, the parser creates AST nodes that know the location in the source that they correspond to. This configuration flag disables that behavior for performance or testing.
Configuration options to control parser behavior