module Database.Relational.Monad.Register (
Register,
extract,
) where
import Database.Relational.Internal.Config (Config)
import Database.Relational.SqlSyntax (Assignment)
import Database.Relational.Table (Table)
import Database.Relational.Monad.BaseType (ConfigureQuery, configureQuery)
import Database.Relational.Monad.Trans.Assigning (Assignings, extractAssignments)
type Register r = Assignings r ConfigureQuery
extract :: Assignings r ConfigureQuery a -> Config -> (a, Table r -> [Assignment])
= ConfigureQuery (a, Table r -> [Assignment])
-> Config -> (a, Table r -> [Assignment])
forall q. ConfigureQuery q -> Config -> q
configureQuery (ConfigureQuery (a, Table r -> [Assignment])
-> Config -> (a, Table r -> [Assignment]))
-> (Assignings r ConfigureQuery a
-> ConfigureQuery (a, Table r -> [Assignment]))
-> Assignings r ConfigureQuery a
-> Config
-> (a, Table r -> [Assignment])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Assignings r ConfigureQuery a
-> ConfigureQuery (a, Table r -> [Assignment])
forall (m :: * -> *) r a.
(Monad m, Functor m) =>
Assignings r m a -> m (a, Table r -> [Assignment])
extractAssignments