colonnade-0.3: Generic types and functions for columnar encoding and decoding

Safe HaskellNone
LanguageHaskell2010

Colonnade.Encoding

Synopsis

Documentation

mapContent :: Functor f => (c1 -> c2) -> Encoding f c1 a -> Encoding f c2 a Source

headless :: (a -> content) -> Encoding Headless content a Source

headed :: content -> (a -> content) -> Encoding Headed content a Source

runRow :: (c1 -> c2) -> Encoding f c1 a -> a -> Vector c2 Source

Consider providing a variant the produces a list instead. It may allow more things to get inlined in to a loop.

runRowMonadic :: (Monad m, Monoid b) => Encoding f content a -> (content -> m b) -> a -> m b Source

runHeader :: (c1 -> c2) -> Encoding Headed c1 a -> Vector c2 Source

runHeaderMonadic :: (Monad m, Monoid b) => Encoding Headed content a -> (content -> m b) -> m b Source

fromMaybe :: c -> Encoding f c a -> Encoding f c (Maybe a) Source

columns :: (b -> a -> c) -> (b -> f c) -> Vector b -> Encoding f c a Source