Current section
Files
Jump to
Current section
Files
src/tempo@duration.erl
-module(tempo@duration).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([format/1, format_as/3, format_as_many/3, years_imprecise/1, weeks/1, days/1, hours/1, minutes/1, seconds/1, milliseconds/1, microseconds/1, new/2, increase/2, decrease/2, as_unit/2, as_unit_fractional/2, as_years_imprecise/1, as_years_fractional_imprecise/1, as_weeks/1, as_weeks_fractional/1, as_days/1, as_days_fractional/1, as_hours/1, as_hours_fractional/1, as_minutes/1, as_minutes_fractional/1, as_seconds/1, as_seconds_fractional/1, as_milliseconds/1, as_milliseconds_fractional/1, as_microseconds/1, as_microseconds_fractional/1, compare/2, is_less/2, is_less_or_equal/2, is_equal/2, is_greater/2, is_greater_or_equal/2, absolute/1, inverse/1, is_negative/1]).
-export_type([unit/0]).
-type unit() :: year_imprecise |
week |
day |
hour |
minute |
second |
millisecond |
microsecond.
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 84).
-spec format(gleam@time@duration:duration()) -> binary().
format(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:format(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 99).
-spec as_internal_unit(unit()) -> gtempo@internal:unit().
as_internal_unit(U) ->
case U of
year_imprecise ->
year;
week ->
week;
day ->
day;
hour ->
hour;
minute ->
minute;
second ->
second;
millisecond ->
millisecond;
microsecond ->
microsecond
end.
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 34).
-spec format_as(gleam@time@duration:duration(), unit(), integer()) -> binary().
format_as(Duration, Unit, Decimals) ->
_pipe = as_internal_unit(Unit),
gtempo@internal:format_as(
begin
_pipe@1 = Duration,
tempo:duration_get_microseconds(_pipe@1)
end,
_pipe,
Decimals
).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 56).
-spec format_as_many(gleam@time@duration:duration(), list(unit()), integer()) -> binary().
format_as_many(Duration, Units, Decimals) ->
_pipe = gleam@list:map(Units, fun as_internal_unit/1),
gtempo@internal:format_as_many(
begin
_pipe@1 = Duration,
tempo:duration_get_microseconds(_pipe@1)
end,
_pipe,
Decimals
).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 144).
-spec years_imprecise(integer()) -> gleam@time@duration:duration().
years_imprecise(Years) ->
_pipe = Years,
_pipe@1 = gtempo@internal:imprecise_years(_pipe),
tempo:duration_microseconds(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 157).
-spec weeks(integer()) -> gleam@time@duration:duration().
weeks(Weeks) ->
_pipe = Weeks,
_pipe@1 = gtempo@internal:imprecise_weeks(_pipe),
tempo:duration_microseconds(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 170).
-spec days(integer()) -> gleam@time@duration:duration().
days(Days) ->
tempo:duration_days(Days).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 183).
-spec hours(integer()) -> gleam@time@duration:duration().
hours(Hours) ->
_pipe = Hours,
_pipe@1 = gtempo@internal:hours(_pipe),
tempo:duration_microseconds(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 196).
-spec minutes(integer()) -> gleam@time@duration:duration().
minutes(Minutes) ->
tempo:duration_minutes(Minutes).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 210).
-spec seconds(integer()) -> gleam@time@duration:duration().
seconds(Seconds) ->
_pipe = Seconds,
_pipe@1 = gtempo@internal:seconds(_pipe),
tempo:duration_microseconds(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 224).
-spec milliseconds(integer()) -> gleam@time@duration:duration().
milliseconds(Milliseconds) ->
_pipe = Milliseconds,
_pipe@1 = gtempo@internal:milliseconds(_pipe),
tempo:duration_microseconds(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 238).
-spec microseconds(integer()) -> gleam@time@duration:duration().
microseconds(Microseconds) ->
_pipe = Microseconds,
tempo:duration_microseconds(_pipe).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 121).
-spec new(integer(), unit()) -> gleam@time@duration:duration().
new(Duration, Unit) ->
case Unit of
year_imprecise ->
years_imprecise(Duration);
week ->
weeks(Duration);
day ->
days(Duration);
hour ->
hours(Duration);
minute ->
minutes(Duration);
second ->
seconds(Duration);
millisecond ->
milliseconds(Duration);
microsecond ->
microseconds(Duration)
end.
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 253).
-spec increase(gleam@time@duration:duration(), gleam@time@duration:duration()) -> gleam@time@duration:duration().
increase(A, B) ->
tempo:duration_increase(A, B).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 279).
-spec decrease(gleam@time@duration:duration(), gleam@time@duration:duration()) -> gleam@time@duration:duration().
decrease(A, B) ->
tempo:duration_decrease(A, B).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 295).
-spec as_unit(gleam@time@duration:duration(), unit()) -> integer().
as_unit(Duration, Unit) ->
_pipe = as_internal_unit(Unit),
gtempo@internal:as_unit(
begin
_pipe@1 = Duration,
tempo:duration_get_microseconds(_pipe@1)
end,
_pipe
).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 309).
-spec as_unit_fractional(gleam@time@duration:duration(), unit()) -> float().
as_unit_fractional(Duration, Unit) ->
_pipe = as_internal_unit(Unit),
gtempo@internal:as_unit_fractional(
begin
_pipe@1 = Duration,
tempo:duration_get_microseconds(_pipe@1)
end,
_pipe
).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 324).
-spec as_years_imprecise(gleam@time@duration:duration()) -> integer().
as_years_imprecise(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:as_years_imprecise(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 338).
-spec as_years_fractional_imprecise(gleam@time@duration:duration()) -> float().
as_years_fractional_imprecise(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:as_years_imprecise_fractional(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 345).
-spec as_weeks(gleam@time@duration:duration()) -> integer().
as_weeks(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:as_weeks_imprecise(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 350).
-spec as_weeks_fractional(gleam@time@duration:duration()) -> float().
as_weeks_fractional(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:as_weeks_imprecise_fractional(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 357).
-spec as_days(gleam@time@duration:duration()) -> integer().
as_days(Duration) ->
tempo:duration_as_days(Duration).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 362).
-spec as_days_fractional(gleam@time@duration:duration()) -> float().
as_days_fractional(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:as_days_fractional(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 367).
-spec as_hours(gleam@time@duration:duration()) -> integer().
as_hours(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:as_hours(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 372).
-spec as_hours_fractional(gleam@time@duration:duration()) -> float().
as_hours_fractional(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:as_hours_fractional(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 377).
-spec as_minutes(gleam@time@duration:duration()) -> integer().
as_minutes(Duration) ->
tempo:duration_as_mintues(Duration).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 382).
-spec as_minutes_fractional(gleam@time@duration:duration()) -> float().
as_minutes_fractional(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:as_minutes_fractional(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 387).
-spec as_seconds(gleam@time@duration:duration()) -> integer().
as_seconds(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:as_seconds(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 392).
-spec as_seconds_fractional(gleam@time@duration:duration()) -> float().
as_seconds_fractional(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:as_seconds_fractional(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 397).
-spec as_milliseconds(gleam@time@duration:duration()) -> integer().
as_milliseconds(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:as_milliseconds(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 402).
-spec as_milliseconds_fractional(gleam@time@duration:duration()) -> float().
as_milliseconds_fractional(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:as_milliseconds_fractional(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 407).
-spec as_microseconds(gleam@time@duration:duration()) -> integer().
as_microseconds(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:as_microseconds(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 413).
-spec as_microseconds_fractional(gleam@time@duration:duration()) -> float().
as_microseconds_fractional(Duration) ->
_pipe = Duration,
_pipe@1 = tempo:duration_get_microseconds(_pipe),
gtempo@internal:as_microseconds_fractional(_pipe@1).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 432).
-spec compare(gleam@time@duration:duration(), gleam@time@duration:duration()) -> gleam@order:order().
compare(A, B) ->
gleam@time@duration:compare(A, B).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 451).
-spec is_less(gleam@time@duration:duration(), gleam@time@duration:duration()) -> boolean().
is_less(A, B) ->
gleam@time@duration:compare(A, B) =:= lt.
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 470).
-spec is_less_or_equal(
gleam@time@duration:duration(),
gleam@time@duration:duration()
) -> boolean().
is_less_or_equal(A, B) ->
(gleam@time@duration:compare(A, B) =:= lt) orelse (gleam@time@duration:compare(
A,
B
)
=:= eq).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 489).
-spec is_equal(gleam@time@duration:duration(), gleam@time@duration:duration()) -> boolean().
is_equal(A, B) ->
gleam@time@duration:compare(A, B) =:= eq.
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 508).
-spec is_greater(gleam@time@duration:duration(), gleam@time@duration:duration()) -> boolean().
is_greater(A, B) ->
gleam@time@duration:compare(A, B) =:= gt.
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 527).
-spec is_greater_or_equal(
gleam@time@duration:duration(),
gleam@time@duration:duration()
) -> boolean().
is_greater_or_equal(A, B) ->
(gleam@time@duration:compare(A, B) =:= gt) orelse (gleam@time@duration:compare(
A,
B
)
=:= eq).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 545).
-spec absolute(gleam@time@duration:duration()) -> gleam@time@duration:duration().
absolute(Duration) ->
tempo:duration_absolute(Duration).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 560).
-spec inverse(gleam@time@duration:duration()) -> gleam@time@duration:duration().
inverse(Duration) ->
tempo:duration_inverse(Duration).
-file("/home/john/Repos/tempo/src/tempo/duration.gleam", 584).
-spec is_negative(gleam@time@duration:duration()) -> boolean().
is_negative(Duration) ->
not tempo:duration_is_positive(Duration).