Skip to content

Commit

Permalink
lib: add defaultTo
Browse files Browse the repository at this point in the history
(cherry picked from commit 8ba40fd)
  • Loading branch information
szlend authored and github-actions[bot] committed Dec 22, 2024
1 parent d6a1254 commit 98348ca
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ let
# these are the only ones that are currently not
inherit (builtins) addErrorContext isPath trace typeOf unsafeGetAttrPos;
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
info showWarnings nixpkgsVersion version isInOldestRelease oldestSupportedReleaseIsAtLeast
mod compare splitByAndCompare seq deepSeq lessThan add sub
Expand Down
34 changes: 34 additions & 0 deletions lib/trivial.nix
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,40 @@ in {
*/
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.
Expand Down

0 comments on commit 98348ca

Please sign in to comment.