From 670b76762a49ecae8c54e06e7a52956a3fcd7f15 Mon Sep 17 00:00:00 2001 From: Robert Porter Date: Wed, 20 May 2020 18:58:02 +0900 Subject: [PATCH] Removed the event customisation for Signal --- src/Wire/Signal.purs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/Wire/Signal.purs b/src/Wire/Signal.purs index a5c2219..94c9a8a 100644 --- a/src/Wire/Signal.purs +++ b/src/Wire/Signal.purs @@ -25,16 +25,13 @@ create init = do modify' f = Ref.modify f value >>= inner.push - event' = - Event.makeEvent \emit -> do - Ref.read value >>= emit - Event.subscribe inner.event emit - - signal = Signal { event: event', read: read', write: write', modify: modify' } + signal = Signal { event: inner.event, read: read', write: write', modify: modify' } pure { signal, cancel: inner.cancel } subscribe :: forall a. Signal a -> Subscriber a -> Effect Canceler -subscribe (Signal s) = Event.subscribe s.event +subscribe (Signal s) k = do + s.read >>= k + Event.subscribe s.event k event :: forall a. Signal a -> Event a event (Signal s) = s.event