fbmessenger-api-0.1.0.2: src/Web/FBMessenger/API/Bot/JsonExt.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE FlexibleContexts #-}
{-# OPTIONS_GHC -fno-warn-missing-signatures #-}
-- | This module contains helper functions to work with JSON
-- Credits: https://github.com/klappvisor/haskell-telegram-api
module Web.FBMessenger.API.Bot.JsonExt
(
toJsonDrop,
parseJsonDrop
) where
import Data.Aeson
import Data.Aeson.Types
-- | Method used to drop prefix from field name during serialization
toJsonDrop prefix = genericToJSON defaultOptions {
fieldLabelModifier = drop prefix
, omitNothingFields = True
}
-- | Method used to drop prefix from field name during deserialization
parseJsonDrop prefix = genericParseJSON defaultOptions { fieldLabelModifier = drop prefix }