class GraphQL::StaticValidation::FragmentsAreOnCompositeTypes
def validate(context)
def validate(context) HAS_TYPE_CONDITION.each do |node_class| context.visitor[node_class] << -> (node, parent) { validate_type_is_composite(node, context) } end end
def validate_type_is_composite(node, context)
def validate_type_is_composite(node, context) type_name = node.type type_def = context.schema.types[type_name] if type_def.nil? || !type_def.kind.composite? context.errors << message("Invalid fragment on type #{type_name} (must be Union, Interface or Object)", node) GraphQL::Language::Visitor::SKIP end end