diff options
Diffstat (limited to 'cmd/lulu/duration.go')
| -rw-r--r-- | cmd/lulu/duration.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/cmd/lulu/duration.go b/cmd/lulu/duration.go new file mode 100644 index 0000000..a9aa375 --- /dev/null +++ b/cmd/lulu/duration.go @@ -0,0 +1,29 @@ +package main + +import ( + "time" +) + +type durationValue struct { + p *time.Duration + isSet bool +} + +func (v durationValue) String() string { + if v.p != nil { + return v.p.String() + } + return "" +} + +func (v *durationValue) Set(s string) error { + d, err := time.ParseDuration(s) + if err != nil { + return err + } + *v.p = d + v.isSet = true + return nil +} + +func (v durationValue) IsSet() bool { return v.isSet } |