if-else-throw
If X, return Y, else throw Z.
X can be a boolean or a function.
Installation
Requires Node.js 6.0.0 or above.
npm i if-else-throw
API
The module exports a single function.
Parameters
test
(any): The “if” condition, evaluated for truthiness. If a function is provided, it is called with val
as its only argument and its return value is used.- Optional:
val
(any): The “then” value to return if test
is truthy. If omitted, test
is returned. - Optional:
error
(Error or string): The Error to throw if test
is falsely. If a string is provided, it is wrapped in a new Error
. If omitted, defaults to new Error()
.
Return Value
If test
is truthy, returns val
(or returns test
if val
is omitted). If test
is falsey, there is no return value because an error is thrown.
Examples
const ifElseThrow = require('if-else-throw')
const value = []
ifElseThrow(
Array.isArray(value),
value,
new TypeError('Not an array')
)
ifElseThrow(
x => Array.isArray(x),
'this is a string',
new TypeError('Not an array')
)
ifElseThrow(
'this is truthy',
'Must be truthy'
)
ifElseThrow(
null,
'Must be truthy'
)