lib/graphql/batch/mutation_execution_strategy.rb in graphql-batch-0.2.5 vs lib/graphql/batch/mutation_execution_strategy.rb in graphql-batch-0.3.0
- old
+ new
@@ -1,19 +1,18 @@
module GraphQL::Batch
class MutationExecutionStrategy < GraphQL::Batch::ExecutionStrategy
+ attr_accessor :enable_batching
+
class FieldResolution < GraphQL::Batch::ExecutionStrategy::FieldResolution
def get_finished_value(raw_value)
- return super if execution_context.strategy.disable_batching
+ strategy = execution_context.strategy
+ return super if strategy.enable_batching
- raw_value = GraphQL::Batch::Promise.resolve(raw_value).sync
-
- execution_context.strategy.disable_batching = true
begin
- result = super(raw_value)
- GraphQL::Batch::Executor.current.wait_all
- result
+ strategy.enable_batching = true
+ strategy.deep_sync(Promise.sync(super))
ensure
- execution_context.strategy.disable_batching = false
+ strategy.enable_batching = false
end
end
end
end
end