Sha256: f8577c8aaec89fdcfb1fe58ceb19221d1a2e365b6d1c3ae9118e11fba6a031e4
Contents?: true
Size: 880 Bytes
Versions: 1
Compression:
Stored size: 880 Bytes
Contents
# frozen_string_literal: true module GraphQL module StaticValidation module FragmentsAreOnCompositeTypes def on_fragment_definition(node, parent) validate_type_is_composite(node) && super end def on_inline_fragment(node, parent) validate_type_is_composite(node) && super end private def validate_type_is_composite(node) node_type = node.type if node_type.nil? # Inline fragment on the same type true else type_name = node_type.to_query_string type_def = context.warden.get_type(type_name) if type_def.nil? || !type_def.kind.composite? add_error("Invalid fragment on type #{type_name} (must be Union, Interface or Object)", node) false else true end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
graphql-1.9.0.pre1 | lib/graphql/static_validation/rules/fragments_are_on_composite_types.rb |