graphql 0.17.2 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/lib/graphql.rb +1 -0
  3. data/lib/graphql/analysis/query_depth.rb +1 -1
  4. data/lib/graphql/base_type.rb +25 -1
  5. data/lib/graphql/define.rb +2 -0
  6. data/lib/graphql/define/assign_connection.rb +11 -0
  7. data/lib/graphql/define/assign_global_id_field.rb +11 -0
  8. data/lib/graphql/define/assign_object_field.rb +21 -20
  9. data/lib/graphql/define/defined_object_proxy.rb +2 -2
  10. data/lib/graphql/define/instance_definable.rb +13 -3
  11. data/lib/graphql/field.rb +1 -1
  12. data/lib/graphql/language/generation.rb +57 -6
  13. data/lib/graphql/language/lexer.rb +434 -212
  14. data/lib/graphql/language/lexer.rl +18 -0
  15. data/lib/graphql/language/nodes.rb +75 -0
  16. data/lib/graphql/language/parser.rb +853 -341
  17. data/lib/graphql/language/parser.y +114 -17
  18. data/lib/graphql/query.rb +15 -1
  19. data/lib/graphql/relay.rb +13 -0
  20. data/lib/graphql/relay/array_connection.rb +80 -0
  21. data/lib/graphql/relay/base_connection.rb +138 -0
  22. data/lib/graphql/relay/connection_field.rb +54 -0
  23. data/lib/graphql/relay/connection_type.rb +25 -0
  24. data/lib/graphql/relay/edge.rb +22 -0
  25. data/lib/graphql/relay/edge_type.rb +14 -0
  26. data/lib/graphql/relay/global_id_resolve.rb +15 -0
  27. data/lib/graphql/relay/global_node_identification.rb +124 -0
  28. data/lib/graphql/relay/mutation.rb +146 -0
  29. data/lib/graphql/relay/page_info.rb +13 -0
  30. data/lib/graphql/relay/relation_connection.rb +98 -0
  31. data/lib/graphql/schema.rb +3 -0
  32. data/lib/graphql/schema/printer.rb +12 -2
  33. data/lib/graphql/static_validation/message.rb +9 -5
  34. data/lib/graphql/static_validation/rules/argument_literals_are_compatible.rb +1 -1
  35. data/lib/graphql/static_validation/rules/arguments_are_defined.rb +1 -1
  36. data/lib/graphql/static_validation/rules/directives_are_defined.rb +3 -3
  37. data/lib/graphql/static_validation/rules/directives_are_in_valid_locations.rb +7 -7
  38. data/lib/graphql/static_validation/rules/fields_are_defined_on_type.rb +4 -4
  39. data/lib/graphql/static_validation/rules/fields_have_appropriate_selections.rb +5 -5
  40. data/lib/graphql/static_validation/rules/fields_will_merge.rb +6 -6
  41. data/lib/graphql/static_validation/rules/fragment_spreads_are_possible.rb +17 -9
  42. data/lib/graphql/static_validation/rules/fragment_types_exist.rb +1 -1
  43. data/lib/graphql/static_validation/rules/fragments_are_finite.rb +1 -1
  44. data/lib/graphql/static_validation/rules/fragments_are_on_composite_types.rb +1 -1
  45. data/lib/graphql/static_validation/rules/fragments_are_used.rb +17 -6
  46. data/lib/graphql/static_validation/rules/required_arguments_are_present.rb +1 -1
  47. data/lib/graphql/static_validation/rules/variable_default_values_are_correctly_typed.rb +2 -2
  48. data/lib/graphql/static_validation/rules/variable_usages_are_allowed.rb +5 -5
  49. data/lib/graphql/static_validation/rules/variables_are_input_types.rb +1 -1
  50. data/lib/graphql/static_validation/rules/variables_are_used_and_defined.rb +12 -11
  51. data/lib/graphql/static_validation/type_stack.rb +33 -2
  52. data/lib/graphql/static_validation/validation_context.rb +5 -0
  53. data/lib/graphql/version.rb +1 -1
  54. data/readme.md +16 -4
  55. data/spec/graphql/analysis/analyze_query_spec.rb +31 -2
  56. data/spec/graphql/analysis/query_complexity_spec.rb +24 -0
  57. data/spec/graphql/argument_spec.rb +1 -1
  58. data/spec/graphql/define/instance_definable_spec.rb +9 -0
  59. data/spec/graphql/field_spec.rb +1 -1
  60. data/spec/graphql/internal_representation/rewrite_spec.rb +3 -3
  61. data/spec/graphql/language/generation_spec.rb +25 -4
  62. data/spec/graphql/language/parser_spec.rb +116 -1
  63. data/spec/graphql/query_spec.rb +10 -0
  64. data/spec/graphql/relay/array_connection_spec.rb +164 -0
  65. data/spec/graphql/relay/connection_type_spec.rb +37 -0
  66. data/spec/graphql/relay/global_node_identification_spec.rb +149 -0
  67. data/spec/graphql/relay/mutation_spec.rb +55 -0
  68. data/spec/graphql/relay/page_info_spec.rb +106 -0
  69. data/spec/graphql/relay/relation_connection_spec.rb +348 -0
  70. data/spec/graphql/schema/printer_spec.rb +8 -0
  71. data/spec/graphql/schema/reduce_types_spec.rb +1 -1
  72. data/spec/graphql/static_validation/rules/argument_literals_are_compatible_spec.rb +12 -6
  73. data/spec/graphql/static_validation/rules/arguments_are_defined_spec.rb +8 -4
  74. data/spec/graphql/static_validation/rules/directives_are_defined_spec.rb +4 -2
  75. data/spec/graphql/static_validation/rules/directives_are_in_valid_locations_spec.rb +4 -2
  76. data/spec/graphql/static_validation/rules/fields_are_defined_on_type_spec.rb +7 -2
  77. data/spec/graphql/static_validation/rules/fields_have_appropriate_selections_spec.rb +4 -2
  78. data/spec/graphql/static_validation/rules/fragment_spreads_are_possible_spec.rb +6 -3
  79. data/spec/graphql/static_validation/rules/fragment_types_exist_spec.rb +5 -3
  80. data/spec/graphql/static_validation/rules/fragments_are_finite_spec.rb +4 -2
  81. data/spec/graphql/static_validation/rules/fragments_are_on_composite_types_spec.rb +5 -2
  82. data/spec/graphql/static_validation/rules/fragments_are_used_spec.rb +10 -2
  83. data/spec/graphql/static_validation/rules/required_arguments_are_present_spec.rb +6 -3
  84. data/spec/graphql/static_validation/rules/variable_default_values_are_correctly_typed_spec.rb +8 -4
  85. data/spec/graphql/static_validation/rules/variable_usages_are_allowed_spec.rb +8 -4
  86. data/spec/graphql/static_validation/rules/variables_are_input_types_spec.rb +6 -3
  87. data/spec/graphql/static_validation/rules/variables_are_used_and_defined_spec.rb +6 -3
  88. data/spec/spec_helper.rb +7 -0
  89. data/spec/support/dairy_app.rb +11 -10
  90. data/spec/support/star_wars_data.rb +65 -58
  91. data/spec/support/star_wars_schema.rb +192 -54
  92. metadata +84 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0f5960d6a384a464a175999b3cdfa5eb4c2860a9
4
- data.tar.gz: d7e7aa462056b9782c50fbc9221ee29954eb8e7e
3
+ metadata.gz: 02de1641b3342ae2dfb6688305141f876b853641
4
+ data.tar.gz: bca7585eba3aae30e0804b1f6a475df2cf390adc
5
5
  SHA512:
6
- metadata.gz: 034823d8acddd9ddfc5b1058f2d01994266d6334281660d744046115c8f4f1c89767b6deab971817a71bd495c7de8a2c7cf87e16f4a2551952263f3646cd2379
7
- data.tar.gz: b652518f8ca33d1eb7cb73e5b6073e99a5a20305b09da661222e7b901c7035739675a7562c268bf880cd0b81dee184a9f66094e6dbf991c1610f097c0d2d2970
6
+ metadata.gz: f2fd6a0147a92875211ff050335d0c476e8119754bc47738f05237e48be231ffb221c3743b70bf3df2ed654b08bffec4f760b9279a63331624046af295d22218
7
+ data.tar.gz: 5b27edb6d609026598ed2f91a17dd34ec622d666c8dfc1cb95f06bc55aa6152363b690960e790b794ffb25d5b1d72ddf9dd7aa7f163ad6a680a5528697ed0aba
@@ -69,3 +69,4 @@ require "graphql/query"
69
69
  require "graphql/internal_representation"
70
70
  require "graphql/static_validation"
71
71
  require "graphql/version"
72
+ require "graphql/relay"
@@ -3,7 +3,7 @@ module GraphQL
3
3
  # A query reducer for measuring the depth of a given query.
4
4
  #
5
5
  # @example Logging the depth of a query
6
- # Schema.query_analyzers << GraphQL::Analysis::QueryDepth.new { |depth| puts "GraphQL query depth: #{depth}" }
6
+ # Schema.query_analyzers << GraphQL::Analysis::QueryDepth.new { |query, depth| puts "GraphQL query depth: #{depth}" }
7
7
  # Schema.execute(query_str)
8
8
  # # GraphQL query depth: 8
9
9
  #
@@ -3,7 +3,11 @@ module GraphQL
3
3
  class BaseType
4
4
  include GraphQL::Define::NonNullWithBang
5
5
  include GraphQL::Define::InstanceDefinable
6
- accepts_definitions :name, :description
6
+ accepts_definitions :name, :description, {
7
+ connection: GraphQL::Define::AssignConnection,
8
+ global_id_field: GraphQL::Define::AssignGlobalIdField,
9
+ }
10
+
7
11
  lazy_defined_attr_accessor :name, :description
8
12
 
9
13
  # @param other [GraphQL::BaseType] compare to this object
@@ -112,5 +116,25 @@ module GraphQL
112
116
  type_arg
113
117
  end
114
118
  end
119
+
120
+ # Get the default connection type for this object type
121
+ def connection_type
122
+ @connection_type ||= define_connection
123
+ end
124
+
125
+ # Define a custom connection type for this object type
126
+ def define_connection(**kwargs, &block)
127
+ GraphQL::Relay::ConnectionType.create_type(self, **kwargs, &block)
128
+ end
129
+
130
+ # Get the default edge type for this object type
131
+ def edge_type
132
+ @edge_type ||= define_edge
133
+ end
134
+
135
+ # Define a custom edge type for this object type
136
+ def define_edge(**kwargs, &block)
137
+ GraphQL::Relay::EdgeType.create_type(self, **kwargs, &block)
138
+ end
115
139
  end
116
140
  end
@@ -1,5 +1,7 @@
1
1
  require "graphql/define/assign_argument"
2
+ require "graphql/define/assign_connection"
2
3
  require "graphql/define/assign_enum_value"
4
+ require "graphql/define/assign_global_id_field"
3
5
  require "graphql/define/assign_object_field"
4
6
  require "graphql/define/assignment_dictionary"
5
7
  require "graphql/define/defined_object_proxy"
@@ -0,0 +1,11 @@
1
+ module GraphQL
2
+ module Define
3
+ module AssignConnection
4
+ def self.call(type_defn, *field_args, max_page_size: nil, **field_kwargs, &field_block)
5
+ underlying_field = GraphQL::Define::AssignObjectField.call(type_defn, *field_args, **field_kwargs, &field_block)
6
+ connection_field = GraphQL::Relay::ConnectionField.create(underlying_field, max_page_size: max_page_size)
7
+ type_defn.fields[name.to_s] = connection_field
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module GraphQL
2
+ module Define
3
+ module AssignGlobalIdField
4
+ def self.call(type_defn, field_name)
5
+ type_defn.name || raise("You must define the type's name before creating a GlobalIdField")
6
+ resolve = GraphQL::Relay::GlobalIdResolve.new(type_name: type_defn.name, property: field_name)
7
+ GraphQL::Define::AssignObjectField.call(type_defn, field_name, type: GraphQL::ID_TYPE.to_non_null_type, resolve: resolve)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -2,32 +2,33 @@ module GraphQL
2
2
  module Define
3
3
  # Turn field configs into a {GraphQL::Field} and attach it to a {GraphQL::ObjectType} or {GraphQL::InterfaceType}
4
4
  module AssignObjectField
5
- def self.call(fields_type, name, type_or_field = nil, desc = nil, field: nil, deprecation_reason: nil, property: nil, complexity: nil, hash_key: nil, &block)
6
- if type_or_field.is_a?(GraphQL::Field)
7
- field = type_or_field
8
- elsif block_given?
9
- field = GraphQL::Field.define(&block)
10
- elsif field.nil?
11
- field = GraphQL::Field.new
12
- end
5
+ def self.call(owner_type, name, type_or_field = nil, desc = nil, field: nil, **kwargs, &block)
6
+ name_s = name.to_s
7
+
8
+ # Move some possitional definitions into keyword defns:
9
+ kwargs[:description] ||= desc
10
+ kwargs[:name] ||= name_s
13
11
 
14
12
  if !type_or_field.nil? && !type_or_field.is_a?(GraphQL::Field)
15
- field.type = type_or_field
13
+ kwargs[:type] = type_or_field
16
14
  end
17
15
 
18
- desc && field.description = desc
19
-
20
- # If the field's resolve proc was defined in the config block,
21
- # don't override it with `property` or `hash_key`
22
- if field.resolve_proc.is_a?(GraphQL::Field::Resolve::BuiltInResolve)
23
- property && field.property = property
24
- hash_key && field.hash_key = hash_key
16
+ # Figure out how to find or initialize the field instance:
17
+ if type_or_field.is_a?(GraphQL::Field)
18
+ field = type_or_field
19
+ field.name ||= name_s
20
+ elsif block_given?
21
+ field = GraphQL::Field.define(kwargs, &block)
22
+ elsif field.nil?
23
+ field = GraphQL::Field.define(kwargs)
24
+ elsif field.is_a?(GraphQL::Field)
25
+ field.name ||= name_s
26
+ else
27
+ raise("Couldn't find a field argument, received: #{field || type_or_field}")
25
28
  end
26
29
 
27
- complexity && field.complexity = complexity
28
- deprecation_reason && field.deprecation_reason = deprecation_reason
29
- field.name ||= name.to_s
30
- fields_type.fields[name.to_s] = field
30
+ # Attach the field to the type
31
+ owner_type.fields[name_s] = field
31
32
  end
32
33
  end
33
34
  end
@@ -1,9 +1,9 @@
1
1
  module GraphQL
2
2
  module Define
3
3
  class DefinedObjectProxy
4
- def initialize(target, dictionary)
4
+ def initialize(target)
5
5
  @target = target
6
- @dictionary = dictionary
6
+ @dictionary = target.class.dictionary
7
7
  end
8
8
 
9
9
  def types
@@ -61,7 +61,7 @@ module GraphQL
61
61
  if @definition_proc
62
62
  defn_proc = @definition_proc
63
63
  @definition_proc = nil
64
- proxy = DefinedObjectProxy.new(self, self.class.dictionary)
64
+ proxy = DefinedObjectProxy.new(self)
65
65
  proxy.instance_eval(&defn_proc)
66
66
  end
67
67
  nil
@@ -71,9 +71,19 @@ module GraphQL
71
71
  # Prepare the defintion for an instance of this class using its {.definitions}.
72
72
  # Note that the block is not called right away -- instead, it's deferred until
73
73
  # one of the defined fields is needed.
74
- def define(&block)
74
+ def define(**kwargs, &block)
75
75
  instance = self.new
76
- instance.definition_proc = block
76
+
77
+ instance.definition_proc = -> (obj) {
78
+ kwargs.each do |keyword, value|
79
+ public_send(keyword, value)
80
+ end
81
+
82
+ if block
83
+ instance_eval(&block)
84
+ end
85
+ }
86
+
77
87
  instance
78
88
  end
79
89
 
@@ -154,7 +154,7 @@ module GraphQL
154
154
  end
155
155
 
156
156
  def to_s
157
- "<Field: #{name || "not-named"}>"
157
+ "<Field name:#{name || "not-named"} desc:#{description} resolve:#{resolve_proc}>"
158
158
  end
159
159
 
160
160
  private
@@ -1,10 +1,12 @@
1
1
  module GraphQL
2
2
  module Language
3
3
  module Generation
4
- def self.generate(node, indent: "")
4
+ extend self
5
+
6
+ def generate(node, indent: "")
5
7
  case node
6
8
  when Nodes::Document
7
- node.definitions.map { |d| generate(d) }.join("\n")
9
+ node.definitions.map { |d| generate(d) }.join("\n\n")
8
10
  when Nodes::Argument
9
11
  "#{node.name}: #{generate(node.value)}"
10
12
  when Nodes::Directive
@@ -53,10 +55,49 @@ module GraphQL
53
55
  "#{node.name}"
54
56
  when Nodes::VariableDefinition
55
57
  out = "$#{node.name}: #{generate(node.type)}"
56
- out << " = #{generate(node.default_value)}" if node.default_value
58
+ out << " = #{generate(node.default_value)}" unless node.default_value.nil?
57
59
  out
58
60
  when Nodes::VariableIdentifier
59
61
  "$#{node.name}"
62
+ when Nodes::SchemaDefinition
63
+ out = "schema {\n"
64
+ out << " query: #{node.query}\n" if node.query
65
+ out << " mutation: #{node.mutation}\n" if node.mutation
66
+ out << " subscription: #{node.subscription}\n" if node.subscription
67
+ out << "}"
68
+ when Nodes::ScalarTypeDefinition
69
+ "scalar #{node.name}"
70
+ when Nodes::ObjectTypeDefinition
71
+ out = "type #{node.name}"
72
+ out << " implements " << node.interfaces.join(", ") unless node.interfaces.empty?
73
+ out << generate_field_definitions(node.fields)
74
+ when Nodes::InputValueDefinition
75
+ out = "#{node.name}: #{generate(node.type)}"
76
+ out << " = #{generate(node.default_value)}" unless node.default_value.nil?
77
+ out
78
+ when Nodes::FieldDefinition
79
+ out = node.name.dup
80
+ unless node.arguments.empty?
81
+ out << "(" << node.arguments.map{ |arg| generate(arg) }.join(", ") << ")"
82
+ end
83
+ out << ": #{generate(node.type)}"
84
+ when Nodes::InterfaceTypeDefinition
85
+ out = "interface #{node.name}"
86
+ out << generate_field_definitions(node.fields)
87
+ when Nodes::UnionTypeDefinition
88
+ "union #{node.name} = " + node.types.join(" | ")
89
+ when Nodes::EnumTypeDefinition
90
+ out = "enum #{node.name} {\n"
91
+ node.values.each do |value|
92
+ out << " #{value}\n"
93
+ end
94
+ out << "}"
95
+ when Nodes::InputObjectTypeDefinition
96
+ out = "input #{node.name} {\n"
97
+ node.fields.each do |field|
98
+ out << " #{generate(field)}\n"
99
+ end
100
+ out << "}"
60
101
  when Nodes::AbstractNode
61
102
  node.to_query_string(indent: indent)
62
103
  when FalseClass, Float, Integer, NilClass, String, TrueClass
@@ -64,13 +105,15 @@ module GraphQL
64
105
  when Array
65
106
  "[#{node.map { |v| generate(v) }.join(", ")}]"
66
107
  when Hash
67
- "{#{node.map { |k, v| "#{k}: #{generate(v)}" }.join(", ")}}"
108
+ "{ #{node.map { |k, v| "#{k}: #{generate(v)}" }.join(", ")} }"
68
109
  else
69
110
  raise TypeError
70
111
  end
71
112
  end
72
113
 
73
- def self.generate_directives(directives)
114
+ private
115
+
116
+ def generate_directives(directives)
74
117
  if directives.any?
75
118
  directives.map { |d| " #{generate(d)}" }.join
76
119
  else
@@ -78,7 +121,7 @@ module GraphQL
78
121
  end
79
122
  end
80
123
 
81
- def self.generate_selections(selections, indent: "")
124
+ def generate_selections(selections, indent: "")
82
125
  if selections.any?
83
126
  out = " {\n"
84
127
  selections.each do |selection|
@@ -89,6 +132,14 @@ module GraphQL
89
132
  ""
90
133
  end
91
134
  end
135
+
136
+ def generate_field_definitions(fields)
137
+ out = " {\n"
138
+ fields.each do |field|
139
+ out << " #{generate(field)}\n"
140
+ end
141
+ out << "}"
142
+ end
92
143
  end
93
144
  end
94
145
  end
@@ -1,7 +1,7 @@
1
1
 
2
2
  # line 1 "lib/graphql/language/lexer.rl"
3
3
 
4
- # line 78 "lib/graphql/language/lexer.rl"
4
+ # line 96 "lib/graphql/language/lexer.rl"
5
5
 
6
6
 
7
7
 
@@ -30,17 +30,20 @@ class << self
30
30
  end
31
31
  self._graphql_lexer_actions = [
32
32
  0, 1, 0, 1, 1, 1, 2, 1,
33
- 16, 1, 17, 1, 18, 1, 19, 1,
34
- 20, 1, 21, 1, 22, 1, 23, 1,
35
33
  24, 1, 25, 1, 26, 1, 27, 1,
36
34
  28, 1, 29, 1, 30, 1, 31, 1,
37
35
  32, 1, 33, 1, 34, 1, 35, 1,
38
- 36, 1, 37, 1, 38, 1, 39, 2,
39
- 2, 3, 2, 2, 4, 2, 2, 5,
40
- 2, 2, 6, 2, 2, 7, 2, 2,
41
- 8, 2, 2, 9, 2, 2, 10, 2,
42
- 2, 11, 2, 2, 12, 2, 2, 13,
43
- 2, 2, 14, 2, 2, 15
36
+ 36, 1, 37, 1, 38, 1, 39, 1,
37
+ 40, 1, 41, 1, 42, 1, 43, 1,
38
+ 44, 1, 45, 1, 46, 1, 47, 1,
39
+ 48, 2, 2, 3, 2, 2, 4, 2,
40
+ 2, 5, 2, 2, 6, 2, 2, 7,
41
+ 2, 2, 8, 2, 2, 9, 2, 2,
42
+ 10, 2, 2, 11, 2, 2, 12, 2,
43
+ 2, 13, 2, 2, 14, 2, 2, 15,
44
+ 2, 2, 16, 2, 2, 17, 2, 2,
45
+ 18, 2, 2, 19, 2, 2, 20, 2,
46
+ 2, 21, 2, 2, 22, 2, 2, 23
44
47
  ]
45
48
 
46
49
  class << self
@@ -48,13 +51,18 @@ class << self
48
51
  private :_graphql_lexer_key_offsets, :_graphql_lexer_key_offsets=
49
52
  end
50
53
  self._graphql_lexer_key_offsets = [
51
- 0, 2, 4, 6, 8, 12, 13, 48,
52
- 51, 53, 55, 58, 65, 67, 73, 80,
53
- 81, 88, 97, 105, 113, 121, 129, 137,
54
- 145, 153, 161, 169, 177, 185, 193, 201,
55
- 209, 217, 225, 233, 241, 249, 257, 265,
56
- 273, 281, 289, 297, 305, 313, 321, 329,
57
- 337, 345, 353, 361, 369, 377, 385, 393
54
+ 0, 2, 4, 6, 8, 12, 13, 52,
55
+ 55, 57, 59, 62, 69, 71, 77, 84,
56
+ 85, 92, 100, 108, 116, 125, 133, 141,
57
+ 149, 157, 165, 173, 181, 189, 197, 206,
58
+ 214, 222, 230, 238, 246, 254, 262, 270,
59
+ 279, 287, 295, 303, 311, 319, 327, 335,
60
+ 343, 351, 359, 367, 375, 383, 391, 399,
61
+ 407, 415, 423, 431, 439, 447, 455, 463,
62
+ 472, 481, 489, 497, 505, 513, 521, 529,
63
+ 537, 545, 553, 561, 569, 577, 585, 593,
64
+ 601, 609, 618, 626, 634, 642, 650, 658,
65
+ 666, 674
58
66
  ]
59
67
 
60
68
  class << self
@@ -66,39 +74,68 @@ self._graphql_lexer_trans_keys = [
66
74
  43, 45, 48, 57, 46, 9, 10, 13,
67
75
  32, 33, 34, 35, 36, 40, 41, 44,
68
76
  45, 46, 48, 58, 61, 64, 91, 93,
69
- 95, 102, 109, 110, 111, 113, 115, 116,
70
- 123, 125, 49, 57, 65, 90, 97, 122,
71
- 9, 32, 44, 34, 92, 10, 13, 48,
72
- 49, 57, 43, 45, 46, 69, 101, 48,
73
- 57, 48, 57, 43, 45, 69, 101, 48,
74
- 57, 43, 45, 46, 69, 101, 48, 57,
75
- 46, 95, 48, 57, 65, 90, 97, 122,
76
- 95, 97, 114, 48, 57, 65, 90, 98,
77
+ 95, 101, 102, 105, 109, 110, 111, 113,
78
+ 115, 116, 117, 123, 124, 125, 49, 57,
79
+ 65, 90, 97, 122, 9, 32, 44, 34,
80
+ 92, 10, 13, 48, 49, 57, 43, 45,
81
+ 46, 69, 101, 48, 57, 48, 57, 43,
82
+ 45, 69, 101, 48, 57, 43, 45, 46,
83
+ 69, 101, 48, 57, 46, 95, 48, 57,
84
+ 65, 90, 97, 122, 95, 110, 48, 57,
85
+ 65, 90, 97, 122, 95, 117, 48, 57,
86
+ 65, 90, 97, 122, 95, 109, 48, 57,
87
+ 65, 90, 97, 122, 95, 97, 114, 48,
88
+ 57, 65, 90, 98, 122, 95, 108, 48,
89
+ 57, 65, 90, 97, 122, 95, 115, 48,
90
+ 57, 65, 90, 97, 122, 95, 101, 48,
91
+ 57, 65, 90, 97, 122, 95, 97, 48,
92
+ 57, 65, 90, 98, 122, 95, 103, 48,
93
+ 57, 65, 90, 97, 122, 95, 109, 48,
94
+ 57, 65, 90, 97, 122, 95, 101, 48,
95
+ 57, 65, 90, 97, 122, 95, 110, 48,
96
+ 57, 65, 90, 97, 122, 95, 116, 48,
97
+ 57, 65, 90, 97, 122, 95, 109, 110,
98
+ 48, 57, 65, 90, 97, 122, 95, 112,
99
+ 48, 57, 65, 90, 97, 122, 95, 108,
100
+ 48, 57, 65, 90, 97, 122, 95, 101,
101
+ 48, 57, 65, 90, 97, 122, 95, 109,
102
+ 48, 57, 65, 90, 97, 122, 95, 101,
103
+ 48, 57, 65, 90, 97, 122, 95, 110,
104
+ 48, 57, 65, 90, 97, 122, 95, 116,
105
+ 48, 57, 65, 90, 97, 122, 95, 115,
106
+ 48, 57, 65, 90, 97, 122, 95, 112,
107
+ 116, 48, 57, 65, 90, 97, 122, 95,
108
+ 117, 48, 57, 65, 90, 97, 122, 95,
109
+ 116, 48, 57, 65, 90, 97, 122, 95,
110
+ 101, 48, 57, 65, 90, 97, 122, 95,
111
+ 114, 48, 57, 65, 90, 97, 122, 95,
112
+ 102, 48, 57, 65, 90, 97, 122, 95,
113
+ 97, 48, 57, 65, 90, 98, 122, 95,
114
+ 99, 48, 57, 65, 90, 97, 122, 95,
115
+ 101, 48, 57, 65, 90, 97, 122, 95,
116
+ 117, 48, 57, 65, 90, 97, 122, 95,
117
+ 116, 48, 57, 65, 90, 97, 122, 95,
118
+ 97, 48, 57, 65, 90, 98, 122, 95,
119
+ 116, 48, 57, 65, 90, 97, 122, 95,
120
+ 105, 48, 57, 65, 90, 97, 122, 95,
121
+ 111, 48, 57, 65, 90, 97, 122, 95,
122
+ 110, 48, 57, 65, 90, 97, 122, 95,
123
+ 117, 48, 57, 65, 90, 97, 122, 95,
124
+ 108, 48, 57, 65, 90, 97, 122, 95,
125
+ 108, 48, 57, 65, 90, 97, 122, 95,
126
+ 110, 48, 57, 65, 90, 97, 122, 95,
127
+ 117, 48, 57, 65, 90, 97, 122, 95,
128
+ 101, 48, 57, 65, 90, 97, 122, 95,
129
+ 114, 48, 57, 65, 90, 97, 122, 95,
130
+ 121, 48, 57, 65, 90, 97, 122, 95,
131
+ 99, 117, 48, 57, 65, 90, 97, 122,
132
+ 95, 97, 104, 48, 57, 65, 90, 98,
77
133
  122, 95, 108, 48, 57, 65, 90, 97,
78
- 122, 95, 115, 48, 57, 65, 90, 97,
79
- 122, 95, 101, 48, 57, 65, 90, 97,
80
134
  122, 95, 97, 48, 57, 65, 90, 98,
81
- 122, 95, 103, 48, 57, 65, 90, 97,
82
- 122, 95, 109, 48, 57, 65, 90, 97,
135
+ 122, 95, 114, 48, 57, 65, 90, 97,
83
136
  122, 95, 101, 48, 57, 65, 90, 97,
84
- 122, 95, 110, 48, 57, 65, 90, 97,
85
- 122, 95, 116, 48, 57, 65, 90, 97,
86
- 122, 95, 117, 48, 57, 65, 90, 97,
87
- 122, 95, 116, 48, 57, 65, 90, 97,
137
+ 122, 95, 109, 48, 57, 65, 90, 97,
88
138
  122, 95, 97, 48, 57, 65, 90, 98,
89
- 122, 95, 116, 48, 57, 65, 90, 97,
90
- 122, 95, 105, 48, 57, 65, 90, 97,
91
- 122, 95, 111, 48, 57, 65, 90, 97,
92
- 122, 95, 110, 48, 57, 65, 90, 97,
93
- 122, 95, 117, 48, 57, 65, 90, 97,
94
- 122, 95, 108, 48, 57, 65, 90, 97,
95
- 122, 95, 108, 48, 57, 65, 90, 97,
96
- 122, 95, 110, 48, 57, 65, 90, 97,
97
- 122, 95, 117, 48, 57, 65, 90, 97,
98
- 122, 95, 101, 48, 57, 65, 90, 97,
99
- 122, 95, 114, 48, 57, 65, 90, 97,
100
- 122, 95, 121, 48, 57, 65, 90, 97,
101
- 122, 95, 117, 48, 57, 65, 90, 97,
102
139
  122, 95, 98, 48, 57, 65, 90, 97,
103
140
  122, 95, 115, 48, 57, 65, 90, 97,
104
141
  122, 95, 99, 48, 57, 65, 90, 97,
@@ -109,10 +146,16 @@ self._graphql_lexer_trans_keys = [
109
146
  122, 95, 105, 48, 57, 65, 90, 97,
110
147
  122, 95, 111, 48, 57, 65, 90, 97,
111
148
  122, 95, 110, 48, 57, 65, 90, 97,
112
- 122, 95, 114, 48, 57, 65, 90, 97,
113
- 122, 95, 117, 48, 57, 65, 90, 97,
114
- 122, 95, 101, 48, 57, 65, 90, 97,
115
- 122, 0
149
+ 122, 95, 114, 121, 48, 57, 65, 90,
150
+ 97, 122, 95, 117, 48, 57, 65, 90,
151
+ 97, 122, 95, 101, 48, 57, 65, 90,
152
+ 97, 122, 95, 112, 48, 57, 65, 90,
153
+ 97, 122, 95, 101, 48, 57, 65, 90,
154
+ 97, 122, 95, 110, 48, 57, 65, 90,
155
+ 97, 122, 95, 105, 48, 57, 65, 90,
156
+ 97, 122, 95, 111, 48, 57, 65, 90,
157
+ 97, 122, 95, 110, 48, 57, 65, 90,
158
+ 97, 122, 0
116
159
  ]
117
160
 
118
161
  class << self
@@ -120,13 +163,18 @@ class << self
120
163
  private :_graphql_lexer_single_lengths, :_graphql_lexer_single_lengths=
121
164
  end
122
165
  self._graphql_lexer_single_lengths = [
123
- 2, 2, 0, 0, 2, 1, 29, 3,
166
+ 2, 2, 0, 0, 2, 1, 33, 3,
124
167
  2, 2, 1, 5, 0, 4, 5, 1,
125
- 1, 3, 2, 2, 2, 2, 2, 2,
168
+ 1, 2, 2, 2, 3, 2, 2, 2,
169
+ 2, 2, 2, 2, 2, 2, 3, 2,
170
+ 2, 2, 2, 2, 2, 2, 2, 3,
126
171
  2, 2, 2, 2, 2, 2, 2, 2,
127
172
  2, 2, 2, 2, 2, 2, 2, 2,
173
+ 2, 2, 2, 2, 2, 2, 2, 3,
174
+ 3, 2, 2, 2, 2, 2, 2, 2,
128
175
  2, 2, 2, 2, 2, 2, 2, 2,
129
- 2, 2, 2, 2, 2, 2, 2, 2
176
+ 2, 3, 2, 2, 2, 2, 2, 2,
177
+ 2, 2
130
178
  ]
131
179
 
132
180
  class << self
@@ -140,7 +188,12 @@ self._graphql_lexer_range_lengths = [
140
188
  3, 3, 3, 3, 3, 3, 3, 3,
141
189
  3, 3, 3, 3, 3, 3, 3, 3,
142
190
  3, 3, 3, 3, 3, 3, 3, 3,
143
- 3, 3, 3, 3, 3, 3, 3, 3
191
+ 3, 3, 3, 3, 3, 3, 3, 3,
192
+ 3, 3, 3, 3, 3, 3, 3, 3,
193
+ 3, 3, 3, 3, 3, 3, 3, 3,
194
+ 3, 3, 3, 3, 3, 3, 3, 3,
195
+ 3, 3, 3, 3, 3, 3, 3, 3,
196
+ 3, 3
144
197
  ]
145
198
 
146
199
  class << self
@@ -148,61 +201,18 @@ class << self
148
201
  private :_graphql_lexer_index_offsets, :_graphql_lexer_index_offsets=
149
202
  end
150
203
  self._graphql_lexer_index_offsets = [
151
- 0, 3, 6, 8, 10, 14, 16, 49,
152
- 53, 56, 59, 62, 69, 71, 77, 84,
153
- 86, 91, 98, 104, 110, 116, 122, 128,
154
- 134, 140, 146, 152, 158, 164, 170, 176,
155
- 182, 188, 194, 200, 206, 212, 218, 224,
156
- 230, 236, 242, 248, 254, 260, 266, 272,
157
- 278, 284, 290, 296, 302, 308, 314, 320
158
- ]
159
-
160
- class << self
161
- attr_accessor :_graphql_lexer_indicies
162
- private :_graphql_lexer_indicies, :_graphql_lexer_indicies=
163
- end
164
- self._graphql_lexer_indicies = [
165
- 2, 3, 1, 4, 3, 1, 5, 0,
166
- 7, 6, 8, 8, 5, 0, 10, 9,
167
- 12, 13, 13, 12, 14, 15, 16, 17,
168
- 18, 19, 12, 20, 21, 22, 24, 25,
169
- 26, 28, 29, 27, 30, 31, 32, 33,
170
- 34, 35, 36, 37, 38, 23, 27, 27,
171
- 11, 12, 12, 12, 39, 2, 3, 1,
172
- 40, 40, 16, 22, 23, 41, 8, 8,
173
- 43, 44, 44, 5, 42, 5, 45, 8,
174
- 8, 44, 44, 7, 45, 8, 8, 43,
175
- 44, 44, 23, 42, 46, 41, 27, 27,
176
- 27, 27, 0, 27, 48, 49, 27, 27,
177
- 27, 47, 27, 50, 27, 27, 27, 47,
178
- 27, 51, 27, 27, 27, 47, 27, 52,
179
- 27, 27, 27, 47, 27, 53, 27, 27,
180
- 27, 47, 27, 54, 27, 27, 27, 47,
181
- 27, 55, 27, 27, 27, 47, 27, 56,
182
- 27, 27, 27, 47, 27, 57, 27, 27,
183
- 27, 47, 27, 58, 27, 27, 27, 47,
184
- 27, 59, 27, 27, 27, 47, 27, 60,
185
- 27, 27, 27, 47, 27, 61, 27, 27,
186
- 27, 47, 27, 62, 27, 27, 27, 47,
187
- 27, 63, 27, 27, 27, 47, 27, 64,
188
- 27, 27, 27, 47, 27, 65, 27, 27,
189
- 27, 47, 27, 66, 27, 27, 27, 47,
190
- 27, 67, 27, 27, 27, 47, 27, 68,
191
- 27, 27, 27, 47, 27, 69, 27, 27,
192
- 27, 47, 27, 70, 27, 27, 27, 47,
193
- 27, 71, 27, 27, 27, 47, 27, 72,
194
- 27, 27, 27, 47, 27, 73, 27, 27,
195
- 27, 47, 27, 74, 27, 27, 27, 47,
196
- 27, 75, 27, 27, 27, 47, 27, 76,
197
- 27, 27, 27, 47, 27, 77, 27, 27,
198
- 27, 47, 27, 78, 27, 27, 27, 47,
199
- 27, 79, 27, 27, 27, 47, 27, 80,
200
- 27, 27, 27, 47, 27, 81, 27, 27,
201
- 27, 47, 27, 82, 27, 27, 27, 47,
202
- 27, 83, 27, 27, 27, 47, 27, 84,
203
- 27, 27, 27, 47, 27, 85, 27, 27,
204
- 27, 47, 27, 86, 27, 27, 27, 47,
205
- 27, 87, 27, 27, 27, 47, 0
204
+ 0, 3, 6, 8, 10, 14, 16, 53,
205
+ 57, 60, 63, 66, 73, 75, 81, 88,
206
+ 90, 95, 101, 107, 113, 120, 126, 132,
207
+ 138, 144, 150, 156, 162, 168, 174, 181,
208
+ 187, 193, 199, 205, 211, 217, 223, 229,
209
+ 236, 242, 248, 254, 260, 266, 272, 278,
210
+ 284, 290, 296, 302, 308, 314, 320, 326,
211
+ 332, 338, 344, 350, 356, 362, 368, 374,
212
+ 381, 388, 394, 400, 406, 412, 418, 424,
213
+ 430, 436, 442, 448, 454, 460, 466, 472,
214
+ 478, 484, 491, 497, 503, 509, 515, 521,
215
+ 527, 533
206
216
  ]
207
217
 
208
218
  class << self
@@ -210,17 +220,85 @@ class << self
210
220
  private :_graphql_lexer_trans_targs, :_graphql_lexer_trans_targs=
211
221
  end
212
222
  self._graphql_lexer_trans_targs = [
213
- 6, 0, 6, 1, 8, 12, 6, 13,
214
- 2, 6, 6, 6, 7, 6, 6, 8,
215
- 9, 6, 6, 6, 10, 15, 11, 14,
216
- 6, 6, 6, 16, 6, 6, 17, 27,
217
- 34, 37, 38, 42, 53, 6, 6, 6,
218
- 6, 6, 6, 3, 4, 6, 5, 6,
219
- 18, 21, 19, 20, 16, 22, 23, 24,
220
- 25, 26, 16, 28, 29, 30, 31, 32,
221
- 33, 16, 35, 36, 16, 16, 39, 40,
222
- 41, 16, 43, 44, 45, 46, 47, 48,
223
- 49, 50, 51, 52, 16, 54, 55, 16
223
+ 6, 1, 0, 8, 1, 0, 12, 6,
224
+ 13, 6, 2, 2, 12, 6, 6, 6,
225
+ 7, 6, 6, 7, 6, 8, 9, 6,
226
+ 6, 6, 7, 10, 15, 11, 6, 6,
227
+ 6, 6, 6, 16, 17, 20, 30, 48,
228
+ 55, 58, 59, 63, 81, 86, 6, 6,
229
+ 6, 14, 16, 16, 6, 7, 7, 7,
230
+ 6, 6, 1, 0, 6, 6, 9, 11,
231
+ 14, 6, 2, 2, 3, 4, 4, 12,
232
+ 6, 12, 6, 2, 2, 4, 4, 13,
233
+ 6, 2, 2, 3, 4, 4, 14, 6,
234
+ 5, 6, 16, 16, 16, 16, 6, 16,
235
+ 18, 16, 16, 16, 6, 16, 19, 16,
236
+ 16, 16, 6, 16, 16, 16, 16, 16,
237
+ 6, 16, 21, 24, 16, 16, 16, 6,
238
+ 16, 22, 16, 16, 16, 6, 16, 23,
239
+ 16, 16, 16, 6, 16, 16, 16, 16,
240
+ 16, 6, 16, 25, 16, 16, 16, 6,
241
+ 16, 26, 16, 16, 16, 6, 16, 27,
242
+ 16, 16, 16, 6, 16, 28, 16, 16,
243
+ 16, 6, 16, 29, 16, 16, 16, 6,
244
+ 16, 16, 16, 16, 16, 6, 16, 31,
245
+ 39, 16, 16, 16, 6, 16, 32, 16,
246
+ 16, 16, 6, 16, 33, 16, 16, 16,
247
+ 6, 16, 34, 16, 16, 16, 6, 16,
248
+ 35, 16, 16, 16, 6, 16, 36, 16,
249
+ 16, 16, 6, 16, 37, 16, 16, 16,
250
+ 6, 16, 38, 16, 16, 16, 6, 16,
251
+ 16, 16, 16, 16, 6, 16, 40, 42,
252
+ 16, 16, 16, 6, 16, 41, 16, 16,
253
+ 16, 6, 16, 16, 16, 16, 16, 6,
254
+ 16, 43, 16, 16, 16, 6, 16, 44,
255
+ 16, 16, 16, 6, 16, 45, 16, 16,
256
+ 16, 6, 16, 46, 16, 16, 16, 6,
257
+ 16, 47, 16, 16, 16, 6, 16, 16,
258
+ 16, 16, 16, 6, 16, 49, 16, 16,
259
+ 16, 6, 16, 50, 16, 16, 16, 6,
260
+ 16, 51, 16, 16, 16, 6, 16, 52,
261
+ 16, 16, 16, 6, 16, 53, 16, 16,
262
+ 16, 6, 16, 54, 16, 16, 16, 6,
263
+ 16, 16, 16, 16, 16, 6, 16, 56,
264
+ 16, 16, 16, 6, 16, 57, 16, 16,
265
+ 16, 6, 16, 16, 16, 16, 16, 6,
266
+ 16, 16, 16, 16, 16, 6, 16, 60,
267
+ 16, 16, 16, 6, 16, 61, 16, 16,
268
+ 16, 6, 16, 62, 16, 16, 16, 6,
269
+ 16, 16, 16, 16, 16, 6, 16, 64,
270
+ 71, 16, 16, 16, 6, 16, 65, 68,
271
+ 16, 16, 16, 6, 16, 66, 16, 16,
272
+ 16, 6, 16, 67, 16, 16, 16, 6,
273
+ 16, 16, 16, 16, 16, 6, 16, 69,
274
+ 16, 16, 16, 6, 16, 70, 16, 16,
275
+ 16, 6, 16, 16, 16, 16, 16, 6,
276
+ 16, 72, 16, 16, 16, 6, 16, 73,
277
+ 16, 16, 16, 6, 16, 74, 16, 16,
278
+ 16, 6, 16, 75, 16, 16, 16, 6,
279
+ 16, 76, 16, 16, 16, 6, 16, 77,
280
+ 16, 16, 16, 6, 16, 78, 16, 16,
281
+ 16, 6, 16, 79, 16, 16, 16, 6,
282
+ 16, 80, 16, 16, 16, 6, 16, 16,
283
+ 16, 16, 16, 6, 16, 82, 84, 16,
284
+ 16, 16, 6, 16, 83, 16, 16, 16,
285
+ 6, 16, 16, 16, 16, 16, 6, 16,
286
+ 85, 16, 16, 16, 6, 16, 16, 16,
287
+ 16, 16, 6, 16, 87, 16, 16, 16,
288
+ 6, 16, 88, 16, 16, 16, 6, 16,
289
+ 89, 16, 16, 16, 6, 16, 16, 16,
290
+ 16, 16, 6, 6, 6, 6, 6, 6,
291
+ 6, 6, 6, 6, 6, 6, 6, 6,
292
+ 6, 6, 6, 6, 6, 6, 6, 6,
293
+ 6, 6, 6, 6, 6, 6, 6, 6,
294
+ 6, 6, 6, 6, 6, 6, 6, 6,
295
+ 6, 6, 6, 6, 6, 6, 6, 6,
296
+ 6, 6, 6, 6, 6, 6, 6, 6,
297
+ 6, 6, 6, 6, 6, 6, 6, 6,
298
+ 6, 6, 6, 6, 6, 6, 6, 6,
299
+ 6, 6, 6, 6, 6, 6, 6, 6,
300
+ 6, 6, 6, 6, 6, 6, 6, 6,
301
+ 6, 6, 6, 6, 0
224
302
  ]
225
303
 
226
304
  class << self
@@ -228,17 +306,85 @@ class << self
228
306
  private :_graphql_lexer_trans_actions, :_graphql_lexer_trans_actions=
229
307
  end
230
308
  self._graphql_lexer_trans_actions = [
231
- 53, 0, 21, 0, 85, 0, 49, 58,
232
- 0, 51, 27, 35, 0, 33, 31, 91,
233
- 0, 23, 11, 13, 0, 5, 55, 55,
234
- 19, 29, 25, 88, 15, 17, 0, 0,
235
- 0, 0, 0, 0, 0, 7, 9, 43,
236
- 45, 47, 37, 0, 0, 39, 0, 41,
237
- 0, 0, 0, 0, 70, 0, 0, 0,
238
- 0, 0, 64, 0, 0, 0, 0, 0,
239
- 0, 79, 0, 0, 73, 61, 0, 0,
240
- 0, 76, 0, 0, 0, 0, 0, 0,
241
- 0, 0, 0, 0, 82, 0, 0, 67
309
+ 21, 0, 0, 111, 0, 0, 0, 55,
310
+ 60, 51, 0, 0, 0, 55, 27, 53,
311
+ 0, 35, 35, 0, 31, 117, 0, 23,
312
+ 11, 13, 0, 0, 5, 57, 19, 29,
313
+ 25, 15, 17, 114, 0, 0, 0, 0,
314
+ 0, 0, 0, 0, 0, 0, 7, 33,
315
+ 9, 57, 114, 114, 37, 0, 0, 0,
316
+ 45, 21, 0, 0, 47, 47, 0, 57,
317
+ 57, 49, 0, 0, 0, 0, 0, 0,
318
+ 39, 0, 41, 0, 0, 0, 0, 60,
319
+ 41, 0, 0, 0, 0, 0, 57, 39,
320
+ 0, 49, 114, 114, 114, 114, 55, 114,
321
+ 0, 114, 114, 114, 43, 114, 0, 114,
322
+ 114, 114, 43, 114, 105, 114, 114, 114,
323
+ 43, 114, 0, 0, 114, 114, 114, 43,
324
+ 114, 0, 114, 114, 114, 43, 114, 0,
325
+ 114, 114, 114, 43, 114, 72, 114, 114,
326
+ 114, 43, 114, 0, 114, 114, 114, 43,
327
+ 114, 0, 114, 114, 114, 43, 114, 0,
328
+ 114, 114, 114, 43, 114, 0, 114, 114,
329
+ 114, 43, 114, 0, 114, 114, 114, 43,
330
+ 114, 66, 114, 114, 114, 43, 114, 0,
331
+ 0, 114, 114, 114, 43, 114, 0, 114,
332
+ 114, 114, 43, 114, 0, 114, 114, 114,
333
+ 43, 114, 0, 114, 114, 114, 43, 114,
334
+ 0, 114, 114, 114, 43, 114, 0, 114,
335
+ 114, 114, 43, 114, 0, 114, 114, 114,
336
+ 43, 114, 0, 114, 114, 114, 43, 114,
337
+ 96, 114, 114, 114, 43, 114, 0, 0,
338
+ 114, 114, 114, 43, 114, 0, 114, 114,
339
+ 114, 43, 114, 108, 114, 114, 114, 43,
340
+ 114, 0, 114, 114, 114, 43, 114, 0,
341
+ 114, 114, 114, 43, 114, 0, 114, 114,
342
+ 114, 43, 114, 0, 114, 114, 114, 43,
343
+ 114, 0, 114, 114, 114, 43, 114, 99,
344
+ 114, 114, 114, 43, 114, 0, 114, 114,
345
+ 114, 43, 114, 0, 114, 114, 114, 43,
346
+ 114, 0, 114, 114, 114, 43, 114, 0,
347
+ 114, 114, 114, 43, 114, 0, 114, 114,
348
+ 114, 43, 114, 0, 114, 114, 114, 43,
349
+ 114, 81, 114, 114, 114, 43, 114, 0,
350
+ 114, 114, 114, 43, 114, 0, 114, 114,
351
+ 114, 43, 114, 75, 114, 114, 114, 43,
352
+ 114, 63, 114, 114, 114, 43, 114, 0,
353
+ 114, 114, 114, 43, 114, 0, 114, 114,
354
+ 114, 43, 114, 0, 114, 114, 114, 43,
355
+ 114, 78, 114, 114, 114, 43, 114, 0,
356
+ 0, 114, 114, 114, 43, 114, 0, 0,
357
+ 114, 114, 114, 43, 114, 0, 114, 114,
358
+ 114, 43, 114, 0, 114, 114, 114, 43,
359
+ 114, 90, 114, 114, 114, 43, 114, 0,
360
+ 114, 114, 114, 43, 114, 0, 114, 114,
361
+ 114, 43, 114, 87, 114, 114, 114, 43,
362
+ 114, 0, 114, 114, 114, 43, 114, 0,
363
+ 114, 114, 114, 43, 114, 0, 114, 114,
364
+ 114, 43, 114, 0, 114, 114, 114, 43,
365
+ 114, 0, 114, 114, 114, 43, 114, 0,
366
+ 114, 114, 114, 43, 114, 0, 114, 114,
367
+ 114, 43, 114, 0, 114, 114, 114, 43,
368
+ 114, 0, 114, 114, 114, 43, 114, 84,
369
+ 114, 114, 114, 43, 114, 0, 0, 114,
370
+ 114, 114, 43, 114, 0, 114, 114, 114,
371
+ 43, 114, 69, 114, 114, 114, 43, 114,
372
+ 0, 114, 114, 114, 43, 114, 93, 114,
373
+ 114, 114, 43, 114, 0, 114, 114, 114,
374
+ 43, 114, 0, 114, 114, 114, 43, 114,
375
+ 0, 114, 114, 114, 43, 114, 102, 114,
376
+ 114, 114, 43, 55, 55, 55, 51, 55,
377
+ 53, 45, 55, 47, 49, 39, 41, 41,
378
+ 39, 49, 55, 43, 43, 43, 43, 43,
379
+ 43, 43, 43, 43, 43, 43, 43, 43,
380
+ 43, 43, 43, 43, 43, 43, 43, 43,
381
+ 43, 43, 43, 43, 43, 43, 43, 43,
382
+ 43, 43, 43, 43, 43, 43, 43, 43,
383
+ 43, 43, 43, 43, 43, 43, 43, 43,
384
+ 43, 43, 43, 43, 43, 43, 43, 43,
385
+ 43, 43, 43, 43, 43, 43, 43, 43,
386
+ 43, 43, 43, 43, 43, 43, 43, 43,
387
+ 43, 43, 43, 43, 0
242
388
  ]
243
389
 
244
390
  class << self
@@ -252,7 +398,12 @@ self._graphql_lexer_to_state_actions = [
252
398
  0, 0, 0, 0, 0, 0, 0, 0,
253
399
  0, 0, 0, 0, 0, 0, 0, 0,
254
400
  0, 0, 0, 0, 0, 0, 0, 0,
255
- 0, 0, 0, 0, 0, 0, 0, 0
401
+ 0, 0, 0, 0, 0, 0, 0, 0,
402
+ 0, 0, 0, 0, 0, 0, 0, 0,
403
+ 0, 0, 0, 0, 0, 0, 0, 0,
404
+ 0, 0, 0, 0, 0, 0, 0, 0,
405
+ 0, 0, 0, 0, 0, 0, 0, 0,
406
+ 0, 0
256
407
  ]
257
408
 
258
409
  class << self
@@ -266,7 +417,12 @@ self._graphql_lexer_from_state_actions = [
266
417
  0, 0, 0, 0, 0, 0, 0, 0,
267
418
  0, 0, 0, 0, 0, 0, 0, 0,
268
419
  0, 0, 0, 0, 0, 0, 0, 0,
269
- 0, 0, 0, 0, 0, 0, 0, 0
420
+ 0, 0, 0, 0, 0, 0, 0, 0,
421
+ 0, 0, 0, 0, 0, 0, 0, 0,
422
+ 0, 0, 0, 0, 0, 0, 0, 0,
423
+ 0, 0, 0, 0, 0, 0, 0, 0,
424
+ 0, 0, 0, 0, 0, 0, 0, 0,
425
+ 0, 0
270
426
  ]
271
427
 
272
428
  class << self
@@ -274,13 +430,18 @@ class << self
274
430
  private :_graphql_lexer_eof_trans, :_graphql_lexer_eof_trans=
275
431
  end
276
432
  self._graphql_lexer_eof_trans = [
277
- 1, 1, 1, 7, 1, 10, 0, 40,
278
- 1, 41, 42, 43, 46, 46, 43, 42,
279
- 1, 48, 48, 48, 48, 48, 48, 48,
280
- 48, 48, 48, 48, 48, 48, 48, 48,
281
- 48, 48, 48, 48, 48, 48, 48, 48,
282
- 48, 48, 48, 48, 48, 48, 48, 48,
283
- 48, 48, 48, 48, 48, 48, 48, 48
433
+ 555, 555, 555, 543, 555, 545, 0, 546,
434
+ 555, 548, 554, 553, 552, 552, 553, 554,
435
+ 555, 628, 628, 628, 628, 628, 628, 628,
436
+ 628, 628, 628, 628, 628, 628, 628, 628,
437
+ 628, 628, 628, 628, 628, 628, 628, 628,
438
+ 628, 628, 628, 628, 628, 628, 628, 628,
439
+ 628, 628, 628, 628, 628, 628, 628, 628,
440
+ 628, 628, 628, 628, 628, 628, 628, 628,
441
+ 628, 628, 628, 628, 628, 628, 628, 628,
442
+ 628, 628, 628, 628, 628, 628, 628, 628,
443
+ 628, 628, 628, 628, 628, 628, 628, 628,
444
+ 628, 628
284
445
  ]
285
446
 
286
447
  class << self
@@ -302,7 +463,7 @@ end
302
463
  self.graphql_lexer_en_main = 6;
303
464
 
304
465
 
305
- # line 99 "lib/graphql/language/lexer.rl"
466
+ # line 117 "lib/graphql/language/lexer.rl"
306
467
 
307
468
  def self.run_lexer(query_string)
308
469
  data = query_string.unpack("c*")
@@ -316,7 +477,7 @@ self.graphql_lexer_en_main = 6;
316
477
  }
317
478
 
318
479
 
319
- # line 320 "lib/graphql/language/lexer.rb"
480
+ # line 481 "lib/graphql/language/lexer.rb"
320
481
  begin
321
482
  p ||= 0
322
483
  pe ||= data.length
@@ -326,14 +487,14 @@ begin
326
487
  act = 0
327
488
  end
328
489
 
329
- # line 112 "lib/graphql/language/lexer.rl"
490
+ # line 130 "lib/graphql/language/lexer.rl"
330
491
 
331
492
  emit_token = -> (name) {
332
493
  emit(name, ts, te, meta)
333
494
  }
334
495
 
335
496
 
336
- # line 337 "lib/graphql/language/lexer.rb"
497
+ # line 498 "lib/graphql/language/lexer.rb"
337
498
  begin
338
499
  _klen, _trans, _keys, _acts, _nacts = nil
339
500
  _goto_level = 0
@@ -363,7 +524,7 @@ begin
363
524
  begin
364
525
  ts = p
365
526
  end
366
- # line 367 "lib/graphql/language/lexer.rb"
527
+ # line 528 "lib/graphql/language/lexer.rb"
367
528
  end # from state action switch
368
529
  end
369
530
  if _trigger_goto
@@ -418,7 +579,6 @@ ts = p
418
579
  _trans += _klen
419
580
  end
420
581
  end while false
421
- _trans = _graphql_lexer_indicies[_trans]
422
582
  end
423
583
  if _goto_level <= _eof_trans
424
584
  cs = _graphql_lexer_trans_targs[_trans]
@@ -436,137 +596,175 @@ when 2 then
436
596
  te = p+1
437
597
  end
438
598
  when 3 then
439
- # line 42 "lib/graphql/language/lexer.rl"
599
+ # line 51 "lib/graphql/language/lexer.rl"
440
600
  begin
441
601
  act = 1; end
442
602
  when 4 then
443
- # line 43 "lib/graphql/language/lexer.rl"
603
+ # line 52 "lib/graphql/language/lexer.rl"
444
604
  begin
445
605
  act = 2; end
446
606
  when 5 then
447
- # line 44 "lib/graphql/language/lexer.rl"
607
+ # line 53 "lib/graphql/language/lexer.rl"
448
608
  begin
449
609
  act = 3; end
450
610
  when 6 then
451
- # line 45 "lib/graphql/language/lexer.rl"
611
+ # line 54 "lib/graphql/language/lexer.rl"
452
612
  begin
453
613
  act = 4; end
454
614
  when 7 then
455
- # line 46 "lib/graphql/language/lexer.rl"
615
+ # line 55 "lib/graphql/language/lexer.rl"
456
616
  begin
457
617
  act = 5; end
458
618
  when 8 then
459
- # line 47 "lib/graphql/language/lexer.rl"
619
+ # line 56 "lib/graphql/language/lexer.rl"
460
620
  begin
461
621
  act = 6; end
462
622
  when 9 then
463
- # line 48 "lib/graphql/language/lexer.rl"
623
+ # line 57 "lib/graphql/language/lexer.rl"
464
624
  begin
465
625
  act = 7; end
466
626
  when 10 then
467
- # line 49 "lib/graphql/language/lexer.rl"
627
+ # line 58 "lib/graphql/language/lexer.rl"
468
628
  begin
469
629
  act = 8; end
470
630
  when 11 then
471
- # line 50 "lib/graphql/language/lexer.rl"
631
+ # line 59 "lib/graphql/language/lexer.rl"
472
632
  begin
473
633
  act = 9; end
474
634
  when 12 then
475
- # line 51 "lib/graphql/language/lexer.rl"
635
+ # line 60 "lib/graphql/language/lexer.rl"
476
636
  begin
477
637
  act = 10; end
478
638
  when 13 then
479
- # line 59 "lib/graphql/language/lexer.rl"
639
+ # line 61 "lib/graphql/language/lexer.rl"
480
640
  begin
481
- act = 18; end
641
+ act = 11; end
482
642
  when 14 then
483
- # line 65 "lib/graphql/language/lexer.rl"
643
+ # line 62 "lib/graphql/language/lexer.rl"
484
644
  begin
485
- act = 24; end
645
+ act = 12; end
486
646
  when 15 then
487
- # line 75 "lib/graphql/language/lexer.rl"
647
+ # line 63 "lib/graphql/language/lexer.rl"
488
648
  begin
489
- act = 28; end
649
+ act = 13; end
490
650
  when 16 then
491
- # line 52 "lib/graphql/language/lexer.rl"
651
+ # line 64 "lib/graphql/language/lexer.rl"
652
+ begin
653
+ act = 14; end
654
+ when 17 then
655
+ # line 65 "lib/graphql/language/lexer.rl"
656
+ begin
657
+ act = 15; end
658
+ when 18 then
659
+ # line 66 "lib/graphql/language/lexer.rl"
660
+ begin
661
+ act = 16; end
662
+ when 19 then
663
+ # line 67 "lib/graphql/language/lexer.rl"
664
+ begin
665
+ act = 17; end
666
+ when 20 then
667
+ # line 68 "lib/graphql/language/lexer.rl"
668
+ begin
669
+ act = 18; end
670
+ when 21 then
671
+ # line 76 "lib/graphql/language/lexer.rl"
672
+ begin
673
+ act = 26; end
674
+ when 22 then
675
+ # line 83 "lib/graphql/language/lexer.rl"
676
+ begin
677
+ act = 33; end
678
+ when 23 then
679
+ # line 93 "lib/graphql/language/lexer.rl"
680
+ begin
681
+ act = 37; end
682
+ when 24 then
683
+ # line 69 "lib/graphql/language/lexer.rl"
492
684
  begin
493
685
  te = p+1
494
686
  begin emit_token.call(:RCURLY) end
495
687
  end
496
- when 17 then
497
- # line 53 "lib/graphql/language/lexer.rl"
688
+ when 25 then
689
+ # line 70 "lib/graphql/language/lexer.rl"
498
690
  begin
499
691
  te = p+1
500
692
  begin emit_token.call(:LCURLY) end
501
693
  end
502
- when 18 then
503
- # line 54 "lib/graphql/language/lexer.rl"
694
+ when 26 then
695
+ # line 71 "lib/graphql/language/lexer.rl"
504
696
  begin
505
697
  te = p+1
506
698
  begin emit_token.call(:RPAREN) end
507
699
  end
508
- when 19 then
509
- # line 55 "lib/graphql/language/lexer.rl"
700
+ when 27 then
701
+ # line 72 "lib/graphql/language/lexer.rl"
510
702
  begin
511
703
  te = p+1
512
704
  begin emit_token.call(:LPAREN) end
513
705
  end
514
- when 20 then
515
- # line 56 "lib/graphql/language/lexer.rl"
706
+ when 28 then
707
+ # line 73 "lib/graphql/language/lexer.rl"
516
708
  begin
517
709
  te = p+1
518
710
  begin emit_token.call(:RBRACKET) end
519
711
  end
520
- when 21 then
521
- # line 57 "lib/graphql/language/lexer.rl"
712
+ when 29 then
713
+ # line 74 "lib/graphql/language/lexer.rl"
522
714
  begin
523
715
  te = p+1
524
716
  begin emit_token.call(:LBRACKET) end
525
717
  end
526
- when 22 then
527
- # line 58 "lib/graphql/language/lexer.rl"
718
+ when 30 then
719
+ # line 75 "lib/graphql/language/lexer.rl"
528
720
  begin
529
721
  te = p+1
530
722
  begin emit_token.call(:COLON) end
531
723
  end
532
- when 23 then
533
- # line 59 "lib/graphql/language/lexer.rl"
724
+ when 31 then
725
+ # line 76 "lib/graphql/language/lexer.rl"
534
726
  begin
535
727
  te = p+1
536
728
  begin emit_string(ts + 1, te - 1, meta) end
537
729
  end
538
- when 24 then
539
- # line 60 "lib/graphql/language/lexer.rl"
730
+ when 32 then
731
+ # line 77 "lib/graphql/language/lexer.rl"
540
732
  begin
541
733
  te = p+1
542
734
  begin emit_token.call(:VAR_SIGN) end
543
735
  end
544
- when 25 then
545
- # line 61 "lib/graphql/language/lexer.rl"
736
+ when 33 then
737
+ # line 78 "lib/graphql/language/lexer.rl"
546
738
  begin
547
739
  te = p+1
548
740
  begin emit_token.call(:DIR_SIGN) end
549
741
  end
550
- when 26 then
551
- # line 62 "lib/graphql/language/lexer.rl"
742
+ when 34 then
743
+ # line 79 "lib/graphql/language/lexer.rl"
552
744
  begin
553
745
  te = p+1
554
746
  begin emit_token.call(:ELLIPSIS) end
555
747
  end
556
- when 27 then
557
- # line 63 "lib/graphql/language/lexer.rl"
748
+ when 35 then
749
+ # line 80 "lib/graphql/language/lexer.rl"
558
750
  begin
559
751
  te = p+1
560
752
  begin emit_token.call(:EQUALS) end
561
753
  end
562
- when 28 then
563
- # line 64 "lib/graphql/language/lexer.rl"
754
+ when 36 then
755
+ # line 81 "lib/graphql/language/lexer.rl"
564
756
  begin
565
757
  te = p+1
566
758
  begin emit_token.call(:BANG) end
567
759
  end
568
- when 29 then
569
- # line 67 "lib/graphql/language/lexer.rl"
760
+ when 37 then
761
+ # line 82 "lib/graphql/language/lexer.rl"
762
+ begin
763
+ te = p+1
764
+ begin emit_token.call(:PIPE) end
765
+ end
766
+ when 38 then
767
+ # line 85 "lib/graphql/language/lexer.rl"
570
768
  begin
571
769
  te = p+1
572
770
  begin
@@ -574,61 +772,61 @@ te = p+1
574
772
  meta[:col] = 1
575
773
  end
576
774
  end
577
- when 30 then
578
- # line 75 "lib/graphql/language/lexer.rl"
775
+ when 39 then
776
+ # line 93 "lib/graphql/language/lexer.rl"
579
777
  begin
580
778
  te = p+1
581
779
  begin emit_token.call(:UNKNOWN_CHAR) end
582
780
  end
583
- when 31 then
584
- # line 42 "lib/graphql/language/lexer.rl"
781
+ when 40 then
782
+ # line 51 "lib/graphql/language/lexer.rl"
585
783
  begin
586
784
  te = p
587
785
  p = p - 1; begin emit_token.call(:INT) end
588
786
  end
589
- when 32 then
590
- # line 43 "lib/graphql/language/lexer.rl"
787
+ when 41 then
788
+ # line 52 "lib/graphql/language/lexer.rl"
591
789
  begin
592
790
  te = p
593
791
  p = p - 1; begin emit_token.call(:FLOAT) end
594
792
  end
595
- when 33 then
596
- # line 65 "lib/graphql/language/lexer.rl"
793
+ when 42 then
794
+ # line 83 "lib/graphql/language/lexer.rl"
597
795
  begin
598
796
  te = p
599
797
  p = p - 1; begin emit_token.call(:IDENTIFIER) end
600
798
  end
601
- when 34 then
602
- # line 72 "lib/graphql/language/lexer.rl"
799
+ when 43 then
800
+ # line 90 "lib/graphql/language/lexer.rl"
603
801
  begin
604
802
  te = p
605
803
  p = p - 1; begin meta[:col] += te - ts end
606
804
  end
607
- when 35 then
608
- # line 73 "lib/graphql/language/lexer.rl"
805
+ when 44 then
806
+ # line 91 "lib/graphql/language/lexer.rl"
609
807
  begin
610
808
  te = p
611
809
  p = p - 1; begin meta[:col] += te - ts end
612
810
  end
613
- when 36 then
614
- # line 75 "lib/graphql/language/lexer.rl"
811
+ when 45 then
812
+ # line 93 "lib/graphql/language/lexer.rl"
615
813
  begin
616
814
  te = p
617
815
  p = p - 1; begin emit_token.call(:UNKNOWN_CHAR) end
618
816
  end
619
- when 37 then
620
- # line 42 "lib/graphql/language/lexer.rl"
817
+ when 46 then
818
+ # line 51 "lib/graphql/language/lexer.rl"
621
819
  begin
622
820
  begin p = ((te))-1; end
623
821
  begin emit_token.call(:INT) end
624
822
  end
625
- when 38 then
626
- # line 75 "lib/graphql/language/lexer.rl"
823
+ when 47 then
824
+ # line 93 "lib/graphql/language/lexer.rl"
627
825
  begin
628
826
  begin p = ((te))-1; end
629
827
  begin emit_token.call(:UNKNOWN_CHAR) end
630
828
  end
631
- when 39 then
829
+ when 48 then
632
830
  # line 1 "NONE"
633
831
  begin
634
832
  case act
@@ -662,18 +860,42 @@ when 39 then
662
860
  when 10 then
663
861
  begin begin p = ((te))-1; end
664
862
  emit_token.call(:SUBSCRIPTION) end
863
+ when 11 then
864
+ begin begin p = ((te))-1; end
865
+ emit_token.call(:SCHEMA) end
866
+ when 12 then
867
+ begin begin p = ((te))-1; end
868
+ emit_token.call(:SCALAR) end
869
+ when 13 then
870
+ begin begin p = ((te))-1; end
871
+ emit_token.call(:TYPE) end
872
+ when 14 then
873
+ begin begin p = ((te))-1; end
874
+ emit_token.call(:IMPLEMENTS) end
875
+ when 15 then
876
+ begin begin p = ((te))-1; end
877
+ emit_token.call(:INTERFACE) end
878
+ when 16 then
879
+ begin begin p = ((te))-1; end
880
+ emit_token.call(:UNION) end
881
+ when 17 then
882
+ begin begin p = ((te))-1; end
883
+ emit_token.call(:ENUM) end
665
884
  when 18 then
666
885
  begin begin p = ((te))-1; end
886
+ emit_token.call(:INPUT) end
887
+ when 26 then
888
+ begin begin p = ((te))-1; end
667
889
  emit_string(ts + 1, te - 1, meta) end
668
- when 24 then
890
+ when 33 then
669
891
  begin begin p = ((te))-1; end
670
892
  emit_token.call(:IDENTIFIER) end
671
- when 28 then
893
+ when 37 then
672
894
  begin begin p = ((te))-1; end
673
895
  emit_token.call(:UNKNOWN_CHAR) end
674
896
  end
675
897
  end
676
- # line 677 "lib/graphql/language/lexer.rb"
898
+ # line 899 "lib/graphql/language/lexer.rb"
677
899
  end # action switch
678
900
  end
679
901
  end
@@ -693,7 +915,7 @@ when 0 then
693
915
  # line 1 "NONE"
694
916
  begin
695
917
  ts = nil; end
696
- # line 697 "lib/graphql/language/lexer.rb"
918
+ # line 919 "lib/graphql/language/lexer.rb"
697
919
  end # to state action switch
698
920
  end
699
921
  if _trigger_goto
@@ -720,7 +942,7 @@ end
720
942
  end
721
943
  end
722
944
 
723
- # line 118 "lib/graphql/language/lexer.rl"
945
+ # line 136 "lib/graphql/language/lexer.rl"
724
946
 
725
947
  meta[:tokens]
726
948
  end