From 1cab4a96260fffa1356febfcdae342a00acf9dde Mon Sep 17 00:00:00 2001
From: Jens Nolte <git@queezle.net>
Date: Thu, 24 Feb 2022 20:48:22 +0100
Subject: [PATCH] Add Monad instance for ObservableMessage

---
 src/Quasar/Observable.hs | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/Quasar/Observable.hs b/src/Quasar/Observable.hs
index ac809fd..120051f 100644
--- a/src/Quasar/Observable.hs
+++ b/src/Quasar/Observable.hs
@@ -59,6 +59,11 @@ instance Applicative ObservableMessage where
   liftA2 _ _ (ObservableNotAvailable ex) = ObservableNotAvailable ex
   liftA2 _ _ ObservableLoading = ObservableLoading
 
+instance Monad ObservableMessage where
+  (ObservableUpdate x) >>= fn = fn x
+  ObservableLoading >>= _ = ObservableLoading
+  (ObservableNotAvailable ex) >>= _ = ObservableNotAvailable ex
+
 
 toObservableUpdate :: MonadThrow m => ObservableMessage a -> m (Maybe a)
 toObservableUpdate (ObservableUpdate value) = pure $ Just value
-- 
GitLab