class GraphQL::Analysis::QueryComplexity::TypeComplexity
Selections on an object may apply differently depending on what is actually returned by the resolve function. Find the maximum possible complexity among those combinations.
Public Class Methods
new()
click to toggle source
# File lib/graphql/analysis/query_complexity.rb, line 70 def initialize @types = Hash.new(0) end
Public Instance Methods
max_possible_complexity()
click to toggle source
Return the max possible complexity for types in this selection
# File lib/graphql/analysis/query_complexity.rb, line 75 def max_possible_complexity @types.each_value.max || 0 end
merge(type_defn, complexity)
click to toggle source
Store the complexity for the branch on `type_defn`. Later we will see if this is the max complexity among branches.
# File lib/graphql/analysis/query_complexity.rb, line 81 def merge(type_defn, complexity) @types[type_defn] += complexity end