Creates a function that runs multiple functions in serial or in parallel.
Requires Node.js 6.0.0 or above.
npm i jfn
The module exports a single function.
- Variadic:
...fns
(one or more of: function, or array of functions): The functions to be combined into one. - Optional: Object argument:
parallel
orp
(boolean): Iftrue
, runs the functions in parallel, giving the same arguments to each function, and compiling the returned results into an array. Iffalse
, runs the functions in serial, passing the result of each function to the next in the list, and returning a single value at the end. Defaults tofalse
.arg
(positive integer): If in serial mode, the result of each function will be passed to the next as an argument at this index. Defaults to0
.
The return value of the last function in fns
(if in serial mode) or an array of fns
return values (if in parallel mode).
const jfn = require('jfn')
const add1 = n => n + 1
const add2 = n => n + 2
const add3 = jfn(add1, add2)
add3(1) // 4
const jfn = require('jfn')
const add1 = n => n + 1
const add2 = n => n + 2
const add = jfn(add1, add2, {parallel: true})
add(1) // [2, 3]
For more projects like this, check out @lamansky/fn.