module Hasql.Class
(
stmtList
, stmtUnit
, stmtVector
, stmtMaybe
, Encodable(..)
, Decodable(..)
) where
import Hasql.Class.Internal.Encodable
import Hasql.Class.Internal.Decodable
import Data.Vector (Vector)
import Data.ByteString (ByteString)
import Hasql.Query
import Hasql.Decoders (rowsList, unit, maybeRow, rowsVector)
stmtVector :: (Encodable a, Decodable b) => ByteString -> Bool -> Query a (Vector b)
stmtVector query isPrepared = statement query encode (rowsVector decode) isPrepared
stmtMaybe :: (Encodable a, Decodable b) => ByteString -> Bool -> Query a (Maybe b)
stmtMaybe query isPrepared = statement query encode (maybeRow decode) isPrepared
stmtList :: (Encodable a, Decodable b) => ByteString -> Bool -> Query a [b]
stmtList query isPrepared = statement query encode (rowsList decode) isPrepared
stmtUnit :: (Encodable a) => ByteString -> Bool -> Query a ()
stmtUnit query isPrepared = statement query encode unit isPrepared