module Polysemy.Process.Data.ProcessOptions where
import qualified Polysemy.Process.Data.ProcessKill as ProcessKill
import Polysemy.Process.Data.ProcessKill (ProcessKill)
data ProcessOptions =
ProcessOptions {
ProcessOptions -> Bool
discard :: Bool,
ProcessOptions -> Int
qsize :: Int,
ProcessOptions -> ProcessKill
kill :: ProcessKill
}
deriving stock (ProcessOptions -> ProcessOptions -> Bool
(ProcessOptions -> ProcessOptions -> Bool)
-> (ProcessOptions -> ProcessOptions -> Bool) -> Eq ProcessOptions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ProcessOptions -> ProcessOptions -> Bool
$c/= :: ProcessOptions -> ProcessOptions -> Bool
== :: ProcessOptions -> ProcessOptions -> Bool
$c== :: ProcessOptions -> ProcessOptions -> Bool
Eq, Int -> ProcessOptions -> ShowS
[ProcessOptions] -> ShowS
ProcessOptions -> String
(Int -> ProcessOptions -> ShowS)
-> (ProcessOptions -> String)
-> ([ProcessOptions] -> ShowS)
-> Show ProcessOptions
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ProcessOptions] -> ShowS
$cshowList :: [ProcessOptions] -> ShowS
show :: ProcessOptions -> String
$cshow :: ProcessOptions -> String
showsPrec :: Int -> ProcessOptions -> ShowS
$cshowsPrec :: Int -> ProcessOptions -> ShowS
Show)
instance Default ProcessOptions where
def :: ProcessOptions
def =
Bool -> Int -> ProcessKill -> ProcessOptions
ProcessOptions Bool
True Int
1024 ProcessKill
ProcessKill.KillImmediately