0.0.2 • Published 14 years ago
flowless v0.0.2
node-flowless - Less but better control-flow library
flowless is not a flawless :)
Examples
var fs = require('fs');
var flowless = require('../index');
flowless.series([
flowless.makeParallel([
[fs.readFile, 'path1', 'utf8'],
[fs.readFile, 'path2', 'utf8']
]),
function(results, cb) {
fs.writeFile('path3', results.join(''), cb);
},
[fs.readFile, 'path3', 'utf8']
], function(err, result) {
if (this.err) throw this.err;
console.log(result);
console.log('all done');
});Installation
$ npm install flowlessAPI
flowless.series(functions, cb)
Runs functions in series.
- Arguments
functions: An array of functions. It can contain an array passed to makeFunc().cb: A callback function.
flowless.makeSeries(functions)
Returns a new function which runs functions in series.
- Arguments
functions: An array of functions. It can contain an array passed to makeFunc().
Returns
A function which runs
functionsin series.`function([args...] cb)`Arguments
args: Zero or more arguments that will be passed to first element offunctions.cb: A callback function.
flowless.parallel(functions, cb)
Runs functions in parallel.
- Arguments
functions: An array of functions. It can contain an array passed to makeFunc().cb: A callback function.
flowless.makeParallel(functions)
Returns a new function which runs functions in parallel.
- Arguments
functions: An array of functions. It can contain an array passed to makeFunc().
Returns
A new function which runs
functionsin parallel.`function([args...] cb)`Arguments
args: Zero or more arguments that will be passed to all element offunctions.cb: A callback function.
flowless.makeFunc(template)
Returns a new function from a template.
- Arguments
template: An array of function template. The first element must be a function. The rest of elements are used as a parameter of the function. The array can include a special value,flowless.first,flowless.secondandflowless.third. When the returned function is called, they are replaced with the actual argument of a corresponding position.
Returns
A function which invokes the first element of
template.`function([args,...] cb)`Arguments
args: Zero or more arguments. Iftemplateincludes a special value, it is replaced withargsof a corresponding position.cb: A callback function. It is added to the rest oftemplate.
Example:
var fn = flowless.makeFunc(['fs.readFile', flowless.first, 'utf8']);
fn('foo.txt', cb);is equivalent of:
fs.readFile('foo.txt', 'utf8', cb);Acknowledgment
flowless is inspired by Slide.
License
flowless is licensed under the MIT license.