43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/graphql/schema/scalar.rb', line 43
def validate_non_null_input(value, ctx, max_errors: nil)
coerced_result = begin
coerce_input(value, ctx)
rescue GraphQL::CoercionError => err
err
rescue StandardError => err
ctx.query.handle_or_reraise(err)
end
if coerced_result.nil?
Query::InputValidationResult.from_problem("Could not coerce value #{GraphQL::Language.serialize(value)} to #{graphql_name}")
elsif coerced_result.is_a?(GraphQL::CoercionError)
Query::InputValidationResult.from_problem(coerced_result.message, message: coerced_result.message, extensions: coerced_result.extensions)
else
nil
end
end
|