eventuo11y-batteries 0.3.0.3 → 0.4.0.0
raw patch · 3 files changed
+11/−4 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Observe.Event.Servant.Client: instance (Control.Monad.IO.Class.MonadIO (em r s), Observe.Event.MonadWithEvent em) => Servant.Client.Core.RunClient.RunClient (Observe.Event.Servant.Client.ClientM em r s)
+ Observe.Event.Servant.Client: instance (Control.Monad.IO.Class.MonadIO (em r s), Observe.Event.MonadWithEvent em) => Servant.Client.Core.RunClient.RunClient (Observe.Event.Servant.Client.ClientM em s r s)
- Observe.Event.Servant.Client: runClientM :: ClientM em r s a -> ClientEnv s -> em r s (Either ClientError a)
+ Observe.Event.Servant.Client: runClientM :: ClientM em s r s' a -> ClientEnv s -> em r s' (Either ClientError a)
- Observe.Event.Servant.Client: type ClientM em r s = TransEventMonad (ReaderT (ClientEnv s)) (TransEventMonad (ExceptT ClientError) em) r s
+ Observe.Event.Servant.Client: type ClientM em s = TransEventMonad (ReaderT (ClientEnv s)) (TransEventMonad (ExceptT ClientError) em)
Files
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for eventuo11y-batteries +## 0.4.0.0 -- 2023-01-17++- Fix `ClientM` to be usable as an `EventMonadKind`+ ## 0.3.0.2 -- 2023-01-17 - Bump upper bound for `eventuo11y`
eventuo11y-batteries.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: eventuo11y-batteries-version: 0.3.0.3+version: 0.4.0.0 synopsis: Grab bag of eventuo11y-enriched functionality description: Miscellaneous helpers for instrumenting with [eventuo11y](https://hackage.haskell.org/package/eventuo11y) and 3rd-party packages.
src/Observe/Event/Servant/Client.hs view
@@ -63,7 +63,10 @@ import Servant.Client.Core.RunClient hiding (RunRequest) -- | A monad to use in place of 'S.ClientM' to get instrumentation on requests.-type ClientM em r s = TransEventMonad (ReaderT (ClientEnv s)) (TransEventMonad (ExceptT ClientError) em) r s+--+-- Note that 'ClientM' is only 'RunClient' when the selector of the ambient 'EventBackend' is+-- @s@, see the instance under 'ClientEnv'.+type ClientM em s = TransEventMonad (ReaderT (ClientEnv s)) (TransEventMonad (ExceptT ClientError) em) -- | An instrumented 'S.ClientEnv' data ClientEnv s = ClientEnv@@ -71,7 +74,7 @@ injectRunRequest :: !(InjectSelector RunRequest s) } -instance (MonadIO (em r s), MonadWithEvent em) => RunClient (ClientM em r s) where+instance (MonadIO (em r s), MonadWithEvent em) => RunClient (ClientM em s r s) where runRequestAcceptStatus stats req = do e <- ask injectRunRequest e RunRequest \runReq injField -> withEvent runReq \ev -> do@@ -82,7 +85,7 @@ throwClientError = throwError -- | Instrumented version of 'S.runClientM'-runClientM :: ClientM em r s a -> ClientEnv s -> em r s (Either ClientError a)+runClientM :: ClientM em s r s' a -> ClientEnv s -> em r s' (Either ClientError a) runClientM = coerce -- | Selector for events in 'ClientM'