fromPaths method

Graph<V, E> fromPaths(
  1. Iterable<Iterable<V>> chains, {
  2. E? value,
})

Creates a Graph from a Iterable of chains.

Implementation

Graph<V, E> fromPaths(Iterable<Iterable<V>> chains, {E? value}) {
  final builder = newBuilder();
  for (final chain in chains) {
    final vertices = chain.toList(growable: false);
    if (vertices.length == 1) {
      builder.addVertex(vertices.first);
    } else {
      for (var i = 0; i < vertices.length - 1; i++) {
        builder.addEdge(vertices[i], vertices[i + 1], value: value);
      }
    }
  }
  return builder.build();
}