Current section
Files
Jump to
Current section
Files
src/stdin.erl
-module(stdin).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([stdin/0, main/0]).
-spec read_line() -> {ok, binary()} | {error, nil}.
read_line() ->
_pipe = io:get_line(<<""/utf8>>),
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:string(_pipe@1),
gleam@result:nil_error(_pipe@2).
-spec stdin() -> gleam@iterator:iterator(binary()).
stdin() ->
_pipe = gleam@iterator:repeatedly(fun read_line/0),
_pipe@1 = gleam@iterator:take_while(_pipe, fun(It) -> case It of
{ok, _} ->
true;
{error, _} ->
false
end end),
gleam@iterator:map(
_pipe@1,
fun(It@1) ->
{ok, Line} = case It@1 of
{ok, _} -> It@1;
_assert_fail ->
erlang:error(#{gleam_error => let_assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => _assert_fail,
module => <<"stdin"/utf8>>,
function => <<"stdin"/utf8>>,
line => 25})
end,
Line
end
).
-spec main() -> list(binary()).
main() ->
_pipe = stdin(),
_pipe@1 = gleam@iterator:to_list(_pipe),
gleam@io:debug(_pipe@1).