diff --git a/packages/signals/src/signal.rs b/packages/signals/src/signal.rs index c1ae076d9..567534ec5 100644 --- a/packages/signals/src/signal.rs +++ b/packages/signals/src/signal.rs @@ -1,3 +1,4 @@ +use crate::SignalMap; use std::{ cell::{Ref, RefCell, RefMut}, ops::{Deref, DerefMut}, @@ -252,6 +253,11 @@ impl Signal { let mut write = self.write(); f(&mut *write) } + + /// Map the signal to a new type. + pub fn map(self, f: fn(&T) -> &O) -> SignalMap { + SignalMap::new(self, f) + } } impl Signal {