Skip to content

Commit f90b66d

Browse files
committed
Fix for resolved arguments
1 parent ad138fd commit f90b66d

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

lib/graphql/execution/interpreter/runtime.rb

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,6 @@ def evaluate_selection(result_name, field_ast_nodes_or_ast_node, owner_object, o
455455
evaluate_selection_with_args(resolved_arguments, field_defn, ast_node, field_ast_nodes, owner_type, object, is_eager_field, result_name, selections_result, parent_object, return_type)
456456
end
457457
else
458-
# TODO remove all arguments(...) usages?
459458
@query.arguments_cache.dataload_for(ast_node, field_defn, object) do |resolved_arguments|
460459
evaluate_selection_with_args(resolved_arguments, field_defn, ast_node, field_ast_nodes, owner_type, object, is_eager_field, result_name, selections_result, parent_object, return_type)
461460
end
@@ -469,9 +468,13 @@ def evaluate_selection_with_args(arguments, field_defn, ast_node, field_ast_node
469468
next
470469
end
471470

472-
kwarg_arguments = if resolved_arguments.empty? && field_defn.extras.empty?
473-
# We can avoid allocating the `{ Symbol => Object }` hash in this case
474-
NO_ARGS
471+
kwarg_arguments = if field_defn.extras.empty?
472+
if resolved_arguments.empty?
473+
# We can avoid allocating the `{ Symbol => Object }` hash in this case
474+
NO_ARGS
475+
else
476+
resolved_arguments.keyword_arguments
477+
end
475478
else
476479
# Bundle up the extras, then make a new arguments instance
477480
# that includes the extras, too.
@@ -510,7 +513,7 @@ def evaluate_selection_with_args(arguments, field_defn, ast_node, field_ast_node
510513
resolved_arguments.keyword_arguments
511514
end
512515

513-
evaluate_selection_with_resolved_keyword_args(kwarg_arguments, arguments, field_defn, ast_node, field_ast_nodes, owner_type, object, is_eager_field, result_name, selection_result, parent_object, return_type)
516+
evaluate_selection_with_resolved_keyword_args(kwarg_arguments, resolved_arguments, field_defn, ast_node, field_ast_nodes, owner_type, object, is_eager_field, result_name, selection_result, parent_object, return_type)
514517
end
515518
end
516519

0 commit comments

Comments
 (0)