1package ast
2
3type FieldList []*FieldDefinition
4
5func (l FieldList) ForName(name string) *FieldDefinition {
6 for _, it := range l {
7 if it.Name == name {
8 return it
9 }
10 }
11 return nil
12}
13
14type EnumValueList []*EnumValueDefinition
15
16func (l EnumValueList) ForName(name string) *EnumValueDefinition {
17 for _, it := range l {
18 if it.Name == name {
19 return it
20 }
21 }
22 return nil
23}
24
25type DirectiveList []*Directive
26
27func (l DirectiveList) ForName(name string) *Directive {
28 for _, it := range l {
29 if it.Name == name {
30 return it
31 }
32 }
33 return nil
34}
35
36type OperationList []*OperationDefinition
37
38func (l OperationList) ForName(name string) *OperationDefinition {
39 if name == "" && len(l) == 1 {
40 return l[0]
41 }
42 for _, it := range l {
43 if it.Name == name {
44 return it
45 }
46 }
47 return nil
48}
49
50type FragmentDefinitionList []*FragmentDefinition
51
52func (l FragmentDefinitionList) ForName(name string) *FragmentDefinition {
53 for _, it := range l {
54 if it.Name == name {
55 return it
56 }
57 }
58 return nil
59}
60
61type VariableDefinitionList []*VariableDefinition
62
63func (l VariableDefinitionList) ForName(name string) *VariableDefinition {
64 for _, it := range l {
65 if it.Variable == name {
66 return it
67 }
68 }
69 return nil
70}
71
72type ArgumentList []*Argument
73
74func (l ArgumentList) ForName(name string) *Argument {
75 for _, it := range l {
76 if it.Name == name {
77 return it
78 }
79 }
80 return nil
81}
82
83type ArgumentDefinitionList []*ArgumentDefinition
84
85func (l ArgumentDefinitionList) ForName(name string) *ArgumentDefinition {
86 for _, it := range l {
87 if it.Name == name {
88 return it
89 }
90 }
91 return nil
92}
93
94type SchemaDefinitionList []*SchemaDefinition
95
96type DirectiveDefinitionList []*DirectiveDefinition
97
98func (l DirectiveDefinitionList) ForName(name string) *DirectiveDefinition {
99 for _, it := range l {
100 if it.Name == name {
101 return it
102 }
103 }
104 return nil
105}
106
107type DefinitionList []*Definition
108
109func (l DefinitionList) ForName(name string) *Definition {
110 for _, it := range l {
111 if it.Name == name {
112 return it
113 }
114 }
115 return nil
116}
117
118type OperationTypeDefinitionList []*OperationTypeDefinition
119
120func (l OperationTypeDefinitionList) ForType(name string) *OperationTypeDefinition {
121 for _, it := range l {
122 if it.Type == name {
123 return it
124 }
125 }
126 return nil
127}
128
129type ChildValueList []*ChildValue
130
131func (v ChildValueList) ForName(name string) *Value {
132 for _, f := range v {
133 if f.Name == name {
134 return f.Value
135 }
136 }
137 return nil
138}