use std::borrow::Cow;
use pyo3::prelude::*;
use pyo3::types::PyString;
#[pyfunction]
#[pyo3(signature = (text, *, replacement, keep_tab))]
pub fn _strip_log_injection<'py>(
text: &Bound<'py, PyString>,
replacement: &str,
keep_tab: bool,
) -> PyResult<Bound<'py, PyString>> {
crate::log_injection::validate_log_replacement(replacement, keep_tab)?;
let s = text.to_cow()?;
match crate::log_injection::strip_log_injection_str(&s, replacement, keep_tab) {
Cow::Borrowed(_) => Ok(text.clone()),
Cow::Owned(out) => Ok(PyString::new(text.py(), &out)),
}
}