src/datastar_gleam@consts.erl

-module(datastar_gleam@consts).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/datastar_gleam/consts.gleam").
-export([element_patch_mode_string/1, event_type_string/1]).
-export_type([element_patch_mode/0, event_type/0]).

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

-type element_patch_mode() :: outer |
    inner |
    remove |
    replace |
    prepend |
    append |
    before |
    'after'.

-type event_type() :: patch_elements | patch_signals.

-file("src/datastar_gleam/consts.gleam", 49).
?DOC(" Return the wire-format string for a patch mode.\n").
-spec element_patch_mode_string(element_patch_mode()) -> binary().
element_patch_mode_string(Mode) ->
    case Mode of
        outer ->
            <<"outer"/utf8>>;

        inner ->
            <<"inner"/utf8>>;

        remove ->
            <<"remove"/utf8>>;

        replace ->
            <<"replace"/utf8>>;

        prepend ->
            <<"prepend"/utf8>>;

        append ->
            <<"append"/utf8>>;

        before ->
            <<"before"/utf8>>;

        'after' ->
            <<"after"/utf8>>
    end.

-file("src/datastar_gleam/consts.gleam", 71).
?DOC(" Return the SSE event name for an `EventType`.\n").
-spec event_type_string(event_type()) -> binary().
event_type_string(Event) ->
    case Event of
        patch_elements ->
            <<"datastar-patch-elements"/utf8>>;

        patch_signals ->
            <<"datastar-patch-signals"/utf8>>
    end.