Skip to content

Commit b3bff47

Browse files
committed
Add directives to all schema definition forms
1 parent 5d0ca7b commit b3bff47

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
@@ -180,7 +180,7 @@ TypeSystemDefinition :
180180
- TypeExtensionDefinition
181181
- DirectiveDefinition
182182

183-
SchemaDefinition : schema { OperationTypeDefinition+ }
183+
SchemaDefinition : schema Directives? { OperationTypeDefinition+ }
184184

185185
OperationTypeDefinition : OperationType : NamedType
186186

@@ -192,33 +192,33 @@ TypeDefinition :
192192
- EnumTypeDefinition
193193
- InputObjectTypeDefinition
194194

195-
ScalarTypeDefinition : scalar Name
195+
ScalarTypeDefinition : scalar Name Directives?
196196

197-
ObjectTypeDefinition : type Name ImplementsInterfaces? { FieldDefinition+ }
197+
ObjectTypeDefinition : type Name ImplementsInterfaces? Directives? { FieldDefinition+ }
198198

199199
ImplementsInterfaces : implements NamedType+
200200

201-
FieldDefinition : Name ArgumentsDefinition? : Type
201+
FieldDefinition : Name ArgumentsDefinition? : Type Directives?
202202

203203
ArgumentsDefinition : ( InputValueDefinition+ )
204204

205-
InputValueDefinition : Name : Type DefaultValue?
205+
InputValueDefinition : Name : Type DefaultValue? Directives?
206206

207-
InterfaceTypeDefinition : interface Name { FieldDefinition+ }
207+
InterfaceTypeDefinition : interface Name Directives? { FieldDefinition+ }
208208

209-
UnionTypeDefinition : union Name = UnionMembers
209+
UnionTypeDefinition : union Name Directives? = UnionMembers
210210

211211
UnionMembers :
212212
- NamedType
213213
- UnionMembers | NamedType
214214

215-
EnumTypeDefinition : enum Name { EnumValueDefinition+ }
215+
EnumTypeDefinition : enum Name Directives? { EnumValueDefinition+ }
216216

217-
EnumValueDefinition : EnumValue
217+
EnumValueDefinition : EnumValue Directives?
218218

219219
EnumValue : Name
220220

221-
InputObjectTypeDefinition : input Name { InputValueDefinition+ }
221+
InputObjectTypeDefinition : input Name Directives? { InputValueDefinition+ }
222222

223223
TypeExtensionDefinition : extend ObjectTypeDefinition
224224

spec/Section 2 -- Language.md

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

10721072
#### Object
10731073

1074-
ObjectTypeDefinition : type Name ImplementsInterfaces? { FieldDefinition+ }
1074+
ObjectTypeDefinition : type Name ImplementsInterfaces? Directives? { FieldDefinition+ }
10751075

10761076
ImplementsInterfaces : implements NamedType+
10771077

1078-
FieldDefinition : Name ArgumentsDefinition? : Type
1078+
FieldDefinition : Name ArgumentsDefinition? : Type Directives?
10791079

10801080
ArgumentsDefinition : ( InputValueDefinition+ )
10811081

1082-
InputValueDefinition : Name : Type DefaultValue?
1082+
InputValueDefinition : Name : Type DefaultValue? Directives?
10831083

10841084
Object types represent a list of named fields, each of which yield a value of a
10851085
specific type. Each field itself may accept a list of named arguments.
@@ -1099,7 +1099,7 @@ type TodoItem implements Node {
10991099

11001100
#### Interface
11011101

1102-
InterfaceTypeDefinition : interface Name { FieldDefinition+ }
1102+
InterfaceTypeDefinition : interface Name Directives? { FieldDefinition+ }
11031103

11041104
Interface types, similarly to Object types represent a list of named fields.
11051105
Interface types are used as the type of a field when one of many possible Object
@@ -1117,7 +1117,7 @@ interface Node {
11171117

11181118
#### Union
11191119

1120-
UnionTypeDefinition : union Name = UnionMembers
1120+
UnionTypeDefinition : union Name Directives? = UnionMembers
11211121

11221122
UnionMembers :
11231123
- NamedType
@@ -1137,9 +1137,9 @@ union Actor = User | Business
11371137

11381138
#### Enum
11391139

1140-
EnumTypeDefinition : enum Name { EnumValueDefinition+ }
1140+
EnumTypeDefinition : enum Name Directives? { EnumValueDefinition+ }
11411141

1142-
EnumValueDefinition : EnumValue
1142+
EnumValueDefinition : EnumValue Directives?
11431143

11441144
EnumValue : Name
11451145

@@ -1159,7 +1159,7 @@ enum Direction {
11591159

11601160
#### Input Object
11611161

1162-
InputObjectTypeDefinition : input Name { InputValueDefinition+ }
1162+
InputObjectTypeDefinition : input Name Directives? { InputValueDefinition+ }
11631163

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

0 commit comments

Comments
 (0)