@@ -2173,11 +2173,21 @@ scalar UUID @specifiedBy(url: "https://tools.ietf.org/html/rfc4122")
2173
2173
2174
2174
SchemaCoordinate :
2175
2175
2176
- - Name
2177
- - Name . Name
2178
- - Name . Name ( Name : )
2179
- - @ Name
2180
- - @ Name ( Name : )
2176
+ - TypeCoordinate
2177
+ - MemberCoordinate
2178
+ - ArgumentCoordinate
2179
+ - DirectiveCoordinate
2180
+ - DirectiveArgumentCoordinate
2181
+
2182
+ TypeCoordinate : Name
2183
+
2184
+ MemberCoordinate : Name . Name
2185
+
2186
+ ArgumentCoordinate : Name . Name ( Name : )
2187
+
2188
+ DirectiveCoordinate : @ Name
2189
+
2190
+ DirectiveArgumentCoordinate : @ Name ( Name : )
2181
2191
2182
2192
:: A _schema coordinate_ is a human readable string that uniquely identifies a
2183
2193
_schema element_ within a GraphQL Schema .
@@ -2194,9 +2204,9 @@ coordinates which refer to built-in schema elements. However it must not refer
2194
2204
to a meta -field . For example , `Business .__typename ` is _not_ a valid schema
2195
2205
coordinate .
2196
2206
2197
- Note : Union members are not valid _schema coordinates_ as they reference
2198
- existing types in the schema . This preserves the uniqueness property of a
2199
- _schema coordinate_ as stated above .
2207
+ Note : Union members are not valid _schema coordinate_ as they reference existing
2208
+ types in the schema . This preserves the uniqueness property of a _schema
2209
+ coordinate_ as stated above .
2200
2210
2201
2211
Note : A {SchemaCoordinate } is not a definition within a GraphQL {Document }, but
2202
2212
a separate standalone grammar , intended to be used by tools to reference types ,
@@ -2214,28 +2224,32 @@ If the _schema element_ cannot be found, the resolve function will not yield a
2214
2224
value (without raising an error). However , an error will be raised if any
2215
2225
non -leaf nodes within a _schema coordinate_ cannot be found in the {schema }.
2216
2226
2217
- SchemaCoordinate : Name
2227
+ TypeCoordinate : Name
2218
2228
2219
2229
1. Let {typeName } be the value of {Name }.
2220
- 2. Return the type in the {schema } named {typeName }, or {null } if no such type exists .
2230
+ 2. Return the type in the {schema } named {typeName }, or {null } if no such type
2231
+ exists .
2221
2232
2222
- SchemaCoordinate : Name . Name
2233
+ MemberCoordinate : Name . Name
2223
2234
2224
2235
1. Let {typeName } be the value of the first {Name }.
2225
2236
2. Let {type } be the type in the {schema } named {typeName }.
2226
2237
3. Assert : {type } must exist .
2227
2238
4. If {type } is an Enum type :
2228
2239
1. Let {enumValueName } be the value of the second {Name }.
2229
- 2. Return the enum value of {type } named {enumValueName }, or {null } if no such value exists .
2240
+ 2. Return the enum value of {type } named {enumValueName }, or {null } if no
2241
+ such value exists .
2230
2242
5. Otherwise , if {type } is an Input Object type :
2231
2243
1. Let {inputFieldName } be the value of the second {Name }.
2232
- 2. Return the input field of {type } named {inputFieldName }, or {null } if no such input field exists .
2244
+ 2. Return the input field of {type } named {inputFieldName }, or {null } if no
2245
+ such input field exists .
2233
2246
6. Otherwise :
2234
2247
1. Assert : {type } must be an Object or Interface type .
2235
2248
2. Let {fieldName } be the value of the second {Name }.
2236
- 3. Return the field of {type } named {fieldName }, or {null } if no such field exists .
2249
+ 3. Return the field of {type } named {fieldName }, or {null } if no such field
2250
+ exists .
2237
2251
2238
- SchemaCoordinate : Name . Name ( Name : )
2252
+ ArgumentCoordinate : Name . Name ( Name : )
2239
2253
2240
2254
1. Let {typeName } be the value of the first {Name }.
2241
2255
2. Let {type } be the type in the {schema } named {typeName }.
@@ -2245,21 +2259,23 @@ SchemaCoordinate : Name . Name ( Name : )
2245
2259
6. Let {field } be the field of {type } named {fieldName }.
2246
2260
7. Assert : {field } must exist .
2247
2261
8. Let {fieldArgumentName } be the value of the third {Name }.
2248
- 9. Return the argument of {field } named {fieldArgumentName }, or {null } if no such argument exists .
2262
+ 9. Return the argument of {field } named {fieldArgumentName }, or {null } if no
2263
+ such argument exists .
2249
2264
2250
- SchemaCoordinate : @ Name
2265
+ DirectiveCoordinate : @ Name
2251
2266
2252
2267
1. Let {directiveName } be the value of the first {Name }.
2253
- 2. Return the directive in the {schema } named {directiveName }, or {null } if no such directive exists .
2268
+ 2. Return the directive in the {schema } named {directiveName }, or {null } if no
2269
+ such directive exists .
2254
2270
2255
- SchemaCoordinate : @ Name ( Name : )
2271
+ DirectiveArgumentCoordinate : @ Name ( Name : )
2256
2272
2257
2273
1. Let {directiveName } be the value of the first {Name }.
2258
2274
2. Let {directive } be the directive in the {schema } named {directiveName }.
2259
2275
3. Assert : {directive } must exist .
2260
2276
4. Let {directiveArgumentName } be the value of the second {Name }.
2261
- 5. Return the argument of {directive } named
2262
- { directiveArgumentName }, or { null } if no such argument exists .
2277
+ 5. Return the argument of {directive } named { directiveArgumentName }, or { null }
2278
+ if no such argument exists .
2263
2279
2264
2280
**Examples **
2265
2281
0 commit comments