-module(tcp). -compile(no_auto_import). -export([connect/2, send/2, 'receive'/1]). -export_type([socket/0, tcp_result/0, tcp_option/0]). -type socket() :: any(). -type tcp_result() :: ok. -type tcp_option() :: binary | {active, boolean()}. -spec connect(binary(), integer()) -> {ok, socket()} | {error, nil}. connect(Host, Port) -> gen_tcp:connect( begin _pipe = Host, _pipe@1 = gleam@string:to_graphemes(_pipe), gleam@list:map( _pipe@1, fun(Char) -> <> = begin _pipe@2 = Char, gleam@bit_string:from_string(_pipe@2) end, Code end ) end, Port, [binary, {active, false}] ). -spec send(socket(), bitstring()) -> tcp_result(). send(Socket, Data) -> gen_tcp:send(Socket, Data). -spec 'receive'(socket()) -> {ok, bitstring()} | {error, nil}. 'receive'(Socket) -> gen_tcp:recv(Socket, 0).