lib.strings: Dont create scopes for getName/getVersion

We can create the `parse` function in a scope one level up to avoid recomputing it every time.
This commit is contained in:
adisbladis
2023-12-11 14:47:48 +13:00
parent b571c88ad3
commit bd817120c4

View File

@@ -715,10 +715,10 @@ rec {
getName pkgs.youtube-dl getName pkgs.youtube-dl
=> "youtube-dl" => "youtube-dl"
*/ */
getName = x: getName = let
let
parse = drv: (parseDrvName drv).name; parse = drv: (parseDrvName drv).name;
in if isString x in x:
if isString x
then parse x then parse x
else x.pname or (parse x.name); else x.pname or (parse x.name);
@@ -732,10 +732,10 @@ rec {
getVersion pkgs.youtube-dl getVersion pkgs.youtube-dl
=> "2016.01.01" => "2016.01.01"
*/ */
getVersion = x: getVersion = let
let
parse = drv: (parseDrvName drv).version; parse = drv: (parseDrvName drv).version;
in if isString x in x:
if isString x
then parse x then parse x
else x.version or (parse x.name); else x.version or (parse x.name);