From 9cb00b9ba0dad563b67ed443805c8cf4d01841b2 Mon Sep 17 00:00:00 2001 From: Ian Duncan Date: Tue, 30 Mar 2021 21:43:06 -0700 Subject: [PATCH] Add Data & Typeable instance support for Entities --- persistent/Database/Persist/Class/PersistEntity.hs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/persistent/Database/Persist/Class/PersistEntity.hs b/persistent/Database/Persist/Class/PersistEntity.hs index edde12c87..3c8c4673b 100644 --- a/persistent/Database/Persist/Class/PersistEntity.hs +++ b/persistent/Database/Persist/Class/PersistEntity.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE ScopedTypeVariables #-} @@ -37,10 +38,12 @@ import qualified Data.Aeson.Parser as AP import Data.Aeson.Types (Parser,Result(Error,Success)) import Data.Aeson.Text (encodeToTextBuilder) import Data.Attoparsec.ByteString (parseOnly) +import Data.Data (Data) import qualified Data.HashMap.Strict as HM import Data.Maybe (isJust) import Data.Monoid (mappend) import Data.Text (Text) +import Data.Typeable (Typeable) import qualified Data.Text as T import qualified Data.Text.Encoding as TE import qualified Data.Text.Lazy as LT @@ -221,6 +224,8 @@ deriving instance (Eq (Key record), Eq record) => Eq (Entity record) deriving instance (Ord (Key record), Ord record) => Ord (Entity record) deriving instance (Show (Key record), Show record) => Show (Entity record) deriving instance (Read (Key record), Read record) => Read (Entity record) +deriving instance (Data (Key record), Data record) => Data (Entity record) +deriving instance (Typeable (Key record), Typeable record) => Typeable (Entity record) -- | Get list of values corresponding to given entity. entityValues :: PersistEntity record => Entity record -> [PersistValue]