AST-based GraphQL Executable Definitions (operations).
Adds type resolution and useful helper methods for working with executable graphql documents, such as is useful for code generation.
The primary entrypoint is usually ExecutableDocument
which accepts an
a tearoff of
and an optional list of imported ASTs.
NOTE: This library is currently only for working with executable definitions.
- An executable document containing only ExecutableDefinitions.
Enables "type resolution" for implementing classes,
allowing for type-dereferencing, such as is done by
- A SelectionSet is primarily composed of fields.
- Fragments are the primary unit of composition in GraphQL.
FragmentDefinitions are consumed by using the
spread operator (
Container for the fromSchema and fromFragments
dereferencing callbacks necessary for full type information while
working with an
- Inline Fragments are FragmentDefinitions defined inline within a SelectionSet.
- An Operation consists of an optional operation name and a SelectionSet into one of the root OperationTypeDefinitions.
- SelectionSets consist of selections (Fields, FragmentSpreads, or InlineFragments)s
- Selection Sets specify the Fields to select from their cooresponding schema type, either directly, or indirectly through FragmentSpreads and InlineFragments.
- FragmentDefinitions must specify the type they apply to through type conditions
- Variables can be used to parameterize OperationDefinitions, maximizing query reuse, and avoiding costly string building in clients at runtime.
- ResolveFragment = FragmentDefinition? Function(String name)
- Callback to dereference a full fragment definition by name