From 4fcc90a5066be7182a19281f2eba645fa1f718db Mon Sep 17 00:00:00 2001
From: Jens Nolte <git@queezle.net>
Date: Sat, 18 Sep 2021 00:02:47 +0200
Subject: [PATCH] Rename to newUnmanagedResourceManager

Co-authored-by: Jan Beinke <git@janbeinke.com>
---
 src/Quasar/Observable.hs      |  6 +++---
 src/Quasar/ResourceManager.hs | 10 +++++-----
 test/Quasar/DisposableSpec.hs |  4 ++--
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/Quasar/Observable.hs b/src/Quasar/Observable.hs
index 4aac428..90382b7 100644
--- a/src/Quasar/Observable.hs
+++ b/src/Quasar/Observable.hs
@@ -102,7 +102,7 @@ class IsRetrievable v o => IsObservable v o | o -> v where
   -- | Old signature of `observe`, will be removed from the class once it's no longer used for implementations.
   oldObserve :: o -> (ObservableMessage v -> IO ()) -> IO Disposable
   oldObserve observable callback = do
-    resourceManager <- unsafeNewResourceManager
+    resourceManager <- newUnmanagedResourceManager
     onResourceManager resourceManager do
       observe observable $ \msg -> liftIO (callback msg)
     pure $ toDisposable resourceManager
@@ -230,7 +230,7 @@ instance IsObservable r (BindObservable r) where
   oldObserve :: BindObservable r -> (ObservableMessage r -> IO ()) -> IO Disposable
   oldObserve (BindObservable fx fn) callback = do
     -- Create a resource manager to ensure all subscriptions are cleaned up when disposing.
-    resourceManager <- unsafeNewResourceManager
+    resourceManager <- newUnmanagedResourceManager
 
     isDisposingVar <- newTVarIO False
     disposableVar <- newTMVarIO noDisposable
@@ -298,7 +298,7 @@ instance IsObservable r (CatchObservable e r) where
   oldObserve :: CatchObservable e r -> (ObservableMessage r -> IO ()) -> IO Disposable
   oldObserve (CatchObservable fx fn) callback = do
     -- Create a resource manager to ensure all subscriptions are cleaned up when disposing.
-    resourceManager <- unsafeNewResourceManager
+    resourceManager <- newUnmanagedResourceManager
 
     isDisposingVar <- newTVarIO False
     disposableVar <- newTMVarIO noDisposable
diff --git a/src/Quasar/ResourceManager.hs b/src/Quasar/ResourceManager.hs
index 05eade7..967ff0a 100644
--- a/src/Quasar/ResourceManager.hs
+++ b/src/Quasar/ResourceManager.hs
@@ -15,7 +15,7 @@ module Quasar.ResourceManager (
   ResourceManager,
   withResourceManager,
   newResourceManager,
-  unsafeNewResourceManager,
+  newUnmanagedResourceManager,
   attachDisposable,
   attachDisposeAction,
   attachDisposeAction_,
@@ -182,19 +182,19 @@ instance IsDisposable ResourceManager where
           ((\disposed -> unless disposed retry) =<< readTVar (disposedVar resourceManager))
 
 withResourceManager :: (MonadAwait m, MonadMask m, MonadIO m) => (ResourceManager -> m a) -> m a
-withResourceManager = bracket unsafeNewResourceManager (await <=< liftIO . dispose)
+withResourceManager = bracket newUnmanagedResourceManager (await <=< liftIO . dispose)
 
 withResourceManagerM :: (MonadAwait m, MonadMask m, MonadIO m) => (ReaderT ResourceManager m a) -> m a
 withResourceManagerM action = withResourceManager \resourceManager -> onResourceManager resourceManager action
 
 newResourceManager :: MonadResourceManager m => m ResourceManager
 newResourceManager = mask_ do
-  resourceManager <- unsafeNewResourceManager
+  resourceManager <- newUnmanagedResourceManager
   registerDisposable resourceManager
   pure resourceManager
 
-unsafeNewResourceManager :: MonadIO m => m ResourceManager
-unsafeNewResourceManager = liftIO do
+newUnmanagedResourceManager :: MonadIO m => m ResourceManager
+newUnmanagedResourceManager = liftIO do
   disposingVar <- newTVarIO False
   disposedVar <- newTVarIO False
   exceptionVar <- newEmptyTMVarIO
diff --git a/test/Quasar/DisposableSpec.hs b/test/Quasar/DisposableSpec.hs
index a424215..c8796f3 100644
--- a/test/Quasar/DisposableSpec.hs
+++ b/test/Quasar/DisposableSpec.hs
@@ -44,10 +44,10 @@ spec = parallel $ do
 
   describe "ResourceManager" $ do
     it "can be created" $ io do
-      void unsafeNewResourceManager
+      void newUnmanagedResourceManager
 
     it "can be created and disposed" $ io do
-      resourceManager <- unsafeNewResourceManager
+      resourceManager <- newUnmanagedResourceManager
       await =<< dispose resourceManager
 
     it "can be created and disposed" $ io do
-- 
GitLab