From 5c86ba46979ce7e162e745e4b3c002e0f5fe8a8a Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Mon, 30 Aug 2021 02:42:07 +0200 Subject: [PATCH] Add toObservableUpdate --- src/Quasar/Observable.hs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Quasar/Observable.hs b/src/Quasar/Observable.hs index aeda1d4..7b9c636 100644 --- a/src/Quasar/Observable.hs +++ b/src/Quasar/Observable.hs @@ -8,6 +8,7 @@ module Quasar.Observable ( IsObservable(..), Observable(..), ObservableMessage(..), + toObservableUpdate, asyncObserve, asyncObserve_, @@ -68,6 +69,12 @@ instance Applicative ObservableMessage where liftA2 fn (ObservableUpdate x) (ObservableUpdate y) = ObservableUpdate (fn x y) +toObservableUpdate :: MonadThrow m => ObservableMessage a -> m (Maybe a) +toObservableUpdate (ObservableUpdate value) = pure $ Just value +toObservableUpdate ObservableLoading = pure Nothing +toObservableUpdate (ObservableNotAvailable ex) = throwM ex + + class IsRetrievable v a | a -> v where retrieve :: MonadAsync m => a -> m (Task v) -- GitLab