@@ -24,6 +24,7 @@ import qualified Data.ByteString as B
24import qualified Data.ByteString.Lazy as BL
24import qualified Data.ByteString.Lazy as BL
25import qualified Data.Cache.LRU.IO as Lru
25import qualified Data.Cache.LRU.IO as Lru
26import Data.List (intercalate)
26import Data.List (intercalate)
27+import Data.Maybe (isJust)
27import qualified Data.Text as T
28import qualified Data.Text as T
28import qualified Data.Text.Encoding as T
29import qualified Data.Text.Encoding as T
29import Data.Typeable (TypeRep, Typeable, cast, typeOf)
30import Data.Typeable (TypeRep, Typeable, cast, typeOf)
@@ -103,12 +104,8 @@ cacheLookup (Store _ (Just lru)) key = do
104--------------------------------------------------------------------------------
105--------------------------------------------------------------------------------
105cacheIsMember :: Store -> String -> IO Bool
106cacheIsMember :: Store -> String -> IO Bool
106−cacheIsMember (Store _ Nothing) _ = return False
107+cacheIsMember (Store _ Nothing) _ = return False
107−cacheIsMember (Store _ (Just lru)) key = do
108+cacheIsMember (Store _ (Just lru)) key = isJust <$> Lru.lookup key lru
108− res <- Lru.lookup key lru
110− Nothing -> return False
114--------------------------------------------------------------------------------
111--------------------------------------------------------------------------------
@@ -168,9 +165,10 @@ isMember :: Store -> [String] -> IO Bool
168isMember store identifier = do
165isMember store identifier = do
169 inCache <- cacheIsMember store key
166 inCache <- cacheIsMember store key
170 if inCache then return True else doesFileExist path
167 if inCache then return True else doesFileExist path
172− key = hash identifier
169+ key = hash identifier
173− path = storeDirectory store </> key
170+ path = storeDirectory store </> key
175--------------------------------------------------------------------------------
173--------------------------------------------------------------------------------
176-- | Delete an item
174-- | Delete an item