1 /*jshint node:true */
\r
5 var sequence = function (tasks, names, results, nest) {
\r
6 var i, name, node, e, j;
\r
8 for (i = 0; i < names.length; i++) {
\r
11 if (results.indexOf(name) === -1) {
\r
14 e = new Error('task "'+name+'" is not defined');
\r
15 e.missingTask = name;
\r
18 if (tasks.hasOwnProperty(j)) {
\r
19 e.taskList.push(tasks[j].name);
\r
24 if (nest.indexOf(name) > -1) {
\r
26 e = new Error('Recursive dependencies detected: '+nest.join(' -> '));
\r
27 e.recursiveTasks = nest;
\r
30 if (tasks.hasOwnProperty(j)) {
\r
31 e.taskList.push(tasks[j].name);
\r
36 if (node.dep.length) {
\r
38 sequence(tasks, node.dep, results, nest); // recurse
\r
46 module.exports = sequence;
\r