Wraps a function so it only gets executed if a condition is true.
Requires Node.js 6.0.0 or above.
npm i qfn
The module exports a single function.
- Bindable:
fn
(function): The underlying function that may or may not get called, depending ontest
. test
(function or boolean): A boolean indicating whetherfn
should be called, or a function that returns such a boolean. Iftest
is a function, it will be given all the arguments passed to the returned function.
A function which, when called, returns the return value of fn
, if test
is true. If test
is false, the function returns the first argument passed to it.
const qfn = require('qfn')
function add1 (x) {
return x + 1
}
qfn(add1, true)(3) // 4
qfn(add1, false)(3) // 3
const add1IfEven = qfn(add1, x => x % 2 === 0)
add1IfEven(3) // 3
add1IfEven(4) // 5
For more projects like this, check out @lamansky/fn.