Skip to content

Commit fc00f70

Browse files
feat: Adds TypeExtension protocol
1 parent b67bf99 commit fc00f70

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

Sources/GraphQL/Language/AST.swift

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2285,11 +2285,26 @@ extension InputObjectTypeDefinition: Equatable {
22852285
}
22862286
}
22872287

2288+
protocol TypeExtension: TypeSystemDefinition {
2289+
var name: Name { get }
2290+
}
2291+
2292+
extension ScalarExtensionDefinition: TypeExtension {}
2293+
extension TypeExtensionDefinition: TypeExtension {}
2294+
extension InterfaceExtensionDefinition: TypeExtension {}
2295+
extension UnionExtensionDefinition: TypeExtension {}
2296+
extension EnumExtensionDefinition: TypeExtension {}
2297+
extension InputObjectExtensionDefinition: TypeExtension {}
2298+
22882299
public final class TypeExtensionDefinition {
22892300
public let kind: Kind = .typeExtensionDefinition
22902301
public let loc: Location?
22912302
public let definition: ObjectTypeDefinition
22922303

2304+
var name: Name {
2305+
return definition.name
2306+
}
2307+
22932308
init(loc: Location? = nil, definition: ObjectTypeDefinition) {
22942309
self.loc = loc
22952310
self.definition = definition
@@ -2332,6 +2347,10 @@ public final class InterfaceExtensionDefinition {
23322347
public let loc: Location?
23332348
public let definition: InterfaceTypeDefinition
23342349

2350+
var name: Name {
2351+
return definition.name
2352+
}
2353+
23352354
init(loc: Location? = nil, definition: InterfaceTypeDefinition) {
23362355
self.loc = loc
23372356
self.definition = definition
@@ -2357,6 +2376,10 @@ public final class ScalarExtensionDefinition {
23572376
public let definition: ScalarTypeDefinition
23582377
public let directives: [Directive]
23592378

2379+
var name: Name {
2380+
return definition.name
2381+
}
2382+
23602383
init(loc: Location? = nil, definition: ScalarTypeDefinition, directives: [Directive] = []) {
23612384
self.loc = loc
23622385
self.definition = definition
@@ -2379,6 +2402,10 @@ public final class UnionExtensionDefinition {
23792402
public let loc: Location?
23802403
public let definition: UnionTypeDefinition
23812404

2405+
var name: Name {
2406+
return definition.name
2407+
}
2408+
23822409
init(loc: Location? = nil, definition: UnionTypeDefinition) {
23832410
self.loc = loc
23842411
self.definition = definition
@@ -2400,6 +2427,10 @@ public final class EnumExtensionDefinition {
24002427
public let loc: Location?
24012428
public let definition: EnumTypeDefinition
24022429

2430+
var name: Name {
2431+
return definition.name
2432+
}
2433+
24032434
init(loc: Location? = nil, definition: EnumTypeDefinition) {
24042435
self.loc = loc
24052436
self.definition = definition
@@ -2421,6 +2452,10 @@ public final class InputObjectExtensionDefinition {
24212452
public let loc: Location?
24222453
public let definition: InputObjectTypeDefinition
24232454

2455+
var name: Name {
2456+
return definition.name
2457+
}
2458+
24242459
init(loc: Location? = nil, definition: InputObjectTypeDefinition) {
24252460
self.loc = loc
24262461
self.definition = definition

0 commit comments

Comments
 (0)