Exception: GraphQL::UnresolvedTypeError

Inherits:
RuntimeTypeError show all
Defined in:
lib/graphql/unresolved_type_error.rb

Overview

Error raised when the value provided for a field can't be resolved to one of the possible types for the field.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value, field, parent_type, resolved_type, possible_types) ⇒ UnresolvedTypeError



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/graphql/unresolved_type_error.rb', line 21

def initialize(value, field, parent_type, resolved_type, possible_types)
  @value = value
  @field = field
  @parent_type = parent_type
  @resolved_type = resolved_type
  @possible_types = possible_types
  message = "The value from \"#{field.graphql_name}\" on \"#{parent_type.graphql_name}\" could not be resolved to \"#{field.type.to_type_signature}\". " \
    "(Received: `#{resolved_type.inspect}`, Expected: [#{possible_types.map(&:graphql_name).join(", ")}]) " \
    "Make sure you have defined a `resolve_type` proc on your schema and that value `#{value.inspect}` " \
    "gets resolved to a valid type. You may need to add your type to `orphan_types` if it implements an " \
    "interface but isn't a return type of any other field."
  super(message)
end

Instance Attribute Details

#fieldGraphQL::Field (readonly)



10
11
12
# File 'lib/graphql/unresolved_type_error.rb', line 10

def field
  @field
end

#parent_typeGraphQL::BaseType (readonly)



13
14
15
# File 'lib/graphql/unresolved_type_error.rb', line 13

def parent_type
  @parent_type
end

#possible_typesArray<GraphQL::BaseType> (readonly)



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

def possible_types
  @possible_types
end

#resolved_typeObject (readonly)



16
17
18
# File 'lib/graphql/unresolved_type_error.rb', line 16

def resolved_type
  @resolved_type
end

#valueObject (readonly)



7
8
9
# File 'lib/graphql/unresolved_type_error.rb', line 7

def value
  @value
end