mirror of
https://github.com/byteverse/colonnade.git
synced 2024-10-26 08:03:25 +03:00
added more helpers
This commit is contained in:
parent
c1e237e608
commit
6a35f83550
@ -29,8 +29,9 @@ runRowMonadic :: (Monad m, Monoid b)
|
||||
-> (content -> m b)
|
||||
-> a
|
||||
-> m b
|
||||
runRowMonadic (Encoding v) g a = fmap (mconcat . Vector.toList) $ Vector.forM v $ \e ->
|
||||
g (oneEncodingEncode e a)
|
||||
runRowMonadic (Encoding v) g a = fmap (mconcat . Vector.toList)
|
||||
$ Vector.forM v
|
||||
$ \e -> g (oneEncodingEncode e a)
|
||||
|
||||
runHeader :: (c1 -> c2) -> Encoding Headed c1 a -> Vector c2
|
||||
runHeader g (Encoding v) =
|
||||
@ -43,5 +44,14 @@ runHeaderMonadic :: (Monad m, Monoid b)
|
||||
runHeaderMonadic (Encoding v) g =
|
||||
fmap (mconcat . Vector.toList) $ Vector.mapM (g . getHeaded . oneEncodingHead) v
|
||||
|
||||
fromMaybe :: c -> Encoding f c a -> Encoding f c (Maybe a)
|
||||
fromMaybe c (Encoding v) = Encoding $ flip Vector.map v $
|
||||
\(OneEncoding h encode) -> OneEncoding h (maybe c encode)
|
||||
|
||||
columns :: (b -> a -> c)
|
||||
-> (b -> f c)
|
||||
-> Vector b
|
||||
-> Encoding f c a
|
||||
columns getCell getHeader bs =
|
||||
Encoding $ Vector.map (\b -> OneEncoding (getHeader b) (getCell b)) bs
|
||||
|
||||
|
@ -67,7 +67,6 @@ testEncodingA =
|
||||
Pipes.yield (4,'c',False) >-> SE.pipe SC.byteStringChar8 encodingA
|
||||
) @?= "4,c,false\n"
|
||||
|
||||
|
||||
propEncodeDecodeIso :: Eq a => (a -> b) -> (b -> Maybe a) -> a -> Bool
|
||||
propEncodeDecodeIso f g a = g (f a) == Just a
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user