pub enum AttrValue<'string> {
True,
False,
String(&'string str),
Bytes(&'string [u8]),
Unspecified,
}
Expand description
All possible states of an attribute.
This enum is used to interpret the value returned by
Repository::get_attr
and
Repository::get_attr_bytes
.
Variants§
True
The attribute is set to true.
False
The attribute is unset (set to false).
String(&'string str)
The attribute is set to a valid UTF-8 string.
Bytes(&'string [u8])
The attribute is set to a string that might not be valid UTF-8.
Unspecified
The attribute is not specified.
Implementations§
source§impl<'string> AttrValue<'string>
impl<'string> AttrValue<'string>
sourcepub fn from_string(value: Option<&'string str>) -> Self
pub fn from_string(value: Option<&'string str>) -> Self
Returns the state of an attribute by inspecting its value by a string.
This function always returns AttrValue::String
and never returns AttrValue::Bytes
when the attribute is set to a string.
sourcepub fn from_bytes(value: Option<&'string [u8]>) -> Self
pub fn from_bytes(value: Option<&'string [u8]>) -> Self
Returns the state of an attribute by inspecting its value by a byte slice.
This function will perform UTF-8 validation when the attribute is set to a string, returns
AttrValue::String
if it’s valid UTF-8 and AttrValue::Bytes
otherwise.
sourcepub fn always_bytes(value: Option<&'string [u8]>) -> Self
pub fn always_bytes(value: Option<&'string [u8]>) -> Self
Returns the state of an attribute just like AttrValue::from_bytes
, but skips UTF-8
validation and always returns AttrValue::Bytes
when it’s set to a string.
Trait Implementations§
source§impl PartialEq for AttrValue<'_>
impl PartialEq for AttrValue<'_>
Compare two AttrValue
s.
Note that this implementation does not differentiate between AttrValue::String
and
AttrValue::Bytes
.