collections.go

  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}