lib/batch_loader/graphql.rb in batch-loader-2.0.2 vs lib/batch_loader/graphql.rb in batch-loader-2.0.3

- old
+ new

@@ -1,13 +1,22 @@ # frozen_string_literal: true class BatchLoader class GraphQL + module Trace + def execute_field(**_data) + result = yield + result.respond_to?(:__sync) ? BatchLoader::GraphQL.wrap_with_warning(result) : result + end + end + def self.use(schema_definition) schema_definition.lazy_resolve(BatchLoader::GraphQL, :sync) # in cases when BatchLoader is being used instead of BatchLoader::GraphQL - if schema_definition.respond_to?(:interpreter?) && schema_definition.interpreter? + if schema_definition.respond_to?(:trace_with) + schema_definition.trace_with(Trace) + elsif schema_definition.respond_to?(:interpreter?) && schema_definition.interpreter? schema_definition.tracer(self) else schema_definition.instrument(:field, self) end end