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, pid_button/2, port/1, inspect/1, atom/1, reference/1, storage/1, storage_words/1, storage_detailed/1, bool/1, system_primitive_interactive/2, system_primitive/1, function/1, number/1]).
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 14).
-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", 18).
-spec pid_button(
gleam@erlang@process:pid_(),
fun((gleam@erlang@process:pid_()) -> APPZ)
) -> lustre@internals@vdom:element(APPZ).
pid_button(Pid, On_click) ->
lustre@element@html:button(
[lustre@event:on_click(On_click(Pid)),
lustre@attribute:class(<<"pid-interactive"/utf8>>)],
[lustre@element@html:text(
<<"PID"/utf8, (spectator_ffi:format_pid(Pid))/binary>>
)]
).
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 25).
-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", 29).
-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", 33).
-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", 37).
-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", 46).
-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", 42).
-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", 54).
-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", 67).
-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", 74).
-spec system_primitive_interactive(
spectator@internal@api:system_primitive(),
fun((spectator@internal@api:system_primitive()) -> APQK)
) -> lustre@internals@vdom:element(APQK).
system_primitive_interactive(Primitive, On_click) ->
case Primitive of
{process, P} ->
pid_button(P, fun(Pid) -> On_click({process, Pid}) end);
{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 Res"/utf8>>)
end.
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 87).
-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 Res"/utf8>>)
end.
-file("/Users/jonas/Projects/spectator/src/spectator/internal/views/display.gleam", 97).
-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", 109).
-spec number(integer()) -> lustre@internals@vdom:element(any()).
number(N) ->
lustre@element@html:text(gleam@int:to_string(N)).