graphql 0.16.1 → 0.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/graphql/analysis/query_complexity.rb +20 -13
- data/lib/graphql/analysis/query_depth.rb +2 -2
- data/lib/graphql/argument.rb +7 -2
- data/lib/graphql/base_type.rb +2 -1
- data/lib/graphql/boolean_type.rb +1 -0
- data/lib/graphql/define/assign_object_field.rb +19 -6
- data/lib/graphql/define/instance_definable.rb +44 -3
- data/lib/graphql/directive.rb +2 -6
- data/lib/graphql/enum_type.rb +11 -14
- data/lib/graphql/field.rb +47 -12
- data/lib/graphql/field/resolve.rb +57 -0
- data/lib/graphql/float_type.rb +2 -0
- data/lib/graphql/id_type.rb +2 -0
- data/lib/graphql/input_object_type.rb +5 -1
- data/lib/graphql/int_type.rb +2 -0
- data/lib/graphql/interface_type.rb +1 -1
- data/lib/graphql/internal_representation/node.rb +18 -29
- data/lib/graphql/internal_representation/rewrite.rb +7 -4
- data/lib/graphql/introspection/field_type.rb +1 -1
- data/lib/graphql/introspection/input_value_type.rb +1 -1
- data/lib/graphql/language/parser.rb +161 -136
- data/lib/graphql/language/parser.y +9 -1
- data/lib/graphql/object_type.rb +2 -2
- data/lib/graphql/query.rb +4 -4
- data/lib/graphql/query/directive_resolution.rb +2 -2
- data/lib/graphql/query/serial_execution/execution_context.rb +3 -2
- data/lib/graphql/query/serial_execution/field_resolution.rb +2 -5
- data/lib/graphql/query/serial_execution/selection_resolution.rb +1 -1
- data/lib/graphql/query/serial_execution/value_resolution.rb +2 -2
- data/lib/graphql/scalar_type.rb +2 -0
- data/lib/graphql/schema/timeout_middleware.rb +1 -0
- data/lib/graphql/string_type.rb +2 -0
- data/lib/graphql/union_type.rb +1 -1
- data/lib/graphql/version.rb +1 -1
- data/readme.md +1 -3
- data/spec/graphql/analysis/query_complexity_spec.rb +41 -5
- data/spec/graphql/define/instance_definable_spec.rb +2 -2
- data/spec/graphql/field_spec.rb +18 -0
- data/spec/graphql/internal_representation/rewrite_spec.rb +7 -6
- data/spec/graphql/language/parser_spec.rb +5 -0
- data/spec/graphql/query/serial_execution/execution_context_spec.rb +2 -1
- data/spec/graphql/schema/timeout_middleware_spec.rb +29 -28
- data/spec/support/dairy_app.rb +12 -10
- metadata +3 -3
- data/lib/graphql/internal_representation/definition.rb +0 -0
data/lib/graphql/float_type.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
GraphQL::FLOAT_TYPE = GraphQL::ScalarType.define do
|
2
2
|
name "Float"
|
3
|
+
description "Represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point)."
|
4
|
+
|
3
5
|
coerce_input -> (value) { value.is_a?(Numeric) ? value.to_f : nil }
|
4
6
|
coerce_result -> (value) { value.to_f }
|
5
7
|
end
|
data/lib/graphql/id_type.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
GraphQL::ID_TYPE = GraphQL::ScalarType.define do
|
2
2
|
name "ID"
|
3
|
+
description "Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"VXNlci0xMA==\"`) or integer (such as `4`) input value will be accepted as an ID."
|
4
|
+
|
3
5
|
coerce_result -> (value) { value.to_s }
|
4
6
|
coerce_input -> (value) {
|
5
7
|
case value
|
@@ -15,7 +15,11 @@ module GraphQL
|
|
15
15
|
)
|
16
16
|
|
17
17
|
# @return [Hash<String => GraphQL::Argument>] Map String argument names to their {GraphQL::Argument} implementations
|
18
|
-
|
18
|
+
def arguments
|
19
|
+
ensure_defined
|
20
|
+
@arguments
|
21
|
+
end
|
22
|
+
attr_writer :arguments
|
19
23
|
|
20
24
|
alias :input_fields :arguments
|
21
25
|
|
data/lib/graphql/int_type.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
GraphQL::INT_TYPE = GraphQL::ScalarType.define do
|
2
2
|
name "Int"
|
3
|
+
description "Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1."
|
4
|
+
|
3
5
|
coerce_input -> (value) { value.is_a?(Numeric) ? value.to_i : nil }
|
4
6
|
coerce_result -> (value) { value.to_i }
|
5
7
|
end
|
@@ -3,12 +3,13 @@ require "set"
|
|
3
3
|
module GraphQL
|
4
4
|
module InternalRepresentation
|
5
5
|
class Node
|
6
|
-
def initialize(ast_node
|
6
|
+
def initialize(ast_node: nil, return_type: nil, name: nil, definition_name: nil, definitions: {}, children: {}, spreads: [], directives: Set.new)
|
7
|
+
# Make sure these are kept in sync with #dup
|
7
8
|
@ast_node = ast_node
|
8
9
|
@return_type = return_type
|
9
|
-
@on_types = on_types
|
10
10
|
@name = name
|
11
|
-
@
|
11
|
+
@definition_name = definition_name
|
12
|
+
@definitions = definitions
|
12
13
|
@children = children
|
13
14
|
@spreads = spreads
|
14
15
|
@directives = directives
|
@@ -22,32 +23,33 @@ module GraphQL
|
|
22
23
|
# @return [Set<GraphQL::Language::Nodes::Directive>]
|
23
24
|
attr_reader :directives
|
24
25
|
|
25
|
-
# @return [
|
26
|
-
attr_reader :
|
26
|
+
# @return [String] the name for this node's definition ({#name} may be a field's alias, this is always the name)
|
27
|
+
attr_reader :definition_name
|
27
28
|
|
28
|
-
#
|
29
|
-
|
30
|
-
|
31
|
-
# @return [GraphQL::Language::Nodes::AbstractNode] The AST node (or one of the nodes) where this was derived from
|
32
|
-
attr_reader :ast_node
|
33
|
-
|
34
|
-
# This may come from the previous field's return value or an explicitly-typed fragment
|
29
|
+
# A cache of type-field pairs for executing & analyzing this node
|
30
|
+
#
|
35
31
|
# @example On-type from previous return value
|
36
32
|
# {
|
37
33
|
# person(id: 1) {
|
38
|
-
# firstName # =>
|
34
|
+
# firstName # => defined type is person
|
39
35
|
# }
|
40
36
|
# }
|
41
37
|
# @example On-type from explicit type condition
|
42
38
|
# {
|
43
39
|
# node(id: $nodeId) {
|
44
40
|
# ... on Nameable {
|
45
|
-
# firstName # =>
|
41
|
+
# firstName # => defined type is Nameable
|
46
42
|
# }
|
47
43
|
# }
|
48
44
|
# }
|
49
|
-
# @return [
|
50
|
-
attr_reader :
|
45
|
+
# @return [Hash<GraphQL::BaseType => GraphQL::Field>] definitions to use for each possible type
|
46
|
+
attr_reader :definitions
|
47
|
+
|
48
|
+
# @return [String] the name to use for the result in the response hash
|
49
|
+
attr_reader :name
|
50
|
+
|
51
|
+
# @return [GraphQL::Language::Nodes::AbstractNode] The AST node (or one of the nodes) where this was derived from
|
52
|
+
attr_reader :ast_node
|
51
53
|
|
52
54
|
# @return [GraphQL::BaseType]
|
53
55
|
attr_reader :return_type
|
@@ -63,19 +65,6 @@ module GraphQL
|
|
63
65
|
end
|
64
66
|
self_inspect
|
65
67
|
end
|
66
|
-
|
67
|
-
def dup
|
68
|
-
self.class.new({
|
69
|
-
ast_node: ast_node,
|
70
|
-
return_type: return_type,
|
71
|
-
on_types: on_types,
|
72
|
-
name: name,
|
73
|
-
definition: definition,
|
74
|
-
children: children,
|
75
|
-
spreads: spreads,
|
76
|
-
directives: directives,
|
77
|
-
})
|
78
|
-
end
|
79
68
|
end
|
80
69
|
end
|
81
70
|
end
|
@@ -35,6 +35,7 @@ module GraphQL
|
|
35
35
|
node = Node.new(
|
36
36
|
return_type: context.type_definition.unwrap,
|
37
37
|
ast_node: ast_node,
|
38
|
+
name: ast_node.name,
|
38
39
|
)
|
39
40
|
@nodes.push(node)
|
40
41
|
@operations[ast_node.name] = node
|
@@ -51,10 +52,11 @@ module GraphQL
|
|
51
52
|
return_type: context.type_definition && context.type_definition.unwrap,
|
52
53
|
ast_node: ast_node,
|
53
54
|
name: node_name,
|
54
|
-
|
55
|
+
definition_name: ast_node.name,
|
55
56
|
)
|
56
57
|
end
|
57
|
-
|
58
|
+
object_type = context.parent_type_definition.unwrap
|
59
|
+
node.definitions[object_type] = context.field_definition
|
58
60
|
@nodes.push(node)
|
59
61
|
@parent_directives.push([])
|
60
62
|
}
|
@@ -68,8 +70,9 @@ module GraphQL
|
|
68
70
|
if @parent_directives.any?
|
69
71
|
@parent_directives.last << Node.new(
|
70
72
|
name: ast_node.name,
|
73
|
+
definition_name: ast_node.name,
|
71
74
|
ast_node: ast_node,
|
72
|
-
|
75
|
+
definitions: [context.directive_definition]
|
73
76
|
)
|
74
77
|
end
|
75
78
|
}
|
@@ -167,7 +170,7 @@ module GraphQL
|
|
167
170
|
# Merge `node` into `parent_node`'s children, as `name`, applying `extra_directives`
|
168
171
|
def deep_merge_child(parent_node, name, node, extra_directives)
|
169
172
|
child_node = parent_node.children[name] ||= node.dup
|
170
|
-
child_node.
|
173
|
+
child_node.definitions.merge!(node.definitions)
|
171
174
|
node.children.each do |merge_child_name, merge_child_node|
|
172
175
|
deep_merge_child(child_node, merge_child_name, merge_child_node, [])
|
173
176
|
end
|
@@ -7,6 +7,6 @@ GraphQL::Introspection::FieldType = GraphQL::ObjectType.define do
|
|
7
7
|
field :isDeprecated, !types.Boolean, "Is this field deprecated?" do
|
8
8
|
resolve -> (obj, a, c) { !!obj.deprecation_reason }
|
9
9
|
end
|
10
|
-
field :args,
|
10
|
+
field :args, GraphQL::Introspection::ArgumentsField
|
11
11
|
field :deprecationReason, types.String, "Why this field was deprecated", property: :deprecation_reason
|
12
12
|
end
|
@@ -3,7 +3,7 @@ GraphQL::Introspection::InputValueType = GraphQL::ObjectType.define do
|
|
3
3
|
description "An input for a field or InputObject"
|
4
4
|
field :name, !types.String, "The key for this value"
|
5
5
|
field :description, types.String, "What this value is used for"
|
6
|
-
field :type,
|
6
|
+
field :type, !GraphQL::Introspection::TypeType, "The expected type for this value"
|
7
7
|
field :defaultValue, types.String, "The value applied if no other value is provided" do
|
8
8
|
resolve -> (obj, args, ctx) {
|
9
9
|
value = obj.default_value
|
@@ -12,7 +12,7 @@ module GraphQL
|
|
12
12
|
module Language
|
13
13
|
class Parser < Racc::Parser
|
14
14
|
|
15
|
-
module_eval(<<'...end parser.y/module_eval...', 'parser.y',
|
15
|
+
module_eval(<<'...end parser.y/module_eval...', 'parser.y', 230)
|
16
16
|
|
17
17
|
def initialize(query_string)
|
18
18
|
@query_string = query_string
|
@@ -75,136 +75,142 @@ end
|
|
75
75
|
##### State transition tables begin ###
|
76
76
|
|
77
77
|
racc_action_table = [
|
78
|
-
24, 25, 26,
|
79
|
-
25, 26,
|
80
|
-
26, 43, 34, 20, 21, 22, 23,
|
81
|
-
|
82
|
-
34, 68, 54, 80,
|
83
|
-
20, 21, 22, 23,
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
20, 21, 22, 23,
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
78
|
+
24, 25, 26, 43, 117, 12, 42, 118, 76, 24,
|
79
|
+
25, 26, 27, 19, 20, 21, 22, 23, 24, 25,
|
80
|
+
26, 43, 34, 20, 21, 22, 23, 117, 46, 126,
|
81
|
+
39, 19, 20, 21, 22, 23, 24, 25, 26, 46,
|
82
|
+
34, 68, 54, 80, 46, 46, 46, 12, 54, 48,
|
83
|
+
20, 21, 22, 23, 99, 100, 101, 46, 12, 92,
|
84
|
+
46, 50, 93, 43, 12, 94, 38, 98, 96, 97,
|
85
|
+
86, 87, 83, 84, 85, 99, 100, 101, 36, 46,
|
86
|
+
92, 124, 14, 93, 120, 12, 94, 12, 98, 96,
|
87
|
+
97, 86, 87, 83, 84, 85, 99, 100, 101, nil,
|
88
|
+
nil, 92, nil, nil, 93, nil, nil, 94, nil, 98,
|
89
|
+
96, 97, 86, 87, 83, 84, 85, 99, 100, 101,
|
90
|
+
nil, nil, 92, nil, nil, 93, 109, nil, 94, nil,
|
91
|
+
98, 96, 97, 86, 87, 83, 84, 85, 99, 100,
|
92
|
+
101, nil, nil, 92, nil, nil, 93, nil, nil, 94,
|
93
|
+
nil, 98, 96, 97, 86, 87, 83, 84, 85, 24,
|
94
|
+
25, 26, nil, nil, nil, 24, 25, 26, nil, nil,
|
95
|
+
nil, nil, 19, 20, 21, 22, 23, 112, 19, 20,
|
96
|
+
21, 22, 23, 24, 25, 26, nil, nil, nil, 24,
|
97
|
+
25, 26, nil, nil, nil, nil, 19, 20, 21, 22,
|
98
|
+
23, 122, 19, 20, 21, 22, 23, 24, 25, 26,
|
99
|
+
nil, nil, nil, nil, nil, 106, nil, 24, 25, 26,
|
100
|
+
19, 20, 21, 22, 23, 106, 24, 25, 26, nil,
|
101
|
+
19, 20, 21, 22, 23, 24, 25, 26, nil, 19,
|
102
|
+
20, 21, 22, 23, nil, nil, nil, nil, 19, 20,
|
103
|
+
21, 22, 23, 24, 25, 26, nil, 57, 24, 25,
|
104
|
+
26, nil, 74, 24, 25, 26, 19, 20, 21, 22,
|
105
|
+
23, 19, 20, 21, 22, 23, 19, 20, 21, 22,
|
106
|
+
23, 24, 25, 26, nil, nil, 24, 25, 26, nil,
|
107
|
+
nil, nil, nil, nil, 19, 20, 21, 22, 23, 19,
|
108
|
+
20, 21, 22, 23, 9, 10, 11, 9, 10, 11,
|
109
|
+
nil, nil, nil, nil, nil, 12, nil, nil, 12, 13,
|
110
|
+
nil, nil, 13 ]
|
108
111
|
|
109
112
|
racc_action_check = [
|
110
|
-
|
111
|
-
50, 50,
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
34, 34, 34, 34,
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
nil,
|
137
|
-
|
138
|
-
|
139
|
-
|
113
|
+
12, 12, 12, 33, 104, 78, 33, 104, 60, 50,
|
114
|
+
50, 50, 12, 12, 12, 12, 12, 12, 28, 28,
|
115
|
+
28, 62, 12, 50, 50, 50, 50, 119, 64, 119,
|
116
|
+
28, 28, 28, 28, 28, 28, 34, 34, 34, 66,
|
117
|
+
28, 52, 52, 70, 73, 41, 44, 79, 38, 34,
|
118
|
+
34, 34, 34, 34, 124, 124, 124, 34, 81, 124,
|
119
|
+
37, 35, 124, 56, 55, 124, 16, 124, 124, 124,
|
120
|
+
124, 124, 124, 124, 124, 110, 110, 110, 14, 47,
|
121
|
+
110, 115, 1, 110, 110, 51, 110, 49, 110, 110,
|
122
|
+
110, 110, 110, 110, 110, 110, 76, 76, 76, nil,
|
123
|
+
nil, 76, nil, nil, 76, nil, nil, 76, nil, 76,
|
124
|
+
76, 76, 76, 76, 76, 76, 76, 93, 93, 93,
|
125
|
+
nil, nil, 93, nil, nil, 93, 93, nil, 93, nil,
|
126
|
+
93, 93, 93, 93, 93, 93, 93, 93, 118, 118,
|
127
|
+
118, nil, nil, 118, nil, nil, 118, nil, nil, 118,
|
128
|
+
nil, 118, 118, 118, 118, 118, 118, 118, 118, 92,
|
129
|
+
92, 92, nil, nil, nil, 94, 94, 94, nil, nil,
|
130
|
+
nil, nil, 92, 92, 92, 92, 92, 94, 94, 94,
|
131
|
+
94, 94, 94, 7, 7, 7, nil, nil, nil, 113,
|
132
|
+
113, 113, nil, nil, nil, nil, 7, 7, 7, 7,
|
133
|
+
7, 113, 113, 113, 113, 113, 113, 106, 106, 106,
|
134
|
+
nil, nil, nil, nil, nil, 106, nil, 80, 80, 80,
|
135
|
+
106, 106, 106, 106, 106, 80, 13, 13, 13, nil,
|
136
|
+
80, 80, 80, 80, 80, 42, 42, 42, nil, 13,
|
137
|
+
13, 13, 13, 13, nil, nil, nil, nil, 42, 42,
|
138
|
+
42, 42, 42, 43, 43, 43, nil, 43, 58, 58,
|
139
|
+
58, nil, 58, 46, 46, 46, 43, 43, 43, 43,
|
140
|
+
43, 58, 58, 58, 58, 58, 46, 46, 46, 46,
|
141
|
+
46, 48, 48, 48, nil, nil, 54, 54, 54, nil,
|
142
|
+
nil, nil, nil, nil, 48, 48, 48, 48, 48, 54,
|
143
|
+
54, 54, 54, 54, 0, 0, 0, 3, 3, 3,
|
144
|
+
nil, nil, nil, nil, nil, 0, nil, nil, 3, 0,
|
145
|
+
nil, nil, 3 ]
|
140
146
|
|
141
147
|
racc_action_pointer = [
|
142
|
-
|
143
|
-
nil, nil,
|
144
|
-
nil, nil, nil, nil, nil, nil, nil, nil,
|
145
|
-
nil, nil, nil, -
|
146
|
-
nil,
|
147
|
-
7,
|
148
|
+
302, 82, nil, 305, nil, nil, nil, 181, nil, nil,
|
149
|
+
nil, nil, -2, 224, 78, nil, 61, nil, nil, nil,
|
150
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 16, nil,
|
151
|
+
nil, nil, nil, -2, 34, 46, nil, 37, 41, nil,
|
152
|
+
nil, 22, 233, 251, 23, nil, 261, 56, 279, 74,
|
153
|
+
7, 72, 35, nil, 284, 51, 58, nil, 256, nil,
|
148
154
|
0, nil, 16, nil, 5, nil, 16, nil, nil, nil,
|
149
|
-
35, nil, nil,
|
150
|
-
|
151
|
-
nil, nil,
|
152
|
-
|
153
|
-
nil, nil,
|
154
|
-
nil, nil ]
|
155
|
+
35, nil, nil, 21, nil, nil, 94, nil, -8, 34,
|
156
|
+
215, 45, nil, nil, nil, nil, nil, nil, nil, nil,
|
157
|
+
nil, nil, 157, 115, 163, nil, nil, nil, nil, nil,
|
158
|
+
nil, nil, nil, nil, -5, nil, 205, nil, nil, nil,
|
159
|
+
73, nil, nil, 187, nil, 73, nil, nil, 136, 18,
|
160
|
+
nil, nil, nil, nil, 52, nil, nil, nil ]
|
155
161
|
|
156
162
|
racc_action_default = [
|
157
|
-
-
|
158
|
-
-10, -11, -
|
159
|
-
-37, -38, -39, -40, -41, -42, -43, -24, -
|
160
|
-
-30, -31, -32, -44, -
|
161
|
-
-29, -
|
162
|
-
-
|
163
|
-
-
|
164
|
-
-
|
165
|
-
-
|
166
|
-
-57, -58, -
|
167
|
-
-
|
168
|
-
-
|
169
|
-
-21, -68 ]
|
163
|
+
-85, -85, -1, -2, -3, -5, -6, -12, -8, -9,
|
164
|
+
-10, -11, -85, -85, -85, -4, -14, -13, -35, -36,
|
165
|
+
-37, -38, -39, -40, -41, -42, -43, -24, -85, -28,
|
166
|
+
-30, -31, -32, -44, -76, -85, 128, -76, -85, -25,
|
167
|
+
-29, -76, -85, -85, -77, -78, -85, -76, -85, -85,
|
168
|
+
-85, -85, -85, -16, -85, -26, -44, -45, -85, -47,
|
169
|
+
-85, -79, -44, -81, -76, -83, -76, -7, -15, -17,
|
170
|
+
-85, -27, -33, -76, -46, -48, -85, -80, -85, -85,
|
171
|
+
-85, -26, -49, -50, -51, -52, -53, -54, -55, -56,
|
172
|
+
-57, -58, -85, -85, -85, -69, -70, -71, -72, -73,
|
173
|
+
-74, -75, -82, -84, -22, -19, -85, -34, -59, -60,
|
174
|
+
-85, -62, -64, -85, -66, -85, -18, -20, -85, -85,
|
175
|
+
-61, -63, -65, -67, -85, -23, -21, -68 ]
|
170
176
|
|
171
177
|
racc_goto_table = [
|
172
|
-
17,
|
173
|
-
49,
|
174
|
-
52,
|
175
|
-
|
176
|
-
78, 64, 79,
|
177
|
-
|
178
|
+
17, 65, 116, 67, 82, 41, 35, 71, 114, 47,
|
179
|
+
49, 72, 53, 51, 59, 28, 29, 55, 104, 4,
|
180
|
+
52, 111, 15, 63, 37, 66, 69, 123, 73, 75,
|
181
|
+
102, 103, 40, 71, 77, 56, 60, 107, 121, 62,
|
182
|
+
78, 64, 79, 16, 119, 1, 125, 70, 58, 81,
|
183
|
+
3, 60, 127, 110, 113, 2, 61, nil, nil, nil,
|
178
184
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
179
|
-
nil, nil, nil,
|
180
|
-
nil, nil, nil, nil, nil,
|
181
|
-
nil, nil, nil,
|
182
|
-
|
185
|
+
nil, nil, nil, 105, nil, nil, nil, nil, nil, nil,
|
186
|
+
nil, nil, nil, nil, nil, 108, nil, 115, nil, nil,
|
187
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 105,
|
188
|
+
nil, nil, nil, nil, nil, nil, 115 ]
|
183
189
|
|
184
190
|
racc_goto_check = [
|
185
|
-
12,
|
186
|
-
10,
|
187
|
-
13,
|
188
|
-
|
189
|
-
10, 12, 10,
|
190
|
-
|
191
|
+
12, 11, 16, 11, 17, 24, 12, 11, 34, 25,
|
192
|
+
10, 19, 14, 10, 27, 18, 20, 10, 15, 4,
|
193
|
+
13, 17, 4, 10, 9, 25, 14, 34, 24, 27,
|
194
|
+
11, 11, 20, 11, 24, 12, 12, 19, 17, 12,
|
195
|
+
10, 12, 10, 8, 15, 1, 17, 12, 26, 10,
|
196
|
+
3, 12, 17, 32, 33, 2, 37, nil, nil, nil,
|
191
197
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
192
198
|
nil, nil, nil, 12, nil, nil, nil, nil, nil, nil,
|
193
199
|
nil, nil, nil, nil, nil, 12, nil, 12, nil, nil,
|
194
|
-
nil, nil, nil,
|
195
|
-
12 ]
|
200
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 12,
|
201
|
+
nil, nil, nil, nil, nil, nil, 12 ]
|
196
202
|
|
197
203
|
racc_goto_pointer = [
|
198
|
-
nil,
|
199
|
-
-24, -
|
200
|
-
|
201
|
-
nil, nil, -
|
204
|
+
nil, 45, 55, 50, 19, nil, nil, nil, 36, 8,
|
205
|
+
-24, -48, -7, -18, -26, -62, -102, -72, 3, -44,
|
206
|
+
4, nil, nil, nil, -28, -25, 5, -29, nil, nil,
|
207
|
+
nil, nil, -40, -40, -86, nil, nil, 12 ]
|
202
208
|
|
203
209
|
racc_goto_default = [
|
204
210
|
nil, nil, nil, nil, nil, 5, 6, 7, nil, nil,
|
205
211
|
nil, 8, 33, nil, nil, nil, nil, nil, nil, nil,
|
206
212
|
nil, 30, 31, 32, nil, 18, nil, nil, 88, 89,
|
207
|
-
90, 91, nil, nil, nil, 44, 45 ]
|
213
|
+
90, 91, nil, nil, nil, 95, 44, 45 ]
|
208
214
|
|
209
215
|
racc_reduce_table = [
|
210
216
|
0, 0, :racc_error,
|
@@ -277,19 +283,25 @@ racc_reduce_table = [
|
|
277
283
|
2, 58, :_reduce_67,
|
278
284
|
3, 59, :_reduce_68,
|
279
285
|
1, 56, :_reduce_69,
|
280
|
-
|
286
|
+
1, 60, :_reduce_none,
|
287
|
+
1, 60, :_reduce_none,
|
288
|
+
1, 60, :_reduce_none,
|
289
|
+
1, 60, :_reduce_none,
|
290
|
+
1, 60, :_reduce_none,
|
291
|
+
1, 60, :_reduce_none,
|
292
|
+
0, 35, :_reduce_76,
|
281
293
|
1, 35, :_reduce_none,
|
282
|
-
1,
|
283
|
-
2,
|
284
|
-
3,
|
285
|
-
3, 47, :
|
286
|
-
5, 48, :
|
287
|
-
3, 48, :
|
288
|
-
6, 31, :
|
294
|
+
1, 61, :_reduce_78,
|
295
|
+
2, 61, :_reduce_79,
|
296
|
+
3, 62, :_reduce_80,
|
297
|
+
3, 47, :_reduce_81,
|
298
|
+
5, 48, :_reduce_82,
|
299
|
+
3, 48, :_reduce_83,
|
300
|
+
6, 31, :_reduce_84 ]
|
289
301
|
|
290
|
-
racc_reduce_n =
|
302
|
+
racc_reduce_n = 85
|
291
303
|
|
292
|
-
racc_shift_n =
|
304
|
+
racc_shift_n = 128
|
293
305
|
|
294
306
|
racc_token_table = {
|
295
307
|
false => 0,
|
@@ -399,6 +411,7 @@ Racc_token_to_s_table = [
|
|
399
411
|
"list_value_list",
|
400
412
|
"object_value_list",
|
401
413
|
"object_value_field",
|
414
|
+
"enum_name",
|
402
415
|
"directives_list",
|
403
416
|
"directive" ]
|
404
417
|
|
@@ -817,45 +830,57 @@ module_eval(<<'.,.,', 'parser.y', 171)
|
|
817
830
|
end
|
818
831
|
.,.,
|
819
832
|
|
820
|
-
|
821
|
-
|
833
|
+
# reduce 70 omitted
|
834
|
+
|
835
|
+
# reduce 71 omitted
|
836
|
+
|
837
|
+
# reduce 72 omitted
|
838
|
+
|
839
|
+
# reduce 73 omitted
|
840
|
+
|
841
|
+
# reduce 74 omitted
|
842
|
+
|
843
|
+
# reduce 75 omitted
|
844
|
+
|
845
|
+
module_eval(<<'.,.,', 'parser.y', 182)
|
846
|
+
def _reduce_76(val, _values, result)
|
822
847
|
return []
|
823
848
|
result
|
824
849
|
end
|
825
850
|
.,.,
|
826
851
|
|
827
|
-
# reduce
|
852
|
+
# reduce 77 omitted
|
828
853
|
|
829
|
-
module_eval(<<'.,.,', 'parser.y',
|
830
|
-
def
|
854
|
+
module_eval(<<'.,.,', 'parser.y', 186)
|
855
|
+
def _reduce_78(val, _values, result)
|
831
856
|
return [val[0]]
|
832
857
|
result
|
833
858
|
end
|
834
859
|
.,.,
|
835
860
|
|
836
|
-
module_eval(<<'.,.,', 'parser.y',
|
837
|
-
def
|
861
|
+
module_eval(<<'.,.,', 'parser.y', 187)
|
862
|
+
def _reduce_79(val, _values, result)
|
838
863
|
val[0] << val[1]
|
839
864
|
result
|
840
865
|
end
|
841
866
|
.,.,
|
842
867
|
|
843
|
-
module_eval(<<'.,.,', 'parser.y',
|
844
|
-
def
|
868
|
+
module_eval(<<'.,.,', 'parser.y', 189)
|
869
|
+
def _reduce_80(val, _values, result)
|
845
870
|
return make_node(:Directive, name: val[1], arguments: val[2], position_source: val[0])
|
846
871
|
result
|
847
872
|
end
|
848
873
|
.,.,
|
849
874
|
|
850
|
-
module_eval(<<'.,.,', 'parser.y',
|
851
|
-
def
|
875
|
+
module_eval(<<'.,.,', 'parser.y', 192)
|
876
|
+
def _reduce_81(val, _values, result)
|
852
877
|
return make_node(:FragmentSpread, name: val[1], directives: val[2], position_source: val[0])
|
853
878
|
result
|
854
879
|
end
|
855
880
|
.,.,
|
856
881
|
|
857
|
-
module_eval(<<'.,.,', 'parser.y',
|
858
|
-
def
|
882
|
+
module_eval(<<'.,.,', 'parser.y', 196)
|
883
|
+
def _reduce_82(val, _values, result)
|
859
884
|
return make_node(:InlineFragment, {
|
860
885
|
type: val[2],
|
861
886
|
directives: val[3],
|
@@ -867,8 +892,8 @@ module_eval(<<'.,.,', 'parser.y', 188)
|
|
867
892
|
end
|
868
893
|
.,.,
|
869
894
|
|
870
|
-
module_eval(<<'.,.,', 'parser.y',
|
871
|
-
def
|
895
|
+
module_eval(<<'.,.,', 'parser.y', 204)
|
896
|
+
def _reduce_83(val, _values, result)
|
872
897
|
return make_node(:InlineFragment, {
|
873
898
|
type: nil,
|
874
899
|
directives: val[1],
|
@@ -880,8 +905,8 @@ module_eval(<<'.,.,', 'parser.y', 196)
|
|
880
905
|
end
|
881
906
|
.,.,
|
882
907
|
|
883
|
-
module_eval(<<'.,.,', 'parser.y',
|
884
|
-
def
|
908
|
+
module_eval(<<'.,.,', 'parser.y', 214)
|
909
|
+
def _reduce_84(val, _values, result)
|
885
910
|
return make_node(:FragmentDefinition, {
|
886
911
|
name: val[1],
|
887
912
|
type: val[3],
|