module Ribosome.Menu.Prompt.Data.PromptConsumerUpdate where

import Ribosome.Menu.Prompt.Data.Prompt (Prompt)
import Ribosome.Menu.Prompt.Data.PromptConsumed (PromptConsumed)
import Ribosome.Menu.Prompt.Data.PromptEvent (PromptEvent)

data PromptConsumerUpdate =
  PromptConsumerUpdate {
    PromptConsumerUpdate -> PromptEvent
_event :: PromptEvent,
    PromptConsumerUpdate -> Prompt
_prompt :: Prompt,
    PromptConsumerUpdate -> PromptConsumed
_consumed :: PromptConsumed
  }
  deriving (PromptConsumerUpdate -> PromptConsumerUpdate -> Bool
(PromptConsumerUpdate -> PromptConsumerUpdate -> Bool)
-> (PromptConsumerUpdate -> PromptConsumerUpdate -> Bool)
-> Eq PromptConsumerUpdate
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PromptConsumerUpdate -> PromptConsumerUpdate -> Bool
$c/= :: PromptConsumerUpdate -> PromptConsumerUpdate -> Bool
== :: PromptConsumerUpdate -> PromptConsumerUpdate -> Bool
$c== :: PromptConsumerUpdate -> PromptConsumerUpdate -> Bool
Eq, Int -> PromptConsumerUpdate -> ShowS
[PromptConsumerUpdate] -> ShowS
PromptConsumerUpdate -> String
(Int -> PromptConsumerUpdate -> ShowS)
-> (PromptConsumerUpdate -> String)
-> ([PromptConsumerUpdate] -> ShowS)
-> Show PromptConsumerUpdate
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PromptConsumerUpdate] -> ShowS
$cshowList :: [PromptConsumerUpdate] -> ShowS
show :: PromptConsumerUpdate -> String
$cshow :: PromptConsumerUpdate -> String
showsPrec :: Int -> PromptConsumerUpdate -> ShowS
$cshowsPrec :: Int -> PromptConsumerUpdate -> ShowS
Show)