...
1 package ast
2
3 type DirectiveLocation string
4
5 const (
6
7 LocationQuery DirectiveLocation = `QUERY`
8 LocationMutation DirectiveLocation = `MUTATION`
9 LocationSubscription DirectiveLocation = `SUBSCRIPTION`
10 LocationField DirectiveLocation = `FIELD`
11 LocationFragmentDefinition DirectiveLocation = `FRAGMENT_DEFINITION`
12 LocationFragmentSpread DirectiveLocation = `FRAGMENT_SPREAD`
13 LocationInlineFragment DirectiveLocation = `INLINE_FRAGMENT`
14
15
16 LocationSchema DirectiveLocation = `SCHEMA`
17 LocationScalar DirectiveLocation = `SCALAR`
18 LocationObject DirectiveLocation = `OBJECT`
19 LocationFieldDefinition DirectiveLocation = `FIELD_DEFINITION`
20 LocationArgumentDefinition DirectiveLocation = `ARGUMENT_DEFINITION`
21 LocationInterface DirectiveLocation = `INTERFACE`
22 LocationUnion DirectiveLocation = `UNION`
23 LocationEnum DirectiveLocation = `ENUM`
24 LocationEnumValue DirectiveLocation = `ENUM_VALUE`
25 LocationInputObject DirectiveLocation = `INPUT_OBJECT`
26 LocationInputFieldDefinition DirectiveLocation = `INPUT_FIELD_DEFINITION`
27 )
28
29 type Directive struct {
30 Name string
31 Arguments ArgumentList
32 Position *Position `dump:"-"`
33
34
35 ParentDefinition *Definition
36 Definition *DirectiveDefinition
37 Location DirectiveLocation
38 }
39
40 func (d *Directive) ArgumentMap(vars map[string]interface{}) map[string]interface{} {
41 return arg2map(d.Definition.Arguments, d.Arguments, vars)
42 }
43
View as plain text