Files
trivy/pkg/x/strings/strings.go
Teppei Fukuda 5c37361600 feat(vuln): add --pkg-relationships (#7237)
Signed-off-by: knqyf263 <knqyf263@gmail.com>
2024-07-29 06:18:59 +00:00

37 lines
507 B
Go

package strings
import (
"fmt"
"github.com/samber/lo"
)
type String interface {
~string
}
func ToStringSlice[T any](ss []T) []string {
if len(ss) == 0 {
return nil
}
return lo.Map(ss, func(s T, _ int) string {
switch v := any(s).(type) {
case string:
return v
case fmt.Stringer:
return v.String()
default:
return fmt.Sprint(v)
}
})
}
func ToTSlice[T String](ss []string) []T {
if ss == nil {
return nil
}
return lo.Map(ss, func(s string, _ int) T {
return T(s)
})
}