{-# LANGUAGE DeriveGeneric #-}
module Battlesnake.Core.Customizations where

import Data.Aeson (FromJSON, ToJSON)
import Data.Text
import GHC.Generics

{-|
  Battlesnake customizations object
  See: https://docs.battlesnake.com/api/objects/battlesnake
-}
data Customizations = Customizations
  { Customizations -> Text
color :: Text
  -- ^ A hex color code used to display the snake
  , Customizations -> Text
head :: Text
  -- ^ Displayed head of the battlesnake. See
  -- https://docs.battlesnake.com/guides/customizations for available options
  , Customizations -> Text
tail :: Text
  -- ^ Displayed tail of the battlesnake. See
  -- https://docs.battlesnake.com/guides/customizations for available options
  }
  deriving (Int -> Customizations -> ShowS
[Customizations] -> ShowS
Customizations -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Customizations] -> ShowS
$cshowList :: [Customizations] -> ShowS
show :: Customizations -> String
$cshow :: Customizations -> String
showsPrec :: Int -> Customizations -> ShowS
$cshowsPrec :: Int -> Customizations -> ShowS
Show, forall x. Rep Customizations x -> Customizations
forall x. Customizations -> Rep Customizations x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Customizations x -> Customizations
$cfrom :: forall x. Customizations -> Rep Customizations x
Generic)

instance ToJSON Customizations

instance FromJSON Customizations