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(IOV),
fun((IOV) -> {ok, IOX} | {error, list(IOY)}),
list(IOX),
list(IOY)
) -> {ok, list(IOX)} | {error, list(IOY)}.
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(IOK), fun((IOK) -> {ok, IOM} | {error, list(ION)})) -> {ok,
list(IOM)} |
{error, list(ION)}.
traverse_map(List, Body) ->
do_traverse_map(List, Body, [], []).
-file("/home/arkan/Projects/private/embeds/src/embeds/internal.gleam", 31).
-spec 'try'(
{ok, IPI} | {error, IPJ},
fun((IPI) -> {ok, IPM} | {error, list(IPJ)})
) -> {ok, IPM} | {error, list(IPJ)}.
'try'(Result, F) ->
case Result of
{ok, Ok} ->
F(Ok);
{error, Err} ->
{error, [Err]}
end.