-- | Parameter info for a command
module CalamityCommands.ParameterInfo (
    ParameterInfo (..),
) where

import qualified Data.Text as S
import Data.Typeable

import GHC.Generics (Generic)
import TextShow
import qualified TextShow.Generic as TSG

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, (forall x. ParameterInfo -> Rep ParameterInfo x)
-> (forall x. Rep ParameterInfo x -> ParameterInfo)
-> Generic ParameterInfo
forall x. Rep ParameterInfo x -> ParameterInfo
forall x. ParameterInfo -> Rep ParameterInfo x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ParameterInfo x -> ParameterInfo
$cfrom :: forall x. ParameterInfo -> Rep ParameterInfo x
Generic)
    deriving (Int -> ParameterInfo -> Builder
Int -> ParameterInfo -> Text
Int -> ParameterInfo -> Text
[ParameterInfo] -> Builder
[ParameterInfo] -> Text
[ParameterInfo] -> Text
ParameterInfo -> Builder
ParameterInfo -> Text
ParameterInfo -> Text
(Int -> ParameterInfo -> Builder)
-> (ParameterInfo -> Builder)
-> ([ParameterInfo] -> Builder)
-> (Int -> ParameterInfo -> Text)
-> (ParameterInfo -> Text)
-> ([ParameterInfo] -> Text)
-> (Int -> ParameterInfo -> Text)
-> (ParameterInfo -> Text)
-> ([ParameterInfo] -> Text)
-> TextShow ParameterInfo
forall a.
(Int -> a -> Builder)
-> (a -> Builder)
-> ([a] -> Builder)
-> (Int -> a -> Text)
-> (a -> Text)
-> ([a] -> Text)
-> (Int -> a -> Text)
-> (a -> Text)
-> ([a] -> Text)
-> TextShow a
showtlList :: [ParameterInfo] -> Text
$cshowtlList :: [ParameterInfo] -> Text
showtl :: ParameterInfo -> Text
$cshowtl :: ParameterInfo -> Text
showtlPrec :: Int -> ParameterInfo -> Text
$cshowtlPrec :: Int -> ParameterInfo -> Text
showtList :: [ParameterInfo] -> Text
$cshowtList :: [ParameterInfo] -> Text
showt :: ParameterInfo -> Text
$cshowt :: ParameterInfo -> Text
showtPrec :: Int -> ParameterInfo -> Text
$cshowtPrec :: Int -> ParameterInfo -> Text
showbList :: [ParameterInfo] -> Builder
$cshowbList :: [ParameterInfo] -> Builder
showb :: ParameterInfo -> Builder
$cshowb :: ParameterInfo -> Builder
showbPrec :: Int -> ParameterInfo -> Builder
$cshowbPrec :: Int -> ParameterInfo -> Builder
TextShow) via TSG.FromGeneric ParameterInfo