From 7ea868bd0835fc0572a0c34ae1a76bba900733db Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Wed, 11 Oct 2023 12:46:53 -0500 Subject: [PATCH] add a map method to signal --- packages/signals/src/signal.rs | 6 ++++++ 1 file changed, 6 insertions(+) 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 {