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]).
-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 assert_upwrap({ok, FNQ} | {error, any()}) -> FNQ.
assert_upwrap(Res) ->
{ok, A} = case Res of
{ok, _} -> Res;
_assert_fail ->
erlang:error(#{gleam_error => let_assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => _assert_fail,
module => <<"stdin"/utf8>>,
function => <<"assert_upwrap"/utf8>>,
line => 17})
end,
A.
-spec stdin() -> gleam@iterator:iterator(binary()).
stdin() ->
_pipe = gleam@iterator:repeatedly(fun read_line/0),
_pipe@1 = gleam@iterator:take_while(_pipe, fun gleam@result:is_ok/1),
gleam@iterator:map(_pipe@1, fun assert_upwrap/1).