lib: add defaultTo
This commit is contained in:
@@ -71,7 +71,7 @@ let
|
|||||||
# these are the only ones that are currently not
|
# these are the only ones that are currently not
|
||||||
inherit (builtins) addErrorContext isPath trace typeOf unsafeGetAttrPos;
|
inherit (builtins) addErrorContext isPath trace typeOf unsafeGetAttrPos;
|
||||||
inherit (self.trivial) id const pipe concat or and xor bitAnd bitOr bitXor
|
inherit (self.trivial) id const pipe concat or and xor bitAnd bitOr bitXor
|
||||||
bitNot boolToString mergeAttrs flip mapNullable inNixShell isFloat min max
|
bitNot boolToString mergeAttrs flip defaultTo mapNullable inNixShell isFloat min max
|
||||||
importJSON importTOML warn warnIf warnIfNot throwIf throwIfNot checkListOfEnum
|
importJSON importTOML warn warnIf warnIfNot throwIf throwIfNot checkListOfEnum
|
||||||
info showWarnings nixpkgsVersion version isInOldestRelease oldestSupportedReleaseIsAtLeast
|
info showWarnings nixpkgsVersion version isInOldestRelease oldestSupportedReleaseIsAtLeast
|
||||||
mod compare splitByAndCompare seq deepSeq lessThan add sub
|
mod compare splitByAndCompare seq deepSeq lessThan add sub
|
||||||
|
|||||||
@@ -316,6 +316,40 @@ in {
|
|||||||
*/
|
*/
|
||||||
flip = f: a: b: f b a;
|
flip = f: a: b: f b a;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Return `maybeValue` if not null, otherwise return `default`.
|
||||||
|
|
||||||
|
|
||||||
|
# Inputs
|
||||||
|
|
||||||
|
`default`
|
||||||
|
|
||||||
|
: 1\. Function argument
|
||||||
|
|
||||||
|
`maybeValue`
|
||||||
|
|
||||||
|
: 2\. Function argument
|
||||||
|
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
:::{.example}
|
||||||
|
## `lib.trivial.defaultTo` usage example
|
||||||
|
|
||||||
|
```nix
|
||||||
|
defaultTo "default" null
|
||||||
|
=> "default"
|
||||||
|
defaultTo "default" "foo"
|
||||||
|
=> "foo"
|
||||||
|
defaultTo "default" false
|
||||||
|
=> false
|
||||||
|
```
|
||||||
|
|
||||||
|
:::
|
||||||
|
*/
|
||||||
|
defaultTo = default: maybeValue:
|
||||||
|
if maybeValue != null then maybeValue
|
||||||
|
else default;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Apply function if the supplied argument is non-null.
|
Apply function if the supplied argument is non-null.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user