Merge pull request #164890 from ncfavier/lib-warn-throw
lib/trivial: add warnIfNot and throwIf
This commit is contained in:
commit
a38220e61d
1 changed files with 15 additions and 1 deletions
|
@ -347,7 +347,14 @@ rec {
|
|||
|
||||
Type: bool -> string -> a -> a
|
||||
*/
|
||||
warnIf = cond: msg: if cond then warn msg else id;
|
||||
warnIf = cond: msg: if cond then warn msg else x: x;
|
||||
|
||||
/*
|
||||
Like warnIf, but negated (warn if the first argument is `false`).
|
||||
|
||||
Type: bool -> string -> a -> a
|
||||
*/
|
||||
warnIfNot = cond: msg: if cond then x: x else warn msg;
|
||||
|
||||
/*
|
||||
Like the `assert b; e` expression, but with a custom error message and
|
||||
|
@ -371,6 +378,13 @@ rec {
|
|||
*/
|
||||
throwIfNot = cond: msg: if cond then x: x else throw msg;
|
||||
|
||||
/*
|
||||
Like throwIfNot, but negated (throw if the first argument is `true`).
|
||||
|
||||
Type: bool -> string -> a -> a
|
||||
*/
|
||||
throwIf = cond: msg: if cond then throw msg else x: x;
|
||||
|
||||
/* Check if the elements in a list are valid values from a enum, returning the identity function, or throwing an error message otherwise.
|
||||
|
||||
Example:
|
||||
|
|
Loading…
Reference in a new issue