diff options
author | Marc Weber <marco-oweber@gmx.de> | 2009-03-06 23:21:14 +0000 |
---|---|---|
committer | Marc Weber <marco-oweber@gmx.de> | 2009-03-06 23:21:14 +0000 |
commit | 5ddfa7ed64682bae7fbf8dab45a2a1697a6cc425 (patch) | |
tree | 8ab63740650281174e2a430e0ea4269911ed7191 /pkgs/lib/attrsets.nix | |
parent | be3a9f2346cf384aea96b082f285901f54343b3b (diff) | |
download | nixpkgs-5ddfa7ed64682bae7fbf8dab45a2a1697a6cc425.tar nixpkgs-5ddfa7ed64682bae7fbf8dab45a2a1697a6cc425.tar.gz nixpkgs-5ddfa7ed64682bae7fbf8dab45a2a1697a6cc425.tar.bz2 nixpkgs-5ddfa7ed64682bae7fbf8dab45a2a1697a6cc425.tar.lz nixpkgs-5ddfa7ed64682bae7fbf8dab45a2a1697a6cc425.tar.xz nixpkgs-5ddfa7ed64682bae7fbf8dab45a2a1697a6cc425.tar.zst nixpkgs-5ddfa7ed64682bae7fbf8dab45a2a1697a6cc425.zip |
moved catAttrs, attrVals into attrsets.nix, adding attrValues
svn path=/nixpkgs/trunk/; revision=14425
Diffstat (limited to 'pkgs/lib/attrsets.nix')
-rw-r--r-- | pkgs/lib/attrsets.nix | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/pkgs/lib/attrsets.nix b/pkgs/lib/attrsets.nix index 201fb91bd00..a394ff5bd18 100644 --- a/pkgs/lib/attrsets.nix +++ b/pkgs/lib/attrsets.nix @@ -1,6 +1,9 @@ # Operations on attribute sets. -with { inherit (builtins) head tail; }; +with { + inherit (builtins) head tail; + inherit (import ./default.nix) fold; +}; rec { inherit (builtins) attrNames listToAttrs hasAttr isAttrs; @@ -18,5 +21,14 @@ rec { then getAttr (tail attrPath) default (builtins.getAttr attr e) else default; + # ordered by name + attrValues = attrs: attrVals (__attrNames attrs) attrs; + + attrVals = nameList : attrSet : + map (x: builtins.getAttr x attrSet) nameList; + + # iterates over a list of attributes collecting the attribute attr if it exists + catAttrs = attr : l : fold ( s : l : if (hasAttr attr s) then [(builtins.getAttr attr s)] ++ l else l) [] l; + } \ No newline at end of file |