class GraphQL::Analysis::AST::QueryDepth

def initialize(query)

def initialize(query)
  @max_depth = 0
  @current_depth = 0
  super
end

def on_enter_field(node, parent, visitor)

def on_enter_field(node, parent, visitor)
  return if visitor.skipping? || visitor.visiting_fragment_definition?
  @current_depth += 1
end

def on_leave_field(node, parent, visitor)

def on_leave_field(node, parent, visitor)
  return if visitor.skipping? || visitor.visiting_fragment_definition?
  if @max_depth < @current_depth
    @max_depth = @current_depth
  end
  @current_depth -= 1
end

def result

def result
  @max_depth
end