From 0f62efc8579915b21836e7b905416828ef135205 Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Tue, 2 Nov 2021 02:12:37 +0100 Subject: [PATCH] Rename withScopedResourceManager Co-authored-by: Jan Beinke <git@janbeinke.com> --- src/Quasar/ResourceManager.hs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Quasar/ResourceManager.hs b/src/Quasar/ResourceManager.hs index 7bedb84..6f22bb7 100644 --- a/src/Quasar/ResourceManager.hs +++ b/src/Quasar/ResourceManager.hs @@ -8,6 +8,8 @@ module Quasar.ResourceManager ( registerNewResource_, registerDisposable, registerDisposeAction, + withScopedResourceManager, + withScopedResourceManagerIO, withSubResourceManagerM, onResourceManager, captureDisposable, @@ -140,11 +142,17 @@ registerNewResource action = mask_ do registerNewResource_ :: (IsDisposable a, MonadResourceManager m) => m a -> m () registerNewResource_ action = void $ registerNewResource action +withScopedResourceManager :: MonadResourceManager m => m a -> m a +withScopedResourceManager action = + bracket newResourceManager dispose \scope -> localResourceManager scope action + +withScopedResourceManagerIO :: MonadResourceManager m => ResourceManagerIO a -> m a +withScopedResourceManagerIO action = + bracket newResourceManager dispose \scope -> onResourceManager scope action --- TODO rename to withResourceScope, subResourceManager or withResourceManager? withSubResourceManagerM :: MonadResourceManager m => m a -> m a -withSubResourceManagerM action = - bracket newResourceManager dispose \scope -> localResourceManager scope action +withSubResourceManagerM = withScopedResourceManager +{-# DEPRECATED withSubResourceManagerM "Use `withScopedResourceManager` instead." #-} type ResourceManagerT = ReaderT ResourceManager -- GitLab