28 lines
604 B
JavaScript
28 lines
604 B
JavaScript
'use strict';
|
|
|
|
module.exports = function(tasks) {
|
|
var map = {};
|
|
var arr = [];
|
|
Object.keys(tasks).forEach(function(taskname) {
|
|
var task = {
|
|
label: taskname,
|
|
type: 'task',
|
|
nodes: [],
|
|
};
|
|
map[taskname] = task;
|
|
arr.push(task);
|
|
});
|
|
Object.keys(tasks).forEach(function(taskname) {
|
|
var task = map[taskname];
|
|
tasks[taskname].dep.forEach(function(childname) {
|
|
var child = map[childname] || {
|
|
label: childname,
|
|
type: 'task',
|
|
nodes: [],
|
|
};
|
|
task.nodes.push(child);
|
|
});
|
|
});
|
|
return { label: 'Tasks', nodes: arr };
|
|
};
|