ast

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 4, 2022 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func VisitAnnotations

func VisitAnnotations(
	context Context,
	visitor Visitor,
	annotations []*Annotation,
)

Types

type AliasDefinition

type AliasDefinition struct {
	BaseNode
	Name        *Name        `json:"name"`
	Description *StringValue `json:"description,omitempty"` // Optional
	Type        Type         `json:"type"`
	AnnotatedNode
}

func NewAliasDefinition

func NewAliasDefinition(loc *Location, name *Name, description *StringValue, t Type, annotations []*Annotation) *AliasDefinition

func (*AliasDefinition) Accept

func (d *AliasDefinition) Accept(context Context, visitor Visitor)

type Annotated

type Annotated interface {
	Annotation(name string, callback func(annotation *Annotation)) *Annotation
}

type AnnotatedNode

type AnnotatedNode struct {
	Annotations []*Annotation `json:"annotations"`
}

func (*AnnotatedNode) Annotation

func (a *AnnotatedNode) Annotation(name string) *Annotation

type Annotation

type Annotation struct {
	BaseNode
	Name      *Name       `json:"name"`
	Arguments []*Argument `json:"arguments"`
}

func NewAnnotation

func NewAnnotation(loc *Location, name *Name, arguments []*Argument) *Annotation

func (*Annotation) Accept

func (a *Annotation) Accept(context Context, visitor Visitor)

type Argument

type Argument struct {
	BaseNode
	Name  *Name `json:"name"`
	Value Value `json:"value"`
}

func NewArgument

func NewArgument(loc *Location, name *Name, value Value) *Argument

type BaseNode

type BaseNode struct {
	Kind kinds.Kind `json:"kind"`
	Loc  *Location  `json:"-"`
}

func (*BaseNode) GetKind

func (node *BaseNode) GetKind() kinds.Kind

func (*BaseNode) GetLoc

func (node *BaseNode) GetLoc() *Location

func (*BaseNode) IsKind

func (node *BaseNode) IsKind(kind kinds.Kind) bool

func (*BaseNode) String

func (node *BaseNode) String() string

type BaseVisitor

type BaseVisitor struct{}

func (*BaseVisitor) VisitAlias

func (b *BaseVisitor) VisitAlias(context Context)

func (*BaseVisitor) VisitAliasAfter

func (b *BaseVisitor) VisitAliasAfter(context Context)

func (*BaseVisitor) VisitAliasBefore

func (b *BaseVisitor) VisitAliasBefore(context Context)

func (*BaseVisitor) VisitAliasesAfter

func (b *BaseVisitor) VisitAliasesAfter(context Context)

func (*BaseVisitor) VisitAliasesBefore

func (b *BaseVisitor) VisitAliasesBefore(context Context)

func (*BaseVisitor) VisitAllOperationsAfter

func (b *BaseVisitor) VisitAllOperationsAfter(context Context)

func (*BaseVisitor) VisitAllOperationsBefore

func (b *BaseVisitor) VisitAllOperationsBefore(context Context)

func (*BaseVisitor) VisitAnnotation

func (b *BaseVisitor) VisitAnnotation(context Context)

func (*BaseVisitor) VisitAnnotationAfter

func (b *BaseVisitor) VisitAnnotationAfter(context Context)

func (*BaseVisitor) VisitAnnotationArgument

func (b *BaseVisitor) VisitAnnotationArgument(context Context)

func (*BaseVisitor) VisitAnnotationArgumentsAfter

func (b *BaseVisitor) VisitAnnotationArgumentsAfter(context Context)

func (*BaseVisitor) VisitAnnotationArgumentsBefore

func (b *BaseVisitor) VisitAnnotationArgumentsBefore(context Context)

func (*BaseVisitor) VisitAnnotationBefore

func (b *BaseVisitor) VisitAnnotationBefore(context Context)

func (*BaseVisitor) VisitAnnotationsAfter

func (b *BaseVisitor) VisitAnnotationsAfter(context Context)

func (*BaseVisitor) VisitAnnotationsBefore

func (b *BaseVisitor) VisitAnnotationsBefore(context Context)

func (*BaseVisitor) VisitDirective

func (b *BaseVisitor) VisitDirective(context Context)

func (*BaseVisitor) VisitDirectiveAfter

func (b *BaseVisitor) VisitDirectiveAfter(context Context)

func (*BaseVisitor) VisitDirectiveBefore

func (b *BaseVisitor) VisitDirectiveBefore(context Context)

func (*BaseVisitor) VisitDirectiveParameter

func (b *BaseVisitor) VisitDirectiveParameter(context Context)

func (*BaseVisitor) VisitDirectiveParametersAfter

func (b *BaseVisitor) VisitDirectiveParametersAfter(context Context)

func (*BaseVisitor) VisitDirectiveParametersBefore

func (b *BaseVisitor) VisitDirectiveParametersBefore(context Context)

func (*BaseVisitor) VisitDirectivesAfter

func (b *BaseVisitor) VisitDirectivesAfter(context Context)

func (*BaseVisitor) VisitDirectivesBefore

func (b *BaseVisitor) VisitDirectivesBefore(context Context)

func (*BaseVisitor) VisitDocumentAfter

func (b *BaseVisitor) VisitDocumentAfter(context Context)

func (*BaseVisitor) VisitDocumentBefore

func (b *BaseVisitor) VisitDocumentBefore(context Context)

func (*BaseVisitor) VisitEnum

func (b *BaseVisitor) VisitEnum(context Context)

func (*BaseVisitor) VisitEnumAfter

func (b *BaseVisitor) VisitEnumAfter(context Context)

func (*BaseVisitor) VisitEnumBefore

func (b *BaseVisitor) VisitEnumBefore(context Context)

func (*BaseVisitor) VisitEnumValue

func (b *BaseVisitor) VisitEnumValue(context Context)

func (*BaseVisitor) VisitEnumValuesAfter

func (b *BaseVisitor) VisitEnumValuesAfter(context Context)

func (*BaseVisitor) VisitEnumValuesBefore

func (b *BaseVisitor) VisitEnumValuesBefore(context Context)

func (*BaseVisitor) VisitEnumsAfter

func (b *BaseVisitor) VisitEnumsAfter(context Context)

func (*BaseVisitor) VisitEnumsBefore

func (b *BaseVisitor) VisitEnumsBefore(context Context)

func (*BaseVisitor) VisitFunction

func (b *BaseVisitor) VisitFunction(context Context)

func (*BaseVisitor) VisitFunctionAfter

func (b *BaseVisitor) VisitFunctionAfter(context Context)

func (*BaseVisitor) VisitFunctionBefore

func (b *BaseVisitor) VisitFunctionBefore(context Context)

func (*BaseVisitor) VisitFunctionsAfter

func (b *BaseVisitor) VisitFunctionsAfter(context Context)

func (*BaseVisitor) VisitFunctionsBefore

func (b *BaseVisitor) VisitFunctionsBefore(context Context)

func (*BaseVisitor) VisitImport

func (b *BaseVisitor) VisitImport(context Context)

func (*BaseVisitor) VisitImportsAfter

func (b *BaseVisitor) VisitImportsAfter(context Context)

func (*BaseVisitor) VisitImportsBefore

func (b *BaseVisitor) VisitImportsBefore(context Context)

func (*BaseVisitor) VisitInterface

func (b *BaseVisitor) VisitInterface(context Context)

func (*BaseVisitor) VisitInterfaceAfter

func (b *BaseVisitor) VisitInterfaceAfter(context Context)

func (*BaseVisitor) VisitInterfaceBefore

func (b *BaseVisitor) VisitInterfaceBefore(context Context)

func (*BaseVisitor) VisitInterfacesAfter

func (b *BaseVisitor) VisitInterfacesAfter(context Context)

func (*BaseVisitor) VisitInterfacesBefore

func (b *BaseVisitor) VisitInterfacesBefore(context Context)

func (*BaseVisitor) VisitNamespace

func (b *BaseVisitor) VisitNamespace(context Context)

func (*BaseVisitor) VisitOperation

func (b *BaseVisitor) VisitOperation(context Context)

func (*BaseVisitor) VisitOperationAfter

func (b *BaseVisitor) VisitOperationAfter(context Context)

func (*BaseVisitor) VisitOperationBefore

func (b *BaseVisitor) VisitOperationBefore(context Context)

func (*BaseVisitor) VisitOperationsAfter

func (b *BaseVisitor) VisitOperationsAfter(context Context)

func (*BaseVisitor) VisitOperationsBefore

func (b *BaseVisitor) VisitOperationsBefore(context Context)

func (*BaseVisitor) VisitParameter

func (b *BaseVisitor) VisitParameter(context Context)

func (*BaseVisitor) VisitParametersAfter

func (b *BaseVisitor) VisitParametersAfter(context Context)

func (*BaseVisitor) VisitParametersBefore

func (b *BaseVisitor) VisitParametersBefore(context Context)

func (*BaseVisitor) VisitType

func (b *BaseVisitor) VisitType(context Context)

func (*BaseVisitor) VisitTypeAfter

func (b *BaseVisitor) VisitTypeAfter(context Context)

func (*BaseVisitor) VisitTypeBefore

func (b *BaseVisitor) VisitTypeBefore(context Context)

func (*BaseVisitor) VisitTypeField

func (b *BaseVisitor) VisitTypeField(context Context)

func (*BaseVisitor) VisitTypeFieldsAfter

func (b *BaseVisitor) VisitTypeFieldsAfter(context Context)

func (*BaseVisitor) VisitTypeFieldsBefore

func (b *BaseVisitor) VisitTypeFieldsBefore(context Context)

func (*BaseVisitor) VisitTypesAfter

func (b *BaseVisitor) VisitTypesAfter(context Context)

func (*BaseVisitor) VisitTypesBefore

func (b *BaseVisitor) VisitTypesBefore(context Context)

func (*BaseVisitor) VisitUnion

func (b *BaseVisitor) VisitUnion(context Context)

func (*BaseVisitor) VisitUnionsAfter

func (b *BaseVisitor) VisitUnionsAfter(context Context)

func (*BaseVisitor) VisitUnionsBefore

func (b *BaseVisitor) VisitUnionsBefore(context Context)

type BooleanValue

type BooleanValue struct {
	BaseNode
	Value bool `json:"value"`
}

BooleanValue implements Node, Value

func NewBooleanValue

func NewBooleanValue(loc *Location, value bool) *BooleanValue

func (*BooleanValue) GetValue

func (v *BooleanValue) GetValue() interface{}

type Context

type Context struct {
	Document   *Document
	Namespace  *NamespaceDefinition
	Imports    []*ImportDefinition
	Import     *ImportDefinition
	Directives []*DirectiveDefinition
	Directive  *DirectiveDefinition
	Aliases    []*AliasDefinition
	Alias      *AliasDefinition
	Unions     []*UnionDefinition
	Union      *UnionDefinition
	Functions  []*OperationDefinition
	Function   *OperationDefinition
	Types      []*TypeDefinition
	Type       *TypeDefinition
	Fields     []*FieldDefinition
	Field      *FieldDefinition
	FieldIndex int
	Enums      []*EnumDefinition
	Enum       *EnumDefinition
	EnumValues []*EnumValueDefinition
	EnumValue  *EnumValueDefinition
	Interfaces []*InterfaceDefinition
	Interface  *InterfaceDefinition
	Operations []*OperationDefinition
	Operation  *OperationDefinition
	Parameters []*ParameterDefinition
	Parameter  *ParameterDefinition

	Annotation *Annotation

	Named map[string]Definition
	// contains filtered or unexported fields
}

func NewContext

func NewContext(doc *Document) Context

func (*Context) Errors

func (c *Context) Errors() []error

func (*Context) ReportError

func (c *Context) ReportError(err error)

type Definition

type Definition interface {
	Node
	Accept(context Context, visitor Visitor)
}

type DirectiveDefinition

type DirectiveDefinition struct {
	BaseNode
	Name        *Name                  `json:"name"`
	Description *StringValue           `json:"description,omitempty"` // Optional
	Parameters  []*ParameterDefinition `json:"parameters"`
	Locations   []*Name                `json:"locations"`
	Requires    []*DirectiveRequire    `json:"requires,omitempty"` // Optional
}

func NewDirectiveDefinition

func NewDirectiveDefinition(loc *Location, name *Name, description *StringValue, parameters []*ParameterDefinition, locations []*Name, requires []*DirectiveRequire) *DirectiveDefinition

func (*DirectiveDefinition) Accept

func (d *DirectiveDefinition) Accept(context Context, visitor Visitor)

type DirectiveRequire

type DirectiveRequire struct {
	BaseNode
	Directive *Name   `json:"directive"`
	Locations []*Name `json:"locations"`
}

func NewDirectiveRequire

func NewDirectiveRequire(loc *Location, directive *Name, locations []*Name) *DirectiveRequire

func (*DirectiveRequire) HasLocation

func (n *DirectiveRequire) HasLocation(location string) bool

type Document

type Document struct {
	BaseNode
	Definitions []Node `json:"definitions"`
}

Document implements Node

func NewDocument

func NewDocument(loc *Location, definitions []Node) *Document

func (*Document) Accept

func (d *Document) Accept(context Context, visitor Visitor)

type EnumDefinition

type EnumDefinition struct {
	BaseNode
	Name        *Name        `json:"name"`
	Description *StringValue `json:"description,omitempty"` // Optional
	AnnotatedNode
	Values []*EnumValueDefinition `json:"values"`
}

func NewEnumDefinition

func NewEnumDefinition(loc *Location, name *Name, description *StringValue, annotations []*Annotation, values []*EnumValueDefinition) *EnumDefinition

func (*EnumDefinition) Accept

func (d *EnumDefinition) Accept(context Context, visitor Visitor)

type EnumValue

type EnumValue struct {
	BaseNode
	Value string `json:"value"`
}

EnumValue implements Node, Value

func NewEnumValue

func NewEnumValue(loc *Location, value string) *EnumValue

func (*EnumValue) GetValue

func (v *EnumValue) GetValue() interface{}

type EnumValueDefinition

type EnumValueDefinition struct {
	BaseNode
	Name        *Name        `json:"name"`
	Description *StringValue `json:"description,omitempty"` // Optional
	Index       *IntValue    `json:"index"`
	Display     *StringValue `json:"display,omitempty"` // Optional
	AnnotatedNode
}

func NewEnumValueDefinition

func NewEnumValueDefinition(loc *Location, name *Name, description *StringValue, index *IntValue, display *StringValue, annotations []*Annotation) *EnumValueDefinition

func (*EnumValueDefinition) Accept

func (d *EnumValueDefinition) Accept(context Context, visitor Visitor)

type FieldDefinition

type FieldDefinition ValuedDefinition

func NewFieldDefinition

func NewFieldDefinition(loc *Location, name *Name, description *StringValue, t Type, defaultValue Value, annotations []*Annotation) *FieldDefinition

func (*FieldDefinition) Accept

func (d *FieldDefinition) Accept(context Context, visitor Visitor)

type FloatValue

type FloatValue struct {
	BaseNode
	Value float64 `json:"value"`
}

FloatValue implements Node, Value

func NewFloatValue

func NewFloatValue(loc *Location, value float64) *FloatValue

func (*FloatValue) GetValue

func (v *FloatValue) GetValue() interface{}

type ImportDefinition

type ImportDefinition struct {
	BaseNode
	Description *StringValue  `json:"description,omitempty"` // Optional
	All         bool          `json:"all"`
	Names       []*ImportName `json:"names"`
	From        *StringValue  `json:"from"`
	AnnotatedNode
}

func NewImportDefinition

func NewImportDefinition(loc *Location, description *StringValue, all bool, names []*ImportName, from *StringValue, annotations []*Annotation) *ImportDefinition

func (*ImportDefinition) Accept

func (d *ImportDefinition) Accept(context Context, visitor Visitor)

type ImportName

type ImportName struct {
	BaseNode
	Name  *Name `json:"name"`
	Alias *Name `json:"alias,omitempty"` // Optional
}

func NewImportName

func NewImportName(loc *Location, name *Name, alias *Name) *ImportName

type IntValue

type IntValue struct {
	BaseNode
	Value int `json:"value"`
}

IntValue implements Node, Value

func NewIntValue

func NewIntValue(loc *Location, value int) *IntValue

func (*IntValue) GetValue

func (v *IntValue) GetValue() interface{}

type InterfaceDefinition

type InterfaceDefinition struct {
	BaseNode
	Name        *Name        `json:"name"`
	Description *StringValue `json:"description,omitempty"` // Optional
	AnnotatedNode
	Operations []*OperationDefinition `json:"operations"`
}

func NewInterfaceDefinition

func NewInterfaceDefinition(loc *Location, name *Name, description *StringValue, annotations []*Annotation, operations []*OperationDefinition) *InterfaceDefinition

func (*InterfaceDefinition) Accept

func (d *InterfaceDefinition) Accept(context Context, visitor Visitor)

type ListType

type ListType struct {
	BaseNode
	Type Type `json:"type"`
}

ListType implements Node, Type

func NewListType

func NewListType(loc *Location, t Type) *ListType

type ListValue

type ListValue struct {
	BaseNode
	Values []Value `json:"values"`
}

ListValue implements Node, Value

func NewListValue

func NewListValue(loc *Location, values []Value) *ListValue

func (*ListValue) GetValue

func (v *ListValue) GetValue() interface{}

GetValue alias to ListValue.GetValues()

type Location

type Location struct {
	Start  uint           `json:"start,omitempty"`
	End    uint           `json:"end,omitempty"`
	Source *source.Source `json:"source,omitempty"`
}

func NewLocation

func NewLocation(start, end uint, source *source.Source) *Location

type MapType

type MapType struct {
	BaseNode
	KeyType   Type `json:"keyType"`
	ValueType Type `json:"valueType"`
}

MapType implements Node, Type

func NewMapType

func NewMapType(loc *Location, keyType, valueType Type) *MapType

type MultiVisitor

type MultiVisitor struct {
	// contains filtered or unexported fields
}

func NewMultiVisitor

func NewMultiVisitor(visitors ...Visitor) *MultiVisitor

func (*MultiVisitor) VisitAlias

func (m *MultiVisitor) VisitAlias(context Context)

func (*MultiVisitor) VisitAliasAfter

func (m *MultiVisitor) VisitAliasAfter(context Context)

func (*MultiVisitor) VisitAliasBefore

func (m *MultiVisitor) VisitAliasBefore(context Context)

func (*MultiVisitor) VisitAliasesAfter

func (m *MultiVisitor) VisitAliasesAfter(context Context)

func (*MultiVisitor) VisitAliasesBefore

func (m *MultiVisitor) VisitAliasesBefore(context Context)

func (*MultiVisitor) VisitAllOperationsAfter

func (m *MultiVisitor) VisitAllOperationsAfter(context Context)

func (*MultiVisitor) VisitAllOperationsBefore

func (m *MultiVisitor) VisitAllOperationsBefore(context Context)

func (*MultiVisitor) VisitAnnotation

func (m *MultiVisitor) VisitAnnotation(context Context)

func (*MultiVisitor) VisitAnnotationAfter

func (m *MultiVisitor) VisitAnnotationAfter(context Context)

func (*MultiVisitor) VisitAnnotationArgument

func (m *MultiVisitor) VisitAnnotationArgument(context Context)

func (*MultiVisitor) VisitAnnotationArgumentsAfter

func (m *MultiVisitor) VisitAnnotationArgumentsAfter(context Context)

func (*MultiVisitor) VisitAnnotationArgumentsBefore

func (m *MultiVisitor) VisitAnnotationArgumentsBefore(context Context)

func (*MultiVisitor) VisitAnnotationBefore

func (m *MultiVisitor) VisitAnnotationBefore(context Context)

func (*MultiVisitor) VisitAnnotationsAfter

func (m *MultiVisitor) VisitAnnotationsAfter(context Context)

func (*MultiVisitor) VisitAnnotationsBefore

func (m *MultiVisitor) VisitAnnotationsBefore(context Context)

func (*MultiVisitor) VisitDirective

func (m *MultiVisitor) VisitDirective(context Context)

func (*MultiVisitor) VisitDirectiveAfter

func (m *MultiVisitor) VisitDirectiveAfter(context Context)

func (*MultiVisitor) VisitDirectiveBefore

func (m *MultiVisitor) VisitDirectiveBefore(context Context)

func (*MultiVisitor) VisitDirectiveParameter

func (m *MultiVisitor) VisitDirectiveParameter(context Context)

func (*MultiVisitor) VisitDirectiveParametersAfter

func (m *MultiVisitor) VisitDirectiveParametersAfter(context Context)

func (*MultiVisitor) VisitDirectiveParametersBefore

func (m *MultiVisitor) VisitDirectiveParametersBefore(context Context)

func (*MultiVisitor) VisitDirectivesAfter

func (m *MultiVisitor) VisitDirectivesAfter(context Context)

func (*MultiVisitor) VisitDirectivesBefore

func (m *MultiVisitor) VisitDirectivesBefore(context Context)

func (*MultiVisitor) VisitDocumentAfter

func (m *MultiVisitor) VisitDocumentAfter(context Context)

func (*MultiVisitor) VisitDocumentBefore

func (m *MultiVisitor) VisitDocumentBefore(context Context)

func (*MultiVisitor) VisitEnum

func (m *MultiVisitor) VisitEnum(context Context)

func (*MultiVisitor) VisitEnumAfter

func (m *MultiVisitor) VisitEnumAfter(context Context)

func (*MultiVisitor) VisitEnumBefore

func (m *MultiVisitor) VisitEnumBefore(context Context)

func (*MultiVisitor) VisitEnumValue

func (m *MultiVisitor) VisitEnumValue(context Context)

func (*MultiVisitor) VisitEnumValuesAfter

func (m *MultiVisitor) VisitEnumValuesAfter(context Context)

func (*MultiVisitor) VisitEnumValuesBefore

func (m *MultiVisitor) VisitEnumValuesBefore(context Context)

func (*MultiVisitor) VisitEnumsAfter

func (m *MultiVisitor) VisitEnumsAfter(context Context)

func (*MultiVisitor) VisitEnumsBefore

func (m *MultiVisitor) VisitEnumsBefore(context Context)

func (*MultiVisitor) VisitFunction

func (m *MultiVisitor) VisitFunction(context Context)

func (*MultiVisitor) VisitFunctionAfter

func (m *MultiVisitor) VisitFunctionAfter(context Context)

func (*MultiVisitor) VisitFunctionBefore

func (m *MultiVisitor) VisitFunctionBefore(context Context)

func (*MultiVisitor) VisitFunctionsAfter

func (m *MultiVisitor) VisitFunctionsAfter(context Context)

func (*MultiVisitor) VisitFunctionsBefore

func (m *MultiVisitor) VisitFunctionsBefore(context Context)

func (*MultiVisitor) VisitImport

func (m *MultiVisitor) VisitImport(context Context)

func (*MultiVisitor) VisitImportsAfter

func (m *MultiVisitor) VisitImportsAfter(context Context)

func (*MultiVisitor) VisitImportsBefore

func (m *MultiVisitor) VisitImportsBefore(context Context)

func (*MultiVisitor) VisitInterface

func (m *MultiVisitor) VisitInterface(context Context)

func (*MultiVisitor) VisitInterfaceAfter

func (m *MultiVisitor) VisitInterfaceAfter(context Context)

func (*MultiVisitor) VisitInterfaceBefore

func (m *MultiVisitor) VisitInterfaceBefore(context Context)

func (*MultiVisitor) VisitInterfacesAfter

func (m *MultiVisitor) VisitInterfacesAfter(context Context)

func (*MultiVisitor) VisitInterfacesBefore

func (m *MultiVisitor) VisitInterfacesBefore(context Context)

func (*MultiVisitor) VisitNamespace

func (m *MultiVisitor) VisitNamespace(context Context)

func (*MultiVisitor) VisitOperation

func (m *MultiVisitor) VisitOperation(context Context)

func (*MultiVisitor) VisitOperationAfter

func (m *MultiVisitor) VisitOperationAfter(context Context)

func (*MultiVisitor) VisitOperationBefore

func (m *MultiVisitor) VisitOperationBefore(context Context)

func (*MultiVisitor) VisitOperationsAfter

func (m *MultiVisitor) VisitOperationsAfter(context Context)

func (*MultiVisitor) VisitOperationsBefore

func (m *MultiVisitor) VisitOperationsBefore(context Context)

func (*MultiVisitor) VisitParameter

func (m *MultiVisitor) VisitParameter(context Context)

func (*MultiVisitor) VisitParametersAfter

func (m *MultiVisitor) VisitParametersAfter(context Context)

func (*MultiVisitor) VisitParametersBefore

func (m *MultiVisitor) VisitParametersBefore(context Context)

func (*MultiVisitor) VisitType

func (m *MultiVisitor) VisitType(context Context)

func (*MultiVisitor) VisitTypeAfter

func (m *MultiVisitor) VisitTypeAfter(context Context)

func (*MultiVisitor) VisitTypeBefore

func (m *MultiVisitor) VisitTypeBefore(context Context)

func (*MultiVisitor) VisitTypeField

func (m *MultiVisitor) VisitTypeField(context Context)

func (*MultiVisitor) VisitTypeFieldsAfter

func (m *MultiVisitor) VisitTypeFieldsAfter(context Context)

func (*MultiVisitor) VisitTypeFieldsBefore

func (m *MultiVisitor) VisitTypeFieldsBefore(context Context)

func (*MultiVisitor) VisitTypesAfter

func (m *MultiVisitor) VisitTypesAfter(context Context)

func (*MultiVisitor) VisitTypesBefore

func (m *MultiVisitor) VisitTypesBefore(context Context)

func (*MultiVisitor) VisitUnion

func (m *MultiVisitor) VisitUnion(context Context)

func (*MultiVisitor) VisitUnionsAfter

func (m *MultiVisitor) VisitUnionsAfter(context Context)

func (*MultiVisitor) VisitUnionsBefore

func (m *MultiVisitor) VisitUnionsBefore(context Context)

type Name

type Name struct {
	BaseNode
	Value string `json:"value"`
}

func NewName

func NewName(loc *Location, value string) *Name

type Named

type Named struct {
	BaseNode
	Name *Name `json:"name"`
}

Named implements Node, Type

func NewNamed

func NewNamed(loc *Location, name *Name) *Named

type NamespaceDefinition

type NamespaceDefinition struct {
	BaseNode
	Name        *Name        `json:" name"`
	Description *StringValue `json:"description,omitempty"` // Optional
	AnnotatedNode
}

func NewNamespaceDefinition

func NewNamespaceDefinition(loc *Location, name *Name, description *StringValue, annotations []*Annotation) *NamespaceDefinition

func (*NamespaceDefinition) Accept

func (d *NamespaceDefinition) Accept(context Context, visitor Visitor)

type Node

type Node interface {
	GetKind() kinds.Kind
	IsKind(kind kinds.Kind) bool
	GetLoc() *Location
	String() string
}

type ObjectField

type ObjectField struct {
	BaseNode
	Name  *Name `json:"name"`
	Value Value `json:"value"`
}

ObjectField implements Node, Value

func NewObjectField

func NewObjectField(loc *Location, name *Name, value Value) *ObjectField

func (*ObjectField) GetValue

func (f *ObjectField) GetValue() interface{}

type ObjectValue

type ObjectValue struct {
	BaseNode
	Fields []*ObjectField `json:"fields"`
}

ObjectValue implements Node, Value

func NewObjectValue

func NewObjectValue(loc *Location, fields []*ObjectField) *ObjectValue

func (*ObjectValue) GetValue

func (v *ObjectValue) GetValue() interface{}

type OperationDefinition

type OperationDefinition struct {
	BaseNode
	Name        *Name        `json:"name"`
	Description *StringValue `json:"description,omitempty"` // Optional
	Type        Type         `json:"type"`
	AnnotatedNode
	Unary      bool                   `json:"unary"`
	Parameters []*ParameterDefinition `json:"parameters"`
}

func NewOperationDefinition

func NewOperationDefinition(loc *Location, name *Name, description *StringValue, ttype Type, annotations []*Annotation, unary bool, parameters []*ParameterDefinition) *OperationDefinition

func (*OperationDefinition) Accept

func (d *OperationDefinition) Accept(context Context, visitor Visitor)

func (*OperationDefinition) IsUnary

func (o *OperationDefinition) IsUnary() bool

type Optional

type Optional struct {
	BaseNode
	Type Type `json:"type"`
}

Optional implements Node, Type

func NewOptional

func NewOptional(loc *Location, t Type) *Optional

type ParameterDefinition

type ParameterDefinition ValuedDefinition

func NewParameterDefinition

func NewParameterDefinition(loc *Location, name *Name, description *StringValue, t Type, defaultValue Value, annotations []*Annotation) *ParameterDefinition

func (*ParameterDefinition) Accept

func (d *ParameterDefinition) Accept(context Context, visitor Visitor)

type Stream

type Stream struct {
	BaseNode
	Type Type `json:"type"`
}

Stream implements Node, Type

func NewStream

func NewStream(loc *Location, t Type) *Stream

type StringValue

type StringValue struct {
	BaseNode
	Value string `json:"value"`
}

StringValue implements Node, Value

func NewStringValue

func NewStringValue(loc *Location, value string) *StringValue

func (*StringValue) GetValue

func (v *StringValue) GetValue() interface{}

type Type

type Type interface {
	Node
}

type TypeDefinition

type TypeDefinition struct {
	BaseNode
	Name        *Name        `json:"name"`
	Description *StringValue `json:"description,omitempty"` // Optional
	Interfaces  []*Named     `json:"interfaces,omitempty"`
	AnnotatedNode
	Fields []*FieldDefinition `json:"fields"`
}

func NewTypeDefinition

func NewTypeDefinition(loc *Location, name *Name, description *StringValue, interfaces []*Named, annotations []*Annotation, fields []*FieldDefinition) *TypeDefinition

func (*TypeDefinition) Accept

func (d *TypeDefinition) Accept(context Context, visitor Visitor)

type UnionDefinition

type UnionDefinition struct {
	BaseNode
	Name        *Name        `json:"name"`
	Description *StringValue `json:"description,omitempty"` // Optional
	AnnotatedNode
	Types []Type `json:"types"`
}

func NewUnionDefinition

func NewUnionDefinition(loc *Location, name *Name, description *StringValue, annotations []*Annotation, types []Type) *UnionDefinition

func (*UnionDefinition) Accept

func (d *UnionDefinition) Accept(context Context, visitor Visitor)

type Value

type Value interface {
	Node
	GetValue() interface{}
}

type ValuedDefinition

type ValuedDefinition struct {
	BaseNode
	Name        *Name        `json:"name"`
	Description *StringValue `json:"description,omitempty"` // Optional
	Type        Type         `json:"type"`
	Default     Value        `json:"default,omitempty"` // Optional
	AnnotatedNode
}

type Visitor

type Visitor interface {
	VisitDocumentBefore(context Context)
	VisitNamespace(context Context)

	VisitImportsBefore(context Context)
	VisitImport(context Context)
	VisitImportsAfter(context Context)

	VisitDirectivesBefore(context Context)
	VisitDirectiveBefore(context Context)
	VisitDirective(context Context)
	VisitDirectiveParametersBefore(context Context)
	VisitDirectiveParameter(context Context)
	VisitDirectiveParametersAfter(context Context)
	VisitDirectiveAfter(context Context)
	VisitDirectivesAfter(context Context)

	VisitAliasesBefore(context Context)
	VisitAliasBefore(context Context)
	VisitAlias(context Context)
	VisitAliasAfter(context Context)
	VisitAliasesAfter(context Context)

	VisitAllOperationsBefore(context Context)
	VisitFunctionsBefore(context Context)
	VisitFunctionBefore(context Context)
	VisitFunction(context Context)
	VisitFunctionAfter(context Context)
	VisitFunctionsAfter(context Context)
	VisitInterfacesBefore(context Context)
	VisitInterfaceBefore(context Context)
	VisitInterface(context Context)
	VisitOperationsBefore(context Context)
	VisitOperationBefore(context Context)
	VisitOperation(context Context)
	VisitParametersBefore(context Context)
	VisitParameter(context Context)
	VisitParametersAfter(context Context)
	VisitOperationAfter(context Context)
	VisitOperationsAfter(context Context)
	VisitInterfaceAfter(context Context)
	VisitInterfacesAfter(context Context)
	VisitAllOperationsAfter(context Context)

	VisitTypesBefore(context Context)
	VisitTypeBefore(context Context)
	VisitType(context Context)
	VisitTypeFieldsBefore(context Context)
	VisitTypeField(context Context)
	VisitTypeFieldsAfter(context Context)
	VisitTypeAfter(context Context)
	VisitTypesAfter(context Context)

	VisitEnumsBefore(context Context)
	VisitEnumBefore(context Context)
	VisitEnum(context Context)
	VisitEnumValuesBefore(context Context)
	VisitEnumValue(context Context)
	VisitEnumValuesAfter(context Context)
	VisitEnumAfter(context Context)
	VisitEnumsAfter(context Context)

	VisitUnionsBefore(context Context)
	VisitUnion(context Context)
	VisitUnionsAfter(context Context)

	VisitAnnotationsBefore(context Context)
	VisitAnnotationBefore(context Context)
	VisitAnnotation(context Context)
	VisitAnnotationArgumentsBefore(context Context)
	VisitAnnotationArgument(context Context)
	VisitAnnotationArgumentsAfter(context Context)
	VisitAnnotationAfter(context Context)
	VisitAnnotationsAfter(context Context)

	VisitDocumentAfter(context Context)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL