Sha256: bc406e6c86546289ede3a620d8a7faf4a49b5ba0df755533c53e4a0bee6ffd5c

Contents?: true

Size: 1.56 KB

Versions: 49

Compression:

Stored size: 1.56 KB

Contents

# frozen_string_literal: true
module GraphQL
  # Error raised when the value provided for a field
  # can't be resolved to one of the possible types for the field.
  class UnresolvedTypeError < GraphQL::RuntimeTypeError
    # @return [Object] The runtime value which couldn't be successfully resolved with `resolve_type`
    attr_reader :value

    # @return [GraphQL::Field] The field whose value couldn't be resolved (`field.type` is type which couldn't be resolved)
    attr_reader :field

    # @return [GraphQL::BaseType] The owner of `field`
    attr_reader :parent_type

    # @return [Object] The return of {Schema#resolve_type} for `value`
    attr_reader :resolved_type

    # @return [Array<GraphQL::BaseType>] The allowed options for resolving `value` to `field.type`
    attr_reader :possible_types

    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.name}\" on \"#{parent_type}\" could not be resolved to \"#{field.type}\". " \
        "(Received: `#{resolved_type.inspect}`, Expected: [#{possible_types.map(&:inspect).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
  end
end

Version data entries

49 entries across 49 versions & 1 rubygems

Version Path
graphql-1.8.18 lib/graphql/unresolved_type_error.rb
graphql-1.9.21 lib/graphql/unresolved_type_error.rb
graphql-1.9.20 lib/graphql/unresolved_type_error.rb
graphql-1.9.19 lib/graphql/unresolved_type_error.rb
graphql-1.9.18 lib/graphql/unresolved_type_error.rb
graphql-1.9.17 lib/graphql/unresolved_type_error.rb
graphql-1.9.16 lib/graphql/unresolved_type_error.rb
graphql-1.9.15 lib/graphql/unresolved_type_error.rb
graphql-1.9.14 lib/graphql/unresolved_type_error.rb
graphql-1.10.0.pre1 lib/graphql/unresolved_type_error.rb
graphql-1.9.13 lib/graphql/unresolved_type_error.rb
graphql-1.9.12 lib/graphql/unresolved_type_error.rb
graphql-1.9.11 lib/graphql/unresolved_type_error.rb
graphql-1.9.10 lib/graphql/unresolved_type_error.rb
graphql-1.9.9 lib/graphql/unresolved_type_error.rb
graphql-1.9.8 lib/graphql/unresolved_type_error.rb
graphql-1.9.7 lib/graphql/unresolved_type_error.rb
graphql-1.9.6 lib/graphql/unresolved_type_error.rb
graphql-1.9.5 lib/graphql/unresolved_type_error.rb
graphql-1.9.4 lib/graphql/unresolved_type_error.rb