Method: GraphQL::Schema::List#validate_non_null_input

Defined in:
lib/graphql/schema/list.rb

#validate_non_null_input(value, ctx, max_errors: nil) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/graphql/schema/list.rb', line 48

def validate_non_null_input(value, ctx, max_errors: nil)
  result = GraphQL::Query::InputValidationResult.new
  ensure_array(value).each_with_index do |item, index|
    item_result = of_type.validate_input(item, ctx)
    unless item_result.valid?
      if max_errors
        if max_errors == 0
          add_max_errors_reached_message(result)
          break
        end

        max_errors -= 1
      end

      result.merge_result!(index, item_result)
    end
  end
  result.valid? ? nil : result
end