vertigo 0.2.0-alpha

Reactive Real-DOM library for Rust
Documentation
use crate::{driver_module::event_emmiter::EventEmmiter, DropResource};

#[derive(Clone)]
pub struct Hooks {
    callback_after_transaction: EventEmmiter<()>,
}

impl Hooks {
    pub fn new() -> Hooks {
        Hooks {
            callback_after_transaction: EventEmmiter::default(),
        }
    }

    #[must_use]
    pub(crate) fn on_after_transaction(&self, callback: impl Fn() + 'static) -> DropResource {
        self.callback_after_transaction.add(move |_| {
            callback();
        })
    }

    pub fn fire_end(&self) {
        self.callback_after_transaction.trigger(());
    }
}