pub enum AttributeValue {
String(String),
Array(Vec<AttributeValue>),
Number(f64),
Bool(bool),
Object(HashMap<String, AttributeValue>),
Null,
}
Expand description
An attribute value represents possible values that can be stored in a crate::Context.
Variants§
String(String)
Stores a string value.
Array(Vec<AttributeValue>)
Stores an array of attribute values.
Number(f64)
Stores a number.
Bool(bool)
Stores a boolean.
Object(HashMap<String, AttributeValue>)
Stores a map of attribute values.
Null
Stores a null value.
Implementations§
source§impl AttributeValue
impl AttributeValue
sourcepub fn as_str(&self) -> Option<&str>
pub fn as_str(&self) -> Option<&str>
Returns None unless self is a String. It will not convert.
sourcepub fn to_f64(&self) -> Option<f64>
pub fn to_f64(&self) -> Option<f64>
Returns the wrapped value as a float for numeric types, and None otherwise.
sourcepub fn to_datetime(&self) -> Option<DateTime<Utc>>
pub fn to_datetime(&self) -> Option<DateTime<Utc>>
Attempt to convert any of the following into a chrono::DateTime in UTC:
- RFC3339/ISO8601 timestamp (example: “2016-04-16T17:09:12.759-07:00”)
- Unix epoch milliseconds as number It will return None if the conversion fails or if no conversion is possible.
sourcepub fn as_semver(&self) -> Option<Version>
pub fn as_semver(&self) -> Option<Version>
Attempt to parse a string attribute into a semver version.
It will return None if it cannot parse it, or for non-string attributes.
sourcepub fn find<P>(&self, p: P) -> Option<&AttributeValue>
pub fn find<P>(&self, p: P) -> Option<&AttributeValue>
Find the AttributeValue based off the provided predicate p
.
Trait Implementations§
source§impl Clone for AttributeValue
impl Clone for AttributeValue
source§fn clone(&self) -> AttributeValue
fn clone(&self) -> AttributeValue
Returns a copy 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 AttributeValue
impl Debug for AttributeValue
source§impl<'de> Deserialize<'de> for AttributeValue
impl<'de> Deserialize<'de> for AttributeValue
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AttributeValue, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AttributeValue, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl From<&Value> for AttributeValue
impl From<&Value> for AttributeValue
source§fn from(v: &Value) -> AttributeValue
fn from(v: &Value) -> AttributeValue
Converts to this type from the input type.
source§impl From<&str> for AttributeValue
impl From<&str> for AttributeValue
source§fn from(s: &str) -> AttributeValue
fn from(s: &str) -> AttributeValue
Converts to this type from the input type.
source§impl<S, T> From<HashMap<S, T>> for AttributeValue
impl<S, T> From<HashMap<S, T>> for AttributeValue
source§fn from(hashmap: HashMap<S, T>) -> AttributeValue
fn from(hashmap: HashMap<S, T>) -> AttributeValue
Converts to this type from the input type.
source§impl From<String> for AttributeValue
impl From<String> for AttributeValue
source§fn from(s: String) -> AttributeValue
fn from(s: String) -> AttributeValue
Converts to this type from the input type.
source§impl<T> From<Vec<T>> for AttributeValuewhere
AttributeValue: From<T>,
impl<T> From<Vec<T>> for AttributeValuewhere
AttributeValue: From<T>,
source§fn from(v: Vec<T>) -> AttributeValue
fn from(v: Vec<T>) -> AttributeValue
Converts to this type from the input type.
source§impl From<bool> for AttributeValue
impl From<bool> for AttributeValue
source§fn from(b: bool) -> AttributeValue
fn from(b: bool) -> AttributeValue
Converts to this type from the input type.
source§impl From<f64> for AttributeValue
impl From<f64> for AttributeValue
source§fn from(f: f64) -> AttributeValue
fn from(f: f64) -> AttributeValue
Converts to this type from the input type.
source§impl From<i64> for AttributeValue
impl From<i64> for AttributeValue
source§fn from(i: i64) -> AttributeValue
fn from(i: i64) -> AttributeValue
Converts to this type from the input type.
source§impl<S, T> FromIterator<(S, T)> for AttributeValue
impl<S, T> FromIterator<(S, T)> for AttributeValue
source§fn from_iter<I>(iter: I) -> AttributeValuewhere
I: IntoIterator<Item = (S, T)>,
fn from_iter<I>(iter: I) -> AttributeValuewhere
I: IntoIterator<Item = (S, T)>,
Creates a value from an iterator. Read more
source§impl<T> FromIterator<T> for AttributeValuewhere
AttributeValue: From<T>,
impl<T> FromIterator<T> for AttributeValuewhere
AttributeValue: From<T>,
source§fn from_iter<I>(iter: I) -> AttributeValuewhere
I: IntoIterator<Item = T>,
fn from_iter<I>(iter: I) -> AttributeValuewhere
I: IntoIterator<Item = T>,
Creates a value from an iterator. Read more
source§impl PartialEq for AttributeValue
impl PartialEq for AttributeValue
source§impl Serialize for AttributeValue
impl Serialize for AttributeValue
source§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 AttributeValue
Auto Trait Implementations§
impl Freeze for AttributeValue
impl RefUnwindSafe for AttributeValue
impl Send for AttributeValue
impl Sync for AttributeValue
impl Unpin for AttributeValue
impl UnwindSafe for AttributeValue
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)