Class: GraphQL::StaticValidation::LiteralValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/fragment_client.rb

Overview

Accepts an inline object literal for the JSON-shaped scalars, which graphql-ruby otherwise rejects -- and which every parameters: {...} is.

Instance Method Summary collapse

Instance Method Details

#recursive_validate_oldObject



18
# File 'lib/fragment_client.rb', line 18

alias recursive_validate_old recursively_validate

#recursively_validate(ast_value, type) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/fragment_client.rb', line 19

def recursively_validate(ast_value, type)
  res = catch(:invalid) do
    recursive_validate_old(ast_value, type)
  end
  if !res.valid? && type.kind.scalar? && ast_value.is_a?(GraphQL::Language::Nodes::InputObject)
    maybe_raise_if_invalid(ast_value) do
      %w[JSON JSONObject Any].include?(type.graphql_name) ? @valid_response : @invalid_response
    end
  else
    res
  end
end