-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( <<<<<>/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", 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)).