graphs library Null safety

Functions

crawlAsync<K extends Object, V>(Iterable<K> roots, FutureOr<V> readNode(K), FutureOr<Iterable<K>> edges(K, V)) Stream<V>
Finds and returns every node in a graph who's nodes and edges are asynchronously resolved.
shortestPath<T extends Object>(T start, T target, Iterable<T> edges(T), {bool equals(T, T)?, int hashCode(T)?}) Iterable<T>?
Returns the shortest path from start to target given the directed edges of a graph provided by edges.
shortestPaths<T extends Object>(T start, Iterable<T> edges(T), {bool equals(T, T)?, int hashCode(T)?}) Map<T, Iterable<T>>
Returns a Map of the shortest paths from start to all of the nodes in the directed graph defined by edges.
stronglyConnectedComponents<T extends Object>(Iterable<T> nodes, Iterable<T> edges(T), {bool equals(T, T)?, int hashCode(T)?}) List<List<T>>
Finds the strongly connected components of a directed graph using Tarjan's algorithm.