module Hix.Managed.Data.EnvResult where

import Hix.Data.EnvName (EnvName)
import Hix.Managed.Data.EnvState (EnvState)
import Hix.Managed.Data.StageResult (StageSummary)

data EnvResult =
  EnvResult {
    EnvResult -> EnvName
env :: EnvName,
    -- | The final state, which is 'Nothing' for stages that don't interact with it.
    EnvResult -> Maybe EnvState
state :: Maybe EnvState,
    EnvResult -> NonEmpty StageSummary
summaries :: NonEmpty StageSummary
  }
  deriving stock (EnvResult -> EnvResult -> Bool
(EnvResult -> EnvResult -> Bool)
-> (EnvResult -> EnvResult -> Bool) -> Eq EnvResult
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: EnvResult -> EnvResult -> Bool
== :: EnvResult -> EnvResult -> Bool
$c/= :: EnvResult -> EnvResult -> Bool
/= :: EnvResult -> EnvResult -> Bool
Eq, Int -> EnvResult -> ShowS
[EnvResult] -> ShowS
EnvResult -> String
(Int -> EnvResult -> ShowS)
-> (EnvResult -> String)
-> ([EnvResult] -> ShowS)
-> Show EnvResult
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> EnvResult -> ShowS
showsPrec :: Int -> EnvResult -> ShowS
$cshow :: EnvResult -> String
show :: EnvResult -> String
$cshowList :: [EnvResult] -> ShowS
showList :: [EnvResult] -> ShowS
Show, (forall x. EnvResult -> Rep EnvResult x)
-> (forall x. Rep EnvResult x -> EnvResult) -> Generic EnvResult
forall x. Rep EnvResult x -> EnvResult
forall x. EnvResult -> Rep EnvResult x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. EnvResult -> Rep EnvResult x
from :: forall x. EnvResult -> Rep EnvResult x
$cto :: forall x. Rep EnvResult x -> EnvResult
to :: forall x. Rep EnvResult x -> EnvResult
Generic)