apollo-rs icon indicating copy to clipboard operation
apollo-rs copied to clipboard

Pruning unused declarations after mutation

Open goto-bus-stop opened this issue 1 year ago • 2 comments

When you mutate an executable document, fragments or variables that were previously in use may become unused. Currently the user is responsible for tracking this and pruning the now-unused definitions, otherwise the mutated document is invalid. It's not that trivial to do given that usages may occur anywhere in the document. I think it would be better if apollo-rs can do this. It may just have to be something like document.prune_unused() at the minimum, but maybe we can figure out something more ergonomic (eg. combining validation and pruning into a single method, since you would normally want to do this at the point where you finish mutating and turn your document into a Valid<ExecutableDocument>)

goto-bus-stop avatar Mar 06 '24 09:03 goto-bus-stop