packages feed

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 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