-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(<>, Tail); {_, true} -> merge_leading_parts(<<"/"/utf8, Next/binary>>, Tail); {_, _} -> [url_join@protocol:normalize(First) | gleam@list:map(Rest, fun(P) -> P end)] end end.