z_toposort (zotonic_core v1.0.0-rc.17)

Simple topological sort of tuples {item, [depends], [provides]}

Summary

Functions

Return the topological sort of a list of items. Each item lists its provisions and dependencies.

Types

cycles/0

-type cycles() :: [[name()]].

name/0

-type name() :: atom() | {atom(), term()}.

topoitem/0

-type topoitem() :: {Name :: name(), Depends :: [atom()], Provides :: [atom()]}.

topoitems/0

-type topoitems() :: [topoitem()].

Functions

sort(L)

-spec sort(topoitems()) -> {ok, [name()]} | {error, {cyclic, cycles()}}.

Return the topological sort of a list of items. Each item lists its provisions and dependencies.