hasql-0.20: library/Hasql/Core/DecodeRow.hs
module Hasql.Core.DecodeRow where
import Hasql.Prelude
import Hasql.Core.Model
import qualified Hasql.Core.ParseDataRow as A
import qualified Hasql.Core.DecodePrimitive as B
newtype DecodeRow row =
DecodeRow (ReaderT Bool A.ParseDataRow row)
deriving (Functor, Applicative)
primitive :: B.DecodePrimitive column -> DecodeRow column
primitive (B.DecodePrimitive (ReaderT parser)) =
DecodeRow (ReaderT (A.column . parser))
nullablePrimitive :: B.DecodePrimitive column -> DecodeRow (Maybe column)
nullablePrimitive (B.DecodePrimitive (ReaderT parser)) =
DecodeRow (ReaderT (A.nullableColumn . parser))