github.com/operator-framework/operator-lifecycle-manager@v0.30.0/pkg/lib/labeler/labeler.go (about)

     1  package labeler
     2  
     3  import (
     4  	"k8s.io/apimachinery/pkg/labels"
     5  )
     6  
     7  // Labeler can provide label sets that describe an object
     8  type Labeler interface {
     9  	// LabelSetsFor returns label sets that describe the given object
    10  	LabelSetsFor(obj interface{}) ([]labels.Set, error)
    11  }
    12  
    13  // Func is a function type that implements the Labeler interface
    14  type Func func(obj interface{}) ([]labels.Set, error)
    15  
    16  // LabelSetsFor calls LabelSetsFor on itself to satisfy the Labeler interface
    17  func (l Func) LabelSetsFor(obj interface{}) ([]labels.Set, error) {
    18  	return l(obj)
    19  }