Packages

Generate Gleam modules based on static assets and environment variables.

Current section

Files

Jump to
embeds src embeds@internal.erl
Raw

src/embeds@internal.erl

-module(embeds@internal).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([traverse_map/2, 'try'/2]).
-file("/home/arkan/Projects/private/embeds/src/embeds/internal.gleam", 11).
-spec do_traverse_map(
list(INW),
fun((INW) -> {ok, INY} | {error, list(INZ)}),
list(INY),
list(INZ)
) -> {ok, list(INY)} | {error, list(INZ)}.
do_traverse_map(List, Body, Oks, Errs) ->
case List of
[] ->
case Errs of
[] ->
{ok, lists:reverse(Oks)};
_ ->
{error, lists:reverse(Errs)}
end;
[Head | Tail] ->
case Body(Head) of
{ok, Ok} ->
do_traverse_map(Tail, Body, [Ok | Oks], Errs);
{error, Err} ->
do_traverse_map(Tail, Body, Oks, lists:append(Err, Errs))
end
end.
-file("/home/arkan/Projects/private/embeds/src/embeds/internal.gleam", 4).
-spec traverse_map(list(INL), fun((INL) -> {ok, INN} | {error, list(INO)})) -> {ok,
list(INN)} |
{error, list(INO)}.
traverse_map(List, Body) ->
do_traverse_map(List, Body, [], []).
-file("/home/arkan/Projects/private/embeds/src/embeds/internal.gleam", 31).
-spec 'try'(
{ok, IOJ} | {error, IOK},
fun((IOJ) -> {ok, ION} | {error, list(IOK)})
) -> {ok, ION} | {error, list(IOK)}.
'try'(Result, F) ->
case Result of
{ok, Ok} ->
F(Ok);
{error, Err} ->
{error, [Err]}
end.