Packages

Extra IO features for Gleam.

Current section

Files

Jump to
iox src iox@stdin.erl
Raw

src/iox@stdin.erl

-module(iox@stdin).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([read_line/0, read_all/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 read_all_loop(list(binary())) -> list(binary()).
read_all_loop(Acc) ->
case read_line() of
{ok, Line} ->
read_all_loop([Line | Acc]);
{error, _} ->
gleam@list:reverse(Acc)
end.
-spec read_all() -> list(binary()).
read_all() ->
read_all_loop([]).