refactor: make mapModules more easily readable

This commit is contained in:
Moritz Böhme 2023-04-10 15:23:33 +02:00
parent b606eb4b44
commit 7ae552d698
Signed by: moritz
GPG key ID: 970C6E89EB0547A9

View file

@ -16,7 +16,7 @@ lib.makeExtensible (_: rec {
mapModules = f: dir:
let
filter = name: type:
filterModules = name: type:
let
isPublic = !(lib.hasPrefix "_" name);
isSomething = type != null;
@ -30,6 +30,8 @@ lib.makeExtensible (_: rec {
in
isPublic && isSomething && isModule;
modulesInDir = lib.filterAttrs filterModules (builtins.readDir dir);
mkModule = name: _:
let
path = "${toString dir}/${name}";
@ -40,7 +42,7 @@ lib.makeExtensible (_: rec {
in
lib.nameValuePair normalizedName (f path);
in
lib.mapAttrs' mkModule (lib.filterAttrs filter (builtins.readDir dir));
lib.mapAttrs' mkModule modulesInDir;
mapModules' = f: dir: lib.attrValues (mapModules f dir);
})