github.com/HaswinVidanage/gqlgen@v0.8.1-0.20220609041233-69528c1bf712/plugin/modelgen/out/generated.go (about) 1 // Code generated by github.com/HaswinVidanage/gqlgen, DO NOT EDIT. 2 3 package out 4 5 import ( 6 "fmt" 7 "io" 8 "strconv" 9 ) 10 11 type MissingInterface interface { 12 IsMissingInterface() 13 } 14 15 type MissingUnion interface { 16 IsMissingUnion() 17 } 18 19 type ExistingType struct { 20 Name *string `json:"name"` 21 Enum *ExistingEnum `json:"enum"` 22 Int ExistingInterface `json:"int"` 23 Existing *MissingType `json:"existing"` 24 } 25 26 func (ExistingType) IsMissingUnion() {} 27 func (ExistingType) IsMissingInterface() {} 28 func (ExistingType) IsExistingInterface() {} 29 func (ExistingType) IsExistingUnion() {} 30 31 type MissingInput struct { 32 Name *string `json:"name"` 33 Enum *MissingEnum `json:"enum"` 34 Int MissingInterface `json:"int"` 35 Existing *ExistingType `json:"existing"` 36 } 37 38 type MissingType struct { 39 Name *string `json:"name"` 40 Enum *MissingEnum `json:"enum"` 41 Int MissingInterface `json:"int"` 42 Existing *ExistingType `json:"existing"` 43 } 44 45 func (MissingType) IsMissingInterface() {} 46 func (MissingType) IsExistingInterface() {} 47 func (MissingType) IsMissingUnion() {} 48 func (MissingType) IsExistingUnion() {} 49 50 type MissingEnum string 51 52 const ( 53 MissingEnumHello MissingEnum = "Hello" 54 MissingEnumGoodbye MissingEnum = "Goodbye" 55 ) 56 57 var AllMissingEnum = []MissingEnum{ 58 MissingEnumHello, 59 MissingEnumGoodbye, 60 } 61 62 func (e MissingEnum) IsValid() bool { 63 switch e { 64 case MissingEnumHello, MissingEnumGoodbye: 65 return true 66 } 67 return false 68 } 69 70 func (e MissingEnum) String() string { 71 return string(e) 72 } 73 74 func (e *MissingEnum) UnmarshalGQL(v interface{}) error { 75 str, ok := v.(string) 76 if !ok { 77 return fmt.Errorf("enums must be strings") 78 } 79 80 *e = MissingEnum(str) 81 if !e.IsValid() { 82 return fmt.Errorf("%s is not a valid MissingEnum", str) 83 } 84 return nil 85 } 86 87 func (e MissingEnum) MarshalGQL(w io.Writer) { 88 fmt.Fprint(w, strconv.Quote(e.String())) 89 }