src/glipt@internal@script.erl

-module(glipt@internal@script).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/glipt/internal/script.gleam").
-export([reassemble/2]).

-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.

?MODULEDOC(false).

-file("src/glipt/internal/script.gleam", 3).
?DOC(false).
-spec reassemble(glipt@parser:script_meta(), binary()) -> binary().
reassemble(Meta, Original_source) ->
    Header = glipt@parser:format_directives(Meta),
    Body = glipt@parser:strip_directives(Original_source),
    case Body of
        <<""/utf8>> ->
            <<Header/binary, "\n"/utf8>>;

        B ->
            <<<<Header/binary, "\n\n"/utf8>>/binary, B/binary>>
    end.