{-# LANGUAGE CPP #-}
module Network.Livy.Client.Internal.JSON
( recordPrefixOptions
) where
import Data.Aeson
#if ! MIN_VERSION_base(4,12,0)
import Data.Monoid ((<>))
#endif
import qualified Data.Text as T
removeRecordPrefix
:: Int
-> String
-> String
removeRecordPrefix n = T.unpack . toLowerFirst . T.drop n . T.pack
where toLowerFirst t = T.toLower (T.take 1 t) <> T.drop 1 t
recordPrefixOptions :: Int -> Options
recordPrefixOptions n = defaultOptions { fieldLabelModifier = removeRecordPrefix n }