-- | Named boolean for determining if something is an alias or not
module Calamity.Commands.AliasType
  ( AliasType (..),
  )
where

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

data AliasType
  = Alias
  | Original
  deriving (AliasType -> AliasType -> Bool
(AliasType -> AliasType -> Bool)
-> (AliasType -> AliasType -> Bool) -> Eq AliasType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AliasType -> AliasType -> Bool
$c/= :: AliasType -> AliasType -> Bool
== :: AliasType -> AliasType -> Bool
$c== :: AliasType -> AliasType -> Bool
Eq, Int -> AliasType
AliasType -> Int
AliasType -> [AliasType]
AliasType -> AliasType
AliasType -> AliasType -> [AliasType]
AliasType -> AliasType -> AliasType -> [AliasType]
(AliasType -> AliasType)
-> (AliasType -> AliasType)
-> (Int -> AliasType)
-> (AliasType -> Int)
-> (AliasType -> [AliasType])
-> (AliasType -> AliasType -> [AliasType])
-> (AliasType -> AliasType -> [AliasType])
-> (AliasType -> AliasType -> AliasType -> [AliasType])
-> Enum AliasType
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: AliasType -> AliasType -> AliasType -> [AliasType]
$cenumFromThenTo :: AliasType -> AliasType -> AliasType -> [AliasType]
enumFromTo :: AliasType -> AliasType -> [AliasType]
$cenumFromTo :: AliasType -> AliasType -> [AliasType]
enumFromThen :: AliasType -> AliasType -> [AliasType]
$cenumFromThen :: AliasType -> AliasType -> [AliasType]
enumFrom :: AliasType -> [AliasType]
$cenumFrom :: AliasType -> [AliasType]
fromEnum :: AliasType -> Int
$cfromEnum :: AliasType -> Int
toEnum :: Int -> AliasType
$ctoEnum :: Int -> AliasType
pred :: AliasType -> AliasType
$cpred :: AliasType -> AliasType
succ :: AliasType -> AliasType
$csucc :: AliasType -> AliasType
Enum, Int -> AliasType -> ShowS
[AliasType] -> ShowS
AliasType -> String
(Int -> AliasType -> ShowS)
-> (AliasType -> String)
-> ([AliasType] -> ShowS)
-> Show AliasType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AliasType] -> ShowS
$cshowList :: [AliasType] -> ShowS
show :: AliasType -> String
$cshow :: AliasType -> String
showsPrec :: Int -> AliasType -> ShowS
$cshowsPrec :: Int -> AliasType -> ShowS
Show, (forall x. AliasType -> Rep AliasType x)
-> (forall x. Rep AliasType x -> AliasType) -> Generic AliasType
forall x. Rep AliasType x -> AliasType
forall x. AliasType -> Rep AliasType x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AliasType x -> AliasType
$cfrom :: forall x. AliasType -> Rep AliasType x
Generic)
  deriving (Int -> AliasType -> Builder
Int -> AliasType -> Text
Int -> AliasType -> Text
[AliasType] -> Builder
[AliasType] -> Text
[AliasType] -> Text
AliasType -> Builder
AliasType -> Text
AliasType -> Text
(Int -> AliasType -> Builder)
-> (AliasType -> Builder)
-> ([AliasType] -> Builder)
-> (Int -> AliasType -> Text)
-> (AliasType -> Text)
-> ([AliasType] -> Text)
-> (Int -> AliasType -> Text)
-> (AliasType -> Text)
-> ([AliasType] -> Text)
-> TextShow AliasType
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 :: [AliasType] -> Text
$cshowtlList :: [AliasType] -> Text
showtl :: AliasType -> Text
$cshowtl :: AliasType -> Text
showtlPrec :: Int -> AliasType -> Text
$cshowtlPrec :: Int -> AliasType -> Text
showtList :: [AliasType] -> Text
$cshowtList :: [AliasType] -> Text
showt :: AliasType -> Text
$cshowt :: AliasType -> Text
showtPrec :: Int -> AliasType -> Text
$cshowtPrec :: Int -> AliasType -> Text
showbList :: [AliasType] -> Builder
$cshowbList :: [AliasType] -> Builder
showb :: AliasType -> Builder
$cshowb :: AliasType -> Builder
showbPrec :: Int -> AliasType -> Builder
$cshowbPrec :: Int -> AliasType -> Builder
TextShow) via TSG.FromGeneric AliasType