-module(blah@time). -compile([no_auto_import, nowarn_unused_vars]). -export([in_interval/2, symmetric/1, past/2, future/2]). -spec in_interval(birl@time:time(), birl@time:time()) -> birl@time:time(). in_interval(From, To) -> Unix_from = birl@time:to_unix(From), Unix_to = birl@time:to_unix(To), _pipe = gleam@int:random(Unix_from, Unix_to), birl@time:from_unix(_pipe). -spec symmetric(birl@duration:duration()) -> birl@time:time(). symmetric(Distance) -> Now = birl@time:now(), Unix_from = begin _pipe = Now, _pipe@1 = birl@time:subtract(_pipe, Distance), birl@time:to_unix(_pipe@1) end, Unix_to = begin _pipe@2 = Now, _pipe@3 = birl@time:add(_pipe@2, Distance), birl@time:to_unix(_pipe@3) end, _pipe@4 = gleam@int:random(Unix_from, Unix_to), birl@time:from_unix(_pipe@4). -spec past(birl@duration:duration(), birl@duration:duration()) -> birl@time:time(). past(Min_distance, Max_distance) -> Now = birl@time:now(), Unix_from = begin _pipe = Now, _pipe@1 = birl@time:subtract(_pipe, Max_distance), birl@time:to_unix(_pipe@1) end, Unix_to = begin _pipe@2 = Now, _pipe@3 = birl@time:subtract(_pipe@2, Min_distance), birl@time:to_unix(_pipe@3) end, _pipe@4 = gleam@int:random(Unix_from, Unix_to), birl@time:from_unix(_pipe@4). -spec future(birl@duration:duration(), birl@duration:duration()) -> birl@time:time(). future(Min_distance, Max_distance) -> Now = birl@time:now(), Unix_from = begin _pipe = Now, _pipe@1 = birl@time:add(_pipe, Min_distance), birl@time:to_unix(_pipe@1) end, Unix_to = begin _pipe@2 = Now, _pipe@3 = birl@time:add(_pipe@2, Max_distance), birl@time:to_unix(_pipe@3) end, _pipe@4 = gleam@int:random(Unix_from, Unix_to), birl@time:from_unix(_pipe@4).