@@ -323,9 +323,9 @@ unique identifier.
323
323
324
324
## Arguments
325
325
326
- Arguments : ( Argument+ )
326
+ Arguments[ Const ] : ( Argument[ ?Const ] + )
327
327
328
- Argument : Name : Value
328
+ Argument[ Const ] : Name : Value[ ?Const ]
329
329
330
330
Fields are conceptually functions which return values, and occasionally accept
331
331
arguments which alter their behavior. These arguments often map directly to
@@ -1064,9 +1064,9 @@ Type : Type !
1064
1064
1065
1065
## Directives
1066
1066
1067
- Directives : Directive+
1067
+ Directives[ Const ] : Directive[ ?Const ] +
1068
1068
1069
- Directive : @ Name Arguments?
1069
+ Directive[ Const ] : @ Name Arguments[ ?Const ] ?
1070
1070
1071
1071
Directives provide a way to describe alternate runtime execution and type
1072
1072
validation behavior in a GraphQL document.
@@ -1112,7 +1112,7 @@ when illustrating example type systems.
1112
1112
1113
1113
### Schema Definition
1114
1114
1115
- SchemaDefinition : schema { OperationTypeDefinition+ }
1115
+ SchemaDefinition : schema Directives [ Const ] ? { OperationTypeDefinition+ }
1116
1116
1117
1117
OperationTypeDefinition : OperationType : NamedType
1118
1118
@@ -1172,7 +1172,7 @@ A GraphQL Type System is defined by many different kinds of types.
1172
1172
1173
1173
#### Scalar
1174
1174
1175
- ScalarTypeDefinition : scalar Name
1175
+ ScalarTypeDefinition : scalar Name Directives [ Const ] ?
1176
1176
1177
1177
Scalar types represent leaf values in a GraphQL type system. While this GraphQL
1178
1178
specification describes a set of Scalar types which all GraphQL services must
@@ -1189,17 +1189,17 @@ scalar DateTime
1189
1189
1190
1190
#### Object
1191
1191
1192
- ObjectTypeDefinition : type Name ImplementsInterfaces? Directives? FieldDefinitions
1192
+ ObjectTypeDefinition : type Name ImplementsInterfaces? Directives[ Const ] ? FieldDefinitions
1193
1193
1194
1194
ImplementsInterfaces : implements NamedType+
1195
1195
1196
1196
FieldDefinitions : { FieldDefinition+ }
1197
1197
1198
- FieldDefinition : Name ArgumentsDefinition? : Type Directives?
1198
+ FieldDefinition : Name ArgumentsDefinition? : Type Directives[ Const ] ?
1199
1199
1200
1200
ArgumentsDefinition : ( InputValueDefinition+ )
1201
1201
1202
- InputValueDefinition : Name : Type DefaultValue? Directives?
1202
+ InputValueDefinition : Name : Type DefaultValue? Directives[ Const ] ?
1203
1203
1204
1204
Object types represent a list of named fields, each of which yield a value of a
1205
1205
specific type. Each field itself may accept a list of named arguments.
@@ -1219,7 +1219,7 @@ type TodoItem implements Node {
1219
1219
1220
1220
#### Interface
1221
1221
1222
- InterfaceTypeDefinition : interface Name Directives ? FieldDefinitions
1222
+ InterfaceTypeDefinition : interface Name Directives [ Const ] ? FieldDefinitions
1223
1223
1224
1224
Interface types , similarly to Object types represent a list of named fields .
1225
1225
Interface types are used as the type of a field when one of many possible Object
@@ -1237,7 +1237,7 @@ interface Node {
1237
1237
1238
1238
#### Union
1239
1239
1240
- UnionTypeDefinition : union Name Directives ? = UnionMembers
1240
+ UnionTypeDefinition : union Name Directives [ Const ] ? = UnionMembers
1241
1241
1242
1242
UnionMembers :
1243
1243
- NamedType
@@ -1257,9 +1257,9 @@ union Actor = User | Business
1257
1257
1258
1258
#### Enum
1259
1259
1260
- EnumTypeDefinition : enum Name Directives? { EnumValueDefinition + }
1260
+ EnumTypeDefinition : enum Name Directives[Const] ? { EnumValueDefinition + }
1261
1261
1262
- EnumValueDefinition : EnumValue Directives ?
1262
+ EnumValueDefinition : EnumValue Directives [ Const ] ?
1263
1263
1264
1264
EnumValue : Name
1265
1265
@@ -1279,7 +1279,7 @@ enum Direction {
1279
1279
1280
1280
#### Input Object
1281
1281
1282
- InputObjectTypeDefinition : input Name Directives? { InputValueDefinition+ }
1282
+ InputObjectTypeDefinition : input Name Directives[ Const ] ? { InputValueDefinition+ }
1283
1283
1284
1284
Input Object types represent complex input values which may be provided as an
1285
1285
field argument. Input Object types cannot be the return type of an Object or
@@ -1368,7 +1368,7 @@ or by a GraphQL service which is itself an extension of another GraphQL service.
1368
1368
1369
1369
#### Object Type Extension
1370
1370
1371
- ObjectTypeExtension : type Name ImplementsInterfaces ? Directives ? FieldDefinitions ?
1371
+ ObjectTypeExtension : type Name ImplementsInterfaces ? Directives [ Const ] ? FieldDefinitions ?
1372
1372
1373
1373
The named Object type must already exist and be an Object type . Any fields ,
1374
1374
interfaces , or directives provided by the extension must not already exist on
0 commit comments