module Hasql.CursorQuery.Private.Decoders where import qualified Control.Foldl as B import Hasql.CursorQuery.Private.Prelude import qualified Hasql.Decoders as A fold :: B.Fold a b -> A.Row a -> A.Result b fold :: forall a b. Fold a b -> Row a -> Result b fold (B.Fold x -> a -> x progress x enter x -> b exit) Row a rowDecoder = (x -> b) -> Result x -> Result b forall a b. (a -> b) -> Result a -> Result b forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap x -> b exit ((x -> a -> x) -> x -> Row a -> Result x forall a b. (a -> b -> a) -> a -> Row b -> Result a A.foldlRows x -> a -> x progress x enter Row a rowDecoder)