Skip to content

Commit b86c46a

Browse files
refactor: Type update reorganizatino
1 parent 6badcbb commit b86c46a

File tree

1 file changed

+15
-16
lines changed

1 file changed

+15
-16
lines changed

Sources/Graphiti/Type/Type.swift

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,20 @@ public final class Type<Resolver, Context, ObjectType: Encodable>: TypeComponent
1313
}
1414

1515
override func update(typeProvider: SchemaTypeProvider, coders: Coders) throws {
16-
var fieldDefs = try fields(typeProvider: typeProvider, coders: coders)
16+
let fieldDefs = try fields(typeProvider: typeProvider, coders: coders)
17+
let objectType = try GraphQLObjectType(
18+
name: name,
19+
description: description,
20+
fields: fieldDefs,
21+
interfaces: interfaces.map {
22+
try typeProvider.getInterfaceType(from: $0)
23+
},
24+
isTypeOf: isTypeOf
25+
)
26+
27+
try typeProvider.add(type: ObjectType.self, as: objectType)
1728

29+
// If federation keys are included, validate and create resolver closure
1830
if !keys.isEmpty {
1931
let fieldNames = Array(fieldDefs.keys)
2032
for key in keys {
@@ -55,22 +67,9 @@ public final class Type<Resolver, Context, ObjectType: Encodable>: TypeComponent
5567
coders: coders
5668
)
5769
}
58-
typeProvider.federatedResolvers[name] = resolve
59-
}
60-
61-
let objectType = try GraphQLObjectType(
62-
name: name,
63-
description: description,
64-
fields: fieldDefs,
65-
interfaces: interfaces.map {
66-
try typeProvider.getInterfaceType(from: $0)
67-
},
68-
isTypeOf: isTypeOf
69-
)
70-
71-
try typeProvider.add(type: ObjectType.self, as: objectType)
72-
if !keys.isEmpty {
70+
7371
typeProvider.federatedTypes.append(objectType)
72+
typeProvider.federatedResolvers[name] = resolve
7473
}
7574
}
7675

0 commit comments

Comments
 (0)