introspection

package
v0.15.1 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TypeKindScalar      = TypeKind("SCALAR")
	TypeKindObject      = TypeKind("OBJECT")
	TypeKindInterface   = TypeKind("INTERFACE")
	TypeKindUnion       = TypeKind("UNION")
	TypeKindEnum        = TypeKind("ENUM")
	TypeKindInputObject = TypeKind("INPUT_OBJECT")
	TypeKindList        = TypeKind("LIST")
	TypeKindNonNull     = TypeKind("NON_NULL")
)
View Source
const (
	ScalarInt     = Scalar("Int")
	ScalarFloat   = Scalar("Float")
	ScalarString  = Scalar("String")
	ScalarBoolean = Scalar("Boolean")
	ScalarVoid    = Scalar("Void")
)

Variables

View Source
var Query string

Query is the query generated by graphiql to determine type information

Functions

This section is empty.

Types

type Directive added in v0.13.7

type Directive struct {
	Name string          `json:"name"`
	Args []*DirectiveArg `json:"args"`
}

func (Directive) Arg added in v0.13.7

func (t Directive) Arg(name string) *DirectiveArg

type DirectiveArg added in v0.13.7

type DirectiveArg struct {
	Name  string  `json:"name"`
	Value *string `json:"value"`
}

type Directives added in v0.13.7

type Directives []*Directive

func (Directives) Directive added in v0.13.7

func (t Directives) Directive(name string) *Directive

func (*Directives) SourceMap added in v0.13.7

func (t *Directives) SourceMap() *SourceMap

type EnumValue

type EnumValue struct {
	Name              string     `json:"name"`
	Description       string     `json:"description"`
	IsDeprecated      bool       `json:"isDeprecated"`
	DeprecationReason string     `json:"deprecationReason"`
	Directives        Directives `json:"directives"`
}

type Field

type Field struct {
	Name              string      `json:"name"`
	Description       string      `json:"description"`
	TypeRef           *TypeRef    `json:"type"`
	Args              InputValues `json:"args"`
	IsDeprecated      bool        `json:"isDeprecated"`
	DeprecationReason string      `json:"deprecationReason"`
	Directives        Directives  `json:"directives"`

	ParentObject *Type `json:"-"`
}

func (*Field) ReferencesType added in v0.9.8

func (f *Field) ReferencesType(typeName string) bool

type InputValue

type InputValue struct {
	Name         string     `json:"name"`
	Description  string     `json:"description"`
	DefaultValue *string    `json:"defaultValue"`
	TypeRef      *TypeRef   `json:"type"`
	Directives   Directives `json:"directives"`
}

func (InputValue) IsOptional added in v0.13.0

func (v InputValue) IsOptional() bool

type InputValues

type InputValues []InputValue

func (InputValues) HasOptionals

func (i InputValues) HasOptionals() bool

type Response

type Response struct {
	Schema        *Schema `json:"__schema"`
	SchemaVersion string  `json:"__schemaVersion"`
}

Response is the introspection query response

type Scalar

type Scalar string

type Schema

type Schema struct {
	QueryType struct {
		Name string `json:"name,omitempty"`
	} `json:"queryType,omitempty"`
	MutationType *struct {
		Name string `json:"name,omitempty"`
	} `json:"mutationType,omitempty"`
	SubscriptionType *struct {
		Name string `json:"name,omitempty"`
	} `json:"subscriptionType,omitempty"`

	Types      Types `json:"types"`
	Directives any   `json:"directives"`
}

func (*Schema) Mutation

func (s *Schema) Mutation() *Type

func (*Schema) Query

func (s *Schema) Query() *Type

func (*Schema) ScrubType added in v0.9.8

func (s *Schema) ScrubType(typeName string)

Remove all occurrences of a type from the schema, including any fields, input fields, and enum values that reference it.

func (*Schema) Subscription

func (s *Schema) Subscription() *Type

func (*Schema) Visit

func (s *Schema) Visit() []*Type

type SourceMap added in v0.13.7

type SourceMap struct {
	Module   string
	Filename string
	Line     string
	Column   string
}
func (sourceMap *SourceMap) Filelink() string

type Type

type Type struct {
	Kind        TypeKind     `json:"kind"`
	Name        string       `json:"name"`
	Description string       `json:"description,omitempty"`
	Fields      []*Field     `json:"fields,omitempty"`
	InputFields []InputValue `json:"inputFields,omitempty"`
	EnumValues  []EnumValue  `json:"enumValues,omitempty"`
	Interfaces  []*Type      `json:"interfaces"`
	Directives  Directives   `json:"directives"`
}

func (*Type) ScrubType added in v0.9.8

func (t *Type) ScrubType(typeName string) bool

Remove all occurrences of a type from the schema, including any fields, input fields, and enum values that reference it. Returns true if this type should be removed, whether because it is the type being scrubbed, or because it is now empty after scrubbing its references.

type TypeKind

type TypeKind string

type TypeRef

type TypeRef struct {
	Kind   TypeKind `json:"kind"`
	Name   string   `json:"name,omitempty"`
	OfType *TypeRef `json:"ofType,omitempty"`
}

func (TypeRef) IsList

func (r TypeRef) IsList() bool

func (TypeRef) IsObject

func (r TypeRef) IsObject() bool

func (TypeRef) IsOptional

func (r TypeRef) IsOptional() bool

func (TypeRef) IsScalar

func (r TypeRef) IsScalar() bool

func (TypeRef) IsVoid added in v0.12.0

func (r TypeRef) IsVoid() bool

func (TypeRef) ReferencesType added in v0.9.8

func (r TypeRef) ReferencesType(typeName string) bool

type Types

type Types []*Type

func (Types) Get

func (t Types) Get(name string) *Type

type Visitor

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

func (*Visitor) Run

func (v *Visitor) Run() []*Type

Jump to

Keyboard shortcuts

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