module Ribosome.Menu.Data.FilteredMenuItem where

import Ribosome.Menu.Data.MenuItem (MenuItem)

data FilteredMenuItem a =
  FilteredMenuItem {
    FilteredMenuItem a -> Int
_index :: Int,
    FilteredMenuItem a -> MenuItem a
_item :: MenuItem a
  }
  deriving (FilteredMenuItem a -> FilteredMenuItem a -> Bool
(FilteredMenuItem a -> FilteredMenuItem a -> Bool)
-> (FilteredMenuItem a -> FilteredMenuItem a -> Bool)
-> Eq (FilteredMenuItem a)
forall a. Eq a => FilteredMenuItem a -> FilteredMenuItem a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FilteredMenuItem a -> FilteredMenuItem a -> Bool
$c/= :: forall a. Eq a => FilteredMenuItem a -> FilteredMenuItem a -> Bool
== :: FilteredMenuItem a -> FilteredMenuItem a -> Bool
$c== :: forall a. Eq a => FilteredMenuItem a -> FilteredMenuItem a -> Bool
Eq, Int -> FilteredMenuItem a -> ShowS
[FilteredMenuItem a] -> ShowS
FilteredMenuItem a -> String
(Int -> FilteredMenuItem a -> ShowS)
-> (FilteredMenuItem a -> String)
-> ([FilteredMenuItem a] -> ShowS)
-> Show (FilteredMenuItem a)
forall a. Show a => Int -> FilteredMenuItem a -> ShowS
forall a. Show a => [FilteredMenuItem a] -> ShowS
forall a. Show a => FilteredMenuItem a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FilteredMenuItem a] -> ShowS
$cshowList :: forall a. Show a => [FilteredMenuItem a] -> ShowS
show :: FilteredMenuItem a -> String
$cshow :: forall a. Show a => FilteredMenuItem a -> String
showsPrec :: Int -> FilteredMenuItem a -> ShowS
$cshowsPrec :: forall a. Show a => Int -> FilteredMenuItem a -> ShowS
Show)

makeClassy ''FilteredMenuItem