github.com/selefra/selefra-utils@v0.0.4/pkg/pointer/time_duration.go (about) 1 package pointer 2 3 import "time" 4 5 func ToDurationPointer(v time.Duration) *time.Duration { 6 return &v 7 } 8 9 func ToDurationPointerOrNilIfZero(v time.Duration) *time.Duration { 10 if v == 0 { 11 return nil 12 } 13 return &v 14 } 15 16 func FromDurationPointer(p *time.Duration) time.Duration { 17 return FromDurationPointerOrDefaultIfNil(p, 0) 18 } 19 20 func FromDurationPointerOrDefaultIfNil(v *time.Duration, defaultValue time.Duration) time.Duration { 21 if v == nil { 22 return defaultValue 23 } 24 return *v 25 }