Skip to content

Commit 5206596

Browse files
fix: Avoid SDL key build ordering issue
1 parent 27a4b72 commit 5206596

File tree

5 files changed

+12
-12
lines changed

5 files changed

+12
-12
lines changed

Sources/Graphiti/Argument/Argument.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ public class Argument<ArgumentsType: Decodable, ArgumentType>: ArgumentComponent
1717
return (name, argument)
1818
}
1919

20+
override func getName() -> String {
21+
return name
22+
}
23+
2024
init(name: String) {
2125
self.name = name
2226
}

Sources/Graphiti/Argument/ArgumentComponent.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ public class ArgumentComponent<ArgumentsType: Decodable> {
99
) throws -> (String, GraphQLArgument) {
1010
fatalError()
1111
}
12+
13+
func getName() -> String {
14+
fatalError()
15+
}
1216
}
1317

1418
public extension ArgumentComponent {

Sources/Graphiti/Federation/Key/Key.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,10 @@ public class Key<ObjectType, Resolver, Context, Arguments: Codable>: KeyComponen
2626
}
2727

2828
override func validate(
29-
againstFields fieldNames: [String],
30-
typeProvider: TypeProvider,
31-
coders: Coders
29+
againstFields fieldNames: [String]
3230
) throws {
3331
// Ensure that every argument is included in the provided field list
34-
for (name, _) in try arguments(typeProvider: typeProvider, coders: coders) {
32+
for name in arguments.map({ $0.getName() }) {
3533
if !fieldNames.contains(name) {
3634
throw GraphQLError(message: "Argument name not found in type fields: \(name)")
3735
}

Sources/Graphiti/Federation/Key/KeyComponent.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@ public class KeyComponent<ObjectType, Resolver, Context> {
1717
}
1818

1919
func validate(
20-
againstFields _: [String],
21-
typeProvider _: TypeProvider,
22-
coders _: Coders
20+
againstFields _: [String]
2321
) throws {
2422
fatalError()
2523
}

Sources/Graphiti/Type/Type.swift

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,7 @@ public final class Type<Resolver, Context, ObjectType>: TypeComponent<
2020
let fields = try self.fields(typeProvider: typeProvider, coders: coders)
2121
// Validate federation keys, if present
2222
for key in self.keys {
23-
try key.validate(
24-
againstFields: Array(fields.keys),
25-
typeProvider: typeProvider,
26-
coders: coders
27-
)
23+
try key.validate(againstFields: Array(fields.keys))
2824
}
2925
return fields
3026
},

0 commit comments

Comments
 (0)