-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
generated.go
132 lines (106 loc) · 2.22 KB
/
generated.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
// Code generated by github.com/99designs/gqlgen, DO NOT EDIT.
package models
import (
"fmt"
"io"
"strconv"
)
type Character interface {
IsCharacter()
GetID() string
GetName() string
GetFriends() []Character
GetFriendsConnection() *FriendsConnection
GetAppearsIn() []Episode
}
type SearchResult interface {
IsSearchResult()
}
type FriendsEdge struct {
Cursor string `json:"cursor"`
Node Character `json:"node,omitempty"`
}
type Mutation struct {
}
type PageInfo struct {
StartCursor string `json:"startCursor"`
EndCursor string `json:"endCursor"`
HasNextPage bool `json:"hasNextPage"`
}
type Query struct {
}
type Starship struct {
ID string `json:"id"`
Name string `json:"name"`
Length float64 `json:"length"`
History [][]int `json:"history"`
}
func (Starship) IsSearchResult() {}
type Episode string
const (
EpisodeNewhope Episode = "NEWHOPE"
EpisodeEmpire Episode = "EMPIRE"
EpisodeJedi Episode = "JEDI"
)
var AllEpisode = []Episode{
EpisodeNewhope,
EpisodeEmpire,
EpisodeJedi,
}
func (e Episode) IsValid() bool {
switch e {
case EpisodeNewhope, EpisodeEmpire, EpisodeJedi:
return true
}
return false
}
func (e Episode) String() string {
return string(e)
}
func (e *Episode) UnmarshalGQL(v interface{}) error {
str, ok := v.(string)
if !ok {
return fmt.Errorf("enums must be strings")
}
*e = Episode(str)
if !e.IsValid() {
return fmt.Errorf("%s is not a valid Episode", str)
}
return nil
}
func (e Episode) MarshalGQL(w io.Writer) {
fmt.Fprint(w, strconv.Quote(e.String()))
}
type LengthUnit string
const (
LengthUnitMeter LengthUnit = "METER"
LengthUnitFoot LengthUnit = "FOOT"
)
var AllLengthUnit = []LengthUnit{
LengthUnitMeter,
LengthUnitFoot,
}
func (e LengthUnit) IsValid() bool {
switch e {
case LengthUnitMeter, LengthUnitFoot:
return true
}
return false
}
func (e LengthUnit) String() string {
return string(e)
}
func (e *LengthUnit) UnmarshalGQL(v interface{}) error {
str, ok := v.(string)
if !ok {
return fmt.Errorf("enums must be strings")
}
*e = LengthUnit(str)
if !e.IsValid() {
return fmt.Errorf("%s is not a valid LengthUnit", str)
}
return nil
}
func (e LengthUnit) MarshalGQL(w io.Writer) {
fmt.Fprint(w, strconv.Quote(e.String()))
}