Skip to content

Commit a0fb3e7

Browse files
committed
prints independent operation name
1 parent b470b16 commit a0fb3e7

File tree

5 files changed

+16
-0
lines changed

5 files changed

+16
-0
lines changed

packages/graphql_codegen/lib/src/printer/base/operation.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,19 @@ import 'package:graphql_codegen/src/printer/clients/graphql.dart';
66
import 'package:graphql_codegen/src/printer/clients/graphql_flutter.dart';
77
import 'package:graphql_codegen/src/printer/context.dart';
88
import 'package:graphql_codegen/src/config/config.dart';
9+
import 'package:graphql_codegen/src/printer/utils.dart';
910

1011
List<Spec> printOperationSpecs(PrintContext<ContextOperation> elementContext) {
1112
final context = elementContext.context;
1213
final operation = context.operation;
1314
final clients = context.config.clients;
15+
final operationName = context.operation?.name;
16+
17+
1418
return [
19+
if (context.config.setOperationName && operationName != null)
20+
Code('const ${elementContext.namePrinter
21+
.printOperationNameDefinition(context.path)} = ${literalString(operationName.value)};'),
1522
if (context.hasVariables) ...printVariableClasses(elementContext),
1623
printContext(elementContext),
1724
...printContextExtension(elementContext),

packages/graphql_codegen/lib/src/printer/utils.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,9 @@ class NamePrinter {
126126
String printGraphQLFlutterClientOperationName(Name name) =>
127127
"${printName(name)}${separator}Widget";
128128

129+
String printOperationNameDefinition(Name name) =>
130+
"operationName${printName(name)}";
131+
129132
String printGraphQLFlutterClientMutationHookResultName(Name name) =>
130133
"${printName(name)}${separator}HookResult";
131134

packages/graphql_codegen/test/assets/issue_191/mutation.graphql.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import 'dart:async';
22
import 'package:gql/ast.dart';
33
import 'package:graphql/client.dart' as graphql;
44

5+
const operationNameMutation$M = 'M';
6+
57
class Mutation$M {
68
Mutation$M({
79
this.bar,

packages/graphql_codegen/test/assets/issue_191/query.graphql.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import 'dart:async';
22
import 'package:gql/ast.dart';
33
import 'package:graphql/client.dart' as graphql;
44

5+
const operationNameQuery$Q = 'Q';
6+
57
class Query$Q {
68
Query$Q({
79
this.foo,

packages/graphql_codegen/test/assets/issue_191/subscription.graphql.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import 'dart:async';
22
import 'package:gql/ast.dart';
33
import 'package:graphql/client.dart' as graphql;
44

5+
const operationNameSubscription$S = 'S';
6+
57
class Subscription$S {
68
Subscription$S({
79
this.foo,

0 commit comments

Comments
 (0)