lib: Add toFunction
This commit is contained in:
parent
6a0b24b276
commit
84274cbc95
2 changed files with 21 additions and 1 deletions
|
@ -68,7 +68,8 @@ let
|
|||
bitNot boolToString mergeAttrs flip mapNullable inNixShell isFloat min max
|
||||
importJSON importTOML warn warnIf throwIfNot checkListOfEnum
|
||||
info showWarnings nixpkgsVersion version
|
||||
mod compare splitByAndCompare functionArgs setFunctionArgs isFunction
|
||||
mod compare splitByAndCompare
|
||||
functionArgs setFunctionArgs isFunction toFunction
|
||||
toHexString toBaseDigits;
|
||||
inherit (self.fixedPoints) fix fix' converge extends composeExtensions
|
||||
composeManyExtensions makeExtensible makeExtensibleWithCustomName;
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
Loading…
Reference in a new issue