on master help sign in
Tell which key failed to parse in maps
commit6c60aff388ac276e5eddad0447685df09719df9a authorOleg Grenrus <oleg.grenrus@iki.fi> dateWed 8 Jun 2016, 16:14 (10 years ago) parentf81a260
1 file changed+2−2
Data/Aeson/Types/FromJSON.hs+2−2
Data/Aeson/Types/FromJSON.hs+2−2
@@ -1278,7 +1278,7 @@ instance (FromJSONKey k, Ord k) => FromJSON1 (M.Map k) where
12781278 FromJSONKeyText f -> withObject "Map k v" $
12791279 fmap (H.foldrWithKey (M.insert . f) M.empty) . H.traverseWithKey (\k v -> p v <?> Key k)
12801280 FromJSONKeyTextParser f -> withObject "Map k v" $
1281− H.foldrWithKey (\k v m -> M.insert <$> f k <*> (p v <?> Key k) <*> m) (pure M.empty)
1281+ H.foldrWithKey (\k v m -> M.insert <$> f k <?> Key k <*> p v <?> Key k <*> m) (pure M.empty)
12821282 FromJSONKeyValue f -> withArray "Map k v" $ \arr ->
12831283 M.fromList <$> (Tr.sequence .
12841284 zipWith (parseIndexedJSONPair f p) [0..] . V.toList $ arr)
@@ -1346,7 +1346,7 @@ instance (FromJSONKey k, Eq k, Hashable k) => FromJSON1 (H.HashMap k) where
13461346 FromJSONKeyText f -> withObject "HashMap k v" $
13471347 fmap (mapKey f) . H.traverseWithKey (\k v -> p v <?> Key k)
13481348 FromJSONKeyTextParser f -> withObject "HashMap k v" $
1349− H.foldrWithKey (\k v m -> H.insert <$> f k <*> (p v <?> Key k) <*> m) (pure H.empty)
1349+ H.foldrWithKey (\k v m -> H.insert <$> f k <?> Key k <*> p v <?> Key k <*> m) (pure H.empty)
13501350 FromJSONKeyValue f -> withArray "Map k v" $ \arr ->
13511351 H.fromList <$> (Tr.sequence .
13521352 zipWith (parseIndexedJSONPair f p) [0..] . V.toList $ arr)