Skip to content
Snippets Groups Projects
Commit 2a020b5c authored by Jens Nolte's avatar Jens Nolte
Browse files

Add captureResources

parent a321103d
No related branches found
No related tags found
No related merge requests found
Pipeline #2699 passed
...@@ -12,6 +12,8 @@ module Quasar.Resources ( ...@@ -12,6 +12,8 @@ module Quasar.Resources (
registerDisposeTransaction, registerDisposeTransaction,
disposeEventually, disposeEventually,
disposeEventually_, disposeEventually_,
captureResources,
captureResources_,
-- * STM -- * STM
disposeEventuallySTM, disposeEventuallySTM,
...@@ -96,3 +98,14 @@ disposeEventually res = ensureSTM $ disposeEventuallySTM res ...@@ -96,3 +98,14 @@ disposeEventually res = ensureSTM $ disposeEventuallySTM res
disposeEventually_ :: (Resource r, MonadQuasar m) => r -> m () disposeEventually_ :: (Resource r, MonadQuasar m) => r -> m ()
disposeEventually_ res = ensureSTM $ disposeEventuallySTM_ res disposeEventually_ res = ensureSTM $ disposeEventuallySTM_ res
captureResources :: MonadQuasar m => m a -> m (a, Disposer)
captureResources fn = do
quasar <- newQuasar
localQuasar quasar do
result <- fn
pure (result, getDisposer (quasarResourceManager quasar))
captureResources_ :: MonadQuasar m => m () -> m Disposer
captureResources_ fn = snd <$> captureResources fn
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment