{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.StringAttribute
  ( StringAttribute(..)
  )
where

import Rattletrap.Type.Common
import Rattletrap.Type.Str

newtype StringAttribute = StringAttribute
  { StringAttribute -> Str
stringAttributeValue :: Str
  } deriving (StringAttribute -> StringAttribute -> Bool
(StringAttribute -> StringAttribute -> Bool)
-> (StringAttribute -> StringAttribute -> Bool)
-> Eq StringAttribute
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StringAttribute -> StringAttribute -> Bool
$c/= :: StringAttribute -> StringAttribute -> Bool
== :: StringAttribute -> StringAttribute -> Bool
$c== :: StringAttribute -> StringAttribute -> Bool
Eq, Eq StringAttribute
Eq StringAttribute
-> (StringAttribute -> StringAttribute -> Ordering)
-> (StringAttribute -> StringAttribute -> Bool)
-> (StringAttribute -> StringAttribute -> Bool)
-> (StringAttribute -> StringAttribute -> Bool)
-> (StringAttribute -> StringAttribute -> Bool)
-> (StringAttribute -> StringAttribute -> StringAttribute)
-> (StringAttribute -> StringAttribute -> StringAttribute)
-> Ord StringAttribute
StringAttribute -> StringAttribute -> Bool
StringAttribute -> StringAttribute -> Ordering
StringAttribute -> StringAttribute -> StringAttribute
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 :: StringAttribute -> StringAttribute -> StringAttribute
$cmin :: StringAttribute -> StringAttribute -> StringAttribute
max :: StringAttribute -> StringAttribute -> StringAttribute
$cmax :: StringAttribute -> StringAttribute -> StringAttribute
>= :: StringAttribute -> StringAttribute -> Bool
$c>= :: StringAttribute -> StringAttribute -> Bool
> :: StringAttribute -> StringAttribute -> Bool
$c> :: StringAttribute -> StringAttribute -> Bool
<= :: StringAttribute -> StringAttribute -> Bool
$c<= :: StringAttribute -> StringAttribute -> Bool
< :: StringAttribute -> StringAttribute -> Bool
$c< :: StringAttribute -> StringAttribute -> Bool
compare :: StringAttribute -> StringAttribute -> Ordering
$ccompare :: StringAttribute -> StringAttribute -> Ordering
$cp1Ord :: Eq StringAttribute
Ord, Int -> StringAttribute -> ShowS
[StringAttribute] -> ShowS
StringAttribute -> String
(Int -> StringAttribute -> ShowS)
-> (StringAttribute -> String)
-> ([StringAttribute] -> ShowS)
-> Show StringAttribute
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StringAttribute] -> ShowS
$cshowList :: [StringAttribute] -> ShowS
show :: StringAttribute -> String
$cshow :: StringAttribute -> String
showsPrec :: Int -> StringAttribute -> ShowS
$cshowsPrec :: Int -> StringAttribute -> ShowS
Show)

$(deriveJson ''StringAttribute)