microlens-aeson 2.5.0 → 2.5.1
raw patch · 3 files changed
+21/−5 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +6/−0
- microlens-aeson.cabal +5/−3
- src/Lens/Micro/Aeson.hs +10/−2
CHANGELOG.md view
@@ -1,5 +1,11 @@ # microlens-aeson +## 2.5.1 (2023-08-16)++#### Changed++- Support for `aeson-2.2`.+ ## 2.5.0 (2022-03-19) This is a breaking update that matches upstream changes to `lens-aeson`. Luckily
microlens-aeson.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.2 name: microlens-aeson-version: 2.5.0-synopsis: Law-abiding lenses for Aeson, using microlens.+version: 2.5.1+synopsis: Law-abiding lenses for Aeson, using microlens description: Law-abiding lenses for Aeson, using microlens. category: Numeric homepage: http://github.com/fosskers/microlens-aeson/@@ -9,11 +9,13 @@ maintainer: Colin Woodbury <colin@fosskers.ca> copyright: Copyright (C) 2012 Paul Wilson, (C) 2013 Edward A. Kmett, (C) 2015 Colin Woodbury+tested-with: GHC==9.6.2, GHC==9.4.5, GHC==9.2.7, GHC==9.0.2, GHC==8.10.7 + license: MIT license-file: LICENSE build-type: Simple-extra-source-files:+extra-doc-files: AUTHORS.md README.md CHANGELOG.md
src/Lens/Micro/Aeson.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE RankNTypes #-}@@ -30,8 +31,6 @@ import Data.Aeson import qualified Data.Aeson.KeyMap as KM-import Data.Aeson.Parser (value)-import Data.Attoparsec.ByteString.Lazy (maybeResult, parse) import qualified Data.ByteString as Strict import Data.ByteString.Lazy.Char8 as Lazy import Data.Scientific (Scientific)@@ -46,6 +45,11 @@ import Lens.Micro.Aeson.Internal () import Prelude +#if !MIN_VERSION_aeson(2,2,0)+import Data.Aeson.Parser (value)+import Data.Attoparsec.ByteString.Lazy (maybeResult, parse)+#endif+ ------------------------------------------------------------------------------ -- Scientific Traversals ------------------------------------------------------------------------------@@ -295,10 +299,14 @@ {-# INLINE _JSON #-} instance AsJSON Lazy.ByteString where+#if MIN_VERSION_aeson(2,2,0)+ _JSON f b = maybe (pure b) (fmap encode . f) (decode b)+#else _JSON f b = maybe (pure b) (fmap encode . f) v where v = maybeResult (parse value b) >>= \x -> case fromJSON x of Success x' -> Just x' _ -> Nothing+#endif {-# INLINE _JSON #-} instance AsJSON String where