in pkg/filter/filter.go [375:394]
func SelectObjects(components []*bundle.Component, predicate ComponentPredicate) []*bundle.Component {
var out []*bundle.Component
for _, component := range components {
temp := component.DeepCopy()
var selectedObjects []*unstructured.Unstructured
for _, object := range component.Spec.Objects {
temp.Spec.Objects = []*unstructured.Unstructured{object}
if predicate(temp) {
selectedObjects = append(selectedObjects, object)
}
}
if len(selectedObjects) == 0 {
continue
}
newComp := component.DeepCopy()
newComp.Spec.Objects = selectedObjects
out = append(out, newComp)
}
return out
}