refactor: make mapModules more easily readable
parent
b606eb4b44
commit
7ae552d698
|
@ -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);
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue