module GraphQL::Analysis::AST
def analyze_query(query, analyzers, multiplex_analyzers: [])
-
(Array
- Results from those analyzers)
Parameters:
-
analyzers
(Array
) -- -
query
(GraphQL::Query
) --
def analyze_query(query, analyzers, multiplex_analyzers: []) query.trace("analyze_query", { query: query }) do query_analyzers = analyzers .map { |analyzer| analyzer.new(query) } .select { |analyzer| analyzer.analyze? } analyzers_to_run = query_analyzers + multiplex_analyzers if analyzers_to_run.any? visitor = GraphQL::Analysis::AST::Visitor.new( query: query, analyzers: analyzers_to_run ) visitor.visit if visitor.rescued_errors.any? visitor.rescued_errors else query_analyzers.map(&:result) end else [] end end end