diff --git a/core/types.rs b/core/types.rs index 65868e665..5deb2d16d 100644 --- a/core/types.rs +++ b/core/types.rs @@ -679,6 +679,17 @@ impl<'a> TryFrom<&'a RefValue> for String { } } +impl<'a> TryFrom<&'a RefValue> for &'a str { + type Error = LimboError; + + fn try_from(value: &'a RefValue) -> Result { + match value { + RefValue::Text(s) => Ok(s.as_str()), + _ => Err(LimboError::ConversionError("Expected text value".into())), + } + } +} + /// This struct serves the purpose of not allocating multiple vectors of bytes if not needed. /// A value in a record that has already been serialized can stay serialized and what this struct offsers /// is easy acces to each value which point to the payload.