Skip to content

Commit 970061d

Browse files
committed
Add directives to all schema definition forms
1 parent b95e847 commit 970061d

File tree

2 files changed

+18
-18
lines changed

2 files changed

+18
-18
lines changed

spec/Appendix B -- Grammar Summary.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ TypeSystemDefinition :
177177
- TypeExtensionDefinition
178178
- DirectiveDefinition
179179

180-
SchemaDefinition : schema { OperationTypeDefinition+ }
180+
SchemaDefinition : schema Directives? { OperationTypeDefinition+ }
181181

182182
OperationTypeDefinition : OperationType : NamedType
183183

@@ -189,33 +189,33 @@ TypeDefinition :
189189
- EnumTypeDefinition
190190
- InputObjectTypeDefinition
191191

192-
ScalarTypeDefinition : scalar Name
192+
ScalarTypeDefinition : scalar Name Directives?
193193

194-
ObjectTypeDefinition : type Name ImplementsInterfaces? { FieldDefinition+ }
194+
ObjectTypeDefinition : type Name ImplementsInterfaces? Directives? { FieldDefinition+ }
195195

196196
ImplementsInterfaces : implements NamedType+
197197

198-
FieldDefinition : Name ArgumentsDefinition? : Type
198+
FieldDefinition : Name ArgumentsDefinition? : Type Directives?
199199

200200
ArgumentsDefinition : ( InputValueDefinition+ )
201201

202-
InputValueDefinition : Name : Type DefaultValue?
202+
InputValueDefinition : Name : Type DefaultValue? Directives?
203203

204-
InterfaceTypeDefinition : interface Name { FieldDefinition+ }
204+
InterfaceTypeDefinition : interface Name Directives? { FieldDefinition+ }
205205

206-
UnionTypeDefinition : union Name = UnionMembers
206+
UnionTypeDefinition : union Name Directives? = UnionMembers
207207

208208
UnionMembers :
209209
- NamedType
210210
- UnionMembers | NamedType
211211

212-
EnumTypeDefinition : enum Name { EnumValueDefinition+ }
212+
EnumTypeDefinition : enum Name Directives? { EnumValueDefinition+ }
213213

214-
EnumValueDefinition : EnumValue
214+
EnumValueDefinition : EnumValue Directives?
215215

216216
EnumValue : Name
217217

218-
InputObjectTypeDefinition : input Name { InputValueDefinition+ }
218+
InputObjectTypeDefinition : input Name Directives? { InputValueDefinition+ }
219219

220220
TypeExtensionDefinition : extend ObjectTypeDefinition
221221

spec/Section 2 -- Language.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1029,15 +1029,15 @@ scalar DateTime
10291029

10301030
#### Object
10311031

1032-
ObjectTypeDefinition : type Name ImplementsInterfaces? { FieldDefinition+ }
1032+
ObjectTypeDefinition : type Name ImplementsInterfaces? Directives? { FieldDefinition+ }
10331033

10341034
ImplementsInterfaces : implements NamedType+
10351035

1036-
FieldDefinition : Name ArgumentsDefinition? : Type
1036+
FieldDefinition : Name ArgumentsDefinition? : Type Directives?
10371037

10381038
ArgumentsDefinition : ( InputValueDefinition+ )
10391039

1040-
InputValueDefinition : Name : Type DefaultValue?
1040+
InputValueDefinition : Name : Type DefaultValue? Directives?
10411041

10421042
Object types represent a list of named fields, each of which yield a value of a
10431043
specific type. Each field itself may accept a list of named arguments.
@@ -1057,7 +1057,7 @@ type TodoItem implements Node {
10571057

10581058
#### Interface
10591059

1060-
InterfaceTypeDefinition : interface Name { FieldDefinition+ }
1060+
InterfaceTypeDefinition : interface Name Directives? { FieldDefinition+ }
10611061

10621062
Interface types, similarly to Object types represent a list of named fields.
10631063
Interface types are used as the type of a field when one of many possible Object
@@ -1075,7 +1075,7 @@ interface Node {
10751075

10761076
#### Union
10771077

1078-
UnionTypeDefinition : union Name = UnionMembers
1078+
UnionTypeDefinition : union Name Directives? = UnionMembers
10791079

10801080
UnionMembers :
10811081
- NamedType
@@ -1095,9 +1095,9 @@ union Actor = User | Business
10951095

10961096
#### Enum
10971097

1098-
EnumTypeDefinition : enum Name { EnumValueDefinition+ }
1098+
EnumTypeDefinition : enum Name Directives? { EnumValueDefinition+ }
10991099

1100-
EnumValueDefinition : EnumValue
1100+
EnumValueDefinition : EnumValue Directives?
11011101

11021102
EnumValue : Name
11031103

@@ -1117,7 +1117,7 @@ enum Direction {
11171117

11181118
#### Input Object
11191119

1120-
InputObjectTypeDefinition : input Name { InputValueDefinition+ }
1120+
InputObjectTypeDefinition : input Name Directives? { InputValueDefinition+ }
11211121

11221122
Input Object types represent complex input values which may be provided as an
11231123
field argument. Input Object types cannot be the return type of an Object or

0 commit comments

Comments
 (0)