- Add a
topologicalSort()
function.
- Breaking:
crawlAsync
will no longer ignore a node from the graph if thereadNode
callback returns null.
- Migrate to null safety.
- Breaking: Paths from
shortestPath[s]
are now returned as iterables to reduce memory consumption of the algorithm to O(n).
- BREAKING
shortestPath
,shortestPaths
andstronglyConnectedComponents
now have one generic parameter and have replaced thekey
parameter with optional params:{bool equals(T key1, T key2), int hashCode(T key)}
. This follows the pattern used indart:collection
classesHashMap
andLinkedHashMap
. It improves the usability and performance of the case where the source values are directly usable in a hash data structure.
- Fixed a bug with non-identity
key
inshortestPath
andshortestPaths
.
- Added
shortestPath
andshortestPaths
functions. - Use
HashMap
andHashSet
fromdart:collection
forstronglyConnectedComponents
. Improves runtime performance.
- Allow using non-dev Dart 2 SDK.
crawlAsync
surfaces exceptions while crawling through the result stream rather than as uncaught asynchronous errors.
crawlAsync
will now ignore nodes that are resolved tonull
.
- Initial release with an implementation of
stronglyConnectedComponents
andcrawlAsync
.