-module(gleam_erlexec). -compile(no_auto_import). -export([main/0]). -spec main() -> {ok, nil} | {error, gleam@dynamic:dynamic()}. main() -> {ok, Bash@1} = case gleam@erlexec:find_executable(<<"bash"/utf8>>) of {ok, Bash} -> {ok, Bash}; _try -> erlang:error(#{gleam_error => assert, message => <<"Assertion pattern match failed"/utf8>>, value => _try, module => <<"gleam_erlexec"/utf8>>, function => <<"main"/utf8>>, line => 4}) end, {ok, {pids, _@2, Ospid@1}} = case begin _pipe = gleam@erlexec:new(), _pipe@1 = gleam@erlexec:with_stdin(_pipe, stdin_pipe), _pipe@2 = gleam@erlexec:with_stdout(_pipe@1, stdout_capture), _pipe@3 = gleam@erlexec:with_stderr(_pipe@2, stderr_stdout), _pipe@4 = gleam@erlexec:with_monitor(_pipe@3, true), _pipe@5 = gleam@erlexec:with_pty(_pipe@4, true), gleam@erlexec:run_async( _pipe@5, {execve, [Bash@1, <<"-c"/utf8>>, <<"echo started && cat"/utf8>>]} ) end of {ok, {pids, _@1, Ospid}} -> {ok, {pids, _@1, Ospid}}; _try@1 -> erlang:error(#{gleam_error => assert, message => <<"Assertion pattern match failed"/utf8>>, value => _try@1, module => <<"gleam_erlexec"/utf8>>, function => <<"main"/utf8>>, line => 6}) end, {ok, {obtain_stdout, _@4, <<"started\r\n"/utf8>>}} = case gleam@erlexec:obtain( 500 ) of {ok, {obtain_stdout, _@3, <<"started\r\n"/utf8>>}} -> {ok, {obtain_stdout, _@3, <<"started\r\n"/utf8>>}}; _try@2 -> erlang:error(#{gleam_error => assert, message => <<"Assertion pattern match failed"/utf8>>, value => _try@2, module => <<"gleam_erlexec"/utf8>>, function => <<"main"/utf8>>, line => 15}) end, {ok, nil} = case gleam@erlexec:send(Ospid@1, <<"test\n"/utf8>>) of {ok, nil} -> {ok, nil}; _try@3 -> erlang:error(#{gleam_error => assert, message => <<"Assertion pattern match failed"/utf8>>, value => _try@3, module => <<"gleam_erlexec"/utf8>>, function => <<"main"/utf8>>, line => 16}) end, {ok, {obtain_stdout, _@6, <<"test\r\n"/utf8>>}} = case gleam@erlexec:obtain( 500 ) of {ok, {obtain_stdout, _@5, <<"test\r\n"/utf8>>}} -> {ok, {obtain_stdout, _@5, <<"test\r\n"/utf8>>}}; _try@4 -> erlang:error(#{gleam_error => assert, message => <<"Assertion pattern match failed"/utf8>>, value => _try@4, module => <<"gleam_erlexec"/utf8>>, function => <<"main"/utf8>>, line => 17}) end, {ok, nil} = case gleam@erlexec:kill_ospid(Ospid@1, 9) of {ok, nil} -> {ok, nil}; _try@5 -> erlang:error(#{gleam_error => assert, message => <<"Assertion pattern match failed"/utf8>>, value => _try@5, module => <<"gleam_erlexec"/utf8>>, function => <<"main"/utf8>>, line => 18}) end.