class GraphQL::StaticValidation::VariablesAreInputTypes
def get_type_name(ast_type)
def get_type_name(ast_type) if ast_type.respond_to?(:of_type) get_type_name(ast_type.of_type) else ast_type.name end end
def validate(context)
def validate(context) context.visitor[GraphQL::Language::Nodes::VariableDefinition] << -> (node, parent) { validate_is_input_type(node, context) } end
def validate_is_input_type(node, context)
def validate_is_input_type(node, context) type_name = get_type_name(node.type) type = context.schema.types[type_name] if !type.kind.input? context.errors << message("#{type.name} isn't a valid input type (on $#{node.name})", node, context: context) end end