module GraphQL::Execution::Lookahead::FieldHelpers
TODO dedup with interpreter
Public Instance Methods
get_field(schema, owner_type, field_name )
click to toggle source
# File lib/graphql/execution/lookahead.rb, line 309 def get_field(schema, owner_type, field_name ) field_defn = owner_type.get_field(field_name) field_defn ||= if owner_type == schema.query.metadata[:type_class] && (entry_point_field = schema.introspection_system.entry_point(name: field_name)) entry_point_field.metadata[:type_class] elsif (dynamic_field = schema.introspection_system.dynamic_field(name: field_name)) dynamic_field.metadata[:type_class] else raise "Invariant: no field for #{owner_type}.#{field_name}" end field_defn end