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  }