-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( <<<<<>/binary, (gleam@int:to_string(Size div 1024))/binary>>/binary, " KiB)"/utf8>> ); _ -> lustre@element@html:text( <<<<<>/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)).