diff options
Diffstat (limited to 'lib/trivial.nix')
-rw-r--r-- | lib/trivial.nix | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/trivial.nix b/lib/trivial.nix index c68bac902e913..52648125059d0 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -403,6 +403,25 @@ rec { isFunction = f: builtins.isFunction f || (f ? __functor && isFunction (f.__functor f)); + /* + Turns any non-callable values into constant functions. + Returns callable values as is. + + Example: + + nix-repl> lib.toFunction 1 2 + 1 + + nix-repl> lib.toFunction (x: x + 1) 2 + 3 + */ + toFunction = + # Any value + v: + if isFunction v + then v + else k: v; + /* Convert the given positive integer to a string of its hexadecimal representation. For example: |