introspection

package
v0.9.11 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2024 License: Apache-2.0 Imports: 3 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")
)

Variables

View Source
var Query string

Query is the query generated by graphiql to determine type information

Functions

This section is empty.

Types

type EnumValue

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

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"`

	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"`
}

type InputValues

type InputValues []InputValue

func (InputValues) HasOptionals

func (i InputValues) HasOptionals() bool

type Response

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

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"`
}

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 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"`
}

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) 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