UNPKG

pkg-tasks

Version:
67 lines (56 loc) 1.6 kB
"use strict"; 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