parent
31d76ae1b1
commit
5f3987f44f
|
@ -438,24 +438,6 @@ rec {
|
||||||
overrideExisting = old: new:
|
overrideExisting = old: new:
|
||||||
old // listToAttrs (map (attr: nameValuePair attr (attrByPath [attr] old.${attr} new)) (attrNames old));
|
old // listToAttrs (map (attr: nameValuePair attr (attrByPath [attr] old.${attr} new)) (attrNames old));
|
||||||
|
|
||||||
/* Try given attributes in order. If no attributes are found, return
|
|
||||||
attribute list itself.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
tryAttrs ["a" "b"] { a = 1; b = 2; }
|
|
||||||
=> 1
|
|
||||||
tryAttrs ["a" "b"] { c = 3; }
|
|
||||||
=> { c = 3; }
|
|
||||||
*/
|
|
||||||
tryAttrs = allAttrs: set:
|
|
||||||
let tryAttrs_ = attrs:
|
|
||||||
if attrs == [] then set
|
|
||||||
else
|
|
||||||
(let h = head attrs; in
|
|
||||||
if hasAttr h set then getAttr h set
|
|
||||||
else tryAttrs_ (tail attrs));
|
|
||||||
in tryAttrs_ allAttrs;
|
|
||||||
|
|
||||||
|
|
||||||
/*** deprecated stuff ***/
|
/*** deprecated stuff ***/
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue