vendor/github.com/spf13/pflag/uint_slice.go
changeset 251 1c52a0eeb952
parent 242 2a9ec03fe5a1
equal deleted inserted replaced
250:c040f992052f 251:1c52a0eeb952
    46 	out := make([]string, len(*s.value))
    46 	out := make([]string, len(*s.value))
    47 	for i, d := range *s.value {
    47 	for i, d := range *s.value {
    48 		out[i] = fmt.Sprintf("%d", d)
    48 		out[i] = fmt.Sprintf("%d", d)
    49 	}
    49 	}
    50 	return "[" + strings.Join(out, ",") + "]"
    50 	return "[" + strings.Join(out, ",") + "]"
       
    51 }
       
    52 
       
    53 func (s *uintSliceValue) fromString(val string) (uint, error) {
       
    54 	t, err := strconv.ParseUint(val, 10, 0)
       
    55 	if err != nil {
       
    56 		return 0, err
       
    57 	}
       
    58 	return uint(t), nil
       
    59 }
       
    60 
       
    61 func (s *uintSliceValue) toString(val uint) string {
       
    62 	return fmt.Sprintf("%d", val)
       
    63 }
       
    64 
       
    65 func (s *uintSliceValue) Append(val string) error {
       
    66 	i, err := s.fromString(val)
       
    67 	if err != nil {
       
    68 		return err
       
    69 	}
       
    70 	*s.value = append(*s.value, i)
       
    71 	return nil
       
    72 }
       
    73 
       
    74 func (s *uintSliceValue) Replace(val []string) error {
       
    75 	out := make([]uint, len(val))
       
    76 	for i, d := range val {
       
    77 		var err error
       
    78 		out[i], err = s.fromString(d)
       
    79 		if err != nil {
       
    80 			return err
       
    81 		}
       
    82 	}
       
    83 	*s.value = out
       
    84 	return nil
       
    85 }
       
    86 
       
    87 func (s *uintSliceValue) GetSlice() []string {
       
    88 	out := make([]string, len(*s.value))
       
    89 	for i, d := range *s.value {
       
    90 		out[i] = s.toString(d)
       
    91 	}
       
    92 	return out
    51 }
    93 }
    52 
    94 
    53 func uintSliceConv(val string) (interface{}, error) {
    95 func uintSliceConv(val string) (interface{}, error) {
    54 	val = strings.Trim(val, "[]")
    96 	val = strings.Trim(val, "[]")
    55 	// Empty string would cause a slice with one (empty) entry
    97 	// Empty string would cause a slice with one (empty) entry