github.com/telepresenceio/telepresence/v2@v2.20.0-pro.6.0.20240517030216-236ea954e789/pkg/client/cli/flags/map.go (about) 1 package flags 2 3 import ( 4 "github.com/spf13/pflag" 5 6 "github.com/telepresenceio/telepresence/v2/pkg/slice" 7 ) 8 9 // Map returns a map of the flags that has been modified in the given FlagSet. 10 func Map(flags *pflag.FlagSet) map[string]string { 11 if flags == nil { 12 return nil 13 } 14 flagMap := make(map[string]string, flags.NFlag()) 15 flags.VisitAll(func(flag *pflag.Flag) { 16 if flag.Changed { 17 var v string 18 if sv, ok := flag.Value.(pflag.SliceValue); ok { 19 v = slice.AsCSV(sv.GetSlice()) 20 } else { 21 v = flag.Value.String() 22 } 23 flagMap[flag.Name] = v 24 } 25 }) 26 return flagMap 27 }