deriving-aeson 0.2.5 → 0.2.6
raw patch · 3 files changed
+16/−3 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Deriving.Aeson: instance (Deriving.Aeson.StringModifier a, Deriving.Aeson.StringModifier b, Deriving.Aeson.StringModifier c) => Deriving.Aeson.StringModifier (a, b, c)
+ Deriving.Aeson: instance (Deriving.Aeson.StringModifier a, Deriving.Aeson.StringModifier b, Deriving.Aeson.StringModifier c, Deriving.Aeson.StringModifier d) => Deriving.Aeson.StringModifier (a, b, c, d)
Files
- CHANGELOG.md +5/−0
- deriving-aeson.cabal +2/−2
- src/Deriving/Aeson.hs +9/−1
CHANGELOG.md view
@@ -1,5 +1,10 @@ # Revision history for deriving-aeson +## 0.2.6++* Added `StringModifier` instances to 3 and 4-tuples+* Fixed the bug making `SumTwoElemArray` point `ObjectWithSingleField`+ ## 0.2.5 * Added a generic `CamelTo` constructor
deriving-aeson.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: deriving-aeson-version: 0.2.5+version: 0.2.6 synopsis: Type driven generic aeson instance customisation description: This package provides a newtype wrapper with FromJSON/ToJSON instances customisable via a phantom type parameter.@@ -23,7 +23,7 @@ exposed-modules: Deriving.Aeson Deriving.Aeson.Stock- build-depends: base >= 4.12 && <5, aeson >= 1.4.7.0 && <1.5+ build-depends: base >= 4.12 && <5, aeson >= 1.4.7.0 && <1.6 hs-source-dirs: src default-language: Haskell2010 ghc-options: -Wall -Wcompat
src/Deriving/Aeson.hs view
@@ -106,6 +106,14 @@ instance (StringModifier a, StringModifier b) => StringModifier (a, b) where getStringModifier = getStringModifier @b . getStringModifier @a +-- | Left-to-right (@'flip' '.'@) composition+instance (StringModifier a, StringModifier b, StringModifier c) => StringModifier (a, b, c) where+ getStringModifier = getStringModifier @c . getStringModifier @b . getStringModifier @a++-- | Left-to-right (@'flip' '.'@) composition+instance (StringModifier a, StringModifier b, StringModifier c, StringModifier d) => StringModifier (a, b, c, d) where+ getStringModifier = getStringModifier @d . getStringModifier @c . getStringModifier @b . getStringModifier @a+ instance (KnownSymbol separator, NonEmptyString separator) => StringModifier (CamelTo separator) where getStringModifier = camelTo2 char where@@ -165,4 +173,4 @@ aesonOptions = (aesonOptions @xs) { sumEncoding = ObjectWithSingleField } instance (AesonOptions xs) => AesonOptions (SumTwoElemArray ': xs) where- aesonOptions = (aesonOptions @xs) { sumEncoding = ObjectWithSingleField }+ aesonOptions = (aesonOptions @xs) { sumEncoding = TwoElemArray }