Documentation
¶
Index ¶
- func DurationFromDays(d int32) *durationpb.Duration
- func DurationFromHours(h int64) *durationpb.Duration
- func DurationFromMinutes(m int64) *durationpb.Duration
- func DurationFromSeconds(s int64) *durationpb.Duration
- func DurationPtr(td time.Duration) *durationpb.Duration
- func DurationValue(d *durationpb.Duration) time.Duration
- func MinDurationPtr(d1 *durationpb.Duration, d2 *durationpb.Duration) *durationpb.Duration
- func ParseDuration(s string) (time.Duration, error)
- func ParseDurationDefaultDays(s string) (time.Duration, error)
- func ParseDurationDefaultSeconds(s string) (time.Duration, error)
- func ParseHHMMSSDuration(d string) (time.Duration, error)
- func TimeNowPtrUtc() *timestamppb.Timestamp
- func TimeNowPtrUtcAddDuration(t time.Duration) *timestamppb.Timestamp
- func TimeNowPtrUtcAddSeconds(seconds int) *timestamppb.Timestamp
- func TimePtr(t time.Time) *timestamppb.Timestamp
- func TimeValue(t *timestamppb.Timestamp) time.Time
- func TimeValuePtr(t *timestamppb.Timestamp) *time.Time
- func UnixOrZeroTime(nanos int64) time.Time
- func UnixOrZeroTimePtr(nanos int64) *timestamppb.Timestamp
- func ValidateAndCapProtoDuration(d *durationpb.Duration) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DurationFromDays ¶
func DurationFromDays(d int32) *durationpb.Duration
func DurationFromHours ¶
func DurationFromHours(h int64) *durationpb.Duration
func DurationFromMinutes ¶
func DurationFromMinutes(m int64) *durationpb.Duration
func DurationFromSeconds ¶
func DurationFromSeconds(s int64) *durationpb.Duration
func DurationPtr ¶
func DurationPtr(td time.Duration) *durationpb.Duration
func DurationValue ¶
func DurationValue(d *durationpb.Duration) time.Duration
func MinDurationPtr ¶
func MinDurationPtr(d1 *durationpb.Duration, d2 *durationpb.Duration) *durationpb.Duration
func ParseDuration ¶
ParseDuration is like time.ParseDuration, but supports unit "d" for days (always interpreted as exactly 24 hours).
func ParseDurationDefaultDays ¶
ParseDurationDefaultDays is like time.ParseDuration, but supports unit "d" for days (always interpreted as exactly 24 hours), and also supports unit-less numbers, which are interpreted as days.
func ParseDurationDefaultSeconds ¶
ParseDurationDefaultSeconds is like time.ParseDuration, but supports unit "d" for days (always interpreted as exactly 24 hours), and also supports unit-less numbers, which are interpreted as seconds.
func TimeNowPtrUtc ¶
func TimeNowPtrUtc() *timestamppb.Timestamp
func TimeNowPtrUtcAddDuration ¶
func TimeNowPtrUtcAddDuration(t time.Duration) *timestamppb.Timestamp
func TimeNowPtrUtcAddSeconds ¶
func TimeNowPtrUtcAddSeconds(seconds int) *timestamppb.Timestamp
func TimeValuePtr ¶
func TimeValuePtr(t *timestamppb.Timestamp) *time.Time
func UnixOrZeroTime ¶
func UnixOrZeroTimePtr ¶
func UnixOrZeroTimePtr(nanos int64) *timestamppb.Timestamp
func ValidateAndCapProtoDuration ¶
func ValidateAndCapProtoDuration(d *durationpb.Duration) error
ValidateAndCapProtoDuration validates protobuf durations for two conditions:
- the seconds and nanos fields have the same sign (to avoid serialization issues)
- the golang representation of the duration is not negative
Durations are capped to 250 years to prevent overflow and serialization errors. NB: to cap durations, the proto Seconds and Nanos fields are modified!
nil durations are considered valid because they will be treated as the zero value. durationpb.CheckValid cannot be used directly because it will return an error for very large durations, but we are okay with truncating these.
Types ¶
This section is empty.