dagre-d3-es
Version:
<p align="center"> <a href="https://www.npmjs.com/dagre-d3-es"><img src="https://img.shields.io/npm/v/dagre-d3-es.svg?logo=npm&logoColor=fff&label=NPM+package&color=limegreen" alt="dagre-d3-es on npm" /></a> <a href="https://www.npmjs.com/dagre-
28 lines (22 loc) • 475 B
JavaScript
import * as _ from 'lodash-es';
export { components };
function components(g) {
var visited = {};
var cmpts = [];
var cmpt;
function dfs(v) {
if (Object.prototype.hasOwnProperty.call(visited, v)) return;
visited[v] = true;
cmpt.push(v);
_.each(g.successors(v), dfs);
_.each(g.predecessors(v), dfs);
}
_.each(g.nodes(), function (v) {
cmpt = [];
dfs(v);
if (cmpt.length) {
cmpts.push(cmpt);
}
});
return cmpts;
}