diff --git a/src/value.rs b/src/value.rs index 4bf0bff..849e14f 100644 --- a/src/value.rs +++ b/src/value.rs @@ -263,6 +263,12 @@ impl From for Value<'_> { } } +impl<'ctx> From> for Value<'ctx> { + fn from(value: Cow<'ctx, str>) -> Self { + Value::Str(value) + } +} + impl<'a, T: Into>> From> for Value<'a> { fn from(val: Vec) -> Self { Value::Array(val.into_iter().map(Into::into).collect()) @@ -391,6 +397,12 @@ mod tests { use super::*; + #[test] + fn from_cow() { + let value = Value::from(Cow::Borrowed("moo")); + assert_eq!(value.as_str(), Some("moo")); + } + #[test] fn from_serde() { let value = &serde_json::json!({