keepAttrs -> getAttrs
This commit is contained in:
12
src/getAttrs.nix
Normal file
12
src/getAttrs.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
lib:
|
||||
let
|
||||
getAttrsOld = names: attrs: lib.genAttrs names (name: attrs.${name});
|
||||
getAttrsNew1 = names: attrs: lib.filterAttrs (n: _: builtins.elem n names) attrs;
|
||||
getAttrsNew2 = names: attrs: builtins.intersectAttrs (lib.genAttrs names (_: null)) attrs;
|
||||
|
||||
bigdata = lib.genAttrs (lib.imap0 (i: _: toString i) (lib.replicate 999999 null)) (_: null);
|
||||
in {
|
||||
old = getAttrsOld [ "123" "456" ] bigdata;
|
||||
new1 = getAttrsNew1 [ "123" "456" ] bigdata;
|
||||
new2 = getAttrsNew2 [ "123" "456" ] bigdata;
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
lib:
|
||||
let
|
||||
keepAttrsOld = attrs: names: lib.filterAttrs (n: _: builtins.elem n names) attrs;
|
||||
keepAttrsNew = attrs: names: builtins.intersectAttrs (lib.genAttrs names (_: null)) attrs;
|
||||
|
||||
bigdata = lib.genAttrs (lib.imap0 (i: _: toString i) (lib.replicate 999999 null)) (_: null);
|
||||
in {
|
||||
old = keepAttrsOld bigdata [ "123" "456" ];
|
||||
new = keepAttrsNew bigdata [ "123" "456" ];
|
||||
}
|
||||
Reference in New Issue
Block a user