pub(super) fn json_scalar_to_string(value: &serde_json::Value) -> Option { 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> { 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 { 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> { value .as_sequence() .map(|sequence| sequence.iter().filter_map(yaml_value_to_string).collect()) }