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  }