-
Notifications
You must be signed in to change notification settings - Fork 35
Open
Description
fn coerce_to_string(value: serde_value::Value) -> String {
match value {
serde_value::Value::Bool(v) => v.to_string(),
serde_value::Value::U8(v) => v.to_string(),
serde_value::Value::U16(v) => v.to_string(),
serde_value::Value::U32(v) => v.to_string(),
serde_value::Value::U64(v) => v.to_string(),
serde_value::Value::I8(v) => v.to_string(),
serde_value::Value::I16(v) => v.to_string(),
serde_value::Value::I32(v) => v.to_string(),
serde_value::Value::I64(v) => v.to_string(),
serde_value::Value::F32(v) => v.to_string(),
serde_value::Value::F64(v) => v.to_string(),
serde_value::Value::Char(v) => v.to_string(),
serde_value::Value::String(v) => v,
serde_value::Value::Unit => "".to_string(),
serde_value::Value::Option(v) => match v {
Some(v) => coerce_to_string(*v),
None => "null".to_string(),
},
serde_value::Value::Newtype(v) => coerce_to_string(*v),
serde_value::Value::Seq(v) => {
let l: Vec<_> = v.into_iter().map(coerce_to_string).collect();
l.join(",")
}
serde_value::Value::Map(_) => "[object Object]".to_string(),
serde_value::Value::Bytes(v) => {
let l: Vec<_> = v.into_iter().map(|v| v.to_string()).collect();
l.join(",")
}
}
}Metadata
Metadata
Assignees
Labels
No labels