graphql-platform icon indicating copy to clipboard operation
graphql-platform copied to clipboard

Retain original location of variable on value node rewrite

Open N-Olbert opened this issue 3 months ago • 0 comments

This is a follow-up of #8677 Summary of the changes (Less than 80 chars)

  • Retain location of the original VariableNode during rewrite
  • Detail 2

Closes #bugnumber (in this specific format)

This is a follow-up of #8677 and resolves the issue discussed during review with @tobias-tengler that for variables, the location always points to the outermost argument.

For example in

query($v: String!) { fieldWithNestedObjectInput(arg: { inner: { id: $v } } } the location points to arg: { inner: { id: $v } }.

With this PR, the location of the original VariableNode is retained when rewriting it to the corresponding ValueNode, solving the issue so that the example above will correctly point to $v.

I am not sure whether it is acceptable to introduce a new method into such a central interface like IValueNode; alternatively, it could be extracted into a separate interface (e.g., ILocationAdjustable).

N-Olbert avatar Sep 25 '25 20:09 N-Olbert