diff --git a/src/lib.rs b/src/lib.rs index b73d172..180c70d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -63,6 +63,18 @@ where { create_effect(cx, move || self.dispatch(message_fn(trigger.get()))); } + + pub fn get_selector( + &'ctx self, + cx: Scope<'ctx>, + selector_factory: F, + ) -> &'ctx ReadSignal + where + F: Fn(&'ctx ReadSignal) -> Val + 'ctx, + Val: PartialEq, + { + create_selector(cx, move || selector_factory(self.signal)) + } } #[cfg(test)]