pub struct ComponentRef { /* private fields */ }Expand description
A lightweight reference to a component, combining its stable ID with a human-readable display name.
This type is used throughout the diff system and TUI to:
- Navigate and link by ID (stable, unique)
- Display by name (human-readable)
§Example
ⓘ
let comp_ref = ComponentRef::new(component.canonical_id.clone(), &component.name);
println!("Component: {} (ID: {})", comp_ref.name(), comp_ref.id());Implementations§
Source§impl ComponentRef
impl ComponentRef
Sourcepub fn new(id: CanonicalId, name: impl Into<String>) -> Self
pub fn new(id: CanonicalId, name: impl Into<String>) -> Self
Create a new component reference
Sourcepub fn with_version(
id: CanonicalId,
name: impl Into<String>,
version: Option<String>,
) -> Self
pub fn with_version( id: CanonicalId, name: impl Into<String>, version: Option<String>, ) -> Self
Create a component reference with version
Sourcepub fn from_component(component: &Component) -> Self
pub fn from_component(component: &Component) -> Self
Create from a Component
Sourcepub const fn id(&self) -> &CanonicalId
pub const fn id(&self) -> &CanonicalId
Get the canonical ID
Sourcepub fn display_with_version(&self) -> String
pub fn display_with_version(&self) -> String
Get display string with version if available
Sourcepub fn matches_id(&self, id: &CanonicalId) -> bool
pub fn matches_id(&self, id: &CanonicalId) -> bool
Check if this ref matches a given ID
Sourcepub fn matches_id_str(&self, id_str: &str) -> bool
pub fn matches_id_str(&self, id_str: &str) -> bool
Check if this ref matches a given ID string
Trait Implementations§
Source§impl Clone for ComponentRef
impl Clone for ComponentRef
Source§fn clone(&self) -> ComponentRef
fn clone(&self) -> ComponentRef
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ComponentRef
impl Debug for ComponentRef
Source§impl<'de> Deserialize<'de> for ComponentRef
impl<'de> Deserialize<'de> for ComponentRef
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for ComponentRef
impl Display for ComponentRef
Source§impl From<&Component> for ComponentRef
impl From<&Component> for ComponentRef
Source§impl Hash for ComponentRef
impl Hash for ComponentRef
Source§impl PartialEq for ComponentRef
impl PartialEq for ComponentRef
Source§impl Serialize for ComponentRef
impl Serialize for ComponentRef
impl Eq for ComponentRef
impl StructuralPartialEq for ComponentRef
Auto Trait Implementations§
impl Freeze for ComponentRef
impl RefUnwindSafe for ComponentRef
impl Send for ComponentRef
impl Sync for ComponentRef
impl Unpin for ComponentRef
impl UnsafeUnpin for ComponentRef
impl UnwindSafe for ComponentRef
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
Mutably borrows from an owned value. Read more
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read moreSource§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.