Struct TaggedValue
pub struct TaggedValue { /* private fields */ }Expand description
A tagged YAML value.
Represents a value with an explicit YAML tag, such as !custom_type value.
Tags are used to specify the type or interpretation of a value.
§Examples
use noyalib::{Tag, TaggedValue, Value};
let tagged = TaggedValue::new(
Tag::new("!timestamp"),
Value::String("2024-01-01".to_string()),
);
assert_eq!(tagged.tag().as_str(), "!timestamp");Implementations§
§impl TaggedValue
impl TaggedValue
pub fn new(tag: Tag, value: Value) -> TaggedValue
pub fn new(tag: Tag, value: Value) -> TaggedValue
Creates a new tagged value.
§Examples
use noyalib::{Tag, TaggedValue, Value};
let tv = TaggedValue::new(Tag::new("!Custom"), Value::from("hello"));
assert_eq!(tv.tag().as_str(), "!Custom");
assert_eq!(tv.value().as_str(), Some("hello"));pub fn tag(&self) -> &Tag
pub fn tag(&self) -> &Tag
Returns a reference to the tag.
§Examples
use noyalib::{Tag, TaggedValue, Value};
let tv = TaggedValue::new(Tag::new("!Color"), Value::from("#ff8800"));
assert_eq!(tv.tag().as_str(), "!Color");pub fn value(&self) -> &Value
pub fn value(&self) -> &Value
Returns a reference to the inner value.
§Examples
use noyalib::{Tag, TaggedValue, Value};
let tv = TaggedValue::new(Tag::new("!Color"), Value::from("#ff8800"));
assert_eq!(tv.value().as_str(), Some("#ff8800"));pub fn value_mut(&mut self) -> &mut Value
pub fn value_mut(&mut self) -> &mut Value
Returns a mutable reference to the inner value.
§Examples
use noyalib::{Tag, TaggedValue, Value};
let mut tv = TaggedValue::new(Tag::new("!Color"), Value::from("#000"));
*tv.value_mut() = Value::from("#ff8800");
assert_eq!(tv.value().as_str(), Some("#ff8800"));pub fn into_parts(self) -> (Tag, Value)
pub fn into_parts(self) -> (Tag, Value)
Consumes the tagged value and returns the tag and value as separate owned components.
§Examples
use noyalib::{Tag, TaggedValue, Value};
let tv = TaggedValue::new(Tag::new("!Custom"), Value::from(42_i64));
let (tag, value) = tv.into_parts();
assert_eq!(tag.as_str(), "!Custom");
assert_eq!(value.as_i64(), Some(42));Trait Implementations§
§impl Clone for TaggedValue
impl Clone for TaggedValue
§fn clone(&self) -> TaggedValue
fn clone(&self) -> TaggedValue
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 more§impl Debug for TaggedValue
impl Debug for TaggedValue
§impl<'de> Deserialize<'de> for TaggedValue
impl<'de> Deserialize<'de> for TaggedValue
§fn deserialize<D>(
deserializer: D,
) -> Result<TaggedValue, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<TaggedValue, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl<'de> Deserializer<'de> for &'de TaggedValue
impl<'de> Deserializer<'de> for &'de TaggedValue
§fn deserialize_any<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_any<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Require the
Deserializer to figure out how to drive the visitor based
on what data type is in the input. Read more§fn deserialize_enum<V>(
self,
_name: &'static str,
_variants: &'static [&'static str],
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_enum<V>(
self,
_name: &'static str,
_variants: &'static [&'static str],
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting an enum value with a
particular name and possible variants.§fn deserialize_bool<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_bool<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a bool value.§fn deserialize_i8<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_i8<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting an i8 value.§fn deserialize_i16<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_i16<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting an i16 value.§fn deserialize_i32<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_i32<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting an i32 value.§fn deserialize_i64<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_i64<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting an i64 value.§fn deserialize_u8<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_u8<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a u8 value.§fn deserialize_u16<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_u16<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a u16 value.§fn deserialize_u32<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_u32<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a u32 value.§fn deserialize_u64<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_u64<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a u64 value.§fn deserialize_f32<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_f32<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a f32 value.§fn deserialize_f64<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_f64<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a f64 value.§fn deserialize_char<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_char<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a char value.§fn deserialize_str<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_str<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a string value and does
not benefit from taking ownership of buffered data owned by the
Deserializer. Read more§fn deserialize_string<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_string<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a string value and would
benefit from taking ownership of buffered data owned by the
Deserializer. Read more§fn deserialize_bytes<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_bytes<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a byte array and does not
benefit from taking ownership of buffered data owned by the
Deserializer. Read more§fn deserialize_byte_buf<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_byte_buf<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a byte array and would
benefit from taking ownership of buffered data owned by the
Deserializer. Read more§fn deserialize_option<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_option<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting an optional value. Read more§fn deserialize_unit<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_unit<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a unit value.§fn deserialize_unit_struct<V>(
self,
name: &'static str,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_unit_struct<V>(
self,
name: &'static str,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a unit struct with a
particular name.§fn deserialize_newtype_struct<V>(
self,
name: &'static str,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_newtype_struct<V>(
self,
name: &'static str,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a newtype struct with a
particular name.§fn deserialize_seq<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_seq<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a sequence of values.§fn deserialize_tuple<V>(
self,
len: usize,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_tuple<V>(
self,
len: usize,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a sequence of values and
knows how many values there are without looking at the serialized data.§fn deserialize_tuple_struct<V>(
self,
name: &'static str,
len: usize,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_tuple_struct<V>(
self,
name: &'static str,
len: usize,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a tuple struct with a
particular name and number of fields.§fn deserialize_map<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_map<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a map of key-value pairs.§fn deserialize_struct<V>(
self,
name: &'static str,
fields: &'static [&'static str],
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_struct<V>(
self,
name: &'static str,
fields: &'static [&'static str],
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting a struct with a particular
name and fields.§fn deserialize_identifier<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_identifier<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type is expecting the name of a struct
field or the discriminant of an enum variant.§fn deserialize_ignored_any<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_ignored_any<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, <&'de TaggedValue as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize type needs to deserialize a value whose type
doesn’t matter because it is ignored. Read moreSource§fn deserialize_i128<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_i128<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, Self::Error>where
V: Visitor<'de>,
Source§fn deserialize_u128<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_u128<V>(
self,
visitor: V,
) -> Result<<V as Visitor<'de>>::Value, Self::Error>where
V: Visitor<'de>,
Source§fn is_human_readable(&self) -> bool
fn is_human_readable(&self) -> bool
Determine whether
Deserialize implementations should expect to
deserialize their human-readable form. Read more§impl Display for TaggedValue
impl Display for TaggedValue
§impl From<TaggedValue> for Value
impl From<TaggedValue> for Value
§fn from(v: TaggedValue) -> Value
fn from(v: TaggedValue) -> Value
Converts to this type from the input type.
§impl PartialEq for TaggedValue
impl PartialEq for TaggedValue
§impl Serialize for TaggedValue
impl Serialize for TaggedValue
§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for TaggedValue
Auto Trait Implementations§
impl Freeze for TaggedValue
impl RefUnwindSafe for TaggedValue
impl Send for TaggedValue
impl Sync for TaggedValue
impl Unpin for TaggedValue
impl UnsafeUnpin for TaggedValue
impl UnwindSafe for TaggedValue
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