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