dioxus_signals/global/
signal.rsuse super::{Global, InitializeFromFunction};
use crate::read::Readable;
use crate::read_impls;
use crate::Signal;
impl<T> InitializeFromFunction<T> for Signal<T> {
    fn initialize_from_function(f: fn() -> T) -> Self {
        Signal::new(f())
    }
}
pub type GlobalSignal<T> = Global<Signal<T>, T>;
impl<T: 'static> GlobalSignal<T> {
    pub fn id(&self) -> generational_box::GenerationalBoxId {
        self.resolve().id()
    }
    pub fn signal(&self) -> Signal<T> {
        self.resolve()
    }
}
read_impls!(GlobalSignal<T>);