From 4372c8d8d1b3bcfe2580f58d295d2b97d6bf976e Mon Sep 17 00:00:00 2001 From: Ivan Goncharov Date: Sat, 13 Mar 2021 14:49:14 +0200 Subject: [PATCH] printer: simplify printing of query short form --- src/language/printer.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/language/printer.js b/src/language/printer.js index 551befb901..334742d967 100644 --- a/src/language/printer.js +++ b/src/language/printer.js @@ -26,16 +26,19 @@ const printDocASTReducer: any = { OperationDefinition: { leave(node) { - const op = node.operation; - const name = node.name; const varDefs = wrap('(', join(node.variableDefinitions, ', '), ')'); - const directives = join(node.directives, ' '); - const selectionSet = node.selectionSet; + const prefix = join( + [ + node.operation, + join([node.name, varDefs]), + join(node.directives, ' '), + ], + ' ', + ); + // Anonymous queries with no directives or variable definitions can use // the query short form. - return !name && !directives && !varDefs && op === 'query' - ? selectionSet - : join([op, join([name, varDefs]), directives, selectionSet], ' '); + return (prefix === 'query' ? '' : prefix + ' ') + node.selectionSet; }, },