class GraphQL::Execution::Execute
@api private
A valid execution strategy
def self.begin_multiplex(_multiplex)
def self.begin_multiplex(_multiplex) end
def self.begin_query(query, _multiplex)
def self.begin_query(query, _multiplex) ExecutionFunctions.resolve_root_selection(query) end
def self.finish_multiplex(results, multiplex)
def self.finish_multiplex(results, multiplex) ExecutionFunctions.lazy_resolve_root_selection(results, multiplex: multiplex) end
def self.finish_query(query, _multiplex)
def self.finish_query(query, _multiplex) { "data" => Execution::Flatten.call(query.context) } end
def execute(ast_operation, root_type, query)
def execute(ast_operation, root_type, query) result = resolve_root_selection(query) lazy_resolve_root_selection(result, **{query: query}) GraphQL::Execution::Flatten.call(query.context) end