about summary refs log tree commit diff
path: root/lib/trivial.nix
diff options
context:
space:
mode:
authorSilvan Mosberger <contact@infinisil.com>2023-12-11 17:46:23 +0100
committerGitHub <noreply@github.com>2023-12-11 17:46:23 +0100
commit6d8c22272a2aef9fd0e74f833c8ee94d37f75a5d (patch)
tree1db120d49c1d45af142f6b73b70cc9b3f1b4a387 /lib/trivial.nix
parent5812c533eddfc767c9987f745cf111275cb3ed89 (diff)
parentad647985cf40f0970dac341f5677afafa96edeea (diff)
downloadnixlib-6d8c22272a2aef9fd0e74f833c8ee94d37f75a5d.tar
nixlib-6d8c22272a2aef9fd0e74f833c8ee94d37f75a5d.tar.gz
nixlib-6d8c22272a2aef9fd0e74f833c8ee94d37f75a5d.tar.bz2
nixlib-6d8c22272a2aef9fd0e74f833c8ee94d37f75a5d.tar.lz
nixlib-6d8c22272a2aef9fd0e74f833c8ee94d37f75a5d.tar.xz
nixlib-6d8c22272a2aef9fd0e74f833c8ee94d37f75a5d.tar.zst
nixlib-6d8c22272a2aef9fd0e74f833c8ee94d37f75a5d.zip
Merge pull request #273470 from adisbladis/lib-tohexstring-static-values
lib.toHexString: Statically compute hexDigits attrset
Diffstat (limited to 'lib/trivial.nix')
-rw-r--r--lib/trivial.nix30
1 files changed, 14 insertions, 16 deletions
diff --git a/lib/trivial.nix b/lib/trivial.nix
index 463cec351bdf..b2796096e8bc 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -520,22 +520,20 @@ in {
 
      toHexString 250 => "FA"
   */
-  toHexString = i:
-    let
-      toHexDigit = d:
-        if d < 10
-        then toString d
-        else
-          {
-            "10" = "A";
-            "11" = "B";
-            "12" = "C";
-            "13" = "D";
-            "14" = "E";
-            "15" = "F";
-          }.${toString d};
-    in
-      lib.concatMapStrings toHexDigit (toBaseDigits 16 i);
+  toHexString = let
+    hexDigits = {
+      "10" = "A";
+      "11" = "B";
+      "12" = "C";
+      "13" = "D";
+      "14" = "E";
+      "15" = "F";
+    };
+    toHexDigit = d:
+      if d < 10
+      then toString d
+      else hexDigits.${toString d};
+  in i: lib.concatMapStrings toHexDigit (toBaseDigits 16 i);
 
   /* `toBaseDigits base i` converts the positive integer i to a list of its
      digits in the given base. For example: