package config import "time" type Duration time.Duration func (d *Duration) UnmarshalJSON(data []byte) error { if len(data) == 0 { *d = 0 return nil } duration, err := time.ParseDuration(string(data)) if err != nil { return err } *d = Duration(duration) return nil } func (d Duration) Std() time.Duration { return time.Duration(d) }