macro_rules! coord {
( @ $name:ident ) => { ... };
( @ $name:ident ( $arg:ident : ) ) => { ... };
( $name:ident ) => { ... };
( $name:ident . $attribute:ident ) => { ... };
( $name:ident . $field:ident ( $arg:ident : ) ) => { ... };
}
Expand description
Create a DirectiveCoordinate
, DirectiveArgumentCoordinate
,
TypeCoordinate
, TypeAttributeCoordinate
,
or FieldArgumentCoordinate
at compile time.
use apollo_compiler::coord;
assert_eq!(coord!(@directive).to_string(), "@directive");
assert_eq!(coord!(@directive(arg:)).to_string(), "@directive(arg:)");
assert_eq!(coord!(Type).to_string(), "Type");
assert_eq!(coord!(Type.field).to_string(), "Type.field");
assert_eq!(coord!(Type.field(arg:)).to_string(), "Type.field(arg:)");
assert_eq!(coord!(EnumType.ENUM_VALUE).to_string(), "EnumType.ENUM_VALUE");
All possible return types of this macro implement
From
<
SchemaCoordinate
>
so they can be converted using .into()
:
use apollo_compiler::coord;
use apollo_compiler::coordinate::SchemaCoordinate;
let _: SchemaCoordinate = coord!(Query).into();