@@ -287,61 +287,61 @@ Schema extensions have the potential to be invalid if incorrectly defined.
287
287
Schema Coordinates are human readable strings that uniquely identify a specific
288
288
type , field , argument , enum value , or directive defined in a GraphQL Schema.
289
289
290
- **Definition**
291
-
292
- SchemaCoordinate:
290
+ SchemaCoordinate :
293
291
- Name
294
292
- Name . Name
295
293
- Name . Name ( Name : )
296
294
- @ Name
297
295
- @ Name ( Name : )
298
296
299
- Note: The `SchemaCoordinate` syntax is not part of a GraphQL Document. Schema
300
- Coordinates are a separate syntax, intended to be used by tooling when
301
- referencing types and fields or other schema elements. (For example, a server
302
- that wishes to keep track of the number of times fields have been accessed may
303
- use their Schema Coordinate as the lookup key.)
297
+ Note: A {SchemaCoordinate } is not a definition within a GraphQL {Document }.
298
+ Schema coordinates are a separate syntax , intended to be used by tools to
299
+ reference types and fields or other schema elements. For example: within
300
+ documentation, or as lookup keys a service uses to track usage frequency.
304
301
305
302
**Semantics**
306
303
307
- SchemaCoordinate: Name
304
+ A schema coordinate's semantics assume they are interpreted in the context of
305
+ a single GraphQL {schema}.
306
+
307
+ SchemaCoordinate : Name
308
308
1. Let {typeName } be the value of the first {Name }.
309
- 2. Return the type in the schema named {typeName}.
309
+ 2. Return the type in the { schema } named {typeName }.
310
310
311
- SchemaCoordinate : Name . Name
311
+ SchemaCoordinate : Name . Name
312
312
1. Let {typeName } be the value of the first {Name }.
313
- 2. Let {type } be the type in the schema named {typeName}.
313
+ 2. Let {type } be the type in the { schema } named {typeName }.
314
314
3. If {type } is an Enum type :
315
315
1. Let {enumValueName } be the value of the second {Name }.
316
316
2. Return the enum value of {type } named {enumValueName }.
317
317
4. Otherwise if {type } is an Input Object type :
318
318
1. Let {inputFieldName } be the value of the second {Name }.
319
319
2. Return the input field of {type } named {inputFieldName }.
320
320
5. Otherwise :
321
- 1. Assert : {type } must be an Object or Interface type .
321
+ 1. Assert {type } must be an Object or Interface type .
322
322
2. Let {fieldName } be the value of the second {Name }.
323
323
3. Return the field of {type } named {fieldName }.
324
-
325
- SchemaCoordinate : Name . Name ( Name : )
324
+
325
+ SchemaCoordinate : Name . Name ( Name : )
326
326
1. Let {typeName } be the value of the first {Name }.
327
- 2. Let {type } be the type in the schema named {typeName}.
328
- 3. Assert : {type } must be an Object or Interface type .
327
+ 2. Let {type } be the type in the { schema } named {typeName }.
328
+ 3. Assert {type } must be an Object or Interface type .
329
329
4. Let {fieldName } be the value of the second {Name }.
330
330
5. Let {field } be the field of {type } named {fieldName }.
331
- 6. Assert : {field } must exist .
331
+ 6. Assert {field } must exist .
332
332
7. Let {argumentName } be the value of the third {Name }.
333
333
8. Return the argument of {field } named {argumentName }.
334
334
335
- SchemaCoordinate : @ Name
335
+ SchemaCoordinate : @ Name
336
336
1. Let {directiveName } be the value of the first {Name }.
337
- 2. Return the directive in the schema named {directiveName}.
337
+ 2. Return the directive in the { schema } named {directiveName }.
338
338
339
- SchemaCoordinate : @ Name ( Name : )
339
+ SchemaCoordinate : @ Name ( Name : )
340
340
1. Let {directiveName } be the value of the first {Name }.
341
- 2. Let {directive } be the directive in the schema named {directiveName}.
342
- 3. Assert : {directive } must exist .
341
+ 2. Let {directive } be the directive in the { schema } named {directiveName }.
342
+ 3. Assert {directive } must exist .
343
343
7. Let {argumentName } be the value of the second {Name }.
344
- 8. Return the argument of {directive } named {argumentName }
344
+ 8. Return the argument of {directive } named {argumentName }.
345
345
346
346
**Examples **
347
347
0 commit comments