Open lrlna opened 3 years ago
we might need to create a workaround to create a file using serde with the applicable modifications, write it, and then pass it to the macro. Not yet certain on the exact solution, so we might want to set aside a bit of time to spike this before jumping into an implementation.
Unfortunately I think we'd need to write a query file with each different possible combination of flags since the query files need to be present on the filesystem at compile time - definitely the most gnarly part about adding these flags!
Description
Current JavaScript implementation supports several flags, which rover should support as well:
descriptions
specifiedByUrl
directiveIsRepeatable
schemaDescription
inputValueDeprecation
Detailed design
The bulk of the work will have to happen in
rover-client
's introspection query. Most of the above options need to be incorporated inintrospection_query.graphql
part of the options we pass tographql_client
's macro:The exact modifications can be found here.
Because
graphql_client
requires an existing file to be passed toquery_path
, we might need to create a workaround to create a file using serde with the applicable modifications, write it, and then pass it to the macro. Not yet certain on the exact solution, so we might want to set aside a bit of time to spike this before jumping into an implementation.This issue is part of introspection work discussed in this internal scope document.