use std::fmt::Write;
pub(super) fn write_opt_u64(buf: &mut String, val: Option<u64>) {
if let Some(v) = val {
let _ = write!(buf, "{}", v);
}
}
pub fn csv_escape(s: &str) -> String {
if s.contains(',') || s.contains('"') || s.contains('\n') || s.contains('\r') {
format!("\"{}\"", s.replace('"', "\"\""))
} else {
s.to_string()
}
}
pub(crate) fn html_escape(s: &str) -> String {
s.replace('&', "&")
.replace('<', "<")
.replace('>', ">")
.replace('"', """)
}
pub(crate) fn prometheus_escape_label_value(s: &str) -> String {
s.replace('\\', "\\\\").replace('"', "\\\"")
}