pub struct DocumentId { /* private fields */ }Expand description
A content-addressable document identifier.
Format: algorithm:hexdigest
§Examples
use cdx_core::{DocumentId, HashAlgorithm};
let id = DocumentId::new(HashAlgorithm::Sha256, vec![0xab; 32]);
assert!(id.to_string().starts_with("sha256:"));Implementations§
Source§impl DocumentId
impl DocumentId
Sourcepub fn new(algorithm: HashAlgorithm, digest: Vec<u8>) -> Self
pub fn new(algorithm: HashAlgorithm, digest: Vec<u8>) -> Self
Create a new document ID from algorithm and digest bytes.
Sourcepub const fn algorithm(&self) -> HashAlgorithm
pub const fn algorithm(&self) -> HashAlgorithm
Get the hash algorithm.
Sourcepub fn hex_digest(&self) -> String
pub fn hex_digest(&self) -> String
Get the hex-encoded digest.
Sourcepub fn is_pending(&self) -> bool
pub fn is_pending(&self) -> bool
Check if this is a pending (placeholder) ID.
Trait Implementations§
Source§impl Clone for DocumentId
impl Clone for DocumentId
Source§fn clone(&self) -> DocumentId
fn clone(&self) -> DocumentId
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 DocumentId
impl Debug for DocumentId
Source§impl<'de> Deserialize<'de> for DocumentId
impl<'de> Deserialize<'de> for DocumentId
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 DocumentId
impl Display for DocumentId
Source§impl FromStr for DocumentId
impl FromStr for DocumentId
Source§impl Hash for DocumentId
impl Hash for DocumentId
Source§impl PartialEq for DocumentId
impl PartialEq for DocumentId
Source§impl Serialize for DocumentId
impl Serialize for DocumentId
impl Eq for DocumentId
impl StructuralPartialEq for DocumentId
Auto Trait Implementations§
impl Freeze for DocumentId
impl RefUnwindSafe for DocumentId
impl Send for DocumentId
impl Sync for DocumentId
impl Unpin for DocumentId
impl UnsafeUnpin for DocumentId
impl UnwindSafe for DocumentId
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§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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§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.