lib/graphql/schema/field/connection_extension.rb in graphql-1.11.5 vs lib/graphql/schema/field/connection_extension.rb in graphql-1.11.6
- old
+ new
@@ -16,14 +16,15 @@
next_args = arguments.dup
next_args.delete(:first)
next_args.delete(:last)
next_args.delete(:before)
next_args.delete(:after)
- yield(object, next_args)
+ yield(object, next_args, arguments)
end
def after_resolve(value:, object:, arguments:, context:, memo:)
+ original_arguments = memo
# rename some inputs to avoid conflicts inside the block
maybe_lazy = value
value = nil
context.schema.after_lazy(maybe_lazy) do |resolved_value|
value = resolved_value
@@ -35,31 +36,31 @@
nil
elsif value.is_a?(GraphQL::Pagination::Connection)
# update the connection with some things that may not have been provided
value.context ||= context
value.parent ||= object.object
- value.first_value ||= arguments[:first]
- value.after_value ||= arguments[:after]
- value.last_value ||= arguments[:last]
- value.before_value ||= arguments[:before]
+ value.first_value ||= original_arguments[:first]
+ value.after_value ||= original_arguments[:after]
+ value.last_value ||= original_arguments[:last]
+ value.before_value ||= original_arguments[:before]
if field.has_max_page_size? && !value.has_max_page_size_override?
value.max_page_size = field.max_page_size
end
if context.schema.new_connections? && (custom_t = context.schema.connections.edge_class_for_field(@field))
value.edge_class = custom_t
end
value
elsif context.schema.new_connections?
wrappers = context.namespace(:connections)[:all_wrappers] ||= context.schema.connections.all_wrappers
- context.schema.connections.wrap(field, object.object, value, arguments, context, wrappers: wrappers)
+ context.schema.connections.wrap(field, object.object, value, original_arguments, context, wrappers: wrappers)
else
if object.is_a?(GraphQL::Schema::Object)
object = object.object
end
connection_class = GraphQL::Relay::BaseConnection.connection_for_nodes(value)
connection_class.new(
value,
- arguments,
+ original_arguments,
field: field,
max_page_size: field.max_page_size,
parent: object,
context: context,
)