use crate::error::LagoResult;
use crate::event::EventEnvelope;
pub trait Projection: Send + Sync {
fn on_event(&mut self, event: &EventEnvelope) -> LagoResult<()>;
fn on_replay_complete(&mut self) -> LagoResult<()> {
Ok(())
}
fn name(&self) -> &str;
}