index.js
function parallel() {
	var self = this;
	argy(arguments)
		.ifForm('', function() {})
		.ifForm('function', function(callback) {
			self._struct.push({ type: 'parallelArray', payload: [callback] });
		})
		.ifForm('string function', function(id, callback) {
			var payload = {};
			payload[id] = callback;
			self._struct.push({ type: 'parallelArray', payload: payload });
		})
		.ifForm('array', function(tasks) {
			self._struct.push({ type: 'parallelArray', payload: tasks });
		})
		.ifForm('object', function(tasks) {
			self._struct.push({ type: 'parallelObject', payload: tasks });
		})
		// Async library compatibility {{{
		.ifForm('array function', function(tasks, callback) {
			self._struct.push({ type: 'parallelArray', payload: tasks });
			self.end(callback);
		})
		.ifForm('object function', function(tasks, callback) {
			self._struct.push({ type: 'parallelObject', payload: tasks });
			self.end(callback);
		})
		// }}}
		.ifFormElse(function(form) {
			throw new Error('Unknown call style for .parallel(): ' + form);
		})

	return self;
}
function parallel() {
	var self = this;
	argy(arguments)
		.ifForm('', function() {})
		.ifForm('function', function(callback) {
			self._struct.push({ type: 'parallelArray', payload: [callback] });
		})
		.ifForm('string function', function(id, callback) {
			var payload = {};
			payload[id] = callback;
			self._struct.push({ type: 'parallelArray', payload: payload });
		})
		.ifForm('array', function(tasks) {
			self._struct.push({ type: 'parallelArray', payload: tasks });
		})
		.ifForm('object', function(tasks) {
			self._struct.push({ type: 'parallelObject', payload: tasks });
		})
		// Async library compatibility {{{
		.ifForm('array function', function(tasks, callback) {
			self._struct.push({ type: 'parallelArray', payload: tasks });
			self.end(callback);
		})
		.ifForm('object function', function(tasks, callback) {
			self._struct.push({ type: 'parallelObject', payload: tasks });
			self.end(callback);
		})
		// }}}
		.ifFormElse(function(form) {
			throw new Error('Unknown call style for .parallel(): ' + form);
		})

	return self;
}
function parallel ( ) { var self = this ; argy ( arguments ) . ifForm ( '' , function ( ) { } ) . ifForm ( 'function' , function ( callback ) { self . _struct . push ( { type : 'parallelArray' , payload : [ callback ] } ) ; } ) . ifForm ( 'string function' , function ( id , callback ) { var payload = { } ; payload [ id ] = callback ; self . _struct . push ( { type : 'parallelArray' , payload : payload } ) ; } ) . ifForm ( 'array' , function ( tasks ) { self . _struct . push ( { type : 'parallelArray' , payload : tasks } ) ; } ) . ifForm ( 'object' , function ( tasks ) { self . _struct . push ( { type : 'parallelObject' , payload : tasks } ) ; } ) // Async library compatibility {{{ . ifForm ( 'array function' , function ( tasks , callback ) { self . _struct . push ( { type : 'parallelArray' , payload : tasks } ) ; self . end ( callback ) ; } ) . ifForm ( 'object function' , function ( tasks , callback ) { self . _struct . push ( { type : 'parallelObject' , payload : tasks } ) ; self . end ( callback ) ; } ) // }}} . ifFormElse ( function ( form ) { throw new Error ( 'Unknown call style for .parallel(): ' + form ) ; } ) return self ; }
Queue up a function(s) to execute in parallel
@param {array|Object|function} The function(s) to execute
@return {Object} This chainable object
Queue up a function ( s ) to execute in parallel