diff options
author | Silvan Mosberger <contact@infinisil.com> | 2023-12-11 17:46:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-11 17:46:23 +0100 |
commit | 6d8c22272a2aef9fd0e74f833c8ee94d37f75a5d (patch) | |
tree | 1db120d49c1d45af142f6b73b70cc9b3f1b4a387 /lib/trivial.nix | |
parent | 5812c533eddfc767c9987f745cf111275cb3ed89 (diff) | |
parent | ad647985cf40f0970dac341f5677afafa96edeea (diff) | |
download | nixlib-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.nix | 30 |
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: |