@@ -4,7 +4,7 @@ import Prelude
44import Control.Applicative.Free (foldFreeAp )
55import Control.Monad.Free (foldFree )
66import Data.Either (either )
7- import Data.Foldable (sequence_ , traverse_ )
7+ import Data.Foldable (traverse_ )
88import Data.Map as Map
99import Data.Maybe (Maybe (..))
1010import Data.Tuple (Tuple (..))
@@ -13,7 +13,7 @@ import Effect.Aff (Aff, ParAff, finally, parallel, sequential, throwError)
1313import Effect.Aff as Aff
1414import Effect.Class (liftEffect )
1515import Effect.Ref as Ref
16- import FRP.Event as Event
16+ import Halogen.Subscription ( subscribe , unsubscribe )
1717import React.Halo.Internal.Control (HaloAp (..), HaloF (..), HaloM (..))
1818import React.Halo.Internal.State (HaloState (..))
1919import React.Halo.Internal.State as State
@@ -53,13 +53,13 @@ evalHaloF hs@(HaloState s) = case _ of
5353 liftEffect do
5454 sid <- State .fresh SubscriptionId hs
5555 unlessM (Ref .read s.finalized) do
56- canceller <- Event . subscribe (sub sid) (handleAction hs)
56+ canceller <- subscribe (sub sid) (handleAction hs)
5757 Ref .modify_ (Map .insert sid canceller) s.subscriptions
5858 pure (k sid)
5959 Unsubscribe sid a ->
6060 liftEffect do
61- canceller <- Map .lookup sid <$> Ref .read s.subscriptions
62- sequence_ canceller
61+ subscription <- Map .lookup sid <$> Ref .read s.subscriptions
62+ traverse_ unsubscribe subscription
6363 pure a
6464 Lift m -> m
6565 Par p -> sequential (evalHaloAp hs p)
@@ -143,7 +143,7 @@ runFinalize :: forall props ctx state action. HaloState props ctx state action -
143143runFinalize hs@(HaloState s) = do
144144 Ref .write true s.finalized
145145 subscriptions <- Ref .modify' (\s' -> { state: Map .empty, value: s' }) s.subscriptions
146- sequence_ (Map .values subscriptions)
146+ traverse_ unsubscribe (Map .values subscriptions)
147147 forks <- Ref .modify' (\s' -> { state: Map .empty, value: s' }) s.forks
148148 traverse_ (runAff <<< Aff .killFiber (Aff .error " Cancelled" )) (Map .values forks)
149149 runAff $ evalHaloM hs $ s.eval Finalize
0 commit comments