Current section

Files

Jump to
spectator src spectator@internal@views@display.erl
Raw

src/spectator@internal@views@display.erl

-module(spectator@internal@views@display).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([pid/1, port/1, inspect/1, atom/1, reference/1, storage/1, storage_words/1, storage_detailed/1, bool/1, system_primitive/1, function/1, number/1]).
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 12).
-spec pid(gleam@erlang@process:pid_()) -> lustre@internals@vdom:element(any()).
pid(Pid) ->
lustre@element@html:text(
<<"PID"/utf8, (spectator_ffi:format_pid(Pid))/binary>>
).
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 16).
-spec port(gleam@erlang@port:port_()) -> lustre@internals@vdom:element(any()).
port(Port) ->
lustre@element@html:text(spectator_ffi:format_port(Port)).
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 20).
-spec inspect(gleam@dynamic:dynamic_()) -> lustre@internals@vdom:element(any()).
inspect(D) ->
lustre@element@html:text(gleam@string:inspect(D)).
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 24).
-spec atom(gleam@erlang@atom:atom_()) -> lustre@internals@vdom:element(any()).
atom(A) ->
lustre@element@html:text(erlang:atom_to_binary(A)).
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 28).
-spec reference(gleam@erlang:reference_()) -> lustre@internals@vdom:element(any()).
reference(Ref) ->
lustre@element@html:text(gleam@string:inspect(Ref)).
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 37).
-spec storage(integer()) -> lustre@internals@vdom:element(any()).
storage(Size) ->
case Size of
_ when Size < 1024 ->
lustre@element@html:text(
<<(gleam@int:to_string(Size))/binary, " B"/utf8>>
);
_ when Size < 1048576 ->
lustre@element@html:text(
<<(gleam@int:to_string(Size div 1024))/binary, " KiB"/utf8>>
);
_ ->
lustre@element@html:text(
<<(gleam@int:to_string((Size div 1024) div 1024))/binary,
" MiB"/utf8>>
)
end.
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 33).
-spec storage_words(integer()) -> lustre@internals@vdom:element(any()).
storage_words(Words) ->
storage(Words * spectator_ffi:get_word_size()).
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 45).
-spec storage_detailed(integer()) -> lustre@internals@vdom:element(any()).
storage_detailed(Size) ->
Byte_size = <<(gleam@int:to_string(Size))/binary, " Bytes"/utf8>>,
case Size of
_ when Size < 1024 ->
lustre@element@html:text(Byte_size);
_ when Size < 1048576 ->
lustre@element@html:text(
<<<<<<Byte_size/binary, " ("/utf8>>/binary,
(gleam@int:to_string(Size div 1024))/binary>>/binary,
" KiB)"/utf8>>
);
_ ->
lustre@element@html:text(
<<<<<<Byte_size/binary, " ("/utf8>>/binary,
(gleam@int:to_string((Size div 1024) div 1024))/binary>>/binary,
" MiB)"/utf8>>
)
end.
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 58).
-spec bool(boolean()) -> lustre@internals@vdom:element(any()).
bool(B) ->
case B of
true ->
lustre@element@html:text(<<"true"/utf8>>);
false ->
lustre@element@html:text(<<"false"/utf8>>)
end.
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 65).
-spec system_primitive(spectator@internal@api:system_primitive()) -> lustre@internals@vdom:element(any()).
system_primitive(Primitive) ->
case Primitive of
{process, P} ->
pid(P);
{registered_process, Name} ->
atom(Name);
{port, P@1} ->
port(P@1);
{registered_port, Name@1} ->
atom(Name@1);
{nif_resource, _} ->
lustre@element@html:text(<<"NIF Resource"/utf8>>)
end.
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 75).
-spec function(
{gleam@erlang@atom:atom_(), gleam@erlang@atom:atom_(), integer()}
) -> lustre@internals@vdom:element(any()).
function(Ref) ->
{Module, Function, Arity} = Ref,
lustre@element@html:text(
<<<<<<<<(erlang:atom_to_binary(Module))/binary, ":"/utf8>>/binary,
(erlang:atom_to_binary(Function))/binary>>/binary,
"/"/utf8>>/binary,
(gleam@int:to_string(Arity))/binary>>
).
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 87).
-spec number(integer()) -> lustre@internals@vdom:element(any()).
number(N) ->
lustre@element@html:text(gleam@int:to_string(N)).