Current section

Files

Jump to
shiny src event@loading.erl
Raw

src/event@loading.erl

-module(event@loading).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/event/loading.gleam").
-export([loading_loop/4]).
-file("src/event/loading.gleam", 4).
-spec loading_loop(binary(), list(binary()), integer(), integer()) -> nil.
loading_loop(Text, Frames, Current, Total) ->
case Current < Total of
true ->
Frame_index = case erlang:length(Frames) of
0 -> 0;
Gleam@denominator -> Current rem Gleam@denominator
end,
Frame = case begin
_pipe = gleam@list:drop(Frames, Frame_index),
gleam@list:first(_pipe)
end of
{ok, F} ->
F;
{error, _} ->
<<"⠋"/utf8>>
end,
utils@misc:overwrite_line(
<<<<Frame/binary, " "/utf8>>/binary, Text/binary>>
),
utils@misc:sleep(80),
loading_loop(Text, Frames, Current + 1, Total);
false ->
nil
end.