It is an implementation of Topological sort using Depth First Search. The implementation provides a way to sort the nodes of the graph based on the weights assigned to each node. When a node is dependent on two other nodes the node with lowest weight is resolved first.
The input graph is a json structure with dependecies for the node are indicated as a list. The weights for the nodes are provided as a set of tag-value pairs.