mirror of
https://github.com/turbot/steampipe.git
synced 2026-02-22 23:00:16 -05:00
32 lines
822 B
Go
32 lines
822 B
Go
package versionmap
|
|
|
|
import (
|
|
"sort"
|
|
|
|
"github.com/Masterminds/semver"
|
|
"github.com/turbot/steampipe/pkg/steampipeconfig/modconfig"
|
|
)
|
|
|
|
// VersionListMap is a map keyed by dependency name storing a list of versions for each dependency
|
|
type VersionListMap map[string]semver.Collection
|
|
|
|
func (i VersionListMap) Add(name string, version *semver.Version) {
|
|
versions := append(i[name], version)
|
|
// reverse sort the versions
|
|
sort.Sort(sort.Reverse(versions))
|
|
i[name] = versions
|
|
|
|
}
|
|
|
|
// FlatMap converts the VersionListMap map into a bool map keyed by qualified dependency name
|
|
func (m VersionListMap) FlatMap() map[string]bool {
|
|
var res = make(map[string]bool)
|
|
for name, versions := range m {
|
|
for _, version := range versions {
|
|
key := modconfig.ModVersionFullName(name, version)
|
|
res[key] = true
|
|
}
|
|
}
|
|
return res
|
|
}
|