From a8b7cde0814481647d4d2b2aa2ee93a3b04a3251 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sat, 14 Jun 2025 15:22:03 +0200 Subject: Drop partial version of Stored type --- src/Erebos/Storage/Internal.hs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src/Erebos/Storage/Internal.hs') diff --git a/src/Erebos/Storage/Internal.hs b/src/Erebos/Storage/Internal.hs index 303beb3..db211bb 100644 --- a/src/Erebos/Storage/Internal.hs +++ b/src/Erebos/Storage/Internal.hs @@ -20,7 +20,7 @@ module Erebos.Storage.Internal ( Generation(..), HeadID(..), HeadTypeID(..), - Stored'(..), storedStorage, + Stored(..), storedStorage, ) where import Control.Arrow @@ -37,6 +37,7 @@ import Data.ByteArray qualified as BA import Data.ByteString (ByteString) import Data.ByteString.Char8 qualified as BC import Data.ByteString.Lazy qualified as BL +import Data.Function import Data.HashTable.IO qualified as HT import Data.Hashable import Data.Kind @@ -239,17 +240,20 @@ newtype HeadID = HeadID UUID newtype HeadTypeID = HeadTypeID UUID deriving (Eq, Ord) -data Stored' c a = Stored (Ref' c) a +data Stored a = Stored + { storedRef' :: Ref + , storedObject' :: a + } deriving (Show) -instance Eq (Stored' c a) where - Stored r1 _ == Stored r2 _ = refDigest r1 == refDigest r2 +instance Eq (Stored a) where + (==) = (==) `on` (refDigest . storedRef') -instance Ord (Stored' c a) where - compare (Stored r1 _) (Stored r2 _) = compare (refDigest r1) (refDigest r2) +instance Ord (Stored a) where + compare = compare `on` (refDigest . storedRef') -storedStorage :: Stored' c a -> Storage' c -storedStorage (Stored (Ref st _) _) = st +storedStorage :: Stored a -> Storage +storedStorage = refStorage . storedRef' type Complete = Identity -- cgit v1.2.3