{-# LANGUAGE DeriveGeneric #-}
module Telegram.Bot.API.Types.SomeReplyMarkup where
import Data.Aeson
import GHC.Generics (Generic)
import Telegram.Bot.API.Internal.Utils
import Telegram.Bot.API.Types.ForceReply
import Telegram.Bot.API.Types.InlineKeyboardMarkup
import Telegram.Bot.API.Types.ReplyKeyboardMarkup
import Telegram.Bot.API.Types.ReplyKeyboardRemove
data SomeReplyMarkup
= SomeInlineKeyboardMarkup InlineKeyboardMarkup
| SomeReplyKeyboardMarkup ReplyKeyboardMarkup
| SomeReplyKeyboardRemove ReplyKeyboardRemove
| SomeForceReply ForceReply
deriving (forall x. Rep SomeReplyMarkup x -> SomeReplyMarkup
forall x. SomeReplyMarkup -> Rep SomeReplyMarkup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SomeReplyMarkup x -> SomeReplyMarkup
$cfrom :: forall x. SomeReplyMarkup -> Rep SomeReplyMarkup x
Generic)
instance ToJSON SomeReplyMarkup where toJSON :: SomeReplyMarkup -> Value
toJSON = forall a. (Generic a, GSomeJSON (Rep a)) => a -> Value
genericSomeToJSON
instance FromJSON SomeReplyMarkup where parseJSON :: Value -> Parser SomeReplyMarkup
parseJSON = forall a. (Generic a, GSomeJSON (Rep a)) => Value -> Parser a
genericSomeParseJSON