packages feed

aeson-value-parser 0.12.2 → 0.12.3

raw patch · 2 files changed

+15/−1 lines, 2 filesdep +foldlPVP ok

version bump matches the API change (PVP)

Dependencies added: foldl

API changes (from Hackage documentation)

+ Aeson.ValueParser: foldElements :: Fold element array -> Value element -> Array array
+ Aeson.ValueParser: foldFields :: Fold (Text, field) object -> Value field -> Object object

Files

aeson-value-parser.cabal view
@@ -1,7 +1,7 @@ name:   aeson-value-parser version:-  0.12.2+  0.12.3 synopsis:   An API for parsing "aeson" JSON tree into Haskell types description:@@ -55,6 +55,7 @@     scientific == 0.3.*,     text == 1.*,     --+    foldl >=1.3 && <2,     transformers >= 0.5 && < 0.7,     mtl-prelude < 3,     base-prelude >= 0.1.19 && < 2
library/Aeson/ValueParser.hs view
@@ -18,11 +18,13 @@   Object,   field,   fieldsMap,+  foldFields,   foldlFields,   -- * Array parsers   Array,   element,   elementsVector,+  foldElements,   foldlElements,   foldlElements1,   foldrElements,@@ -33,6 +35,7 @@ import MTLPrelude import Data.Text (Text) import Data.Scientific (Scientific)+import Control.Foldl (Fold(..)) import qualified Data.Aeson as A import qualified Data.HashMap.Strict as B import qualified Data.Vector as C@@ -162,6 +165,11 @@ fieldsMap (Value effect) =   Object $ ReaderT $ mapM (runReaderT effect) +{-# INLINE foldFields #-}+foldFields :: Fold (Text, field) object -> Value field -> Object object+foldFields (Fold foldStep foldInit foldEnd) value =+  fmap foldEnd (foldlFields foldStep foldInit value)+ {-# INLINE foldlFields #-} foldlFields :: (a -> (Text, b) -> a) -> a -> Value b -> Object a foldlFields step init (Value impl) =@@ -191,6 +199,11 @@ elementsVector :: Value a -> Array (C.Vector a) elementsVector (Value effect) =   Array $ ReaderT $ mapM (runReaderT effect)++{-# INLINE foldElements #-}+foldElements :: Fold element array -> Value element -> Array array+foldElements (Fold foldStep foldInit foldEnd) value =+  fmap foldEnd (foldlElements foldStep foldInit value)  {-# INLINE foldlElements #-} foldlElements :: (a -> b -> a) -> a -> Value b -> Array a