create order in connected elements
This module can create a plan based on defined interdependent elements. It is useful for creating a processing order of tasks or similar use-cases.
type Element struct {
name string
dependsOn []string
}
func (e *Element) Name() string {
return e.name
}
func (e *Element) DependsOn() []string {
return e.dependsOn
}
o := OrderElements(
&Element{name: "A", dependsOn: ["B"]},
&Element{name: "B", dependsOn: ["C"]},
&Element{name: "C", dependsOn: ["D"]},
) // []string{"D", "C", "B", "A"}MIT