{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.UpdatedReplication
  ( UpdatedReplication(..)
  )
where

import Rattletrap.Type.Attribute
import Rattletrap.Type.Common

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

$(deriveJson ''UpdatedReplication)