mod fast;
pub use fast::FastHydrationPlugin;
use crate::{ResponseWriter, Result};
pub trait HandlerPlugin {
fn push_scope(&mut self);
fn pop_scope(&mut self);
fn on_binding_start(&mut self, name: &str, writer: &mut dyn ResponseWriter) -> Result<()>;
fn on_binding_end(&mut self, name: &str, writer: &mut dyn ResponseWriter) -> Result<()>;
fn on_repeat_item_start(&mut self, index: usize, writer: &mut dyn ResponseWriter)
-> Result<()>;
fn on_repeat_item_end(&mut self, index: usize, writer: &mut dyn ResponseWriter) -> Result<()>;
fn on_plugin_data(&mut self, data: &[u8], writer: &mut dyn ResponseWriter) -> Result<()>;
fn on_render_complete(
&mut self,
_protocol: &webui_protocol::WebUIProtocol,
_rendered_components: &std::collections::HashSet<String>,
_writer: &mut dyn ResponseWriter,
) -> Result<()> {
Ok(())
}
}