@@ -24,6 +24,7 @@ import qualified Data.ByteString as B
2424import qualified Data.ByteString.Lazy as BL
2525import qualified Data.Cache.LRU.IO as Lru
2626import Data.List (intercalate)
27+import Data.Maybe (isJust)
2728import qualified Data.Text as T
2829import qualified Data.Text.Encoding as T
2930import Data.Typeable (TypeRep, Typeable, cast, typeOf)
@@ -103,12 +104,8 @@ cacheLookup (Store _ (Just lru)) key = do
103104
104105--------------------------------------------------------------------------------
105106cacheIsMember :: Store -> String -> IO Bool
106−cacheIsMember (Store _ Nothing) _ = return False
107−cacheIsMember (Store _ (Just lru)) key = do
108− res <- Lru.lookup key lru
109− case res of
110− Nothing -> return False
111− _ -> return True
107+cacheIsMember (Store _ Nothing) _ = return False
108+cacheIsMember (Store _ (Just lru)) key = isJust <$> Lru.lookup key lru
112109
113110
114111--------------------------------------------------------------------------------
@@ -168,9 +165,10 @@ isMember :: Store -> [String] -> IO Bool
168165isMember store identifier = do
169166 inCache <- cacheIsMember store key
170167 if inCache then return True else doesFileExist path
171− where
172− key = hash identifier
173− path = storeDirectory store </> key
168+ where
169+ key = hash identifier
170+ path = storeDirectory store </> key
171+
174172
175173--------------------------------------------------------------------------------
176174-- | Delete an item