module Polysemy.Time.Json where
import qualified Data.Aeson as Aeson
import Data.Aeson.TH (deriveJSON)
import Data.List (dropWhileEnd)
import qualified Language.Haskell.TH.Syntax as TH
basicOptions :: Aeson.Options
basicOptions :: Options
basicOptions =
Options
Aeson.defaultOptions { Aeson.fieldLabelModifier = dropWhileEnd ('_' ==) . dropWhile ('_' ==) }
json :: TH.Name -> TH.Q [TH.Dec]
json :: Name -> Q [Dec]
json =
Options -> Name -> Q [Dec]
deriveJSON Options
basicOptions { Aeson.unwrapUnaryRecords = True }
unaryJson :: TH.Name -> TH.Q [TH.Dec]
unaryJson :: Name -> Q [Dec]
unaryJson =
Options -> Name -> Q [Dec]
deriveJSON Options
basicOptions