From 8a9c87adb9d81b653a6188afe4dba65e1739dc99 Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Sun, 13 Mar 2022 16:05:08 +0100 Subject: [PATCH] Remove old ObservableVar version --- src/Quasar/Observable.hs | 42 +--------------------------------------- 1 file changed, 1 insertion(+), 41 deletions(-) diff --git a/src/Quasar/Observable.hs b/src/Quasar/Observable.hs index c5816f7..dc47cb0 100644 --- a/src/Quasar/Observable.hs +++ b/src/Quasar/Observable.hs @@ -400,47 +400,7 @@ stateObservableVar (ObservableVar var registry) f = ensureQuasarSTM do updateObservers registry $ ObservableValue newValue pure result ---newtype ObservableVar v = ObservableVar (MVar (v, HM.HashMap Unique (ObservableCallback v))) ---instance IsRetrievable v (ObservableVar v) where --- retrieve (ObservableVar mvar) = liftIO $ pure . fst <$> readMVar mvar ---instance IsObservable v (ObservableVar v) where --- observe (ObservableVar mvar) callback = do --- resourceManager <- askResourceManager --- --- registerNewResource_ $ liftIO do --- let wrappedCallback = enterResourceManager resourceManager . callback --- --- key <- liftIO newUnique --- --- modifyMVar_ mvar $ \(state, subscribers) -> do --- -- Call listener with initial value --- wrappedCallback (pure state) --- pure (state, HM.insert key wrappedCallback subscribers) --- --- atomically $ newDisposable $ disposeFn key --- where --- disposeFn :: Unique -> IO () --- disposeFn key = modifyMVar_ mvar (\(state, subscribers) -> pure (state, HM.delete key subscribers)) --- ---newObservableVar :: MonadIO m => v -> m (ObservableVar v) ---newObservableVar initialValue = liftIO do --- ObservableVar <$> newMVar (initialValue, HM.empty) --- ---setObservableVar :: MonadIO m => ObservableVar v -> v -> m () ---setObservableVar observable value = modifyObservableVar observable (const value) --- ---stateObservableVar :: MonadIO m => ObservableVar v -> (v -> (a, v)) -> m a ---stateObservableVar (ObservableVar mvar) f = --- liftIO $ modifyMVar mvar $ \(oldState, subscribers) -> do --- let (result, newState) = f oldState --- mapM_ (\callback -> callback (pure newState)) subscribers --- pure ((newState, subscribers), result) --- ---modifyObservableVar :: MonadIO m => ObservableVar v -> (v -> v) -> m () ---modifyObservableVar observable f = stateObservableVar observable (((), ) . f) --- --- --- + --data FnObservable v = FnObservable { -- retrieveFn :: ResourceManagerIO (Future v), -- observeFn :: (ObservableState v -> ResourceManagerIO ()) -> ResourceManagerIO () -- GitLab