github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/fly/commands/internal/flaghelpers/input_mapping_pair_flag.go (about) 1 package flaghelpers 2 3 import ( 4 "fmt" 5 "strings" 6 ) 7 8 type InputMappingPairFlag struct { 9 Name string 10 Value string 11 } 12 13 func (pair *InputMappingPairFlag) UnmarshalFlag(value string) error { 14 var ok bool 15 pair.Name, pair.Value, ok = parseKeyValuePair(value) 16 if !ok { 17 return fmt.Errorf("invalid input mapping '%s' (must be name=value)", value) 18 } 19 20 return nil 21 } 22 23 func parseKeyValuePair(value string) (string, string, bool) { 24 vs := strings.SplitN(value, "=", 2) 25 if len(vs) != 2 { 26 return "", "", false 27 } 28 return vs[0], vs[1], true 29 }