diff options
| author | Joey Hess <joeyh@joeyh.name> | 2016-06-19 13:14:42 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2016-06-19 13:14:42 -0400 |
| commit | c017788490caddd222c3a977ad32ec00a61a266e (patch) | |
| tree | 8d2e5e83159353950023161b4c79ac4792f6d856 /src/Propellor/Property.hs | |
| parent | f33b0948218e7b3d510f6bf37785cda107a630d8 (diff) | |
| parent | 0e09a8cfdffb2cd99cf86c04bade4a9261101a2c (diff) | |
Merge remote-tracking branch 'spwhitton/firejail'
Diffstat (limited to 'src/Propellor/Property.hs')
| -rw-r--r-- | src/Propellor/Property.hs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/Propellor/Property.hs b/src/Propellor/Property.hs index af36ed58..fe314941 100644 --- a/src/Propellor/Property.hs +++ b/src/Propellor/Property.hs @@ -16,6 +16,7 @@ module Propellor.Property ( , check , fallback , revert + , applyToList -- * Property descriptions , describe , (==>) @@ -53,7 +54,8 @@ import System.Posix.Files import qualified Data.Hash.MD5 as MD5 import Data.List import Control.Applicative -import Prelude +import Data.Foldable (Foldable, foldr1) +import Prelude hiding (Foldable) import Propellor.Types import Propellor.Types.Core @@ -341,6 +343,14 @@ unsupportedOS' = go =<< getOS revert :: RevertableProperty setup undo -> RevertableProperty undo setup revert (RevertableProperty p1 p2) = RevertableProperty p2 p1 +-- | Apply a property to each element of a list. +applyToList + :: (Foldable t, Functor t, IsProp p, Combines p p, p ~ CombinedType p p) + => (b -> p) + -> t b + -> p +prop `applyToList` xs = Data.Foldable.foldr1 before $ prop <$> xs + makeChange :: IO () -> Propellor Result makeChange a = liftIO a >> return MadeChange |
