Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CircularDependencyError ¶
type CircularDependencyError [][]string
CircularDependencyError contains the circular dependency chains that were detected while sorting the Dependent dependencies.
func (CircularDependencyError) Error ¶
func (e CircularDependencyError) Error() string
type CrossNamespaceDependencyReference ¶
type CrossNamespaceDependencyReference struct { // Namespace holds the namespace reference of a dependency. // +optional Namespace string `json:"namespace,omitempty"` // Name holds the name reference of a dependency. // +required Name string `json:"name"` }
CrossNamespaceDependencyReference holds the reference to a dependency.
func Sort ¶
func Sort(d []Dependent) ([]CrossNamespaceDependencyReference, error)
Sort sorts the Dependent slice based on their listed dependencies using Tarjan's strongly connected components algorithm.
func (CrossNamespaceDependencyReference) String ¶
func (r CrossNamespaceDependencyReference) String() string
type Dependent ¶
type Dependent interface { // GetDependsOn returns the Dependent's types.NamespacedName, // and the CrossNamespaceDependencyReference slice it depends on. GetDependsOn() (types.NamespacedName, []CrossNamespaceDependencyReference) }
Dependent provides an interface for resources that maintain CrossNamespaceDependencyReference list.
Click to show internal directories.
Click to hide internal directories.