getRootNodes method

List<Node> getRootNodes(
  1. Graph graph
)

Implementation

List<Node> getRootNodes(Graph graph) {
  final predecessors = <Node, bool>{};
  graph.edges.forEach((element) {
    predecessors[element.destination] = true;
  });

  var roots = graph.nodes.where((node) => predecessors[node] == null);
  roots.forEach((node) {
    nodeData[node]?.layer = layers.length;
  });

  return roots.toList();
}