#[non_exhaustive]pub enum Direction {
Auto,
Sign,
ForceSign,
Suffix,
}Expand description
Configuration for SpanPrinter::direction.
This controls how the sign, if at all, is included in the formatted duration.
When using the “hours-minutes-seconds” format, Auto and Suffix are
both treated as equivalent to Sign when all calendar units (days and
greater) are zero.
§Example
use jiff::{fmt::friendly::{Direction, SpanPrinter}, SignedDuration};
let duration = SignedDuration::from_secs(-1);
let printer = SpanPrinter::new();
assert_eq!(printer.duration_to_string(&duration), "1s ago");
let printer = SpanPrinter::new().direction(Direction::Sign);
assert_eq!(printer.duration_to_string(&duration), "-1s");Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Auto
Sets the sign format based on other configuration options.
When SpanPrinter::spacing is set to Spacing::None, then
Auto is equivalent to Sign.
When using the “hours-minutes-seconds” format, Auto is equivalent to
Sign when all calendar units (days and greater) are zero.
Otherwise, Auto is equivalent to Suffix.
This is the default used by SpanPrinter.
Sign
When set, a sign is only written when the span or duration is negative. And when it is written, it is written as a prefix of the formatted duration.
ForceSign
A sign is always written, with - for negative spans and + for all
non-negative spans. The sign is always written as a prefix of the
formatted duration.
Suffix
When set, a sign is only written when the span or duration is negative.
And when it is written, it is written as a suffix via a trailing ago
string.