module Hasql.Decoders.Value where
import Hasql.Prelude
import qualified Database.PostgreSQL.LibPQ as LibPQ
import qualified PostgreSQL.Binary.Decoder as Decoder
newtype Value a =
Value (ReaderT Bool Decoder.Decoder a)
deriving (Functor)
run :: Value a -> Bool -> Decoder.Decoder a
run (Value imp) integerDatetimes =
runReaderT imp integerDatetimes
decoder :: (Bool -> Decoder.Decoder a) -> Value a
decoder =
Value . ReaderT
decoderFn :: (Bool -> ByteString -> Either Text a) -> Value a
decoderFn fn =
Value $ ReaderT $ \integerDatetimes -> Decoder.fn $ fn integerDatetimes