Files
tolaria/src-tauri/src/vault/view_value_conversions.rs
2026-05-15 08:33:17 +02:00

30 lines
1.1 KiB
Rust

pub(super) fn json_scalar_to_string(value: &serde_json::Value) -> Option<String> {
match value {
serde_json::Value::String(value) => Some(value.clone()),
serde_json::Value::Number(value) => Some(value.to_string()),
serde_json::Value::Bool(value) => Some(value.to_string()),
_ => None,
}
}
pub(super) fn json_scalar_array_to_strings(value: &serde_json::Value) -> Option<Vec<String>> {
value
.as_array()
.map(|sequence| sequence.iter().filter_map(json_scalar_to_string).collect())
}
pub(super) fn yaml_value_to_string(value: &serde_yaml::Value) -> Option<String> {
match value {
serde_yaml::Value::String(value) => Some(value.clone()),
serde_yaml::Value::Number(value) => Some(value.to_string()),
serde_yaml::Value::Bool(value) => Some(value.to_string()),
_ => None,
}
}
pub(super) fn yaml_value_to_string_vec(value: &serde_yaml::Value) -> Option<Vec<String>> {
value
.as_sequence()
.map(|sequence| sequence.iter().filter_map(yaml_value_to_string).collect())
}