use crate::*;
impl App {
pub fn use_signal<T, F>(init: F) -> Signal<T>
where
T: Clone + PartialEq + 'static,
F: FnOnce() -> T,
{
HookContext::signal(init)
}
pub fn batch<F, R>(callback: F) -> R
where
F: FnOnce() -> R,
{
Scheduler::batch(callback)
}
pub fn mount<S, F>(selector: S, render_fn: F)
where
S: AsRef<str>,
F: FnOnce() -> VirtualNode,
{
Mount::setup(selector, render_fn)
}
pub fn schedule_update(dependents: &[usize]) {
Scheduler::update(dependents)
}
pub fn use_cleanup<F>(cleanup: F)
where
F: FnOnce() + 'static,
{
HookContext::cleanup(cleanup)
}
pub fn use_interval<F>(millis: i32, callback: F) -> IntervalHandle
where
F: FnMut() + 'static,
{
HookContext::interval(millis, callback)
}
pub fn use_window_event<E, F>(event_name: E, callback: F)
where
E: AsRef<str>,
F: FnMut() + 'static,
{
HookContext::window_event(event_name, callback)
}
}