// EncodeDurationDescending is the descending version of EncodeDurationAscending. func EncodeDurationDescending(b []byte, d duration.Duration) ([]byte, error) { sortNanos, months, days, err := d.Encode() if err != nil { // TODO(dan): Handle this using d.EncodeBigInt() and the // durationBigNeg/durationBigPos markers. return b, err } b = append(b, durationMarker) b = EncodeVarintDescending(b, sortNanos) b = EncodeVarintDescending(b, months) b = EncodeVarintDescending(b, days) return b, nil }