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))