packages feed

lifx-lan 0.8.1 → 0.8.2

raw patch · 2 files changed

+5/−6 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Lifx.Lan.Internal: instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError (Data.Either.Either e Lifx.Lan.Internal.LifxError) (Lifx.Lan.Internal.LifxT m)
+ Lifx.Lan.Internal: instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Lifx.Lan.Internal.LifxT m)

Files

lifx-lan.cabal view
@@ -1,6 +1,6 @@ cabal-version:      3.0 name:               lifx-lan-version:            0.8.1+version:            0.8.2 license:            BSD-3-Clause license-file:       LICENSE author:             George Thomas
src/Lifx/Lan/Internal.hs view
@@ -101,11 +101,10 @@         ExceptT $ local f $ unLifx e s m instance MonadState s m => MonadState s (LifxT m) where     state = lift . state-instance MonadError e m => MonadError (Either e LifxError) (LifxT m) where-    throwError = either (lift . throwError @e @m) (LifxT . throwError)-    catchError m h = LifxT $ StateT \s -> ReaderT \e -> ExceptT do-        (m', s'') <- either ((,s) . h . Right) (first pure) <$> unLifx e s m-        catchError @e @m (unLifx e s'' m') (unLifx e s'' . h . Left)+instance MonadError e m => MonadError e (LifxT m) where+    throwError = lift . throwError @e @m+    catchError m h = LifxT $ StateT \s -> ReaderT \e ->+        ExceptT $ catchError @e @m (unLifx e s m) (unLifx e s . h)  unLifx :: (Socket, Word32, Int) -> Word8 -> LifxT m a -> m (Either LifxError (a, Word8)) unLifx e s = runExceptT . flip runReaderT e . flip runStateT s . (.unwrap)