254
var durationRegexp = regexp.MustCompile(`^(\d+(?:\.\d+)?)(ms|s|m)$`)
255
256
>
func ParseDuration(value string) (time.Duration, error) {
api.go
257
>
m := durationRegexp.FindStringSubmatch(value)
258
>
if len(m) == 0 {
259
return 0, fmt.Errorf("invalid duration: %q", value)
260
}
261
>
v, err := strconv.ParseFloat(m[1], 64)
api.go
262
>
if err != nil {
263
return 0, err
264
}
265
267
>
case "ms":
268
>
return time.Millisecond * time.Duration(v), nil
269
case "s":
270
return time.Millisecond * time.Duration(v*1e3), nil