packages feed

autodocodec 0.4.1.0 → 0.4.2.0

raw patch · 3 files changed

+18/−1 lines, 3 filesdep +dlistPVP ok

version bump matches the API change (PVP)

Dependencies added: dlist

API changes (from Hackage documentation)

+ Autodocodec.Class: instance Autodocodec.Class.HasCodec a => Autodocodec.Class.HasCodec (Data.DList.DNonEmpty.Internal.DNonEmpty a)
+ Autodocodec.Class: instance Autodocodec.Class.HasCodec a => Autodocodec.Class.HasCodec (Data.DList.Internal.DList a)

Files

CHANGELOG.md view
@@ -1,5 +1,11 @@ # Changelog +## [0.4.2.0] - 2024-08-06++### Added++* `HasCodec` instances for `DList` and `DNonEmpty` from the `dlist` package.+ ## [0.4.1.0] - 2024-08-03  ### Changed
autodocodec.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           autodocodec-version:        0.4.1.0+version:        0.4.2.0 synopsis:       Self-documenting encoder and decoder homepage:       https://github.com/NorfairKing/autodocodec#readme bug-reports:    https://github.com/NorfairKing/autodocodec/issues@@ -42,6 +42,7 @@     , base >=4.7 && <5     , bytestring     , containers+    , dlist     , hashable     , mtl     , scientific
src/Autodocodec/Class.hs view
@@ -19,6 +19,10 @@ #if MIN_VERSION_aeson(2,0,0) import Data.Aeson.KeyMap (KeyMap) #endif+import Data.DList (DList)+import qualified Data.DList as DList+import Data.DList.DNonEmpty (DNonEmpty)+import qualified Data.DList.DNonEmpty as DNonEmpty import Data.Functor.Const (Const (Const)) import Data.Functor.Identity import Data.HashMap.Strict (HashMap)@@ -155,8 +159,14 @@ instance (HasCodec a) => HasCodec [a] where   codec = listCodecForStringCompatibility +instance (HasCodec a) => HasCodec (DList a) where+  codec = dimapCodec DList.fromList DList.toList (codec :: JSONCodec [a])+ instance (HasCodec a) => HasCodec (NonEmpty a) where   codec = nonEmptyCodec codec++instance (HasCodec a) => HasCodec (DNonEmpty a) where+  codec = dimapCodec DNonEmpty.fromNonEmpty DNonEmpty.toNonEmpty (codec :: JSONCodec (NonEmpty a))  instance (Ord a, HasCodec a) => HasCodec (Set a) where   codec = dimapCodec S.fromList S.toList codec