pub struct TypeAttributeCoordinate {
pub ty: NamedType,
pub attribute: Name,
}
Expand description
A schema coordinate targeting a field definition or an enum value: Type.field
, Enum.VALUE
.
Type attribute coordinate syntax can refer to object or interface field definitions, input
field definitions, and enum values. TypeAttributeCoordinate::lookup
returns an enum to
account for those possibilities. To look up a specific kind of type attribute, there are
convenience methods:
TypeAttributeCoordinate::lookup_field
for object or interface fieldsTypeAttributeCoordinate::lookup_input_field
for input fieldsTypeAttributeCoordinate::lookup_enum_value
for enum values
§Example
use apollo_compiler::name;
use apollo_compiler::coordinate::TypeAttributeCoordinate;
assert_eq!(TypeAttributeCoordinate {
ty: name!("Type"),
attribute: name!("field"),
}.to_string(), "Type.field");
Fields§
§ty: NamedType
§attribute: Name
Implementations§
Source§impl TypeAttributeCoordinate
impl TypeAttributeCoordinate
Sourcepub fn type_coordinate(&self) -> TypeCoordinate
pub fn type_coordinate(&self) -> TypeCoordinate
Create a schema coordinate that points to the type this attribute is part of.
Sourcepub fn with_argument(&self, argument: Name) -> FieldArgumentCoordinate
pub fn with_argument(&self, argument: Name) -> FieldArgumentCoordinate
Assume this attribute is a field, and create a schema coordinate that points to an argument on this field.
Sourcepub fn lookup<'coord, 'schema>(
&'coord self,
schema: &'schema Schema,
) -> Result<TypeAttributeLookup<'schema>, SchemaLookupError<'coord, 'schema>>
pub fn lookup<'coord, 'schema>( &'coord self, schema: &'schema Schema, ) -> Result<TypeAttributeLookup<'schema>, SchemaLookupError<'coord, 'schema>>
Look up this type attribute in a schema.
Sourcepub fn lookup_field<'coord, 'schema>(
&'coord self,
schema: &'schema Schema,
) -> Result<&'schema Component<FieldDefinition>, SchemaLookupError<'coord, 'schema>>
pub fn lookup_field<'coord, 'schema>( &'coord self, schema: &'schema Schema, ) -> Result<&'schema Component<FieldDefinition>, SchemaLookupError<'coord, 'schema>>
Look up this field definition in a schema. If the attribute does not refer to an object or
interface field, returns SchemaLookupError::InvalidType
.
Sourcepub fn lookup_input_field<'coord, 'schema>(
&'coord self,
schema: &'schema Schema,
) -> Result<&'schema Component<InputValueDefinition>, SchemaLookupError<'coord, 'schema>>
pub fn lookup_input_field<'coord, 'schema>( &'coord self, schema: &'schema Schema, ) -> Result<&'schema Component<InputValueDefinition>, SchemaLookupError<'coord, 'schema>>
Look up this input field definition in a schema. If the attribute does not refer to an
input field, returns SchemaLookupError::InvalidType
.
Sourcepub fn lookup_enum_value<'coord, 'schema>(
&'coord self,
schema: &'schema Schema,
) -> Result<&'schema Component<EnumValueDefinition>, SchemaLookupError<'coord, 'schema>>
pub fn lookup_enum_value<'coord, 'schema>( &'coord self, schema: &'schema Schema, ) -> Result<&'schema Component<EnumValueDefinition>, SchemaLookupError<'coord, 'schema>>
Look up this enum value definition in a schema. If the attribute does not refer to an
enum, returns SchemaLookupError::InvalidType
.
Trait Implementations§
Source§impl Clone for TypeAttributeCoordinate
impl Clone for TypeAttributeCoordinate
Source§fn clone(&self) -> TypeAttributeCoordinate
fn clone(&self) -> TypeAttributeCoordinate
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for TypeAttributeCoordinate
impl Debug for TypeAttributeCoordinate
Source§impl Display for TypeAttributeCoordinate
impl Display for TypeAttributeCoordinate
Source§impl From<TypeAttributeCoordinate> for SchemaCoordinate
impl From<TypeAttributeCoordinate> for SchemaCoordinate
Source§fn from(inner: TypeAttributeCoordinate) -> Self
fn from(inner: TypeAttributeCoordinate) -> Self
Source§impl FromStr for TypeAttributeCoordinate
impl FromStr for TypeAttributeCoordinate
Source§impl Hash for TypeAttributeCoordinate
impl Hash for TypeAttributeCoordinate
Source§impl PartialEq for TypeAttributeCoordinate
impl PartialEq for TypeAttributeCoordinate
impl Eq for TypeAttributeCoordinate
impl StructuralPartialEq for TypeAttributeCoordinate
Auto Trait Implementations§
impl Freeze for TypeAttributeCoordinate
impl RefUnwindSafe for TypeAttributeCoordinate
impl Send for TypeAttributeCoordinate
impl Sync for TypeAttributeCoordinate
impl Unpin for TypeAttributeCoordinate
impl UnwindSafe for TypeAttributeCoordinate
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);