From b33807cec25f232d5bd43fea6e954d596acbad24 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 8 Feb 2016 11:18:17 -0400 Subject: Allow using combineProperties and propertyList with lists of RevertableProperty. --- src/Propellor/Property/List.hs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/Propellor/Property') diff --git a/src/Propellor/Property/List.hs b/src/Propellor/Property/List.hs index 86fdfbf1..74aa6ca6 100644 --- a/src/Propellor/Property/List.hs +++ b/src/Propellor/Property/List.hs @@ -50,6 +50,8 @@ class PropertyList l where type family PropertyListType t type instance PropertyListType [Property HasInfo] = HasInfo type instance PropertyListType [Property NoInfo] = NoInfo +type instance PropertyListType [RevertableProperty NoInfo] = NoInfo +type instance PropertyListType [RevertableProperty HasInfo] = HasInfo type instance PropertyListType PropList = HasInfo instance PropertyList [Property NoInfo] where @@ -63,6 +65,14 @@ instance PropertyList [Property HasInfo] where propertyList desc ps = infoProperty desc (ensureProperties $ map ignoreInfo ps) mempty ps combineProperties desc ps = infoProperty desc (combineSatisfy ps NoChange) mempty ps +instance PropertyList [RevertableProperty HasInfo] where + propertyList desc ps = propertyList desc (map setupRevertableProperty ps) + combineProperties desc ps = combineProperties desc (map setupRevertableProperty ps) + +instance PropertyList [RevertableProperty NoInfo] where + propertyList desc ps = propertyList desc (map setupRevertableProperty ps) + combineProperties desc ps = combineProperties desc (map setupRevertableProperty ps) + instance PropertyList PropList where propertyList desc = propertyList desc . getProperties combineProperties desc = combineProperties desc . getProperties -- cgit v1.3-2-g0d8e