def resolve_type(type, object, ctx = :__undefined__)
      check_resolved_type(type, object, ctx) do |ok_type, ok_object, ok_ctx|
        if @resolve_type_proc.nil?
          raise(NotImplementedError, "Can't determine GraphQL type for: #{ok_object.inspect}, define `resolve_type (type, obj, ctx) -> { ... }` inside `Schema.define`.")
        end
        @resolve_type_proc.call(ok_type, ok_object, ok_ctx)
      end
    end
def resolve_type(type, object, ctx = :__undefined__)
      check_resolved_type(type, object, ctx) do |ok_type, ok_object, ok_ctx|
        if @resolve_type_proc.nil?
          raise(NotImplementedError, "Can't determine GraphQL type for: #{ok_object.inspect}, define `resolve_type (type, obj, ctx) -> { ... }` inside `Schema.define`.")
        end
        @resolve_type_proc.call(ok_type, ok_object, ok_ctx)
      end
    end
Determine the GraphQL type for a given object.
 This is required for unions and interfaces (including Relay's `Node` interface)
 @see [GraphQL::Schema::Warden] Restricted access to members of a schema
 @param type [GraphQL::UnionType, GraphQL:InterfaceType] the abstract type which is being resolved
 @param object [Any] An application object which GraphQL is currently resolving on
 @param ctx [GraphQL::Query::Context] The context for the current query
 @return [GraphQL::ObjectType] The type for exposing `object` in GraphQL