Documentation ¶
Index ¶
- func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
- type Character
- type CharacterFields
- type ComplexityRoot
- type Config
- type DirectiveRoot
- type Droid
- type DroidResolver
- type Episode
- type FriendsConnection
- type FriendsConnectionResolver
- type FriendsEdge
- type Human
- type HumanResolver
- type LengthUnit
- type MutationResolver
- type PageInfo
- type QueryResolver
- type Resolver
- type ResolverRoot
- type Review
- type SearchResult
- type Starship
- type StarshipResolver
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewExecutableSchema ¶
func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.
Types ¶
type CharacterFields ¶
type ComplexityRoot ¶ added in v0.5.0
type ComplexityRoot struct { Droid struct { Id func(childComplexity int) int Name func(childComplexity int) int Friends func(childComplexity int) int FriendsConnection func(childComplexity int, first *int, after *string) int AppearsIn func(childComplexity int) int PrimaryFunction func(childComplexity int) int } FriendsConnection struct { TotalCount func(childComplexity int) int Edges func(childComplexity int) int Friends func(childComplexity int) int PageInfo func(childComplexity int) int } FriendsEdge struct { Cursor func(childComplexity int) int Node func(childComplexity int) int } Human struct { Id func(childComplexity int) int Name func(childComplexity int) int Height func(childComplexity int, unit LengthUnit) int Mass func(childComplexity int) int Friends func(childComplexity int) int FriendsConnection func(childComplexity int, first *int, after *string) int AppearsIn func(childComplexity int) int Starships func(childComplexity int) int } Mutation struct { CreateReview func(childComplexity int, episode Episode, review Review) int } PageInfo struct { StartCursor func(childComplexity int) int EndCursor func(childComplexity int) int HasNextPage func(childComplexity int) int } Query struct { Hero func(childComplexity int, episode *Episode) int Reviews func(childComplexity int, episode Episode, since *time.Time) int Search func(childComplexity int, text string) int Character func(childComplexity int, id string) int Droid func(childComplexity int, id string) int Human func(childComplexity int, id string) int Starship func(childComplexity int, id string) int } Review struct { Stars func(childComplexity int) int Commentary func(childComplexity int) int Time func(childComplexity int) int } Starship struct { Id func(childComplexity int) int Name func(childComplexity int) int Length func(childComplexity int, unit *LengthUnit) int History func(childComplexity int) int } }
type Config ¶
type Config struct { Resolvers ResolverRoot Directives DirectiveRoot Complexity ComplexityRoot }
func NewResolver ¶
func NewResolver() Config
type DirectiveRoot ¶
type DirectiveRoot struct { }
type Droid ¶
type Droid struct { CharacterFields PrimaryFunction string }
func (Droid) IsCharacter ¶ added in v0.6.0
func (Droid) IsCharacter()
func (Droid) IsSearchResult ¶ added in v0.6.0
func (Droid) IsSearchResult()
type DroidResolver ¶
type FriendsConnection ¶
type FriendsConnection struct {
// contains filtered or unexported fields
}
func (*FriendsConnection) PageInfo ¶
func (f *FriendsConnection) PageInfo() PageInfo
func (*FriendsConnection) TotalCount ¶
func (f *FriendsConnection) TotalCount() int
type FriendsConnectionResolver ¶
type FriendsConnectionResolver interface { Edges(ctx context.Context, obj *FriendsConnection) ([]FriendsEdge, error) Friends(ctx context.Context, obj *FriendsConnection) ([]Character, error) }
type FriendsEdge ¶
type Human ¶
type Human struct { CharacterFields StarshipIds []string Mass float64 // contains filtered or unexported fields }
func (*Human) Height ¶
func (h *Human) Height(unit LengthUnit) float64
func (Human) IsCharacter ¶ added in v0.6.0
func (Human) IsCharacter()
func (Human) IsSearchResult ¶ added in v0.6.0
func (Human) IsSearchResult()
type HumanResolver ¶
type LengthUnit ¶
type LengthUnit string
const ( LengthUnitMeter LengthUnit = "METER" LengthUnitFoot LengthUnit = "FOOT" )
func (LengthUnit) IsValid ¶
func (e LengthUnit) IsValid() bool
func (LengthUnit) MarshalGQL ¶
func (e LengthUnit) MarshalGQL(w io.Writer)
func (LengthUnit) String ¶
func (e LengthUnit) String() string
func (*LengthUnit) UnmarshalGQL ¶
func (e *LengthUnit) UnmarshalGQL(v interface{}) error
type MutationResolver ¶
type QueryResolver ¶
type QueryResolver interface { Hero(ctx context.Context, episode *Episode) (Character, error) Reviews(ctx context.Context, episode Episode, since *time.Time) ([]Review, error) Search(ctx context.Context, text string) ([]SearchResult, error) Character(ctx context.Context, id string) (Character, error) Droid(ctx context.Context, id string) (*Droid, error) Human(ctx context.Context, id string) (*Human, error) Starship(ctx context.Context, id string) (*Starship, error) }
type Resolver ¶
type Resolver struct {
// contains filtered or unexported fields
}
func (*Resolver) Droid ¶
func (r *Resolver) Droid() DroidResolver
func (*Resolver) FriendsConnection ¶
func (r *Resolver) FriendsConnection() FriendsConnectionResolver
func (*Resolver) Human ¶
func (r *Resolver) Human() HumanResolver
func (*Resolver) Mutation ¶
func (r *Resolver) Mutation() MutationResolver
func (*Resolver) Query ¶
func (r *Resolver) Query() QueryResolver
func (*Resolver) Starship ¶
func (r *Resolver) Starship() StarshipResolver
type ResolverRoot ¶
type ResolverRoot interface { Droid() DroidResolver FriendsConnection() FriendsConnectionResolver Human() HumanResolver Mutation() MutationResolver Query() QueryResolver Starship() StarshipResolver }
type Review ¶
func UnmarshalReviewInput ¶
type SearchResult ¶
type SearchResult interface {
IsSearchResult()
}
type Starship ¶
type Starship struct { ID string `json:"id"` Name string `json:"name"` Length float64 `json:"length"` History [][]int `json:"history"` }
func (Starship) IsSearchResult ¶ added in v0.6.0
func (Starship) IsSearchResult()
type StarshipResolver ¶
Click to show internal directories.
Click to hide internal directories.