{-# LANGUAGE TemplateHaskell #-}
module CalamityCommands.ParameterInfo (
ParameterInfo (..),
) where
import Data.Text qualified 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
$cshowsPrec :: Int -> ParameterInfo -> ShowS
showsPrec :: Int -> ParameterInfo -> ShowS
$cshow :: ParameterInfo -> String
show :: ParameterInfo -> String
$cshowList :: [ParameterInfo] -> ShowS
showList :: [ParameterInfo] -> ShowS
Show)
$(deriveTextShow ''ParameterInfo)
$(makeFieldLabelsNoPrefix ''ParameterInfo)