packages feed

presto-hdbc-0.1.0.2: src/JSONConventions.hs

module JSONConventions where

import Control.Lens ((%~), _head)
import Data.Aeson.TH (Options(..), SumEncoding(..), defaultOptions)
import Data.Char (toLower)

jsonOptions = defaultOptions { constructorTagModifier = _head %~ toLower
                             , fieldLabelModifier = \s -> let d = dropWhile (/= '_') s in
                                                            if null d then s else (tail d)
                             , omitNothingFields = True
                             , sumEncoding = ObjectWithSingleField
                             }