func()

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
}