module Hasql.Transaction.Session
where
import Hasql.Transaction.Prelude
import Hasql.Transaction.Requisites.Model
import Hasql.Transaction.Requisites.Sessions
import Hasql.Session
import qualified Hasql.Transaction.Transaction as Transaction
import qualified Hasql.Transaction.Transaction as Reexports (Transaction)
transact :: Transaction.Transaction i o -> i -> Session o
transact (Transaction.Transaction mode level list) i =
inAlternatingTransaction mode level (fmap (\ fn -> runStateT (fn i) Uncondemned) list)