SignalWith

Trait SignalWith 

Source
pub trait SignalWith<T> {
    // Required method
    fn id(&self) -> Id;

    // Provided methods
    fn with<O>(&self, f: impl FnOnce(&T) -> O) -> O
       where T: 'static { ... }
    fn with_untracked<O>(&self, f: impl FnOnce(&T) -> O) -> O
       where T: 'static { ... }
    fn try_with<O>(&self, f: impl FnOnce(Option<&T>) -> O) -> O
       where T: 'static { ... }
    fn try_with_untracked<O>(&self, f: impl FnOnce(Option<&T>) -> O) -> O
       where T: 'static { ... }
}

Required Methods§

Source

fn id(&self) -> Id

get the Signal Id

Provided Methods§

Source

fn with<O>(&self, f: impl FnOnce(&T) -> O) -> O
where T: 'static,

Source

fn with_untracked<O>(&self, f: impl FnOnce(&T) -> O) -> O
where T: 'static,

Source

fn try_with<O>(&self, f: impl FnOnce(Option<&T>) -> O) -> O
where T: 'static,

Source

fn try_with_untracked<O>(&self, f: impl FnOnce(Option<&T>) -> O) -> O
where T: 'static,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T> SignalWith<T> for ReadSignal<T, UnsyncStorage>

Source§

impl<T> SignalWith<T> for RwSignal<T, UnsyncStorage>

Source§

impl<T, O, GF, UF> SignalWith<O> for DerivedRwSignal<T, O, GF, UF>
where T: Clone + 'static, O: Clone, GF: Fn(&T) -> O + Copy, UF: Fn(&O) -> T + Copy,

Source§

impl<T, O, GF, UF> SignalWith<O> for SyncDerivedRwSignal<T, O, GF, UF>
where T: Clone + Send + Sync + 'static, O: Clone + Send + Sync, GF: Fn(&T) -> O + Copy + Send + Sync, UF: Fn(&O) -> T + Copy + Send + Sync,

Source§

impl<T: Clone + 'static> SignalWith<T> for BaseSignal<T>

Source§

impl<T: Clone + Send + Sync + 'static> SignalWith<T> for SyncBaseSignal<T>

Source§

impl<T: PartialEq + 'static> SignalWith<T> for Memo<T>
where ReadSignal<T>: SignalWith<T>,

Source§

impl<T: Send + Sync> SignalWith<T> for ReadSignal<T, SyncStorage>

Source§

impl<T: Send + Sync> SignalWith<T> for RwSignal<T, SyncStorage>