Merge pull request #242 from liangxianzhe/feat_into_datavalue

Add from bytes and vector for DataValue.
main
Ziyang Hu 7 months ago committed by GitHub
commit 8b1b60cbf6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -46,6 +46,8 @@ fn display_datavalues() {
println!("{}", DataValue::from(-1121212121.331212121)); println!("{}", DataValue::from(-1121212121.331212121));
println!("{}", DataValue::from(f64::NAN)); println!("{}", DataValue::from(f64::NAN));
println!("{}", DataValue::from(f64::NEG_INFINITY)); println!("{}", DataValue::from(f64::NEG_INFINITY));
println!("{}", DataValue::from(vec![10, 20]));
println!("{}", DataValue::from(vec!["hello", "你好"]));
println!( println!(
"{}", "{}",
DataValue::List(vec![ DataValue::List(vec![

@ -438,12 +438,24 @@ impl Hash for Vector {
} }
} }
impl From<bool> for DataValue {
fn from(value: bool) -> Self {
DataValue::Bool(value)
}
}
impl From<i64> for DataValue { impl From<i64> for DataValue {
fn from(v: i64) -> Self { fn from(v: i64) -> Self {
DataValue::Num(Num::Int(v)) DataValue::Num(Num::Int(v))
} }
} }
impl From<i32> for DataValue {
fn from(v: i32) -> Self {
DataValue::Num(Num::Int(v as i64))
}
}
impl From<f64> for DataValue { impl From<f64> for DataValue {
fn from(v: f64) -> Self { fn from(v: f64) -> Self {
DataValue::Num(Num::Float(v)) DataValue::Num(Num::Float(v))
@ -462,9 +474,18 @@ impl From<String> for DataValue {
} }
} }
impl From<bool> for DataValue { impl From<Vec<u8>> for DataValue {
fn from(value: bool) -> Self { fn from(v: Vec<u8>) -> Self {
DataValue::Bool(value) DataValue::Bytes(v)
}
}
impl<T: Into<DataValue>> From<Vec<T>> for DataValue {
fn from(v: Vec<T>) -> Self
where
T: Into<DataValue>,
{
DataValue::List(v.into_iter().map(Into::into).collect())
} }
} }

Loading…
Cancel
Save