packages feed

colonnade 0.4.5 → 0.4.6

raw patch · 2 files changed

+40/−7 lines, 2 filesdep ~bytestringdep ~contravariantdep ~textPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: bytestring, contravariant, text, vector

API changes (from Hackage documentation)

+ Colonnade.Encoding: runBothMonadic_ :: Monad m => Encoding Headed content a -> (content -> content -> m b) -> a -> m ()
+ Colonnade.Encoding: runHeaderMonadicGeneral :: (Monad m, Monoid b, Foldable h) => Encoding h content a -> (content -> m b) -> m b
+ Colonnade.Encoding: runHeaderMonadicGeneral_ :: (Monad m, Monoid b, Foldable h) => Encoding h content a -> (content -> m b) -> m ()
+ Colonnade.Encoding: runRowMonadic_ :: Monad m => Encoding f content a -> (content -> m b) -> a -> m ()

Files

colonnade.cabal view
@@ -1,5 +1,5 @@ name:                colonnade-version:             0.4.5+version:             0.4.6 synopsis:            Generic types and functions for columnar encoding and decoding description:         Please see README.md homepage:            https://github.com/andrewthad/colonnade#readme@@ -25,10 +25,10 @@     Colonnade.Internal   build-depends:       base >= 4.7 && < 5-    , contravariant-    , vector-    , text-    , bytestring+    , contravariant >= 1.2 && < 1.5+    , vector >= 0.10 && < 0.12+    , text >= 1.0 && < 1.3+    , bytestring >= 0.10 && < 0.11   default-language:    Haskell2010  source-repository head
src/Colonnade/Encoding.hs view
@@ -26,6 +26,14 @@ runRow g (Encoding v) a = flip Vector.map v $   \(OneEncoding _ encode) -> g (encode a) +runBothMonadic_ :: Monad m+  => Encoding Headed content a+  -> (content -> content -> m b)+  -> a+  -> m ()+runBothMonadic_ (Encoding v) g a =+  forM_ v $ \(OneEncoding (Headed h) encode) -> g h (encode a)+ runRowMonadic :: (Monad m, Monoid b)               => Encoding f content a               -> (content -> m b)@@ -35,6 +43,14 @@   flip Internal.foldlMapM v   $ \e -> g (oneEncodingEncode e a) +runRowMonadic_ :: Monad m+  => Encoding f content a+  -> (content -> m b)+  -> a+  -> m ()+runRowMonadic_ (Encoding v) g a =+  forM_ v $ \e -> g (oneEncodingEncode e a)+ runRowMonadicWith :: (Monad m)               => b               -> (b -> b -> b)@@ -43,8 +59,8 @@               -> a               -> m b runRowMonadicWith bempty bappend (Encoding v) g a =-  foldlM (\br e -> do-    bl <- g (oneEncodingEncode e a)+  foldlM (\bl e -> do+    br <- g (oneEncodingEncode e a)     return (bappend bl br)   ) bempty v @@ -52,12 +68,29 @@ runHeader g (Encoding v) =   Vector.map (g . getHeaded . oneEncodingHead) v +-- | This function is a helper for abusing 'Foldable' to optionally+--   render a header. Its future is uncertain.+runHeaderMonadicGeneral :: (Monad m, Monoid b, Foldable h)+  => Encoding h content a+  -> (content -> m b)+  -> m b+runHeaderMonadicGeneral (Encoding v) g = id+  $ fmap (mconcat . Vector.toList)+  $ Vector.mapM (Internal.foldlMapM g . oneEncodingHead) v+ runHeaderMonadic :: (Monad m, Monoid b)                  => Encoding Headed content a                  -> (content -> m b)                  -> m b runHeaderMonadic (Encoding v) g =   fmap (mconcat . Vector.toList) $ Vector.mapM (g . getHeaded . oneEncodingHead) v++runHeaderMonadicGeneral_ :: (Monad m, Monoid b, Foldable h)+  => Encoding h content a+  -> (content -> m b)+  -> m ()+runHeaderMonadicGeneral_ (Encoding v) g =+  Vector.mapM_ (Internal.foldlMapM g . oneEncodingHead) v  runHeaderMonadic_ ::      (Monad m)