MCPcopy Create free account
hub / github.com/algolia/cli / FlagValuesMap

Function FlagValuesMap

pkg/cmdutil/map_flags.go:10–66  ·  view source on GitHub ↗

FlagValuesMap returns a map of flag values for the given FlagSet.

(flags *pflag.FlagSet, only ...string)

Source from the content-addressed store, hash-verified

8
9// FlagValuesMap returns a map of flag values for the given FlagSet.
10func FlagValuesMap(flags *pflag.FlagSet, only ...string) (map[string]interface{}, error) {
11 values := make(map[string]interface{})
12
13 flags.Visit(func(flag *pflag.Flag) {
14 // Skip if we only want to load a subset of flags.
15 if only != nil && !utils.Contains(only, flag.Name) {
16 return
17 }
18 switch flag.Value.Type() {
19 case "string":
20 val, err := flags.GetString(flag.Name)
21 if err == nil {
22 values[flag.Name] = val
23 }
24 case "int":
25 val, err := flags.GetInt(flag.Name)
26 if err == nil {
27 values[flag.Name] = val
28 }
29 case "bool":
30 val, err := flags.GetBool(flag.Name)
31 if err == nil {
32 values[flag.Name] = val
33 }
34 case "float64":
35 val, err := flags.GetFloat64(flag.Name)
36 if err == nil {
37 values[flag.Name] = val
38 }
39 case "stringSlice":
40 val, err := flags.GetStringSlice(flag.Name)
41 if err == nil {
42 values[flag.Name] = val
43 }
44 case "intSlice":
45 val, err := flags.GetIntSlice(flag.Name)
46 if err == nil {
47 values[flag.Name] = val
48 }
49 case "boolSlice":
50 val, err := flags.GetBoolSlice(flag.Name)
51 if err == nil {
52 values[flag.Name] = val
53 }
54 case "float64Slice":
55 val, err := flags.GetFloat64Slice(flag.Name)
56 if err == nil {
57 values[flag.Name] = val
58 }
59 case "json":
60 values[flag.Name] = flag.Value.(*JSONValue).Value
61 default:
62 panic("unsupported flag type")
63 }
64 })
65 return values, nil
66}

Callers 6

NewDeleteCmdFunction · 0.92
NewBrowseCmdFunction · 0.92
NewSearchCmdFunction · 0.92
NewSetCmdFunction · 0.92
NewAnalyzeCmdFunction · 0.92
Test_FlagValuesMapFunction · 0.85

Calls 2

ContainsFunction · 0.92
TypeMethod · 0.45

Tested by 1

Test_FlagValuesMapFunction · 0.68