{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.BooleanAttribute
  ( BooleanAttribute(..)
  )
where

import Rattletrap.Type.Common

newtype BooleanAttribute = BooleanAttribute
  { BooleanAttribute -> Bool
booleanAttributeValue :: Bool
  } deriving (BooleanAttribute -> BooleanAttribute -> Bool
(BooleanAttribute -> BooleanAttribute -> Bool)
-> (BooleanAttribute -> BooleanAttribute -> Bool)
-> Eq BooleanAttribute
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BooleanAttribute -> BooleanAttribute -> Bool
$c/= :: BooleanAttribute -> BooleanAttribute -> Bool
== :: BooleanAttribute -> BooleanAttribute -> Bool
$c== :: BooleanAttribute -> BooleanAttribute -> Bool
Eq, Eq BooleanAttribute
Eq BooleanAttribute
-> (BooleanAttribute -> BooleanAttribute -> Ordering)
-> (BooleanAttribute -> BooleanAttribute -> Bool)
-> (BooleanAttribute -> BooleanAttribute -> Bool)
-> (BooleanAttribute -> BooleanAttribute -> Bool)
-> (BooleanAttribute -> BooleanAttribute -> Bool)
-> (BooleanAttribute -> BooleanAttribute -> BooleanAttribute)
-> (BooleanAttribute -> BooleanAttribute -> BooleanAttribute)
-> Ord BooleanAttribute
BooleanAttribute -> BooleanAttribute -> Bool
BooleanAttribute -> BooleanAttribute -> Ordering
BooleanAttribute -> BooleanAttribute -> BooleanAttribute
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: BooleanAttribute -> BooleanAttribute -> BooleanAttribute
$cmin :: BooleanAttribute -> BooleanAttribute -> BooleanAttribute
max :: BooleanAttribute -> BooleanAttribute -> BooleanAttribute
$cmax :: BooleanAttribute -> BooleanAttribute -> BooleanAttribute
>= :: BooleanAttribute -> BooleanAttribute -> Bool
$c>= :: BooleanAttribute -> BooleanAttribute -> Bool
> :: BooleanAttribute -> BooleanAttribute -> Bool
$c> :: BooleanAttribute -> BooleanAttribute -> Bool
<= :: BooleanAttribute -> BooleanAttribute -> Bool
$c<= :: BooleanAttribute -> BooleanAttribute -> Bool
< :: BooleanAttribute -> BooleanAttribute -> Bool
$c< :: BooleanAttribute -> BooleanAttribute -> Bool
compare :: BooleanAttribute -> BooleanAttribute -> Ordering
$ccompare :: BooleanAttribute -> BooleanAttribute -> Ordering
$cp1Ord :: Eq BooleanAttribute
Ord, Int -> BooleanAttribute -> ShowS
[BooleanAttribute] -> ShowS
BooleanAttribute -> String
(Int -> BooleanAttribute -> ShowS)
-> (BooleanAttribute -> String)
-> ([BooleanAttribute] -> ShowS)
-> Show BooleanAttribute
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BooleanAttribute] -> ShowS
$cshowList :: [BooleanAttribute] -> ShowS
show :: BooleanAttribute -> String
$cshow :: BooleanAttribute -> String
showsPrec :: Int -> BooleanAttribute -> ShowS
$cshowsPrec :: Int -> BooleanAttribute -> ShowS
Show)

$(deriveJson ''BooleanAttribute)