Class: GraphQL::Stitching::ExportSelection

Inherits:
Object
  • Object
show all
Defined in:
lib/graphql/stitching/export_selection.rb

Overview

Builds hidden selection fields added by stitiching code, used to request operational data about resolved objects.

Constant Summary collapse

EXPORT_PREFIX =
"_export_"

Class Method Summary collapse

Class Method Details

.key(name) ⇒ Object



19
20
21
# File 'lib/graphql/stitching/export_selection.rb', line 19

def key(name)
  "#{EXPORT_PREFIX}#{name}"
end

.key?(name) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
16
17
# File 'lib/graphql/stitching/export_selection.rb', line 13

def key?(name)
  return false unless name

  name.start_with?(EXPORT_PREFIX)
end

.key_node(field_name) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/graphql/stitching/export_selection.rb', line 23

def key_node(field_name)
  if Util.graphql_version?(2, 2)
    GraphQL::Language::Nodes::Field.new(field_alias: key(field_name), name: field_name)
  else
    GraphQL::Language::Nodes::Field.new(alias: key(field_name), name: field_name)
  end
end

.typename_nodeObject



31
32
33
# File 'lib/graphql/stitching/export_selection.rb', line 31

def typename_node
  @typename_node ||= key_node("__typename")
end