-module(gladvent@internal@util). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/gladvent/internal/util.gleam"). -export([defer/2, deduplicate_sort/1, timed/1, format_float/2]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC(false). -file("src/gladvent/internal/util.gleam", 7). ?DOC(false). -spec defer(fun(() -> any()), fun(() -> NPF)) -> NPF. defer(Later, Now) -> Res = Now(), Later(), Res. -file("src/gladvent/internal/util.gleam", 13). ?DOC(false). -spec deduplicate_sort(list(integer())) -> list(integer()). deduplicate_sort(L) -> _pipe = L, _pipe@1 = gleam@set:from_list(_pipe), _pipe@2 = gleam@set:to_list(_pipe@1), gleam@list:sort(_pipe@2, fun gleam@int:compare/2). -file("src/gladvent/internal/util.gleam", 18). ?DOC(false). -spec timed(fun(() -> NPI)) -> {integer(), NPI}. timed(Fun) -> timer:tc(Fun). -file("src/gladvent/internal/util.gleam", 20). ?DOC(false). -spec format_float(float(), integer()) -> binary(). format_float(Input, Precision) -> case Precision of P when P >= 1 -> _pipe = io_lib:format( <<<<"~."/utf8, (erlang:integer_to_binary(Precision))/binary>>/binary, "f"/utf8>>, [Input] ), unicode:characters_to_binary(_pipe); _ -> _pipe@1 = erlang:trunc(Input), erlang:integer_to_binary(_pipe@1) end.