module Hix.Managed.ProjectResult where import qualified Hix.Managed.Data.Mutation import Hix.Managed.Data.Mutation (FailedMutation) import qualified Hix.Managed.Data.ProjectResult import Hix.Managed.Data.ProjectResult (ProjectResult (ProjectResult)) import qualified Hix.Managed.EnvResult as EnvResult import Hix.Managed.EnvResult (DepResults, normalizeDepResults) grouped :: ProjectResult -> DepResults grouped :: ProjectResult -> DepResults grouped ProjectResult {NonEmpty EnvResult envs :: NonEmpty EnvResult $sel:envs:ProjectResult :: ProjectResult -> NonEmpty EnvResult envs} = DepResults -> DepResults normalizeDepResults ((EnvResult -> DepResults) -> NonEmpty EnvResult -> DepResults forall m a. Monoid m => (a -> m) -> NonEmpty a -> m forall (t :: * -> *) m a. (Foldable t, Monoid m) => (a -> m) -> t a -> m foldMap EnvResult -> DepResults EnvResult.grouped NonEmpty EnvResult envs) failures :: ProjectResult -> [FailedMutation] failures :: ProjectResult -> [FailedMutation] failures ProjectResult {NonEmpty EnvResult $sel:envs:ProjectResult :: ProjectResult -> NonEmpty EnvResult envs :: NonEmpty EnvResult envs} = (FailedMutation -> MutableDep) -> [FailedMutation] -> [FailedMutation] forall b a. Ord b => (a -> b) -> [a] -> [a] sortOn (.package) (EnvResult -> [FailedMutation] EnvResult.failures (EnvResult -> [FailedMutation]) -> [EnvResult] -> [FailedMutation] forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b =<< NonEmpty EnvResult -> [EnvResult] forall a. NonEmpty a -> [a] forall (t :: * -> *) a. Foldable t => t a -> [a] toList NonEmpty EnvResult envs)