36 lines
510 B
Go
36 lines
510 B
Go
package mockid
|
|
|
|
import "strconv"
|
|
|
|
func parseExp(exp string) (int, error) {
|
|
if "" == exp {
|
|
exp = "15m"
|
|
}
|
|
mult := 1
|
|
switch exp[len(exp)-1] {
|
|
case 'w':
|
|
mult *= 7
|
|
fallthrough
|
|
case 'd':
|
|
mult *= 24
|
|
fallthrough
|
|
case 'h':
|
|
mult *= 60
|
|
fallthrough
|
|
case 'm':
|
|
mult *= 60
|
|
fallthrough
|
|
case 's':
|
|
// no fallthrough
|
|
default:
|
|
// could be 'k' or 'z', but we assume its empty
|
|
exp += "s"
|
|
}
|
|
|
|
num, err := strconv.Atoi(exp[:len(exp)-1])
|
|
if nil != err {
|
|
return 0, err
|
|
}
|
|
return num * mult, nil
|
|
}
|