in api/v1alpha1/packagebundle.go [169:198]
func (s BundlePackageSource) PackageMatches(other BundlePackageSource) bool {
if s.Registry != other.Registry {
return false
}
if s.Repository != other.Repository {
return false
}
myVersions := make(map[string]struct{})
for _, packageVersion := range s.Versions {
myVersions[packageVersion.Key()] = struct{}{}
}
for _, packageVersion := range other.Versions {
if _, ok := myVersions[packageVersion.Key()]; !ok {
return false
}
}
otherVersions := make(map[string]struct{})
for _, packageVersion := range other.Versions {
otherVersions[packageVersion.Key()] = struct{}{}
}
for key := range myVersions {
if _, ok := otherVersions[key]; !ok {
return false
}
}
return true
}