Skip to content

Commit 7ba9e9f

Browse files
committed
[airbnb] Update Swift codegen to add operation name to generated query classes
1 parent feed206 commit 7ba9e9f

4 files changed

Lines changed: 20 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
- `apollo-codegen-scala`
1414
- <First `apollo-codegen-scala` related entry goes here>
1515
- `apollo-codegen-swift`
16-
- <First `apollo-codegen-swift` related entry goes here>
16+
- Add operation name to generated classes
1717
- `apollo-codegen-typescript`
1818
- <First `apollo-codegen-typescript` related entry goes here>
1919
- `apollo-env`

packages/apollo-codegen-swift/src/__tests__/__snapshots__/codeGeneration.ts.snap

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ exports[`Swift code generation #classDeclarationForOperation() should generate a
55
public let operationDefinition =
66
\\"mutation CreateReview($episode: Episode) {\\\\n createReview(episode: $episode, review: {stars: 5, commentary: \\\\\\"Wow!\\\\\\"}) {\\\\n stars\\\\n commentary\\\\n }\\\\n}\\"
77
8+
public let operationName = \\"CreateReview\\"
9+
810
public var episode: Episode?
911
1012
public init(episode: Episode? = nil) {
@@ -88,6 +90,8 @@ exports[`Swift code generation #classDeclarationForOperation() should generate a
8890
public let operationDefinition =
8991
\\"query Hero {\\\\n hero {\\\\n ... on Droid {\\\\n ...HeroDetails\\\\n }\\\\n }\\\\n}\\"
9092
93+
public let operationName = \\"Hero\\"
94+
9195
public var queryDocument: String { return operationDefinition.appending(HeroDetails.fragmentDefinition) }
9296
9397
public init() {
@@ -218,6 +222,8 @@ exports[`Swift code generation #classDeclarationForOperation() should generate a
218222
public let operationDefinition =
219223
\\"query Hero {\\\\n hero {\\\\n ...DroidDetails\\\\n }\\\\n}\\"
220224
225+
public let operationName = \\"Hero\\"
226+
221227
public var queryDocument: String { return operationDefinition.appending(DroidDetails.fragmentDefinition) }
222228
223229
public init() {
@@ -376,6 +382,8 @@ exports[`Swift code generation #classDeclarationForOperation() should generate a
376382
public let operationDefinition =
377383
\\"query Hero {\\\\n hero {\\\\n ...HeroDetails\\\\n }\\\\n}\\"
378384
385+
public let operationName = \\"Hero\\"
386+
379387
public var queryDocument: String { return operationDefinition.appending(HeroDetails.fragmentDefinition) }
380388
381389
public init() {
@@ -473,6 +481,8 @@ exports[`Swift code generation #classDeclarationForOperation() should generate a
473481
public let operationDefinition =
474482
\\"query HeroName($episode: Episode) {\\\\n hero(episode: $episode) {\\\\n name\\\\n }\\\\n}\\"
475483
484+
public let operationName = \\"HeroName\\"
485+
476486
public var episode: Episode?
477487
478488
public init(episode: Episode? = nil) {
@@ -549,6 +559,8 @@ exports[`Swift code generation #classDeclarationForOperation() should generate a
549559
public let operationDefinition =
550560
\\"query Hero {\\\\n hero {\\\\n ...HeroDetails\\\\n }\\\\n}\\"
551561
562+
public let operationName = \\"Hero\\"
563+
552564
public let operationIdentifier: String? = \\"90d0d674eb6a7b33776f63200d6cec3d09f881247c360a2ac9a29037a02210c4\\"
553565
554566
public var queryDocument: String { return operationDefinition.appending(HeroDetails.fragmentDefinition) }

packages/apollo-codegen-swift/src/codeGeneration.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,9 @@ export class SwiftAPIGenerator extends SwiftGenerator<CompilerContext> {
182182
});
183183
}
184184

185+
this.printNewlineIfNeeded();
186+
this.printOnNewline(`public let operationName = "${operationName}"`);
187+
185188
const fragmentsReferenced = collectFragmentsReferenced(
186189
operation.selectionSet,
187190
this.context.fragments

packages/apollo/src/commands/client/__tests__/__snapshots__/generate.test.ts.snap

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,8 @@ public final class SimpleQueryQuery: GraphQLQuery {
179179
public let operationDefinition =
180180
\\"query SimpleQuery {\\\\n hello\\\\n}\\"
181181
182+
public let operationName = \\"SimpleQuery\\"
183+
182184
public init() {
183185
}
184186
@@ -220,6 +222,8 @@ public final class SimpleQueryQuery: GraphQLQuery {
220222
public let operationDefinition =
221223
\\"query SimpleQuery {\\\\n hello\\\\n}\\"
222224
225+
public let operationName = \\"SimpleQuery\\"
226+
223227
public init() {
224228
}
225229

0 commit comments

Comments
 (0)