refactor: Implement faster `render_escaped` method for upper filter

This commit is contained in:
Kogia-sima 2021-01-08 23:39:12 +09:00
parent 7705d7945c
commit 30f42f1b46
1 changed files with 10 additions and 0 deletions

View File

@ -71,6 +71,16 @@ impl<'a, T: Render + ?Sized> Render for Upper<'a, T> {
b.push_str(&*s);
Ok(())
}
fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError> {
let old_len = b.len();
self.0.render_escaped(b)?;
let s = b.as_str()[old_len..].to_uppercase();
unsafe { b._set_len(old_len) };
b.push_str(&*s);
Ok(())
}
}
/// convert the rendered contents to uppercase