Replace some calls to attrByPath with "or"

This commit is contained in:
Eelco Dolstra 2012-08-13 14:39:45 -04:00
parent c68c95d55a
commit 0b4fb4e4f6
2 changed files with 8 additions and 10 deletions

View File

@ -44,9 +44,9 @@ rec {
delayedModule = delayProperties m;
getImports =
if m ? config || m ? options then
attrByPath ["imports"] [] m
m.imports or []
else
toList (rmProperties (attrByPath ["require"] [] delayedModule));
toList (rmProperties (delayedModule.require or []));
getImportedPaths = filter isPath getImports;
getImportedSets = filter (x: !isPath x) getImports;
@ -92,7 +92,7 @@ rec {
else newModuleName origin index;
};
getImports = m: attrByPath ["imports"] [] m;
getImports = m: m.imports or [];
newModuleName = origin: index:
"${origin.key}:<import-${toString index}>";
@ -110,8 +110,8 @@ rec {
selectDeclsAndDefs = modules:
lib.concatMap (m:
if m ? config || m ? options then
[ (attrByPath ["options"] {} m) ]
++ [ (attrByPath ["config"] {} m) ]
[ (m.options or {}) ]
++ [ (m.config or {}) ]
else
[ m ]
) modules;

View File

@ -152,13 +152,11 @@ rec {
opt1 // opt2
// optionalAttrs (opt1 ? options || opt2 ? options) {
options =
(toList (attrByPath ["options"] [] opt1))
++ (toList (attrByPath ["options"] [] opt2));
(toList (opt1.options or []))
++ (toList (opt2.options or []));
}
// optionalAttrs (opt1 ? extraConfigs || opt2 ? extraConfigs) {
extraConfigs =
(attrByPath ["extraConfigs"] [] opt1)
++ (attrByPath ["extraConfigs"] [] opt2);
extraConfigs = opt1.extraConfigs or [] ++ opt2.extraConfigs or [];
}
)) {} opts;