mirror of
https://github.com/NotAShelf/nvf.git
synced 2026-06-22 20:43:27 +00:00
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I41c4b2cb70512699a044578fa88eb8266a6a6964
26 lines
540 B
Nix
26 lines
540 B
Nix
{lib}: let
|
|
inherit (builtins) listToAttrs;
|
|
in {
|
|
/**
|
|
Map over a list and convert the result to an attribute set.
|
|
|
|
# Type
|
|
|
|
```
|
|
mapListToAttrs :: (a -> { name :: String; value :: b }) -> [a] -> AttrSet
|
|
```
|
|
|
|
# Arguments
|
|
|
|
- `f`: Function mapping each list element to a `{ name; value }` pair.
|
|
- `list`: The list to map over.
|
|
|
|
# Example
|
|
|
|
```nix
|
|
mapListToAttrs (x: { name = x; value = x; }) ["a" "b"]
|
|
=> { a = "a"; b = "b"; }
|
|
```
|
|
*/
|
|
mapListToAttrs = f: list: listToAttrs (map f list);
|
|
}
|