Documentation
¶
Overview ¶
Package ast defines the GraphQL AST and offers helper methods to interact with the AST, mostly to get the necessary information from the ast.
The document struct is designed in a way to enable performant parsing while keeping the ast easy to use with helper methods.
Index ¶
- Constants
- Variables
- func ByteSliceEquals(left ByteSliceReference, leftInput Input, right ByteSliceReference, ...) bool
- func FilterIntSliceByWhitelist(intSlice []int, whitelist []int) []int
- func IsRootType(nameBytes []byte) bool
- type Alias
- type Argument
- type ArgumentList
- type BooleanValue
- type ByteSlice
- type ByteSliceReference
- type ByteSliceReferences
- type ByteSlices
- type DefaultValue
- type Description
- type Directive
- type DirectiveDefinition
- type DirectiveList
- type DirectiveLocation
- type DirectiveLocationIterable
- type DirectiveLocations
- func (d *DirectiveLocations) Get(location DirectiveLocation) bool
- func (d *DirectiveLocations) Iterable() DirectiveLocationIterable
- func (d *DirectiveLocations) Set(location DirectiveLocation)
- func (d *DirectiveLocations) SetFromRaw(bytes []byte) error
- func (d *DirectiveLocations) Unset(location DirectiveLocation)
- type Document
- func (d *Document) AddArgument(argument Argument) (ref int)
- func (d *Document) AddArgumentToField(fieldRef, argRef int)
- func (d *Document) AddDirective(directive Directive) (ref int)
- func (d *Document) AddDirectiveDefinition(directiveDefinition DirectiveDefinition) (ref int)
- func (d *Document) AddDirectiveToNode(directiveRef int, node Node) bool
- func (d *Document) AddEnumTypeDefinition(definition EnumTypeDefinition) (ref int)
- func (d *Document) AddEnumValue(value EnumValue) (ref int)
- func (d *Document) AddEnumValueDefinition(inputValueDefinition EnumValueDefinition) (ref int)
- func (d *Document) AddField(field Field) Node
- func (d *Document) AddFieldDefinition(fieldDefinition FieldDefinition) (ref int)
- func (d *Document) AddFloatValue(value FloatValue) (ref int)
- func (d *Document) AddFragmentSpread(spread FragmentSpread) int
- func (d *Document) AddImportedVariableDefinitionToOperationDefinition(operationDefinition, variableDefinition int)
- func (d *Document) AddInlineFragment(fragment InlineFragment) int
- func (d *Document) AddInputObjectTypeDefinition(definition InputObjectTypeDefinition) (ref int)
- func (d *Document) AddInputValueDefinition(inputValueDefinition InputValueDefinition) (ref int)
- func (d *Document) AddIntValue(value IntValue) (ref int)
- func (d *Document) AddInterfaceTypeDefinition(definition InterfaceTypeDefinition) (ref int)
- func (d *Document) AddInterfaceTypeExtension(extension InterfaceTypeExtension) (ref int)
- func (d *Document) AddListType(ofType int) (ref int)
- func (d *Document) AddListTypeWithPosition(ofType int, open position.Position, close position.Position) (ref int)
- func (d *Document) AddListValue(value ListValue) (ref int)
- func (d *Document) AddNamedType(name []byte) (ref int)
- func (d *Document) AddNamedTypeWithPosition(nameRef ByteSliceReference, position position.Position) (ref int)
- func (d *Document) AddNonNullNamedType(name []byte) (ref int)
- func (d *Document) AddNonNullType(ofType int) (ref int)
- func (d *Document) AddNonNullTypeWithBangPosition(ofType int, bang position.Position) (ref int)
- func (d *Document) AddObjectField(field ObjectField) (ref int)
- func (d *Document) AddObjectTypeDefinition(definition ObjectTypeDefinition) (ref int)
- func (d *Document) AddObjectTypeDefinitionExtension(extension ObjectTypeExtension) (ref int)
- func (d *Document) AddObjectValue(value ObjectValue) (ref int)
- func (d *Document) AddOperationDefinitionToRootNodes(definition OperationDefinition) Node
- func (d *Document) AddRootNode(node Node)
- func (d *Document) AddRootOperationTypeDefinition(rootOperationTypeDefinition RootOperationTypeDefinition) (ref int)
- func (d *Document) AddScalarTypeDefinition(definition ScalarTypeDefinition) (ref int)
- func (d *Document) AddSchemaDefinition(schemaDefinition SchemaDefinition) (ref int)
- func (d *Document) AddSchemaDefinitionRootNode(schemaDefinition SchemaDefinition)
- func (d *Document) AddSelection(set int, selection Selection)
- func (d *Document) AddSelectionRefToSelectionSet(set int, selectionRef int)
- func (d *Document) AddSelectionSet() Node
- func (d *Document) AddSelectionSetToDocument(set SelectionSet) int
- func (d *Document) AddSelectionToDocument(selection Selection) int
- func (d *Document) AddStringValue(value StringValue) (ref int)
- func (d *Document) AddType(t Type) (ref int)
- func (d *Document) AddUnionTypeDefinition(definition UnionTypeDefinition) (ref int)
- func (d *Document) AddValue(value Value) (ref int)
- func (d *Document) AddVariableDefinitionToOperationDefinition(operationDefinitionRef, variableValueRef, typeRef int)
- func (d *Document) AddVariableValue(value VariableValue) (ref int)
- func (d *Document) AddVariableValueArgument(argName, variableName []byte) (variableValueRef, argRef int)
- func (d *Document) AppendSelectionSet(ref int, appendRef int)
- func (d *Document) ArgumentNameBytes(ref int) ByteSlice
- func (d *Document) ArgumentNameString(ref int) string
- func (d *Document) ArgumentSetsAreEquals(left, right []int) bool
- func (d *Document) ArgumentValue(ref int) Value
- func (d *Document) ArgumentsAfter(ancestor Node, argument int) []int
- func (d *Document) ArgumentsAreEqual(left, right int) bool
- func (d *Document) ArgumentsBefore(ancestor Node, argument int) []int
- func (d *Document) BooleanValue(ref int) BooleanValue
- func (d *Document) BooleanValuesAreEqual(left, right int) bool
- func (d *Document) CopyAlias(alias Alias) Alias
- func (d *Document) CopyArgument(ref int) int
- func (d *Document) CopyArgumentList(list ArgumentList) ArgumentList
- func (d *Document) CopyDirective(ref int) int
- func (d *Document) CopyDirectiveList(list DirectiveList) DirectiveList
- func (d *Document) CopyEnumValue(ref int) int
- func (d *Document) CopyField(ref int) int
- func (d *Document) CopyFloatValue(ref int) int
- func (d *Document) CopyFragmentSpread(ref int) int
- func (d *Document) CopyInlineFragment(ref int) int
- func (d *Document) CopyIntValue(ref int) int
- func (d *Document) CopyListValue(ref int) int
- func (d *Document) CopyObjectField(ref int) int
- func (d *Document) CopyObjectValue(ref int) int
- func (d *Document) CopySelection(ref int) int
- func (d *Document) CopySelectionSet(ref int) int
- func (d *Document) CopyStringValue(ref int) int
- func (d *Document) CopyValue(ref int) int
- func (d *Document) CopyVariableValue(ref int) int
- func (d *Document) CreateRootOperationTypeDefinition(operationType OperationType, rootNodeRef int) (ref int)
- func (d *Document) DeleteRootNode(node Node)
- func (d *Document) DeleteRootNodes(nodes []Node)
- func (d *Document) DirectiveArgumentInputValueDefinition(directiveName ByteSlice, argumentName ByteSlice) int
- func (d *Document) DirectiveArgumentSet(ref int) []int
- func (d *Document) DirectiveArgumentValueByName(ref int, name ByteSlice) (Value, bool)
- func (d *Document) DirectiveDefinitionArgumentDefaultValueBool(directiveName, argumentName string) bool
- func (d *Document) DirectiveDefinitionArgumentDefaultValueFloat32(directiveName, argumentName string) float32
- func (d *Document) DirectiveDefinitionArgumentDefaultValueInt64(directiveName, argumentName string) int64
- func (d *Document) DirectiveDefinitionArgumentDefaultValueString(directiveName, argumentName string) string
- func (d *Document) DirectiveDefinitionByName(name string) (int, bool)
- func (d *Document) DirectiveDefinitionByNameBytes(name []byte) (int, bool)
- func (d *Document) DirectiveDefinitionDescriptionBytes(ref int) ByteSlice
- func (d *Document) DirectiveDefinitionDescriptionString(ref int) string
- func (d *Document) DirectiveDefinitionIsRepeatable(ref int) bool
- func (d *Document) DirectiveDefinitionNameBytes(ref int) ByteSlice
- func (d *Document) DirectiveDefinitionNameString(ref int) string
- func (d *Document) DirectiveIsAllowedOnNodeKind(directiveName string, kind NodeKind, operationType OperationType) bool
- func (d *Document) DirectiveIsFirst(directive int, ancestor Node) bool
- func (d *Document) DirectiveIsLast(directive int, ancestor Node) bool
- func (d *Document) DirectiveName(ref int) ByteSliceReference
- func (d *Document) DirectiveNameBytes(ref int) ByteSlice
- func (d *Document) DirectiveNameString(ref int) string
- func (d *Document) DirectiveSetsAreEqual(left, right []int) bool
- func (d *Document) DirectiveSetsHasCompatibleStreamDirective(left, right []int) bool
- func (d *Document) DirectiveWithNameBytes(directiveRefs []int, name []byte) (directiveRef int, exists bool)
- func (d *Document) DirectivesAreEqual(left, right int) bool
- func (d *Document) EmptySelectionSet(ref int)
- func (d *Document) EnumTypeDefinitionContainsEnumValue(enumTypeDef int, valueName ByteSlice) bool
- func (d *Document) EnumTypeDefinitionDescriptionBytes(ref int) ByteSlice
- func (d *Document) EnumTypeDefinitionDescriptionString(ref int) string
- func (d *Document) EnumTypeDefinitionHasDirectives(ref int) bool
- func (d *Document) EnumTypeDefinitionHasEnumValueDefinition(ref int) bool
- func (d *Document) EnumTypeDefinitionNameBytes(ref int) ByteSlice
- func (d *Document) EnumTypeDefinitionNameString(ref int) string
- func (d *Document) EnumTypeExtensionDescriptionBytes(ref int) ByteSlice
- func (d *Document) EnumTypeExtensionDescriptionString(ref int) string
- func (d *Document) EnumTypeExtensionHasDirectives(ref int) bool
- func (d *Document) EnumTypeExtensionHasEnumValueDefinition(ref int) bool
- func (d *Document) EnumTypeExtensionNameBytes(ref int) ByteSlice
- func (d *Document) EnumTypeExtensionNameString(ref int) string
- func (d *Document) EnumValueDefinitionDescriptionBytes(ref int) ByteSlice
- func (d *Document) EnumValueDefinitionDescriptionString(ref int) string
- func (d *Document) EnumValueDefinitionDirectiveByName(definitionRef int, directiveName ByteSlice) (ref int, exists bool)
- func (d *Document) EnumValueDefinitionDirectives(ref int) (refs []int)
- func (d *Document) EnumValueDefinitionHasDirectives(ref int) bool
- func (d *Document) EnumValueDefinitionIsFirst(ref int, ancestor Node) bool
- func (d *Document) EnumValueDefinitionIsLast(ref int, ancestor Node) bool
- func (d *Document) EnumValueDefinitionNameBytes(ref int) ByteSlice
- func (d *Document) EnumValueDefinitionNameString(ref int) string
- func (d *Document) EnumValueName(ref int) ByteSliceReference
- func (d *Document) EnumValueNameBytes(ref int) ByteSlice
- func (d *Document) EnumValueNameString(ref int) string
- func (d *Document) EnumValuesAreEqual(left, right int) bool
- func (d *Document) ExtendEnumTypeDefinitionByEnumTypeExtension(enumTypeDefinitionRef, enumTypeExtensionRef int)
- func (d *Document) ExtendInputObjectTypeDefinitionByInputObjectTypeExtension(inputObjectTypeDefinitionRef, inputObjectTypeExtensionRef int)
- func (d *Document) ExtendInterfaceTypeDefinitionByInterfaceTypeExtension(interfaceTypeDefinitionRef, interfaceTypeExtensionRef int)
- func (d *Document) ExtendObjectTypeDefinitionByObjectTypeExtension(objectTypeDefinitionRef, objectTypeExtensionRef int)
- func (d *Document) ExtendScalarTypeDefinitionByScalarTypeExtension(scalarTypeDefinitionRef, scalarTypeExtensionRef int)
- func (d *Document) ExtendUnionTypeDefinitionByUnionTypeExtension(unionTypeDefinitionRef, unionTypeExtensionRef int)
- func (d *Document) FieldAliasBytes(ref int) ByteSlice
- func (d *Document) FieldAliasIsDefined(ref int) bool
- func (d *Document) FieldAliasOrNameBytes(ref int) ByteSlice
- func (d *Document) FieldAliasOrNameString(ref int) string
- func (d *Document) FieldAliasString(ref int) string
- func (d *Document) FieldArgument(field int, name ByteSlice) (ref int, exists bool)
- func (d *Document) FieldArguments(ref int) []int
- func (d *Document) FieldDefinitionArgumentsDefinitions(ref int) []int
- func (d *Document) FieldDefinitionDescriptionBytes(ref int) ByteSlice
- func (d *Document) FieldDefinitionDescriptionString(ref int) string
- func (d *Document) FieldDefinitionDirectiveByName(fieldDefinition int, directiveName ByteSlice) (ref int, exists bool)
- func (d *Document) FieldDefinitionDirectives(fieldDefinition int) (refs []int)
- func (d *Document) FieldDefinitionHasArgumentsDefinitions(ref int) bool
- func (d *Document) FieldDefinitionHasDirectives(ref int) bool
- func (d *Document) FieldDefinitionHasNamedDirective(fieldDefinition int, directiveName string) bool
- func (d *Document) FieldDefinitionIsFirst(field int, ancestor Node) bool
- func (d *Document) FieldDefinitionIsLast(field int, ancestor Node) bool
- func (d *Document) FieldDefinitionNameBytes(ref int) ByteSlice
- func (d *Document) FieldDefinitionNameString(ref int) string
- func (d *Document) FieldDefinitionResolverTypeName(enclosingType Node) ByteSlice
- func (d *Document) FieldDefinitionType(ref int) int
- func (d *Document) FieldDefinitionTypeNameBytes(ref int) ByteSlice
- func (d *Document) FieldDefinitionTypeNameString(ref int) string
- func (d *Document) FieldDefinitionTypeNode(ref int) Node
- func (d *Document) FieldDefinitionsContainField(definitions []int, field ByteSlice) bool
- func (d *Document) FieldDirectives(ref int) []int
- func (d *Document) FieldHasArguments(ref int) bool
- func (d *Document) FieldHasDirectives(ref int) bool
- func (d *Document) FieldHasSelections(ref int) bool
- func (d *Document) FieldNameBytes(ref int) ByteSlice
- func (d *Document) FieldNameString(ref int) string
- func (d *Document) FieldNameUnsafeString(ref int) string
- func (d *Document) FieldSelectionSet(ref int) (selectionSetRef int, ok bool)
- func (d *Document) FieldTypeNode(fieldName []byte, enclosingNode Node) (node Node, ok bool)
- func (d *Document) FieldsAreEqualFlat(left, right int, checkDirectivesEquality bool) bool
- func (d *Document) FieldsHaveSameShape(left, right int) bool
- func (d *Document) FloatValueAsFloat32(ref int) (out float32)
- func (d *Document) FloatValueIsNegative(ref int) bool
- func (d *Document) FloatValueRaw(ref int) ByteSlice
- func (d *Document) FloatValuesAreEqual(left, right int) bool
- func (d *Document) FragmentDefinitionIsLastRootNode(ref int) bool
- func (d *Document) FragmentDefinitionIsUsed(name ByteSlice) bool
- func (d *Document) FragmentDefinitionNameBytes(ref int) ByteSlice
- func (d *Document) FragmentDefinitionNameString(ref int) string
- func (d *Document) FragmentDefinitionRef(byName ByteSlice) (ref int, exists bool)
- func (d *Document) FragmentDefinitionTypeName(ref int) ByteSlice
- func (d *Document) FragmentDefinitionTypeNameString(ref int) string
- func (d *Document) FragmentSpreadHasDirectives(ref int) bool
- func (d *Document) FragmentSpreadNameBytes(ref int) ByteSlice
- func (d *Document) FragmentSpreadNameString(ref int) string
- func (d *Document) GenerateUnusedVariableDefinitionName(operationDefinition int) []byte
- func (d *Document) HasSchemaDefinition() bool
- func (d *Document) ImportAndExtendEnumTypeDefinitionByEnumTypeExtension(enumTypeExtensionRef int)
- func (d *Document) ImportAndExtendInputObjectTypeDefinitionByInputObjectTypeExtension(inputObjectTypeExtensionRef int)
- func (d *Document) ImportAndExtendInterfaceTypeDefinitionByInterfaceTypeExtension(interfaceTypeExtensionRef int)
- func (d *Document) ImportAndExtendObjectTypeDefinitionByObjectTypeExtension(objectTypeExtensionRef int)
- func (d *Document) ImportAndExtendScalarTypeDefinitionByScalarTypeExtension(scalarTypeExtensionRef int)
- func (d *Document) ImportAndExtendUnionTypeDefinitionByUnionTypeExtension(unionTypeExtensionRef int)
- func (d *Document) ImportArgument(name string, value Value) (ref int)
- func (d *Document) ImportDescription(desc string) (description Description)
- func (d *Document) ImportDirective(name string, argRefs []int) (ref int)
- func (d *Document) ImportDirectiveDefinition(name, description string, argsRefs []int, locations []string) (ref int)
- func (d *Document) ImportEnumTypeDefinition(name, description string, valueRefs []int) (ref int)
- func (d *Document) ImportEnumTypeDefinitionWithDirectives(name, description string, valueRefs []int, directiveRefs []int) (ref int)
- func (d *Document) ImportEnumValue(name ByteSlice) (ref int)
- func (d *Document) ImportEnumValueDefinition(value, description string, directiveRefs []int) (ref int)
- func (d *Document) ImportFieldDefinition(name, description string, typeRef int, argsRefs []int, directiveRefs []int) (ref int)
- func (d *Document) ImportFloatValue(raw ByteSlice, isNegative bool) (ref int)
- func (d *Document) ImportInputObjectTypeDefinition(name, description string, argsRefs []int) (ref int)
- func (d *Document) ImportInputObjectTypeDefinitionWithDirectives(name, description string, argsRefs []int, directiveRefs []int) (ref int)
- func (d *Document) ImportInputValueDefinition(name, description string, typeRef int, defaultValue DefaultValue) (ref int)
- func (d *Document) ImportIntValue(raw ByteSlice, isNegative bool) (ref int)
- func (d *Document) ImportInterfaceTypeDefinition(name, description string, fieldRefs []int) (ref int)
- func (d *Document) ImportInterfaceTypeDefinitionWithDirectives(name, description string, fieldRefs []int, iRefs []int, directiveRefs []int) (ref int)
- func (d *Document) ImportListValue(valueRefs []int) (ref int)
- func (d *Document) ImportObjectField(name ByteSlice, value Value) (ref int)
- func (d *Document) ImportObjectTypeDefinition(name, description string, fieldRefs []int, iRefs []int) (ref int)
- func (d *Document) ImportObjectTypeDefinitionWithDirectives(name, description string, fieldRefs []int, iRefs []int, directiveRefs []int) (ref int)
- func (d *Document) ImportObjectValue(fieldRefs []int) (ref int)
- func (d *Document) ImportRootNode(ref int, kind NodeKind)
- func (d *Document) ImportRootOperationTypeDefinition(name string, operationType OperationType) (ref int)
- func (d *Document) ImportRootOperationTypeDefinitions(queryTypeName, mutationTypeName, subscriptionTypeName string) (refs []int)
- func (d *Document) ImportScalarTypeDefinition(name, description string) (ref int)
- func (d *Document) ImportScalarTypeDefinitionWithDirectives(name, description string, directiveRefs []int) (ref int)
- func (d *Document) ImportSchemaDefinition(queryTypeName, mutationTypeName, subscriptionTypeName string)
- func (d *Document) ImportStringValue(raw ByteSlice, isBlockString bool) (ref int)
- func (d *Document) ImportUnionTypeDefinition(name, description string, typeRefs []int) (ref int)
- func (d *Document) ImportUnionTypeDefinitionWithDirectives(name, description string, typeRefs []int, directiveRefs []int) (ref int)
- func (d *Document) ImportVariableValue(name ByteSlice) (ref int)
- func (d *Document) ImportVariableValueArgument(argName, variableName ByteSlice) (variableValueRef, argRef int)
- func (d *Document) InlineFragmentDirectives(ref int) []int
- func (d *Document) InlineFragmentHasDirectives(ref int) bool
- func (d *Document) InlineFragmentHasTypeCondition(ref int) bool
- func (d *Document) InlineFragmentIsOfTheSameType(ref int) bool
- func (d *Document) InlineFragmentSelectionSet(ref int) (selectionSetRef int, ok bool)
- func (d *Document) InlineFragmentSelections(ref int) []int
- func (d *Document) InlineFragmentTypeConditionName(ref int) ByteSlice
- func (d *Document) InlineFragmentTypeConditionNameString(ref int) string
- func (d *Document) InputObjectTypeDefinitionDescriptionBytes(ref int) ByteSlice
- func (d *Document) InputObjectTypeDefinitionDescriptionString(ref int) string
- func (d *Document) InputObjectTypeDefinitionInputValueDefinitionByName(definition int, inputValueDefinitionName ByteSlice) int
- func (d *Document) InputObjectTypeDefinitionInputValueDefinitionDefaultValue(inputObjectTypeDefinitionName, inputValueDefinitionName string) Value
- func (d *Document) InputObjectTypeDefinitionInputValueDefinitionDefaultValueBool(inputObjectTypeDefinitionName, inputValueDefinitionName string) bool
- func (d *Document) InputObjectTypeDefinitionInputValueDefinitionDefaultValueFloat32(inputObjectTypeDefinitionName, inputValueDefinitionName string) float32
- func (d *Document) InputObjectTypeDefinitionInputValueDefinitionDefaultValueInt64(inputObjectTypeDefinitionName, inputValueDefinitionName string) int64
- func (d *Document) InputObjectTypeDefinitionInputValueDefinitionDefaultValueString(inputObjectTypeDefinitionName, inputValueDefinitionName string) string
- func (d *Document) InputObjectTypeDefinitionNameBytes(ref int) ByteSlice
- func (d *Document) InputObjectTypeDefinitionNameString(ref int) string
- func (d *Document) InputObjectTypeExtensionDescriptionBytes(ref int) ByteSlice
- func (d *Document) InputObjectTypeExtensionDescriptionString(ref int) string
- func (d *Document) InputObjectTypeExtensionHasDirectives(ref int) bool
- func (d *Document) InputObjectTypeExtensionHasInputFieldsDefinition(ref int) bool
- func (d *Document) InputObjectTypeExtensionNameBytes(ref int) ByteSlice
- func (d *Document) InputObjectTypeExtensionNameString(ref int) string
- func (d *Document) InputValueDefinitionArgumentIsOptional(ref int) bool
- func (d *Document) InputValueDefinitionDefaultValue(ref int) Value
- func (d *Document) InputValueDefinitionDescriptionBytes(ref int) ByteSlice
- func (d *Document) InputValueDefinitionDescriptionString(ref int) string
- func (d *Document) InputValueDefinitionHasDefaultValue(ref int) bool
- func (d *Document) InputValueDefinitionHasDirective(ref int, directiveName ByteSlice) bool
- func (d *Document) InputValueDefinitionIsFirst(inputValue int, ancestor Node) bool
- func (d *Document) InputValueDefinitionIsLast(inputValue int, ancestor Node) bool
- func (d *Document) InputValueDefinitionNameBytes(ref int) ByteSlice
- func (d *Document) InputValueDefinitionNameString(ref int) string
- func (d *Document) InputValueDefinitionType(ref int) int
- func (d *Document) IntValue(ref int) IntValue
- func (d *Document) IntValueAsInt(ref int) (out int64)
- func (d *Document) IntValueAsInt32(ref int) (out int32)
- func (d *Document) IntValueIsNegative(ref int) bool
- func (d *Document) IntValueRaw(ref int) ByteSlice
- func (d *Document) IntValueValidInt32(ref int) bool
- func (d *Document) IntValuesAreEquals(left, right int) bool
- func (d *Document) InterfaceNodeIntersectsInterfaceNode(interfaceNodeA, interfaceNodeB Node) bool
- func (d *Document) InterfaceTypeDefinitionDescriptionBytes(ref int) ByteSlice
- func (d *Document) InterfaceTypeDefinitionDescriptionString(ref int) string
- func (d *Document) InterfaceTypeDefinitionFieldWithName(ref int, fieldName []byte) (fieldDefRef int, ok bool)
- func (d *Document) InterfaceTypeDefinitionImplementedByObjectWithNames(interfaceDefRef int) (typeNames []string, ok bool)
- func (d *Document) InterfaceTypeDefinitionImplementedByRootNodes(ref int) []Node
- func (d *Document) InterfaceTypeDefinitionImplementsInterface(definitionRef int, interfaceName ByteSlice) bool
- func (d *Document) InterfaceTypeDefinitionNameBytes(ref int) ByteSlice
- func (d *Document) InterfaceTypeDefinitionNameString(ref int) string
- func (d *Document) InterfaceTypeExtensionDescriptionBytes(ref int) ByteSlice
- func (d *Document) InterfaceTypeExtensionDescriptionString(ref int) string
- func (d *Document) InterfaceTypeExtensionHasDirectives(ref int) bool
- func (d *Document) InterfaceTypeExtensionHasFieldDefinitions(ref int) bool
- func (d *Document) InterfaceTypeExtensionNameBytes(ref int) ByteSlice
- func (d *Document) InterfaceTypeExtensionNameString(ref int) string
- func (d *Document) InterfacesIntersect(interfaceA, interfaceB int) bool
- func (d *Document) ListValuesAreEqual(left, right int) bool
- func (d *Document) NewEmptyRefs() []int
- func (d *Document) NextRefIndex() int
- func (d *Document) NodeByName(name ByteSlice) (Node, bool)
- func (d *Document) NodeByNameStr(name string) (Node, bool)
- func (d *Document) NodeDirectiveLocation(node Node) (location DirectiveLocation, err error)
- func (d *Document) NodeDirectives(node Node) []int
- func (d *Document) NodeFieldDefinitionArgumentDefinitionByName(node Node, fieldName, argumentName ByteSlice) int
- func (d *Document) NodeFieldDefinitionArgumentsDefinitions(node Node, fieldName ByteSlice) []int
- func (d *Document) NodeFieldDefinitionByName(node Node, fieldName ByteSlice) (definition int, exists bool)
- func (d *Document) NodeFieldDefinitions(node Node) []int
- func (d *Document) NodeFragmentIsAllowedOnInterfaceTypeDefinition(fragmentNode, interfaceTypeNode Node) bool
- func (d *Document) NodeFragmentIsAllowedOnNode(fragmentNode, onNode Node) bool
- func (d *Document) NodeFragmentIsAllowedOnObjectTypeDefinition(fragmentNode, objectTypeNode Node) bool
- func (d *Document) NodeFragmentIsAllowedOnUnionTypeDefinition(fragmentNode, unionTypeNode Node) bool
- func (d *Document) NodeHasDirectiveByNameString(node Node, directiveName string) bool
- func (d *Document) NodeImplementsInterface(node Node, interfaceName ByteSlice) bool
- func (d *Document) NodeImplementsInterfaceFields(node Node, interfaceNode Node) bool
- func (d *Document) NodeInputFieldDefinitionByName(node Node, name ByteSlice) (int, bool)
- func (d *Document) NodeInputFieldDefinitions(node Node) []int
- func (d *Document) NodeInputValueDefinitions(node Node) []int
- func (d *Document) NodeInterfaceRefs(node Node) (refs []int)
- func (d *Document) NodeIsLastRootNode(node Node) bool
- func (d *Document) NodeIsUnionMember(node Node, union Node) bool
- func (d *Document) NodeKindNameBytes(node Node) ByteSlice
- func (d *Document) NodeNameBytes(node Node) ByteSlice
- func (d *Document) NodeNameString(node Node) string
- func (d *Document) NodeNameUnsafeString(node Node) string
- func (d *Document) NodeResolverTypeNameBytes(node Node, path Path) ByteSlice
- func (d *Document) NodeResolverTypeNameString(node Node, path Path) string
- func (d *Document) NodeUnionMemberRefs(node Node) (refs []int)
- func (d *Document) NumOfOperationDefinitions() (n int)
- func (d *Document) ObjectField(ref int) ObjectField
- func (d *Document) ObjectFieldNameBytes(ref int) ByteSlice
- func (d *Document) ObjectFieldNameString(ref int) string
- func (d *Document) ObjectFieldValue(ref int) Value
- func (d *Document) ObjectFieldsAreEqual(left, right int) bool
- func (d *Document) ObjectTypeDefinitionFieldWithName(ref int, fieldName []byte) (fieldDefRef int, ok bool)
- func (d *Document) ObjectTypeDefinitionHasField(ref int, fieldName []byte) bool
- func (d *Document) ObjectTypeDefinitionImplementsInterface(definitionRef int, interfaceName ByteSlice) bool
- func (d *Document) ObjectTypeDefinitionNameBytes(ref int) ByteSlice
- func (d *Document) ObjectTypeDefinitionNameRef(ref int) ByteSliceReference
- func (d *Document) ObjectTypeDefinitionNameString(ref int) string
- func (d *Document) ObjectTypeDescriptionNameBytes(ref int) ByteSlice
- func (d *Document) ObjectTypeDescriptionNameString(ref int) string
- func (d *Document) ObjectTypeExtensionDescriptionNameBytes(ref int) ByteSlice
- func (d *Document) ObjectTypeExtensionDescriptionNameString(ref int) string
- func (d *Document) ObjectTypeExtensionHasDirectives(ref int) bool
- func (d *Document) ObjectTypeExtensionHasFieldDefinitions(ref int) bool
- func (d *Document) ObjectTypeExtensionNameBytes(ref int) ByteSlice
- func (d *Document) ObjectTypeExtensionNameString(ref int) string
- func (d *Document) ObjectValuesAreEqual(left, right int) bool
- func (d *Document) OperationDefinitionHasVariableDefinition(ref int, variableName string) bool
- func (d *Document) OperationDefinitionNameBytes(ref int) ByteSlice
- func (d *Document) OperationDefinitionNameString(ref int) string
- func (d *Document) OperationNameExists(operationName string) bool
- func (d *Document) PrintArgument(ref int, w io.Writer) error
- func (d *Document) PrintArguments(refs []int, w io.Writer) (err error)
- func (d *Document) PrintDescription(description Description, indent []byte, depth int, writer io.Writer) (err error)
- func (d *Document) PrintDirective(ref int, w io.Writer) error
- func (d *Document) PrintSelections(selections []int) (out string)
- func (d *Document) PrintType(ref int, w io.Writer) error
- func (d *Document) PrintTypeBytes(ref int, buf []byte) ([]byte, error)
- func (d *Document) PrintValue(value Value, w io.Writer) (err error)
- func (d *Document) PrintValueBytes(value Value, buf []byte) ([]byte, error)
- func (d *Document) RemoveDirectiveFromNode(node Node, directiveRef int)
- func (d *Document) RemoveDirectivesFromNode(node Node, directiveRefs []int)
- func (d *Document) RemoveFieldAlias(ref int)
- func (d *Document) RemoveFieldDefinitionsFromObjectTypeDefinition(fieldDefinitionRefs []int, objectTypeDefinitionRef int)
- func (d *Document) RemoveFromSelectionSet(ref int, index int)
- func (d *Document) RemoveMergedTypeExtensions()
- func (d *Document) RemoveNodeFromSelectionSet(set int, node Node) (removed bool)
- func (d *Document) RemoveNodeFromSelectionSetNode(remove, from Node) (removed bool)
- func (d *Document) RemoveObjectTypeDefinition(name ByteSlice) bool
- func (d *Document) RemoveRootNode(node Node)
- func (d *Document) ReplaceFragmentSpread(selectionSet int, spreadRef int, replaceWithSelectionSet int)
- func (d *Document) ReplaceFragmentSpreadWithInlineFragment(selectionSet int, spreadRef int, replaceWithSelectionSet int, ...)
- func (d *Document) ReplaceRootOperationTypeDefinition(name string, operationType OperationType) (ref int, ok bool)
- func (d *Document) ReplaceRootOperationTypesOfSchemaDefinition(schemaDefinitionRef int, ...)
- func (d *Document) ReplaceSelectionOnSelectionSet(ref, replace, with int)
- func (d *Document) Reset()
- func (d *Document) ResolveIncludeDirectiveVariable(directiveRefs []int) (variableName string, exists bool)
- func (d *Document) ResolveListOrNameType(ref int) (typeRef int)
- func (d *Document) ResolveSkipDirectiveVariable(directiveRefs []int) (variableName string, exists bool)
- func (d *Document) ResolveTypeNameBytes(ref int) ByteSlice
- func (d *Document) ResolveTypeNameString(ref int) string
- func (d *Document) ResolveUnderlyingType(ref int) (typeRef int)
- func (d *Document) RootOperationTypeDefinitionIsFirstInSchemaDefinition(ref int, ancestor Node) bool
- func (d *Document) RootOperationTypeDefinitionIsLastInSchemaDefinition(ref int, ancestor Node) bool
- func (d *Document) RootOperationTypeDefinitionNameString(ref int) string
- func (d *Document) ScalarTypeDefinitionDescriptionBytes(ref int) ByteSlice
- func (d *Document) ScalarTypeDefinitionDescriptionString(ref int) string
- func (d *Document) ScalarTypeDefinitionHasDirectives(ref int) bool
- func (d *Document) ScalarTypeDefinitionNameBytes(ref int) ByteSlice
- func (d *Document) ScalarTypeDefinitionNameString(ref int) string
- func (d *Document) ScalarTypeExtensionDescriptionBytes(ref int) ByteSlice
- func (d *Document) ScalarTypeExtensionDescriptionString(ref int) string
- func (d *Document) ScalarTypeExtensionHasDirectives(ref int) bool
- func (d *Document) ScalarTypeExtensionNameBytes(ref int) ByteSlice
- func (d *Document) ScalarTypeExtensionNameString(ref int) string
- func (d *Document) SchemaDefinitionRef() int
- func (d *Document) SelectionIsFieldSelection(ref int) bool
- func (d *Document) SelectionIsInlineFragmentSelection(ref int) bool
- func (d *Document) SelectionKind(ref int) SelectionKind
- func (d *Document) SelectionSetFieldNames(set int) (fieldNames []string)
- func (d *Document) SelectionSetFieldSelections(set int) (refs []int)
- func (d *Document) SelectionSetHasFieldSelectionWithExactName(set int, name []byte) (exist bool, fieldRef int)
- func (d *Document) SelectionSetHasFieldSelectionWithNameOrAliasBytes(set int, nameOrAlias []byte) (exist bool, fieldRef int)
- func (d *Document) SelectionSetHasFieldSelectionWithNameOrAliasString(set int, nameOrAlias string) (exist bool, fieldRef int)
- func (d *Document) SelectionSetInlineFragmentSelections(set int) (refs []int)
- func (d *Document) SelectionSetIsEmpty(ref int) bool
- func (d *Document) SelectionsAfter(selectionKind SelectionKind, selectionRef int, selectionSet Node) bool
- func (d *Document) SelectionsAfterField(field int, selectionSet Node) bool
- func (d *Document) SelectionsAfterFragmentSpread(fragmentSpread int, selectionSet Node) bool
- func (d *Document) SelectionsAfterInlineFragment(inlineFragment int, selectionSet Node) bool
- func (d *Document) SelectionsBeforeField(field int, selectionSet Node) bool
- func (d *Document) StringValue(ref int) StringValue
- func (d *Document) StringValueContentBytes(ref int) ByteSlice
- func (d *Document) StringValueContentString(ref int) string
- func (d *Document) StringValueIsBlockString(ref int) bool
- func (d *Document) StringValuesAreEquals(left, right int) bool
- func (d *Document) TypeDefinitionContainsImplementsInterface(typeName, interfaceName ByteSlice) bool
- func (d *Document) TypeIsEnum(ref int, definition *Document) bool
- func (d *Document) TypeIsList(ref int) bool
- func (d *Document) TypeIsNonNull(ref int) bool
- func (d *Document) TypeIsScalar(ref int, definition *Document) bool
- func (d *Document) TypeNameBytes(ref int) ByteSlice
- func (d *Document) TypeNameString(ref int) string
- func (d *Document) TypesAreCompatibleDeep(left int, right int) bool
- func (d *Document) TypesAreEqualDeep(left int, right int) bool
- func (d *Document) UnionMemberTypeIsFirst(ref int, ancestor Node) bool
- func (d *Document) UnionMemberTypeIsLast(ref int, ancestor Node) bool
- func (d *Document) UnionNodeIntersectsInterfaceNode(unionNode, interfaceNode Node) bool
- func (d *Document) UnionTypeDefinitionDescriptionBytes(ref int) ByteSlice
- func (d *Document) UnionTypeDefinitionDescriptionString(ref int) string
- func (d *Document) UnionTypeDefinitionHasDirectives(ref int) bool
- func (d *Document) UnionTypeDefinitionHasField(ref int, fieldName []byte) bool
- func (d *Document) UnionTypeDefinitionMemberTypeNames(ref int) (typeNames []string, ok bool)
- func (d *Document) UnionTypeDefinitionNameBytes(ref int) ByteSlice
- func (d *Document) UnionTypeDefinitionNameString(ref int) string
- func (d *Document) UnionTypeExtensionDescriptionBytes(ref int) ByteSlice
- func (d *Document) UnionTypeExtensionDescriptionString(ref int) string
- func (d *Document) UnionTypeExtensionHasDirectives(ref int) bool
- func (d *Document) UnionTypeExtensionHasUnionMemberTypes(ref int) bool
- func (d *Document) UnionTypeExtensionNameBytes(ref int) ByteSlice
- func (d *Document) UnionTypeExtensionNameString(ref int) string
- func (d *Document) UpdateRootNode(ref int, newNodeRef int, newNodeKind NodeKind)
- func (d *Document) Value(ref int) Value
- func (d *Document) ValueContainsVariable(value Value) bool
- func (d *Document) ValueContentBytes(value Value) ByteSlice
- func (d *Document) ValueContentString(value Value) string
- func (d *Document) ValueToJSON(value Value) ([]byte, error)
- func (d *Document) ValuesAreEqual(left, right Value) bool
- func (d *Document) VariableDefinitionByNameAndOperation(operationDefinition int, name ByteSlice) (definition int, exists bool)
- func (d *Document) VariableDefinitionDefaultValue(ref int) Value
- func (d *Document) VariableDefinitionHasDefaultValue(ref int) bool
- func (d *Document) VariableDefinitionNameBytes(ref int) ByteSlice
- func (d *Document) VariableDefinitionNameString(ref int) string
- func (d *Document) VariableDefinitionsAfter(variableDefinition int) bool
- func (d *Document) VariableDefinitionsBefore(variableDefinition int) bool
- func (d *Document) VariableValueNameBytes(ref int) ByteSlice
- func (d *Document) VariableValueNameString(ref int) string
- func (d *Document) VariableValuesAreEqual(left, right int) bool
- type EnumTypeDefinition
- type EnumTypeExtension
- type EnumValue
- type EnumValueDefinition
- type EnumValueDefinitionList
- type Field
- type FieldDefinition
- type FieldDefinitionList
- type FloatValue
- type FragmentDefinition
- type FragmentSpread
- type Index
- func (i *Index) AddNodeBytes(name []byte, node Node)
- func (i *Index) AddNodeStr(name string, node Node)
- func (i *Index) FirstNodeByNameBytes(name []byte) (Node, bool)
- func (i *Index) FirstNodeByNameStr(name string) (Node, bool)
- func (i *Index) FirstNonExtensionNodeByNameBytes(name []byte) (Node, bool)
- func (i *Index) IsRootOperationTypeNameBytes(typeName []byte) bool
- func (i *Index) IsRootOperationTypeNameString(typeName string) bool
- func (i *Index) NodesByNameBytes(name []byte) ([]Node, bool)
- func (i *Index) NodesByNameStr(name string) ([]Node, bool)
- func (i *Index) RemoveNodeByName(name []byte)
- func (i *Index) ReplaceNode(name []byte, oldNode Node, newNode Node)
- func (i *Index) Reset()
- type InlineFragment
- type Input
- func (i *Input) AppendInputBytes(bytes []byte) (ref ByteSliceReference)
- func (i *Input) AppendInputString(input string) ByteSliceReference
- func (i *Input) ByteSlice(reference ByteSliceReference) ByteSlice
- func (i *Input) ByteSliceReferenceContentEquals(left, right ByteSliceReference) bool
- func (i *Input) ByteSliceString(reference ByteSliceReference) string
- func (i *Input) Reset()
- func (i *Input) ResetInputBytes(bytes []byte)
- func (i *Input) ResetInputString(input string)
- type InputObjectTypeDefinition
- type InputObjectTypeExtension
- type InputValueDefinition
- type InputValueDefinitionList
- type IntValue
- type InterfaceTypeDefinition
- type InterfaceTypeExtension
- type ListValue
- type Node
- type NodeKind
- type ObjectField
- type ObjectTypeDefinition
- type ObjectTypeExtension
- type ObjectValue
- type OperationDefinition
- type OperationType
- type Path
- type PathItem
- type PathKind
- type Repeatable
- type RootOperationTypeDefinition
- type RootOperationTypeDefinitionList
- type ScalarTypeDefinition
- type ScalarTypeExtension
- type SchemaDefinition
- type SchemaExtension
- type Selection
- type SelectionKind
- type SelectionSet
- type StringValue
- type Type
- type TypeCondition
- type TypeKind
- type TypeList
- type UnionTypeDefinition
- type UnionTypeExtension
- type Value
- type ValueKind
- type VariableDefinition
- type VariableDefinitionList
- type VariableValue
Examples ¶
Constants ¶
const ( InlineFragmentPathPrefix = "$" InlineFragmentPathPrefixRune = '$' )
const InvalidRef = -1
Variables ¶
var DefaultMutationTypeName = []byte("Mutation")
var DefaultQueryTypeName = []byte("Query")
var DefaultSubscriptionTypeName = []byte("Subscription")
var InvalidNode = Node{Kind: NodeKindUnknown, Ref: InvalidRef}
Functions ¶
func ByteSliceEquals ¶
func ByteSliceEquals(left ByteSliceReference, leftInput Input, right ByteSliceReference, rightInput Input) bool
ByteSliceEquals compares two ByteSliceReferences from different Inputs
func IsRootType ¶
Types ¶
type Alias ¶
type Alias struct {
IsDefined bool
Name ByteSliceReference // optional, e.g. renamedField
Colon position.Position // :
}
type ArgumentList ¶
type ByteSlice ¶
type ByteSlice []byte
ByteSlice is an alias for []byte
func (ByteSlice) MarshalJSON ¶
type ByteSliceReference ¶
func (ByteSliceReference) Length ¶
func (b ByteSliceReference) Length() uint32
type ByteSliceReferences ¶
type ByteSliceReferences []ByteSliceReference
func (ByteSliceReferences) String ¶
func (b ByteSliceReferences) String(input *Input) string
type ByteSlices ¶
type ByteSlices []ByteSlice
func (ByteSlices) String ¶
func (b ByteSlices) String() string
type DefaultValue ¶
type Description ¶
type Description struct {
IsDefined bool
IsBlockString bool // true if -> """content""" ; else "content"
Content ByteSliceReference // literal
Position position.Position
}
type Directive ¶
type Directive struct {
At position.Position // @
Name ByteSliceReference // e.g. include
HasArguments bool
Arguments ArgumentList // e.g. (if: true)
}
type DirectiveDefinition ¶
type DirectiveDefinition struct {
Description Description // optional, describes the directive
DirectiveLiteral position.Position // directive
At position.Position // @
Name ByteSliceReference // e.g. example
HasArgumentsDefinitions bool
ArgumentsDefinition InputValueDefinitionList // optional, e.g. (if: Boolean)
On position.Position // on
DirectiveLocations DirectiveLocations // e.g. FIELD
Repeatable Repeatable
}
DirectiveDefinition example: directive @example on FIELD
type DirectiveList ¶
type DirectiveList struct {
Refs []int
}
func (*DirectiveList) HasDirectiveByName ¶
func (l *DirectiveList) HasDirectiveByName(document *Document, name string) bool
func (*DirectiveList) RemoveDirectiveByName ¶
func (l *DirectiveList) RemoveDirectiveByName(document *Document, name string)
type DirectiveLocation ¶
type DirectiveLocation int
const ( DirectiveLocationUnknown DirectiveLocation = iota ExecutableDirectiveLocationQuery ExecutableDirectiveLocationMutation ExecutableDirectiveLocationSubscription ExecutableDirectiveLocationField ExecutableDirectiveLocationFragmentDefinition ExecutableDirectiveLocationFragmentSpread ExecutableDirectiveLocationInlineFragment ExecutableDirectiveLocationVariableDefinition TypeSystemDirectiveLocationSchema TypeSystemDirectiveLocationScalar TypeSystemDirectiveLocationObject TypeSystemDirectiveLocationFieldDefinition TypeSystemDirectiveLocationArgumentDefinition TypeSystemDirectiveLocationInterface TypeSystemDirectiveLocationUnion TypeSystemDirectiveLocationEnum TypeSystemDirectiveLocationEnumValue TypeSystemDirectiveLocationInputObject TypeSystemDirectiveLocationInputFieldDefinition )
func (DirectiveLocation) LiteralBytes ¶
func (d DirectiveLocation) LiteralBytes() ByteSlice
func (DirectiveLocation) LiteralString ¶
func (d DirectiveLocation) LiteralString() string
func (DirectiveLocation) String ¶
func (i DirectiveLocation) String() string
type DirectiveLocationIterable ¶
type DirectiveLocationIterable struct {
// contains filtered or unexported fields
}
func (*DirectiveLocationIterable) Next ¶
func (d *DirectiveLocationIterable) Next() bool
func (*DirectiveLocationIterable) Value ¶
func (d *DirectiveLocationIterable) Value() DirectiveLocation
type DirectiveLocations ¶
type DirectiveLocations struct {
// contains filtered or unexported fields
}
func (*DirectiveLocations) Get ¶
func (d *DirectiveLocations) Get(location DirectiveLocation) bool
func (*DirectiveLocations) Iterable ¶
func (d *DirectiveLocations) Iterable() DirectiveLocationIterable
func (*DirectiveLocations) Set ¶
func (d *DirectiveLocations) Set(location DirectiveLocation)
func (*DirectiveLocations) SetFromRaw ¶
func (d *DirectiveLocations) SetFromRaw(bytes []byte) error
func (*DirectiveLocations) Unset ¶
func (d *DirectiveLocations) Unset(location DirectiveLocation)
type Document ¶
type Document struct {
Input Input
RootNodes []Node
SchemaDefinitions []SchemaDefinition
SchemaExtensions []SchemaExtension
RootOperationTypeDefinitions []RootOperationTypeDefinition
Directives []Directive
Arguments []Argument
ObjectTypeDefinitions []ObjectTypeDefinition
ObjectTypeExtensions []ObjectTypeExtension
FieldDefinitions []FieldDefinition
Types []Type
InputValueDefinitions []InputValueDefinition
InputObjectTypeDefinitions []InputObjectTypeDefinition
InputObjectTypeExtensions []InputObjectTypeExtension
ScalarTypeDefinitions []ScalarTypeDefinition
ScalarTypeExtensions []ScalarTypeExtension
InterfaceTypeDefinitions []InterfaceTypeDefinition
InterfaceTypeExtensions []InterfaceTypeExtension
UnionTypeDefinitions []UnionTypeDefinition
UnionTypeExtensions []UnionTypeExtension
EnumTypeDefinitions []EnumTypeDefinition
EnumTypeExtensions []EnumTypeExtension
EnumValueDefinitions []EnumValueDefinition
DirectiveDefinitions []DirectiveDefinition
Values []Value
ListValues []ListValue
VariableValues []VariableValue
StringValues []StringValue
IntValues []IntValue
FloatValues []FloatValue
EnumValues []EnumValue
ObjectFields []ObjectField
ObjectValues []ObjectValue
Selections []Selection
SelectionSets []SelectionSet
Fields []Field
InlineFragments []InlineFragment
FragmentSpreads []FragmentSpread
OperationDefinitions []OperationDefinition
VariableDefinitions []VariableDefinition
FragmentDefinitions []FragmentDefinition
BooleanValues [2]BooleanValue
Refs [][8]int
RefIndex int
Index Index
}
Example ¶
Create a new Document without pre-initializing slices. Use this if you want to manually create a new Document
package main
import (
"github.com/wundergraph/graphql-go-tools/v2/pkg/ast"
)
func main() {
// create the same doc as in NewDocument() example but manually.
doc := &ast.Document{}
// add Query to the raw input
queryTypeName := doc.Input.AppendInputString("Query")
// create a RootOperationTypeDefinition
rootOperationTypeDefinition := ast.RootOperationTypeDefinition{
OperationType: ast.OperationTypeQuery,
NamedType: ast.Type{
Name: queryTypeName,
},
}
// add the RootOperationTypeDefinition to the ast
doc.RootOperationTypeDefinitions = append(doc.RootOperationTypeDefinitions, rootOperationTypeDefinition)
// get a reference to the RootOperationTypeDefinition
queryRootOperationTypeRef := len(doc.RootOperationTypeDefinitions) - 1
// create a SchemaDefinition
schemaDefinition := ast.SchemaDefinition{
RootOperationTypeDefinitions: ast.RootOperationTypeDefinitionList{
// add the RootOperationTypeDefinition reference
Refs: []int{queryRootOperationTypeRef},
},
}
// add the SchemaDefinition to the ast
doc.SchemaDefinitions = append(doc.SchemaDefinitions, schemaDefinition)
// get a reference to the SchemaDefinition
schemaDefinitionRef := len(doc.SchemaDefinitions) - 1
// add the SchemaDefinition to the RootNodes
// all root level nodes have to be added to the RootNodes slice in order to make them available to the Walker for traversal
doc.RootNodes = append(doc.RootNodes, ast.Node{Kind: ast.NodeKindSchemaDefinition, Ref: schemaDefinitionRef})
// add another string to the raw input
stringName := doc.Input.AppendInputString("String")
// create a named Type
stringType := ast.Type{
TypeKind: ast.TypeKindNamed,
Name: stringName,
}
// add the Type to the ast
doc.Types = append(doc.Types, stringType)
// get a reference to the Type
stringTypeRef := len(doc.Types) - 1
// create another Type
nonNullStringType := ast.Type{
TypeKind: ast.TypeKindNonNull,
// add a reference to the named type
OfType: stringTypeRef,
}
// Result: NonNull String / String!
// add the Type to the ast
doc.Types = append(doc.Types, nonNullStringType)
// get a reference to the Type
nonNullStringTypeRef := len(doc.Types) - 1
// add another string to the raw input
helloName := doc.Input.AppendInputString("hello")
// create a FieldDefinition
helloFieldDefinition := ast.FieldDefinition{
Name: helloName,
// add the Type reference
Type: nonNullStringTypeRef,
}
// add the FieldDefinition to the ast
doc.FieldDefinitions = append(doc.FieldDefinitions, helloFieldDefinition)
// get a reference to the FieldDefinition
helloFieldDefinitionRef := len(doc.FieldDefinitions) - 1
// create an ObjectTypeDefinition
queryTypeDefinition := ast.ObjectTypeDefinition{
Name: queryTypeName,
// declare that this ObjectTypeDefinition has fields
// this is necessary for the Walker to understand it must walk FieldDefinitions
HasFieldDefinitions: true,
FieldsDefinition: ast.FieldDefinitionList{
// add the FieldDefinition reference
Refs: []int{helloFieldDefinitionRef},
},
}
// add ObjectTypeDefinition to the ast
doc.ObjectTypeDefinitions = append(doc.ObjectTypeDefinitions, queryTypeDefinition)
// get reference to ObjectTypeDefinition
queryTypeRef := len(doc.ObjectTypeDefinitions) - 1
// add ObjectTypeDefinition to the RootNodes
doc.RootNodes = append(doc.RootNodes, ast.Node{Kind: ast.NodeKindObjectTypeDefinition, Ref: queryTypeRef})
}
func NewDocument ¶
func NewDocument() *Document
Example ¶
Create a new document with initialized slices. In case you're on a hot path you always want to use a pre-initialized Document.
package main
import (
"github.com/wundergraph/graphql-go-tools/v2/pkg/ast"
)
func main() {
schema := []byte(`
schema {
query: Query
}
type Query {
hello: String!
}
`)
doc := ast.NewDocument()
doc.Input.ResetInputBytes(schema)
// ...then parse the Input
}
func NewSmallDocument ¶
func NewSmallDocument() *Document
func (*Document) AddArgument ¶
func (*Document) AddArgumentToField ¶
func (*Document) AddDirective ¶
func (*Document) AddDirectiveDefinition ¶
func (d *Document) AddDirectiveDefinition(directiveDefinition DirectiveDefinition) (ref int)
func (*Document) AddDirectiveToNode ¶
func (*Document) AddEnumTypeDefinition ¶
func (d *Document) AddEnumTypeDefinition(definition EnumTypeDefinition) (ref int)
func (*Document) AddEnumValue ¶
func (*Document) AddEnumValueDefinition ¶
func (d *Document) AddEnumValueDefinition(inputValueDefinition EnumValueDefinition) (ref int)
func (*Document) AddFieldDefinition ¶
func (d *Document) AddFieldDefinition(fieldDefinition FieldDefinition) (ref int)
func (*Document) AddFloatValue ¶
func (d *Document) AddFloatValue(value FloatValue) (ref int)
func (*Document) AddFragmentSpread ¶
func (d *Document) AddFragmentSpread(spread FragmentSpread) int
func (*Document) AddImportedVariableDefinitionToOperationDefinition ¶
func (*Document) AddInlineFragment ¶
func (d *Document) AddInlineFragment(fragment InlineFragment) int
func (*Document) AddInputObjectTypeDefinition ¶
func (d *Document) AddInputObjectTypeDefinition(definition InputObjectTypeDefinition) (ref int)
func (*Document) AddInputValueDefinition ¶
func (d *Document) AddInputValueDefinition(inputValueDefinition InputValueDefinition) (ref int)
func (*Document) AddIntValue ¶
func (*Document) AddInterfaceTypeDefinition ¶
func (d *Document) AddInterfaceTypeDefinition(definition InterfaceTypeDefinition) (ref int)
func (*Document) AddInterfaceTypeExtension ¶
func (d *Document) AddInterfaceTypeExtension(extension InterfaceTypeExtension) (ref int)
func (*Document) AddListType ¶
func (*Document) AddListTypeWithPosition ¶
func (*Document) AddListValue ¶
func (*Document) AddNamedType ¶
func (*Document) AddNamedTypeWithPosition ¶
func (d *Document) AddNamedTypeWithPosition(nameRef ByteSliceReference, position position.Position) (ref int)
func (*Document) AddNonNullNamedType ¶
func (*Document) AddNonNullType ¶
func (*Document) AddNonNullTypeWithBangPosition ¶
func (*Document) AddObjectField ¶
func (d *Document) AddObjectField(field ObjectField) (ref int)
func (*Document) AddObjectTypeDefinition ¶
func (d *Document) AddObjectTypeDefinition(definition ObjectTypeDefinition) (ref int)
func (*Document) AddObjectTypeDefinitionExtension ¶
func (d *Document) AddObjectTypeDefinitionExtension(extension ObjectTypeExtension) (ref int)
func (*Document) AddObjectValue ¶
func (d *Document) AddObjectValue(value ObjectValue) (ref int)
func (*Document) AddOperationDefinitionToRootNodes ¶
func (d *Document) AddOperationDefinitionToRootNodes(definition OperationDefinition) Node
func (*Document) AddRootNode ¶
func (*Document) AddRootOperationTypeDefinition ¶
func (d *Document) AddRootOperationTypeDefinition(rootOperationTypeDefinition RootOperationTypeDefinition) (ref int)
func (*Document) AddScalarTypeDefinition ¶
func (d *Document) AddScalarTypeDefinition(definition ScalarTypeDefinition) (ref int)
func (*Document) AddSchemaDefinition ¶
func (d *Document) AddSchemaDefinition(schemaDefinition SchemaDefinition) (ref int)
func (*Document) AddSchemaDefinitionRootNode ¶
func (d *Document) AddSchemaDefinitionRootNode(schemaDefinition SchemaDefinition)
func (*Document) AddSelection ¶
func (*Document) AddSelectionRefToSelectionSet ¶
func (*Document) AddSelectionSet ¶
func (*Document) AddSelectionSetToDocument ¶
func (d *Document) AddSelectionSetToDocument(set SelectionSet) int
func (*Document) AddSelectionToDocument ¶
func (*Document) AddStringValue ¶
func (d *Document) AddStringValue(value StringValue) (ref int)
func (*Document) AddUnionTypeDefinition ¶
func (d *Document) AddUnionTypeDefinition(definition UnionTypeDefinition) (ref int)
func (*Document) AddVariableDefinitionToOperationDefinition ¶
func (*Document) AddVariableValue ¶
func (d *Document) AddVariableValue(value VariableValue) (ref int)
func (*Document) AddVariableValueArgument ¶
func (*Document) AppendSelectionSet ¶
func (*Document) ArgumentNameBytes ¶
func (*Document) ArgumentNameString ¶
func (*Document) ArgumentSetsAreEquals ¶
func (*Document) ArgumentValue ¶
func (*Document) ArgumentsAfter ¶
func (*Document) ArgumentsAreEqual ¶
func (*Document) ArgumentsBefore ¶
func (*Document) BooleanValue ¶
func (d *Document) BooleanValue(ref int) BooleanValue
func (*Document) BooleanValuesAreEqual ¶
func (*Document) CopyArgument ¶
func (*Document) CopyArgumentList ¶
func (d *Document) CopyArgumentList(list ArgumentList) ArgumentList
func (*Document) CopyDirective ¶
func (*Document) CopyDirectiveList ¶
func (d *Document) CopyDirectiveList(list DirectiveList) DirectiveList
func (*Document) CopyEnumValue ¶
func (*Document) CopyFloatValue ¶
func (*Document) CopyFragmentSpread ¶
func (*Document) CopyInlineFragment ¶
func (*Document) CopyIntValue ¶
func (*Document) CopyListValue ¶
func (*Document) CopyObjectField ¶
func (*Document) CopyObjectValue ¶
func (*Document) CopySelection ¶
func (*Document) CopySelectionSet ¶
func (*Document) CopyStringValue ¶
func (*Document) CopyVariableValue ¶
func (*Document) CreateRootOperationTypeDefinition ¶
func (d *Document) CreateRootOperationTypeDefinition(operationType OperationType, rootNodeRef int) (ref int)
func (*Document) DeleteRootNode ¶
func (*Document) DeleteRootNodes ¶
func (*Document) DirectiveArgumentInputValueDefinition ¶
func (*Document) DirectiveArgumentSet ¶
func (*Document) DirectiveArgumentValueByName ¶
func (*Document) DirectiveDefinitionArgumentDefaultValueBool ¶
func (*Document) DirectiveDefinitionArgumentDefaultValueFloat32 ¶
func (*Document) DirectiveDefinitionArgumentDefaultValueInt64 ¶
func (*Document) DirectiveDefinitionArgumentDefaultValueString ¶
func (*Document) DirectiveDefinitionByName ¶
func (*Document) DirectiveDefinitionByNameBytes ¶
func (*Document) DirectiveDefinitionDescriptionBytes ¶
func (*Document) DirectiveDefinitionDescriptionString ¶
func (*Document) DirectiveDefinitionIsRepeatable ¶
func (*Document) DirectiveDefinitionNameBytes ¶
func (*Document) DirectiveDefinitionNameString ¶
func (*Document) DirectiveIsAllowedOnNodeKind ¶
func (d *Document) DirectiveIsAllowedOnNodeKind(directiveName string, kind NodeKind, operationType OperationType) bool
func (*Document) DirectiveIsFirst ¶
func (*Document) DirectiveIsLast ¶
func (*Document) DirectiveName ¶
func (d *Document) DirectiveName(ref int) ByteSliceReference
func (*Document) DirectiveNameBytes ¶
func (*Document) DirectiveNameString ¶
func (*Document) DirectiveSetsAreEqual ¶
func (*Document) DirectiveSetsHasCompatibleStreamDirective ¶
DirectiveSetsHasCompatibleStreamDirective checks if directives sets contains stream directive with same arguments
func (*Document) DirectiveWithNameBytes ¶
func (*Document) DirectivesAreEqual ¶
func (*Document) EmptySelectionSet ¶
func (*Document) EnumTypeDefinitionContainsEnumValue ¶
func (*Document) EnumTypeDefinitionDescriptionBytes ¶
func (*Document) EnumTypeDefinitionDescriptionString ¶
func (*Document) EnumTypeDefinitionHasDirectives ¶
func (*Document) EnumTypeDefinitionHasEnumValueDefinition ¶
func (*Document) EnumTypeDefinitionNameBytes ¶
func (*Document) EnumTypeDefinitionNameString ¶
func (*Document) EnumTypeExtensionDescriptionBytes ¶
func (*Document) EnumTypeExtensionDescriptionString ¶
func (*Document) EnumTypeExtensionHasDirectives ¶
func (*Document) EnumTypeExtensionHasEnumValueDefinition ¶
func (*Document) EnumTypeExtensionNameBytes ¶
func (*Document) EnumTypeExtensionNameString ¶
func (*Document) EnumValueDefinitionDescriptionBytes ¶
func (*Document) EnumValueDefinitionDescriptionString ¶
func (*Document) EnumValueDefinitionDirectiveByName ¶
func (*Document) EnumValueDefinitionDirectives ¶
func (*Document) EnumValueDefinitionHasDirectives ¶
func (*Document) EnumValueDefinitionIsFirst ¶
func (*Document) EnumValueDefinitionIsLast ¶
func (*Document) EnumValueDefinitionNameBytes ¶
func (*Document) EnumValueDefinitionNameString ¶
func (*Document) EnumValueName ¶
func (d *Document) EnumValueName(ref int) ByteSliceReference
func (*Document) EnumValueNameBytes ¶
func (*Document) EnumValueNameString ¶
func (*Document) EnumValuesAreEqual ¶
func (*Document) ExtendEnumTypeDefinitionByEnumTypeExtension ¶
func (*Document) ExtendInputObjectTypeDefinitionByInputObjectTypeExtension ¶
func (*Document) ExtendInterfaceTypeDefinitionByInterfaceTypeExtension ¶
func (*Document) ExtendObjectTypeDefinitionByObjectTypeExtension ¶
func (*Document) ExtendScalarTypeDefinitionByScalarTypeExtension ¶
func (*Document) ExtendUnionTypeDefinitionByUnionTypeExtension ¶
func (*Document) FieldAliasBytes ¶
func (*Document) FieldAliasIsDefined ¶
func (*Document) FieldAliasOrNameBytes ¶
func (*Document) FieldAliasOrNameString ¶
func (*Document) FieldAliasString ¶
func (*Document) FieldArgument ¶
func (*Document) FieldArguments ¶
func (*Document) FieldDefinitionArgumentsDefinitions ¶
func (*Document) FieldDefinitionDescriptionBytes ¶
func (*Document) FieldDefinitionDescriptionString ¶
func (*Document) FieldDefinitionDirectiveByName ¶
func (*Document) FieldDefinitionDirectives ¶
func (*Document) FieldDefinitionHasArgumentsDefinitions ¶
func (*Document) FieldDefinitionHasDirectives ¶
func (*Document) FieldDefinitionHasNamedDirective ¶
func (*Document) FieldDefinitionIsFirst ¶
func (*Document) FieldDefinitionIsLast ¶
func (*Document) FieldDefinitionNameBytes ¶
func (*Document) FieldDefinitionNameString ¶
func (*Document) FieldDefinitionResolverTypeName ¶
func (*Document) FieldDefinitionType ¶
func (*Document) FieldDefinitionTypeNameBytes ¶
func (*Document) FieldDefinitionTypeNameString ¶
func (*Document) FieldDefinitionTypeNode ¶
func (*Document) FieldDefinitionsContainField ¶
func (*Document) FieldDirectives ¶
func (*Document) FieldHasArguments ¶
func (*Document) FieldHasDirectives ¶
func (*Document) FieldHasSelections ¶
func (*Document) FieldNameBytes ¶
func (*Document) FieldNameString ¶
FieldNameString - returns fied name as a string value
func (*Document) FieldNameUnsafeString ¶
FieldNameUnsafeString - returns field name as a string which is unsafe pointer to document input content
func (*Document) FieldSelectionSet ¶
func (*Document) FieldTypeNode ¶
FieldTypeNode - returns the type node of a field. it is applicable for fields on object and interface types
func (*Document) FieldsAreEqualFlat ¶
func (*Document) FieldsHaveSameShape ¶
func (*Document) FloatValueAsFloat32 ¶
func (*Document) FloatValueIsNegative ¶
func (*Document) FloatValueRaw ¶
func (*Document) FloatValuesAreEqual ¶
func (*Document) FragmentDefinitionIsLastRootNode ¶
func (*Document) FragmentDefinitionIsUsed ¶
func (*Document) FragmentDefinitionNameBytes ¶
func (*Document) FragmentDefinitionNameString ¶
func (*Document) FragmentDefinitionRef ¶
func (*Document) FragmentDefinitionTypeName ¶
func (*Document) FragmentDefinitionTypeNameString ¶
func (*Document) FragmentSpreadHasDirectives ¶
func (*Document) FragmentSpreadNameBytes ¶
func (*Document) FragmentSpreadNameString ¶
func (*Document) GenerateUnusedVariableDefinitionName ¶
func (*Document) HasSchemaDefinition ¶
func (*Document) ImportAndExtendEnumTypeDefinitionByEnumTypeExtension ¶
func (*Document) ImportAndExtendInputObjectTypeDefinitionByInputObjectTypeExtension ¶
func (*Document) ImportAndExtendInterfaceTypeDefinitionByInterfaceTypeExtension ¶
func (*Document) ImportAndExtendObjectTypeDefinitionByObjectTypeExtension ¶
func (*Document) ImportAndExtendScalarTypeDefinitionByScalarTypeExtension ¶
func (*Document) ImportAndExtendUnionTypeDefinitionByUnionTypeExtension ¶
func (*Document) ImportArgument ¶
func (*Document) ImportDescription ¶
func (d *Document) ImportDescription(desc string) (description Description)
func (*Document) ImportDirective ¶
func (*Document) ImportDirectiveDefinition ¶
func (*Document) ImportEnumTypeDefinition ¶
func (*Document) ImportEnumTypeDefinitionWithDirectives ¶
func (*Document) ImportEnumValue ¶
func (*Document) ImportEnumValueDefinition ¶
func (*Document) ImportFieldDefinition ¶
func (*Document) ImportFloatValue ¶
func (*Document) ImportInputObjectTypeDefinition ¶
func (*Document) ImportInputObjectTypeDefinitionWithDirectives ¶
func (*Document) ImportInputValueDefinition ¶
func (d *Document) ImportInputValueDefinition(name, description string, typeRef int, defaultValue DefaultValue) (ref int)
func (*Document) ImportIntValue ¶
func (*Document) ImportInterfaceTypeDefinition ¶
func (*Document) ImportInterfaceTypeDefinitionWithDirectives ¶
func (*Document) ImportListValue ¶
func (*Document) ImportObjectField ¶
func (*Document) ImportObjectTypeDefinition ¶
func (*Document) ImportObjectTypeDefinitionWithDirectives ¶
func (*Document) ImportObjectValue ¶
func (*Document) ImportRootNode ¶
func (*Document) ImportRootOperationTypeDefinition ¶
func (d *Document) ImportRootOperationTypeDefinition(name string, operationType OperationType) (ref int)
func (*Document) ImportRootOperationTypeDefinitions ¶
func (*Document) ImportScalarTypeDefinition ¶
func (*Document) ImportScalarTypeDefinitionWithDirectives ¶
func (*Document) ImportSchemaDefinition ¶
func (*Document) ImportStringValue ¶
func (*Document) ImportUnionTypeDefinition ¶
func (*Document) ImportUnionTypeDefinitionWithDirectives ¶
func (*Document) ImportVariableValue ¶
func (*Document) ImportVariableValueArgument ¶
func (*Document) InlineFragmentDirectives ¶
func (*Document) InlineFragmentHasDirectives ¶
func (*Document) InlineFragmentHasTypeCondition ¶
func (*Document) InlineFragmentIsOfTheSameType ¶
func (*Document) InlineFragmentSelectionSet ¶
func (*Document) InlineFragmentSelections ¶
func (*Document) InlineFragmentTypeConditionName ¶
func (*Document) InlineFragmentTypeConditionNameString ¶
func (*Document) InputObjectTypeDefinitionDescriptionBytes ¶
func (*Document) InputObjectTypeDefinitionDescriptionString ¶
func (*Document) InputObjectTypeDefinitionInputValueDefinitionByName ¶
func (*Document) InputObjectTypeDefinitionInputValueDefinitionDefaultValue ¶
func (*Document) InputObjectTypeDefinitionInputValueDefinitionDefaultValueBool ¶
func (*Document) InputObjectTypeDefinitionInputValueDefinitionDefaultValueFloat32 ¶
func (*Document) InputObjectTypeDefinitionInputValueDefinitionDefaultValueInt64 ¶
func (*Document) InputObjectTypeDefinitionInputValueDefinitionDefaultValueString ¶
func (*Document) InputObjectTypeDefinitionNameBytes ¶
func (*Document) InputObjectTypeDefinitionNameString ¶
func (*Document) InputObjectTypeExtensionDescriptionBytes ¶
func (*Document) InputObjectTypeExtensionDescriptionString ¶
func (*Document) InputObjectTypeExtensionHasDirectives ¶
func (*Document) InputObjectTypeExtensionHasInputFieldsDefinition ¶
func (*Document) InputObjectTypeExtensionNameBytes ¶
func (*Document) InputObjectTypeExtensionNameString ¶
func (*Document) InputValueDefinitionArgumentIsOptional ¶
func (*Document) InputValueDefinitionDefaultValue ¶
func (*Document) InputValueDefinitionDescriptionBytes ¶
func (*Document) InputValueDefinitionDescriptionString ¶
func (*Document) InputValueDefinitionHasDefaultValue ¶
func (*Document) InputValueDefinitionHasDirective ¶
func (*Document) InputValueDefinitionIsFirst ¶
func (*Document) InputValueDefinitionIsLast ¶
func (*Document) InputValueDefinitionNameBytes ¶
func (*Document) InputValueDefinitionNameString ¶
func (*Document) InputValueDefinitionType ¶
func (*Document) IntValueAsInt ¶
func (*Document) IntValueAsInt32 ¶
func (*Document) IntValueIsNegative ¶
func (*Document) IntValueRaw ¶
func (*Document) IntValueValidInt32 ¶
func (*Document) IntValuesAreEquals ¶
func (*Document) InterfaceNodeIntersectsInterfaceNode ¶
func (*Document) InterfaceTypeDefinitionDescriptionBytes ¶
func (*Document) InterfaceTypeDefinitionDescriptionString ¶
func (*Document) InterfaceTypeDefinitionFieldWithName ¶
func (*Document) InterfaceTypeDefinitionImplementedByObjectWithNames ¶
func (*Document) InterfaceTypeDefinitionImplementedByRootNodes ¶
InterfaceTypeDefinitionImplementedByRootNodes will return all RootNodes that implement the given interface type (by ref)
func (*Document) InterfaceTypeDefinitionImplementsInterface ¶
func (*Document) InterfaceTypeDefinitionNameBytes ¶
func (*Document) InterfaceTypeDefinitionNameString ¶
func (*Document) InterfaceTypeExtensionDescriptionBytes ¶
func (*Document) InterfaceTypeExtensionDescriptionString ¶
func (*Document) InterfaceTypeExtensionHasDirectives ¶
func (*Document) InterfaceTypeExtensionHasFieldDefinitions ¶
func (*Document) InterfaceTypeExtensionNameBytes ¶
func (*Document) InterfaceTypeExtensionNameString ¶
func (*Document) InterfacesIntersect ¶
func (*Document) ListValuesAreEqual ¶
func (*Document) NewEmptyRefs ¶
func (*Document) NextRefIndex ¶
func (*Document) NodeDirectiveLocation ¶
func (d *Document) NodeDirectiveLocation(node Node) (location DirectiveLocation, err error)
func (*Document) NodeDirectives ¶
func (*Document) NodeFieldDefinitionArgumentDefinitionByName ¶
func (*Document) NodeFieldDefinitionArgumentsDefinitions ¶
func (*Document) NodeFieldDefinitionByName ¶
func (*Document) NodeFieldDefinitions ¶
func (*Document) NodeFragmentIsAllowedOnInterfaceTypeDefinition ¶
func (*Document) NodeFragmentIsAllowedOnNode ¶
func (*Document) NodeFragmentIsAllowedOnObjectTypeDefinition ¶
func (*Document) NodeFragmentIsAllowedOnUnionTypeDefinition ¶
func (*Document) NodeHasDirectiveByNameString ¶
NodeHasDirectiveByNameString returns whether the given node has a directive with the given name as string.
func (*Document) NodeImplementsInterface ¶
NodeImplementsInterface - checks that the given node has `implements` interface. node can be either object type or interface type
func (*Document) NodeImplementsInterfaceFields ¶
NodeImplementsInterfaceFields - checks that the given node has all fields of the given interface node
func (*Document) NodeInputFieldDefinitionByName ¶
func (*Document) NodeInputFieldDefinitions ¶
func (*Document) NodeInputValueDefinitions ¶
func (*Document) NodeInterfaceRefs ¶
NodeInterfaceRefs returns the interfaces implemented by the given node (this is only applicable to object kinds). Returns nil if node kind is not an object kind.
func (*Document) NodeIsLastRootNode ¶
func (*Document) NodeIsUnionMember ¶
func (*Document) NodeKindNameBytes ¶
func (*Document) NodeNameBytes ¶
func (*Document) NodeNameString ¶
func (*Document) NodeNameUnsafeString ¶
TODO: we could use node name directly
func (*Document) NodeResolverTypeNameBytes ¶
NodeResolverTypeNameBytes returns lowercase query/mutation/subscription for Query/Mutation/Subscription for other type definitions it returns the default type name
func (*Document) NodeResolverTypeNameString ¶
func (*Document) NodeUnionMemberRefs ¶
NodeUnionMemberRefs returns the union members of the given node (this is only applicable to union kinds). Returns nil if node kind is not an object kind.
func (*Document) NumOfOperationDefinitions ¶
func (*Document) ObjectField ¶
func (d *Document) ObjectField(ref int) ObjectField
func (*Document) ObjectFieldNameBytes ¶
func (*Document) ObjectFieldNameString ¶
func (*Document) ObjectFieldValue ¶
func (*Document) ObjectFieldsAreEqual ¶
func (*Document) ObjectTypeDefinitionFieldWithName ¶
func (*Document) ObjectTypeDefinitionHasField ¶
func (*Document) ObjectTypeDefinitionImplementsInterface ¶
func (*Document) ObjectTypeDefinitionNameBytes ¶
func (*Document) ObjectTypeDefinitionNameRef ¶
func (d *Document) ObjectTypeDefinitionNameRef(ref int) ByteSliceReference
func (*Document) ObjectTypeDefinitionNameString ¶
func (*Document) ObjectTypeDescriptionNameBytes ¶
func (*Document) ObjectTypeDescriptionNameString ¶
func (*Document) ObjectTypeExtensionDescriptionNameBytes ¶
func (*Document) ObjectTypeExtensionDescriptionNameString ¶
func (*Document) ObjectTypeExtensionHasDirectives ¶
func (*Document) ObjectTypeExtensionHasFieldDefinitions ¶
func (*Document) ObjectTypeExtensionNameBytes ¶
func (*Document) ObjectTypeExtensionNameString ¶
func (*Document) ObjectValuesAreEqual ¶
func (*Document) OperationDefinitionHasVariableDefinition ¶
func (*Document) OperationDefinitionNameBytes ¶
func (*Document) OperationDefinitionNameString ¶
func (*Document) OperationNameExists ¶
func (*Document) PrintArguments ¶
func (*Document) PrintDescription ¶
func (d *Document) PrintDescription(description Description, indent []byte, depth int, writer io.Writer) (err error)
nolint
func (*Document) PrintSelections ¶
func (*Document) PrintTypeBytes ¶
func (*Document) PrintValue ¶
nolint
func (*Document) PrintValueBytes ¶
func (*Document) RemoveDirectiveFromNode ¶
func (*Document) RemoveDirectivesFromNode ¶
func (*Document) RemoveFieldAlias ¶
func (*Document) RemoveFieldDefinitionsFromObjectTypeDefinition ¶
func (*Document) RemoveFromSelectionSet ¶
func (*Document) RemoveMergedTypeExtensions ¶
func (d *Document) RemoveMergedTypeExtensions()
func (*Document) RemoveNodeFromSelectionSet ¶
func (*Document) RemoveNodeFromSelectionSetNode ¶
func (*Document) RemoveObjectTypeDefinition ¶
func (*Document) RemoveRootNode ¶
func (*Document) ReplaceFragmentSpread ¶
func (d *Document) ReplaceFragmentSpread(selectionSet int, spreadRef int, replaceWithSelectionSet int)
ReplaceFragmentSpread replaces a fragment spread with a given selection set attention! this might lead to duplicate field problems because the same field with its unique field reference might be copied into the same selection set possible problems: changing directives or sub selections will affect both fields with the same id simple solution: run normalization deduplicate fields as part of the normalization flow this problem will be handled automatically just be careful in case you use this function outside the normalization package
func (*Document) ReplaceFragmentSpreadWithInlineFragment ¶
func (d *Document) ReplaceFragmentSpreadWithInlineFragment(selectionSet int, spreadRef int, replaceWithSelectionSet int, typeCondition TypeCondition, directiveList DirectiveList)
ReplaceFragmentSpreadWithInlineFragment replaces a given fragment spread with an inline fragment attention! the same rules apply as for 'ReplaceFragmentSpread', look above!
func (*Document) ReplaceRootOperationTypeDefinition ¶
func (d *Document) ReplaceRootOperationTypeDefinition(name string, operationType OperationType) (ref int, ok bool)
func (*Document) ReplaceRootOperationTypesOfSchemaDefinition ¶
func (*Document) ReplaceSelectionOnSelectionSet ¶
func (*Document) ResolveIncludeDirectiveVariable ¶
func (*Document) ResolveListOrNameType ¶
func (*Document) ResolveSkipDirectiveVariable ¶
func (*Document) ResolveTypeNameBytes ¶
func (*Document) ResolveTypeNameString ¶
func (*Document) ResolveUnderlyingType ¶
func (*Document) RootOperationTypeDefinitionIsFirstInSchemaDefinition ¶
func (*Document) RootOperationTypeDefinitionIsLastInSchemaDefinition ¶
func (*Document) RootOperationTypeDefinitionNameString ¶
func (*Document) ScalarTypeDefinitionDescriptionBytes ¶
func (*Document) ScalarTypeDefinitionDescriptionString ¶
func (*Document) ScalarTypeDefinitionHasDirectives ¶
func (*Document) ScalarTypeDefinitionNameBytes ¶
func (*Document) ScalarTypeDefinitionNameString ¶
func (*Document) ScalarTypeExtensionDescriptionBytes ¶
func (*Document) ScalarTypeExtensionDescriptionString ¶
func (*Document) ScalarTypeExtensionHasDirectives ¶
func (*Document) ScalarTypeExtensionNameBytes ¶
func (*Document) ScalarTypeExtensionNameString ¶
func (*Document) SchemaDefinitionRef ¶
func (*Document) SelectionIsFieldSelection ¶
func (*Document) SelectionIsInlineFragmentSelection ¶
func (*Document) SelectionKind ¶
func (d *Document) SelectionKind(ref int) SelectionKind
func (*Document) SelectionSetFieldNames ¶
func (*Document) SelectionSetFieldSelections ¶
func (*Document) SelectionSetHasFieldSelectionWithExactName ¶
func (*Document) SelectionSetHasFieldSelectionWithNameOrAliasBytes ¶
func (*Document) SelectionSetHasFieldSelectionWithNameOrAliasString ¶
func (*Document) SelectionSetInlineFragmentSelections ¶
func (*Document) SelectionSetIsEmpty ¶
func (*Document) SelectionsAfter ¶
func (d *Document) SelectionsAfter(selectionKind SelectionKind, selectionRef int, selectionSet Node) bool
func (*Document) SelectionsAfterField ¶
func (*Document) SelectionsAfterFragmentSpread ¶
func (*Document) SelectionsAfterInlineFragment ¶
func (*Document) SelectionsBeforeField ¶
func (*Document) StringValue ¶
func (d *Document) StringValue(ref int) StringValue
func (*Document) StringValueContentBytes ¶
func (*Document) StringValueContentString ¶
func (*Document) StringValueIsBlockString ¶
func (*Document) StringValuesAreEquals ¶
func (*Document) TypeDefinitionContainsImplementsInterface ¶
func (*Document) TypeIsList ¶
func (*Document) TypeIsNonNull ¶
func (*Document) TypeNameBytes ¶
func (*Document) TypeNameString ¶
func (*Document) TypesAreCompatibleDeep ¶
func (*Document) UnionMemberTypeIsFirst ¶
func (*Document) UnionMemberTypeIsLast ¶
func (*Document) UnionNodeIntersectsInterfaceNode ¶
func (*Document) UnionTypeDefinitionDescriptionBytes ¶
func (*Document) UnionTypeDefinitionDescriptionString ¶
func (*Document) UnionTypeDefinitionHasDirectives ¶
func (*Document) UnionTypeDefinitionHasField ¶
func (*Document) UnionTypeDefinitionMemberTypeNames ¶
func (*Document) UnionTypeDefinitionNameBytes ¶
func (*Document) UnionTypeDefinitionNameString ¶
func (*Document) UnionTypeExtensionDescriptionBytes ¶
func (*Document) UnionTypeExtensionDescriptionString ¶
func (*Document) UnionTypeExtensionHasDirectives ¶
func (*Document) UnionTypeExtensionHasUnionMemberTypes ¶
func (*Document) UnionTypeExtensionNameBytes ¶
func (*Document) UnionTypeExtensionNameString ¶
func (*Document) UpdateRootNode ¶
func (*Document) ValueContainsVariable ¶
func (*Document) ValueContentBytes ¶
func (*Document) ValueContentString ¶
func (*Document) ValuesAreEqual ¶
func (*Document) VariableDefinitionByNameAndOperation ¶
func (*Document) VariableDefinitionDefaultValue ¶
func (*Document) VariableDefinitionHasDefaultValue ¶
func (*Document) VariableDefinitionNameBytes ¶
func (*Document) VariableDefinitionNameString ¶
func (*Document) VariableDefinitionsAfter ¶
func (*Document) VariableDefinitionsBefore ¶
func (*Document) VariableValueNameBytes ¶
func (*Document) VariableValueNameString ¶
func (*Document) VariableValuesAreEqual ¶
type EnumTypeDefinition ¶
type EnumTypeDefinition struct {
Description Description // optional, describes enum
EnumLiteral position.Position // enum
Name ByteSliceReference // e.g. Direction
HasDirectives bool
Directives DirectiveList // optional, e.g. @foo
HasEnumValuesDefinition bool
EnumValuesDefinition EnumValueDefinitionList // optional, e.g. { NORTH EAST }
}
EnumTypeDefinition example:
enum Direction {
NORTH
EAST
SOUTH
WEST
}
type EnumTypeExtension ¶
type EnumTypeExtension struct {
ExtendLiteral position.Position
EnumTypeDefinition
}
type EnumValue ¶
type EnumValue struct {
Name ByteSliceReference // e.g. ORIGIN
}
EnumValue example: Name but not true or false or null
type EnumValueDefinition ¶
type EnumValueDefinition struct {
Description Description // optional, describes enum value
EnumValue ByteSliceReference // e.g. NORTH (Name but not true, false or null
HasDirectives bool
Directives DirectiveList // optional, e.g. @foo
}
EnumValueDefinition example: "NORTH enum value" NORTH @foo
type EnumValueDefinitionList ¶
type Field ¶
type Field struct {
Alias Alias // optional, e.g. renamed:
Name ByteSliceReference // field name, e.g. id
HasArguments bool
Arguments ArgumentList // optional
HasDirectives bool
Directives DirectiveList // optional
SelectionSet int // optional
HasSelections bool
Position position.Position
}
type FieldDefinition ¶
type FieldDefinition struct {
Description Description // optional e.g. "FieldDefinition is ..."
Name ByteSliceReference // e.g. foo
HasArgumentsDefinitions bool
ArgumentsDefinition InputValueDefinitionList // optional
Colon position.Position // :
Type int // e.g. String
HasDirectives bool
Directives DirectiveList // e.g. @foo
}
type FieldDefinitionList ¶
type FloatValue ¶
type FloatValue struct {
Negative bool // indicates if the value is negative
NegativeSign position.Position // optional -
Raw ByteSliceReference // e.g. 13.37
}
FloatValue example: 13.37 / -13.37
type FragmentDefinition ¶
type FragmentDefinition struct {
FragmentLiteral position.Position // fragment
Name ByteSliceReference // Name but not on, e.g. friendFields
TypeCondition TypeCondition // e.g. on User
HasDirectives bool
Directives DirectiveList // optional, e.g. @foo
SelectionSet int // e.g. { id }
HasSelections bool
}
FragmentDefinition example:
fragment friendFields on User {
id
name
profilePic(size: 50)
}
type FragmentSpread ¶
type FragmentSpread struct {
Spread position.Position // ...
FragmentName ByteSliceReference // Name but not on, e.g. MyFragment
HasDirectives bool
Directives DirectiveList // optional, e.g. @foo
}
FragmentSpread example: ...MyFragment
type Index ¶
type Index struct {
// QueryTypeName is the name of the query type on the schema Node
// schema { query: Query }
QueryTypeName ByteSlice
// MutationTypeName is the name of the mutation type on the schema Node
// schema { mutation: Mutation }
MutationTypeName ByteSlice
// SubscriptionTypeName is the name of the subscription type on the schema Node
// schema { subscription: Subscription }
SubscriptionTypeName ByteSlice
// ReplacedFragmentSpreads is a list of references (slice indices) of all FragmentSpreads that got replaced during normalization.
ReplacedFragmentSpreads []int
// MergedTypeExtensions is a list of Nodes (Node kind + reference) that got merged during type extension merging.
MergedTypeExtensions []Node
// contains filtered or unexported fields
}
Index is a struct to easily look up objects in a document, e.g. find Nodes (type/interface/union definitions) by name
func (*Index) AddNodeBytes ¶
func (*Index) AddNodeStr ¶
func (*Index) FirstNonExtensionNodeByNameBytes ¶
func (*Index) IsRootOperationTypeNameBytes ¶
func (*Index) IsRootOperationTypeNameString ¶
func (*Index) RemoveNodeByName ¶
type InlineFragment ¶
type InlineFragment struct {
Spread position.Position // ...
TypeCondition TypeCondition // on NamedType, e.g. on User
HasDirectives bool
Directives DirectiveList // optional, e.g. @foo
SelectionSet int // optional, e.g. { nextField }
HasSelections bool
IsOfTheSameType bool
}
InlineFragment example:
... on User {
friends {
count
}
}
type Input ¶
type Input struct {
// RawBytes is the raw byte input
RawBytes []byte
// Length of RawBytes
Length int
// InputPosition is the current position in the RawBytes
InputPosition int
// TextPosition is the current position within the text (line and character information about the current Tokens)
TextPosition position.Position
// Variables are the json encoded variables of the operation
Variables []byte
}
Input is a raw graphql document containing the raw input + meta data
func (*Input) AppendInputBytes ¶
func (i *Input) AppendInputBytes(bytes []byte) (ref ByteSliceReference)
AppendInputBytes appends a byte slice to the current input and returns the ByteSliceReference
func (*Input) AppendInputString ¶
func (i *Input) AppendInputString(input string) ByteSliceReference
AppendInputString appends a string to the current input and returns the ByteSliceReference
func (*Input) ByteSlice ¶
func (i *Input) ByteSlice(reference ByteSliceReference) ByteSlice
ByteSlice returns the byte slice for a given byte ByteSliceReference
func (*Input) ByteSliceReferenceContentEquals ¶
func (i *Input) ByteSliceReferenceContentEquals(left, right ByteSliceReference) bool
ByteSliceReferenceContentEquals compares the content of two byte slices and returns true if they are the same
func (*Input) ByteSliceString ¶
func (i *Input) ByteSliceString(reference ByteSliceReference) string
ByteSliceString returns a string for a given ByteSliceReference
func (*Input) ResetInputBytes ¶
ResetInputBytes empties the input and sets it to bytes argument
func (*Input) ResetInputString ¶
ResetInputString empties the input and sets it to input string.
type InputObjectTypeDefinition ¶
type InputObjectTypeDefinition struct {
Description Description // optional, describes the input type
InputLiteral position.Position // input
Name ByteSliceReference // name of the input type
HasDirectives bool
Directives DirectiveList // optional, e.g. @foo
HasInputFieldsDefinition bool
InputFieldsDefinition InputValueDefinitionList // e.g. x:Float
}
type InputObjectTypeExtension ¶
type InputObjectTypeExtension struct {
ExtendLiteral position.Position
InputObjectTypeDefinition
}
type InputValueDefinition ¶
type InputValueDefinition struct {
Description Description // optional, e.g. "input Foo is..."
Name ByteSliceReference // e.g. Foo
Colon position.Position // :
Type int // e.g. String
DefaultValue DefaultValue // e.g. = "Bar"
HasDirectives bool
Directives DirectiveList // e.g. @baz
}
type IntValue ¶
type IntValue struct {
Negative bool // indicates if the value is negative
NegativeSign position.Position // optional -
Raw ByteSliceReference // e.g. 123
}
IntValue example: 123 / -123
type InterfaceTypeDefinition ¶
type InterfaceTypeDefinition struct {
Description Description // optional, describes the interface
InterfaceLiteral position.Position // interface
Name ByteSliceReference // e.g. NamedEntity
ImplementsInterfaces TypeList // e.g implements Bar & Baz
HasDirectives bool
Directives DirectiveList // optional, e.g. @foo
HasFieldDefinitions bool
FieldsDefinition FieldDefinitionList // optional, e.g. { name: String }
}
InterfaceTypeDefinition example:
interface NamedEntity {
name: String
}
type InterfaceTypeExtension ¶
type InterfaceTypeExtension struct {
ExtendLiteral position.Position
InterfaceTypeDefinition
}
type NodeKind ¶
type NodeKind int
const ( NodeKindUnknown NodeKind = 22 + iota NodeKindSchemaDefinition NodeKindSchemaExtension NodeKindObjectTypeDefinition NodeKindObjectTypeExtension NodeKindInterfaceTypeDefinition NodeKindInterfaceTypeExtension NodeKindUnionTypeDefinition NodeKindUnionTypeExtension NodeKindUnionMemberType NodeKindEnumTypeDefinition NodeKindEnumValueDefinition NodeKindEnumTypeExtension NodeKindInputObjectTypeDefinition NodeKindInputValueDefinition NodeKindInputObjectTypeExtension NodeKindScalarTypeDefinition NodeKindScalarTypeExtension NodeKindDirectiveDefinition NodeKindOperationDefinition NodeKindSelectionSet NodeKindField NodeKindFieldDefinition NodeKindFragmentSpread NodeKindInlineFragment NodeKindFragmentDefinition NodeKindArgument NodeKindDirective NodeKindVariableDefinition )
func (NodeKind) IsAbstractType ¶
type ObjectField ¶
type ObjectField struct {
Name ByteSliceReference // e.g. lon
Colon position.Position // :
Value Value // e.g. 12.43
Position position.Position
}
ObjectField example: lon: 12.43
type ObjectTypeDefinition ¶
type ObjectTypeDefinition struct {
Description Description // optional, e.g. "type Foo is ..."
TypeLiteral position.Position // type
Name ByteSliceReference // e.g. Foo
ImplementsInterfaces TypeList // e.g implements Bar & Baz
HasDirectives bool
Directives DirectiveList // e.g. @foo
HasFieldDefinitions bool
FieldsDefinition FieldDefinitionList // { foo:Bar bar(baz:String) }
}
type ObjectTypeExtension ¶
type ObjectTypeExtension struct {
ExtendLiteral position.Position
ObjectTypeDefinition
}
type ObjectValue ¶
type ObjectValue struct {
LBRACE position.Position
Refs []int // ObjectField
RBRACE position.Position
}
ObjectValue example: { lon: 12.43, lat: -53.211 }
type OperationDefinition ¶
type OperationDefinition struct {
OperationType OperationType // one of query, mutation, subscription
OperationTypeLiteral position.Position // position of the operation type literal, if present
Name ByteSliceReference // optional, user defined name of the operation
HasVariableDefinitions bool
VariableDefinitions VariableDefinitionList // optional, e.g. ($devicePicSize: Int)
HasDirectives bool
Directives DirectiveList // optional, e.g. @foo
SelectionSet int // e.g. {field}
HasSelections bool
}
type OperationType ¶
type OperationType int
const ( OperationTypeUnknown OperationType = iota OperationTypeQuery OperationTypeMutation OperationTypeSubscription )
func (OperationType) Name ¶
func (t OperationType) Name() string
Name returns a human-readable operation name for the given OperationType. If the operation is not one of the OperationType constants, it panics.
func (OperationType) String ¶
func (i OperationType) String() string
type Path ¶
type Path []PathItem
func (Path) DotDelimitedString ¶
func (Path) EndsWithFragment ¶
func (Path) WithoutInlineFragmentNames ¶
type PathItem ¶
type PathItem struct {
Kind PathKind
ArrayIndex int
FieldName ByteSlice
FragmentRef int // only used for InlineFragmentName, allows to distinguish between multiple inline fragments on the same type
}
func (PathItem) MarshalJSON ¶
func (*PathItem) UnmarshalJSON ¶
type Repeatable ¶
type RootOperationTypeDefinition ¶
type RootOperationTypeDefinition struct {
OperationType OperationType // one of query, mutation, subscription
Colon position.Position // :
NamedType Type // e.g. Query
}
type ScalarTypeDefinition ¶
type ScalarTypeDefinition struct {
Description Description // optional, describes the scalar
ScalarLiteral position.Position // scalar
Name ByteSliceReference // e.g. JSON
HasDirectives bool
Directives DirectiveList // optional, e.g. @foo
}
ScalarTypeDefinition example: scalar JSON
type ScalarTypeExtension ¶
type ScalarTypeExtension struct {
ExtendLiteral position.Position
ScalarTypeDefinition
}
type SchemaDefinition ¶
type SchemaDefinition struct {
Description Description // optional
SchemaLiteral position.Position // schema
HasDirectives bool
Directives DirectiveList // optional, e.g. @foo
RootOperationTypeDefinitions RootOperationTypeDefinitionList // e.g. query: Query, mutation: Mutation, subscription: Subscription
}
func (*SchemaDefinition) AddRootOperationTypeDefinitionRefs ¶
func (s *SchemaDefinition) AddRootOperationTypeDefinitionRefs(refs ...int)
type SchemaExtension ¶
type SchemaExtension struct {
ExtendLiteral position.Position
SchemaDefinition
}
type Selection ¶
type Selection struct {
Kind SelectionKind // one of Field, FragmentSpread, InlineFragment
Ref int // reference to the actual selection
}
type SelectionKind ¶
type SelectionKind int
const ( SelectionKindUnknown SelectionKind = 18 + iota SelectionKindField SelectionKindFragmentSpread SelectionKindInlineFragment )
func (SelectionKind) String ¶
func (i SelectionKind) String() string
type SelectionSet ¶
type StringValue ¶
type StringValue struct {
BlockString bool // """foo""" = blockString, "foo" string
Content ByteSliceReference // e.g. foo
}
StringValue example: "foo"
type Type ¶
type Type struct {
TypeKind TypeKind // one of Named,List,NonNull
Name ByteSliceReference // e.g. String (only on NamedType)
Position position.Position
Open position.Position // [ (only on ListType)
Close position.Position // ] (only on ListType)
Bang position.Position // ! (only on NonNullType)
OfType int
}
type TypeCondition ¶
TypeCondition example: on User
type UnionTypeDefinition ¶
type UnionTypeDefinition struct {
Description Description // optional, describes union
UnionLiteral position.Position // union
Name ByteSliceReference // e.g. SearchResult
HasDirectives bool
Directives DirectiveList // optional, e.g. @foo
Equals position.Position // =
HasUnionMemberTypes bool
UnionMemberTypes TypeList // optional, e.g. Photo | Person
HasFieldDefinitions bool
FieldsDefinition FieldDefinitionList // contains a single field: { __typename: String! }
}
UnionTypeDefinition example: union SearchResult = Photo | Person
type UnionTypeExtension ¶
type UnionTypeExtension struct {
ExtendLiteral position.Position
UnionTypeDefinition
}
type VariableDefinition ¶
type VariableDefinition struct {
VariableValue Value // $ Name
Colon position.Position // :
Type int // e.g. String
DefaultValue DefaultValue // optional, e.g. = "Default"
HasDirectives bool
Directives DirectiveList // optional, e.g. @foo
}
VariableDefinition example: $devicePicSize: Int = 100 @small
type VariableDefinitionList ¶
type VariableValue ¶
type VariableValue struct {
Dollar position.Position // $
Name ByteSliceReference // e.g. devicePicSize
}
VariableValue example: $devicePicSize
Source Files
¶
- ast.go
- ast_argument.go
- ast_description.go
- ast_directive.go
- ast_directive_definition.go
- ast_enum_type_definition.go
- ast_enum_type_extension.go
- ast_enum_value_definition.go
- ast_field.go
- ast_field_alias.go
- ast_field_definition.go
- ast_fragment_definition.go
- ast_fragment_spread.go
- ast_inline_fragment.go
- ast_input_object_type_definition.go
- ast_input_object_type_extension.go
- ast_input_value_definition.go
- ast_interface_type_definition.go
- ast_interface_type_extension.go
- ast_node.go
- ast_node_kind.go
- ast_object_field.go
- ast_object_type_definition.go
- ast_object_type_extension.go
- ast_operation_definition.go
- ast_root_operation_type_definition.go
- ast_scalar_type_definition.go
- ast_scalar_type_extension.go
- ast_schema_definition.go
- ast_schema_extension.go
- ast_selection.go
- ast_string.go
- ast_type.go
- ast_union_type_definition.go
- ast_union_type_extension.go
- ast_val_boolean_value.go
- ast_val_enum_value.go
- ast_val_float_value.go
- ast_val_int_value.go
- ast_val_list_value.go
- ast_val_object_value.go
- ast_val_string_value.go
- ast_val_variable_value.go
- ast_value.go
- ast_variable_definition.go
- directive_location.go
- directive_location_string.go
- helpers.go
- index.go
- input.go
- path.go