graphql 0.16.1 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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],
|