{-# LANGUAGE TemplateHaskell #-}
module CalamityCommands.ParameterInfo (
ParameterInfo (..),
) where
import qualified Data.Text as S
import Data.Typeable
import Optics.TH (makeFieldLabelsNoPrefix)
import TextShow.TH (deriveTextShow)
data ParameterInfo = ParameterInfo
{ ParameterInfo -> Maybe Text
name :: Maybe S.Text
, ParameterInfo -> TypeRep
type_ :: TypeRep
, ParameterInfo -> Text
typeDescription :: S.Text
}
deriving (Int -> ParameterInfo -> ShowS
[ParameterInfo] -> ShowS
ParameterInfo -> String
(Int -> ParameterInfo -> ShowS)
-> (ParameterInfo -> String)
-> ([ParameterInfo] -> ShowS)
-> Show ParameterInfo
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ParameterInfo] -> ShowS
$cshowList :: [ParameterInfo] -> ShowS
show :: ParameterInfo -> String
$cshow :: ParameterInfo -> String
showsPrec :: Int -> ParameterInfo -> ShowS
$cshowsPrec :: Int -> ParameterInfo -> ShowS
Show)
$(deriveTextShow ''ParameterInfo)
$(makeFieldLabelsNoPrefix ''ParameterInfo)