Current section
Files
Jump to
Current section
Files
src/url_join@merge.erl
-module(url_join@merge).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/url_join/merge.gleam").
-export([merge_leading_parts/2]).
-file("src/url_join/merge.gleam", 4).
-spec merge_leading_parts(binary(), list(binary())) -> list(binary()).
merge_leading_parts(First, Rest) ->
case Rest of
[] ->
[url_join@protocol:normalize(First)];
[Next | Tail] ->
case {url_join@protocol:is_plain_protocol(First),
First =:= <<"/"/utf8>>} of
{true, _} ->
merge_leading_parts(<<First/binary, Next/binary>>, Tail);
{_, true} ->
merge_leading_parts(<<"/"/utf8, Next/binary>>, Tail);
{_, _} ->
[url_join@protocol:normalize(First) |
gleam@list:map(Rest, fun(P) -> P end)]
end
end.