filterAttrs: init
This commit is contained in:
@@ -16,5 +16,6 @@
|
||||
unique = import ./src/unique.nix lib;
|
||||
overrideExisting = import ./src/overrideExisting.nix lib;
|
||||
findFirstIndex = import ./src/findFirstIndex.nix lib;
|
||||
filterAttrs = import ./src/filterAttrs.nix lib;
|
||||
};
|
||||
}
|
||||
|
||||
11
src/filterAttrs.nix
Normal file
11
src/filterAttrs.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
lib:
|
||||
let
|
||||
filterAttrsOld = pred: set: builtins.removeAttrs set (builtins.filter (name: !pred name set.${name}) (builtins.attrNames set));
|
||||
|
||||
filterAttrsNew = pred: set: builtins.removeAttrs set (builtins.partition (name: pred name set.${name}) (builtins.attrNames set)).wrong;
|
||||
|
||||
bigdata = lib.genAttrs (lib.imap0 (i: _: toString i) (lib.replicate 999999 null)) (_: null);
|
||||
in {
|
||||
old = filterAttrsOld (name: value: name == "345" || name == "927") bigdata;
|
||||
new = filterAttrsNew (name: value: name == "345" || name == "927") bigdata;
|
||||
}
|
||||
Reference in New Issue
Block a user