packages feed

aeson-quick 0.1.2.0 → 0.1.2.1

raw patch · 2 files changed

+12/−13 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

Data/Aeson/Quick.hs view
@@ -31,8 +31,6 @@  import GHC.Generics (Generic) -import Debug.Trace- data Structure = Obj [(T.Text, Bool, Structure)]                | Arr Structure                | Val@@ -58,13 +56,14 @@ parseStructure :: T.Text -> Either String Structure parseStructure = parseOnly structure   where-    structure = object' <|> array+    structure = object' <|> array <|> val     object' = Obj <$> ("{" *> sepBy1 lookups (char ',') <* "}")     array = Arr <$> ("[" *> structure <* "]")     lookups = (,,) <$> (takeWhile1 isKeyChar)                    <*> ("?" *> pure True <|> pure False)                    <*> (":" *> structure <|> pure Val)     isKeyChar = isAlphaNum -- TODO+    val = "." >> pure Val   {- |@@ -144,16 +143,16 @@ build :: ToJSON a => Structure -> Value -> a -> Value build structure val = go structure val . toJSON   where-    go (Val)      _          r         = traceShow "a" $ r-    go (Arr s)    (Array v)  (Array r) = traceShow "b" $ Array $ V.zipWith (go s) v r -    go (Arr s)    Null       (Array r) = traceShow "c" $ Array $ V.map (go s Null) r-    go (Arr s)    Null       r         = traceShow "d" $ toJSON [go s Null r]-    go (Obj [ks]) (Object v) r         = traceShow "e" $ Object $ update v ks r-    go (Obj keys) Null       r         = traceShow "f" $ go (Obj keys) (Object mempty) r-    go (Obj ks)   (Object v) (Array r) = traceShow "g" $ Object $+    go (Val)      _          r         = r+    go (Arr s)    (Array v)  (Array r) = Array $ V.zipWith (go s) v r +    go (Arr s)    Null       (Array r) = Array $ V.map (go s Null) r+    go (Arr s)    Null       r         = toJSON [go s Null r]+    go (Obj [ks]) (Object v) r         = Object $ update v ks r+    go (Obj keys) Null       r         = go (Obj keys) (Object mempty) r+    go (Obj ks)   (Object v) (Array r) = Object $       let maps = zip ks (V.toList r)        in foldl (\v' (s,r') -> update v' s r') v maps-    go (Obj keys) (Object v) r         = traceShow "h" $ r+    go (Obj keys) (Object v) r         = r     go a b c = error $ show (a,b,c) -- TODO     update v (k,_,s) r =       let startVal = go s (H.lookupDefault Null k v) r
aeson-quick.cabal view
@@ -1,5 +1,5 @@ Name:              aeson-quick-Version:           0.1.2.0+Version:           0.1.2.1 Build-Type:        Simple Cabal-Version:     >= 1.16 License:           BSD3@@ -10,7 +10,7 @@ Category:          Text, Web, JSON Synopsis:          Quick JSON extractions with Aeson Description:       DSL on top of Aeson. This library is /experimental/.-Copyright:         (c) 2014-2017 Scott Sadler+Copyright:         (c) 2014-2018 Scott Sadler Stability:         Experimental Tested-With:       GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.2, GHC == 8.0.1