@@ -39,6 +39,7 @@ public final class Token {
39
39
case eof = " <EOF> "
40
40
case bang = " ! "
41
41
case dollar = " $ "
42
+ case amp = " & "
42
43
case openingParenthesis = " ( "
43
44
case closingParenthesis = " ) "
44
45
case spread = " ... "
@@ -1102,6 +1103,11 @@ extension SchemaDefinition: TypeSystemDefinition {}
1102
1103
extension TypeExtensionDefinition : TypeSystemDefinition { }
1103
1104
extension SchemaExtensionDefinition : TypeSystemDefinition { }
1104
1105
extension DirectiveDefinition : TypeSystemDefinition { }
1106
+ extension InterfaceExtensionDefinition : TypeSystemDefinition { }
1107
+ extension ScalarExtensionDefinition : TypeSystemDefinition { }
1108
+ extension UnionExtensionDefinition : TypeSystemDefinition { }
1109
+ extension EnumExtensionDefinition : TypeSystemDefinition { }
1110
+ extension InputObjectExtensionDefinition : TypeSystemDefinition { }
1105
1111
1106
1112
public func == ( lhs: TypeSystemDefinition , rhs: TypeSystemDefinition ) -> Bool {
1107
1113
switch lhs {
@@ -1125,6 +1131,26 @@ public func == (lhs: TypeSystemDefinition, rhs: TypeSystemDefinition) -> Bool {
1125
1131
if let r = rhs as? SchemaExtensionDefinition {
1126
1132
return l == r
1127
1133
}
1134
+ case let l as InterfaceExtensionDefinition :
1135
+ if let r = rhs as? InterfaceExtensionDefinition {
1136
+ return l == r
1137
+ }
1138
+ case let l as ScalarExtensionDefinition :
1139
+ if let r = rhs as? ScalarExtensionDefinition {
1140
+ return l == r
1141
+ }
1142
+ case let l as UnionExtensionDefinition :
1143
+ if let r = rhs as? UnionExtensionDefinition {
1144
+ return l == r
1145
+ }
1146
+ case let l as EnumExtensionDefinition :
1147
+ if let r = rhs as? EnumExtensionDefinition {
1148
+ return l == r
1149
+ }
1150
+ case let l as InputObjectExtensionDefinition :
1151
+ if let r = rhs as? InputObjectExtensionDefinition {
1152
+ return l == r
1153
+ }
1128
1154
default :
1129
1155
return false
1130
1156
}
@@ -1566,26 +1592,120 @@ extension SchemaExtensionDefinition: Equatable {
1566
1592
}
1567
1593
}
1568
1594
1595
+ public final class InterfaceExtensionDefinition {
1596
+ public let kind : Kind = . interfaceExtensionDefinition
1597
+ public let loc : Location ?
1598
+ public let definition : InterfaceTypeDefinition
1599
+
1600
+ init ( loc: Location ? = nil , definition: InterfaceTypeDefinition ) {
1601
+ self . loc = loc
1602
+ self . definition = definition
1603
+ }
1604
+ }
1605
+
1606
+ extension InterfaceExtensionDefinition : Equatable {
1607
+ public static func == (
1608
+ lhs: InterfaceExtensionDefinition ,
1609
+ rhs: InterfaceExtensionDefinition
1610
+ ) -> Bool {
1611
+ return lhs. definition == rhs. definition
1612
+ }
1613
+ }
1614
+
1615
+ public final class ScalarExtensionDefinition {
1616
+ public let kind : Kind = . scalarExtensionDefinition
1617
+ public let loc : Location ?
1618
+ public let definition : ScalarTypeDefinition
1619
+
1620
+ init ( loc: Location ? = nil , definition: ScalarTypeDefinition ) {
1621
+ self . loc = loc
1622
+ self . definition = definition
1623
+ }
1624
+ }
1625
+
1626
+ extension ScalarExtensionDefinition : Equatable {
1627
+ public static func == ( lhs: ScalarExtensionDefinition , rhs: ScalarExtensionDefinition ) -> Bool {
1628
+ return lhs. definition == rhs. definition
1629
+ }
1630
+ }
1631
+
1632
+ public final class UnionExtensionDefinition {
1633
+ public let kind : Kind = . unionExtensionDefinition
1634
+ public let loc : Location ?
1635
+ public let definition : UnionTypeDefinition
1636
+
1637
+ init ( loc: Location ? = nil , definition: UnionTypeDefinition ) {
1638
+ self . loc = loc
1639
+ self . definition = definition
1640
+ }
1641
+ }
1642
+
1643
+ extension UnionExtensionDefinition : Equatable {
1644
+ public static func == ( lhs: UnionExtensionDefinition , rhs: UnionExtensionDefinition ) -> Bool {
1645
+ return lhs. definition == rhs. definition
1646
+ }
1647
+ }
1648
+
1649
+ public final class EnumExtensionDefinition {
1650
+ public let kind : Kind = . enumExtensionDefinition
1651
+ public let loc : Location ?
1652
+ public let definition : EnumTypeDefinition
1653
+
1654
+ init ( loc: Location ? = nil , definition: EnumTypeDefinition ) {
1655
+ self . loc = loc
1656
+ self . definition = definition
1657
+ }
1658
+ }
1659
+
1660
+ extension EnumExtensionDefinition : Equatable {
1661
+ public static func == ( lhs: EnumExtensionDefinition , rhs: EnumExtensionDefinition ) -> Bool {
1662
+ return lhs. definition == rhs. definition
1663
+ }
1664
+ }
1665
+
1666
+ public final class InputObjectExtensionDefinition {
1667
+ public let kind : Kind = . inputObjectExtensionDefinition
1668
+ public let loc : Location ?
1669
+ public let definition : InputObjectTypeDefinition
1670
+
1671
+ init ( loc: Location ? = nil , definition: InputObjectTypeDefinition ) {
1672
+ self . loc = loc
1673
+ self . definition = definition
1674
+ }
1675
+ }
1676
+
1677
+ extension InputObjectExtensionDefinition : Equatable {
1678
+ public static func == (
1679
+ lhs: InputObjectExtensionDefinition ,
1680
+ rhs: InputObjectExtensionDefinition
1681
+ ) -> Bool {
1682
+ return lhs. definition == rhs. definition
1683
+ }
1684
+ }
1685
+
1569
1686
public final class DirectiveDefinition {
1570
1687
public let kind : Kind = . directiveDefinition
1571
1688
public let loc : Location ?
1572
1689
public let description : StringValue ?
1573
1690
public let name : Name
1574
1691
public let arguments : [ InputValueDefinition ]
1575
1692
public let locations : [ Name ]
1693
+ public let repeatable : Bool
1576
1694
1577
1695
init (
1578
1696
loc: Location ? = nil ,
1579
1697
description: StringValue ? = nil ,
1580
1698
name: Name ,
1581
1699
arguments: [ InputValueDefinition ] = [ ] ,
1582
- locations: [ Name ]
1700
+ locations: [ Name ] ,
1701
+ repeatable: Bool = false
1583
1702
) {
1584
1703
self . loc = loc
1585
1704
self . name = name
1586
1705
self . description = description
1587
1706
self . arguments = arguments
1588
1707
self . locations = locations
1708
+ self . repeatable = repeatable
1589
1709
}
1590
1710
}
1591
1711
0 commit comments