Packages

A async futures library for gleam supporting erlang and javascript (deno, bun, node)

Current section

Files

Jump to
future src future@delay.erl
Raw

src/future@delay.erl

-module(future@delay).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-define(FILEPATH, "src\\future\\delay.gleam").
-export(['of'/1]).
-file("src\\future\\delay.gleam", 29).
-spec erlang_sleep_and_ok(integer()) -> {ok, nil} | {error, nil}.
erlang_sleep_and_ok(Time_in_ms) ->
timer:sleep(Time_in_ms),
{ok, nil}.
-file("src\\future\\delay.gleam", 21).
-spec 'of'(integer()) -> future:future(integer(), nil, nil).
'of'(Duration) ->
case Duration < 1 of
true ->
future:from_failure(
<<"Delay duration must be a positive integer"/utf8>>
);
false ->
'futureFfi':start(fun erlang_sleep_and_ok/1, Duration)
end.