{-| Extensions to Session. Can be used imported in the same namespace as @Hasql.Session@ without conflicts. -} 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) {-| Execute an alternating transaction arrow providing an input for it. -} 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)