deriving-aeson 0.1 → 0.1.1
raw patch · 3 files changed
+12/−2 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- deriving-aeson.cabal +1/−1
- src/Deriving/Aeson/Stock.hs +1/−0
- tests/test.hs +10/−1
deriving-aeson.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: deriving-aeson-version: 0.1+version: 0.1.1 synopsis: Type driven generic aeson instance customisation description: This package provides a newtype wrapper with FromJSON/ToJSON instances customisable via a phantom type parameter.
src/Deriving/Aeson/Stock.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE DataKinds #-}+{-# LANGUAGE PolyKinds #-} module Deriving.Aeson.Stock ( Prefixed
tests/test.hs view
@@ -4,8 +4,10 @@ import Data.Aeson import Deriving.Aeson+import Deriving.Aeson.Stock import qualified Data.ByteString.Lazy.Char8 as BL + data User = User { userId :: Int , userName :: String@@ -14,7 +16,14 @@ deriving (FromJSON, ToJSON) via CustomJSON '[OmitNothingFields, FieldLabelModifier (StripPrefix "user", CamelToSnake)] User +data Foo = Foo { fooFoo :: Int, fooBar :: Int }+ deriving Generic+ deriving (FromJSON, ToJSON)+ via Prefixed "foo" Foo+ testData :: [User] testData = [User 42 "Alice" Nothing, User 43 "Bob" (Just "xyz")] -main = BL.putStrLn $ encode testData+main = do+ BL.putStrLn $ encode testData+ BL.putStrLn $ encode $ Foo 0 1