module Database.PostgreSQL.Query.TH
(
deriveEverything
, module Database.PostgreSQL.Query.TH.Entity
, module Database.PostgreSQL.Query.TH.Enum
, module Database.PostgreSQL.Query.TH.Row
, module Database.PostgreSQL.Query.TH.SqlExp
) where
import Database.PostgreSQL.Query.TH.Entity
import Database.PostgreSQL.Query.TH.Enum
import Database.PostgreSQL.Query.TH.Row
import Database.PostgreSQL.Query.TH.SqlExp
import Language.Haskell.TH
deriveEverything :: EntityOptions -> Name -> Q [Dec]
deriveEverything :: EntityOptions -> Name -> Q [Dec]
deriveEverything EntityOptions
opts Name
tname = ([[Dec]] -> [Dec]) -> Q [[Dec]] -> Q [Dec]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap [[Dec]] -> [Dec]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat (Q [[Dec]] -> Q [Dec]) -> Q [[Dec]] -> Q [Dec]
forall a b. (a -> b) -> a -> b
$ [Q [Dec]] -> Q [[Dec]]
forall (t :: * -> *) (m :: * -> *) a.
(Traversable t, Monad m) =>
t (m a) -> m (t a)
sequence
[ Name -> Q [Dec]
deriveToRow Name
tname
, Name -> Q [Dec]
deriveFromRow Name
tname
, EntityOptions -> Name -> Q [Dec]
deriveEntity EntityOptions
opts Name
tname ]