use std::borrow::Cow;
pub fn strip_ansi_unlikely(string: &str) -> Cow<'_, str> {
if string.bytes().any(|x| matches!(x, 0..=9 | 11..=31))
&& let Ok(stripped) = String::from_utf8(strip_ansi_escapes::strip(string))
{
return Cow::Owned(stripped);
}
Cow::Borrowed(string)
}
pub fn strip_ansi_likely(string: &str) -> Cow<'_, str> {
if let Ok(stripped) = String::from_utf8(strip_ansi_escapes::strip(string)) {
return Cow::Owned(stripped);
}
Cow::Borrowed(string)
}
pub fn strip_ansi_string_unlikely(string: String) -> String {
if string
.as_str()
.bytes()
.any(|x| matches!(x, 0..=8 | 11..=31))
&& let Ok(stripped) = String::from_utf8(strip_ansi_escapes::strip(&string))
{
return stripped;
}
string
}
pub fn strip_ansi_string_likely(string: String) -> String {
if let Ok(stripped) = String::from_utf8(strip_ansi_escapes::strip(&string)) {
return stripped;
}
string
}