Merge pull request #212189 from amjoseph-nixpkgs/pr/lib/mapAttrsRecursive/comment

attrsets: clarify that mapAttrs maps over *leaf* attrs
This commit is contained in:
Robert Hensing 2023-01-25 10:18:38 +01:00 committed by GitHub
commit 683887a79c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -480,8 +480,13 @@ rec {
/* Like `mapAttrs`, except that it recursively applies itself to
attribute sets. Also, the first argument of the argument
function is a *list* of the names of the containing attributes.
the *leaf* attributes of a potentially-nested attribute set:
the second argument of the function will never be an attrset.
Also, the first argument of the argument function is a *list*
of the attribute names that form the path to the leaf attribute.
For a function that gives you control over what counts as a leaf,
see `mapAttrsRecursiveCond`.
Example:
mapAttrsRecursive (path: value: concatStringsSep "-" (path ++ [value]))