Skip to main content

ParseOptions

Configuration options to control parser behavior

Index

Properties

optionalexperimentalFragmentArguments

experimentalFragmentArguments?: boolean

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

maxTokens?: number

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

noLocation?: boolean

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.