pkg-tasks
Version:
Package management tasks
67 lines (56 loc) • 1.6 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.addGraph = addGraph;
exports.linksToGraph = linksToGraph;
exports.linkGraph = linkGraph;
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _toposort = _interopRequireDefault(require("toposort"));
function addGraph(_x) {
return _addGraph.apply(this, arguments);
}
function _addGraph() {
_addGraph = (0, _asyncToGenerator2.default)(function* ({
store,
taskId
}) {
const task = store.get(`tasks.${taskId}`);
const {
name,
links
} = task;
yield store.set(`tasks.${taskId}.graph`, linksToGraph({
links,
name
}));
});
return _addGraph.apply(this, arguments);
}
function linksToGraph({
links = [],
name
}) {
return Object.keys(links).map(linkName => [name, linkName]).concat([[name, ""]]);
}
function linkGraph(_x2) {
return _linkGraph.apply(this, arguments);
}
function _linkGraph() {
_linkGraph = (0, _asyncToGenerator2.default)(function* ({
store,
taskId
}) {
const task = store.get(`tasks.${taskId}`);
if (!task.taskLeader) {
return;
}
const taskIds = store.get("taskIds");
const tasks = store.get("tasks");
const graph = taskIds.reduce((memo, id) => memo.concat(tasks[id].graph), []);
yield store.set("linkGraph", (0, _toposort.default)(graph).reverse());
});
return _linkGraph.apply(this, arguments);
}
//# sourceMappingURL=linkGraph.js.map