use std::borrow::Cow; pub(crate) fn escape_quoted(unescaped: &str) -> Cow { let mut escaped = Cow::Borrowed(unescaped); if escaped.contains('\\') { escaped = Cow::Owned(escaped.replace("\\", "\\\\")); } if escaped.contains('\"') { escaped = Cow::Owned(escaped.replace("\"", "\\\"")); } escaped } pub(crate) fn unescape_quoted(escaped: &str) -> Cow { let mut unescaped = Cow::Borrowed(escaped); if unescaped.contains("\\\\") { unescaped = Cow::Owned(unescaped.replace("\\\\", "\\")); } if unescaped.contains("\\\"") { unescaped = Cow::Owned(unescaped.replace("\\\"", "\"")); } unescaped }