matrix-ui-serializable 0.4.0

Opinionated abstraction of the matrix-sdk crate with serializable structs
Documentation
pub use tokio::sync::broadcast;

use crate::models::events::EmitEvent;

#[derive(Debug)]
pub struct EventBridge {
    sender: broadcast::Sender<EmitEvent>,
}

impl EventBridge {
    pub fn new() -> (Self, broadcast::Receiver<EmitEvent>) {
        let (sender, receiver) = broadcast::channel(100);
        (Self { sender }, receiver)
    }

    pub fn emit(&self, event: EmitEvent) {
        let _ = self.sender.send(event);
    }
}