class GraphQL::Analysis::AST::FieldUsage
def initialize(query)
def initialize(query) super @used_fields = Set.new @used_deprecated_fields = Set.new end
def on_leave_field(node, parent, visitor)
def on_leave_field(node, parent, visitor) field_defn = visitor.field_definition field = "#{visitor.parent_type_definition.graphql_name}.#{field_defn.graphql_name}" @used_fields << field @used_deprecated_fields << field if field_defn.deprecation_reason end
def result
def result { used_fields: @used_fields.to_a, used_deprecated_fields: @used_deprecated_fields.to_a } end