-module(rally_runtime@wire).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/rally_runtime/wire.gleam").
-export([encode/1, decode/1, decode_safe/1, decode_request/1, encode_request/3, encode_response/2, tag_response/2, encode_push/2, tag_push/2, variant_tag/1, coerce/1, tuple_element/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(
" Thin wrapper over libero's ETF wire protocol. Delegates all encode,\n"
" decode, request/response framing, and push framing to libero/wire.\n"
" This is the legacy direct import path; new generated code uses the\n"
" protocol_wire facade instead.\n"
).
-file("src/rally_runtime/wire.gleam", 12).
?DOC(
" Raw ETF encode. Not safe for user custom types (bare atoms, not\n"
" hashed). Only correct for pre-encoded values or primitives.\n"
).
-spec encode(any()) -> bitstring().
encode(Value) ->
libero@wire:encode(Value).
-file("src/rally_runtime/wire.gleam", 16).
-spec decode(bitstring()) -> any().
decode(Data) ->
libero@wire:decode(Data).
-file("src/rally_runtime/wire.gleam", 20).
-spec decode_safe(bitstring()) -> {ok, any()} |
{error, libero@error:decode_error()}.
decode_safe(Data) ->
libero@wire:decode_safe(Data).
-file("src/rally_runtime/wire.gleam", 24).
-spec decode_request(bitstring()) -> {ok,
{binary(), integer(), gleam@dynamic:dynamic_()}} |
{error, libero@error:decode_error()}.
decode_request(Data) ->
libero@wire:decode_request(Data).
-file("src/rally_runtime/wire.gleam", 30).
-spec encode_request(binary(), integer(), any()) -> bitstring().
encode_request(Module, Request_id, Msg) ->
libero@wire:encode_request(Module, Request_id, Msg).
-file("src/rally_runtime/wire.gleam", 38).
-spec encode_response(integer(), any()) -> bitstring().
encode_response(Request_id, Value) ->
libero@wire:encode_response(Request_id, Value).
-file("src/rally_runtime/wire.gleam", 42).
-spec tag_response(integer(), bitstring()) -> bitstring().
tag_response(Request_id, Data) ->
libero@wire:tag_response(Request_id, Data).
-file("src/rally_runtime/wire.gleam", 49).
-spec encode_push(binary(), any()) -> bitstring().
encode_push(Module, Value) ->
libero@wire:encode_push(Module, Value).
-file("src/rally_runtime/wire.gleam", 53).
-spec tag_push(binary(), any()) -> bitstring().
tag_push(Module, Msg) ->
encode_push(Module, Msg).
-file("src/rally_runtime/wire.gleam", 57).
-spec variant_tag(gleam@dynamic:dynamic_()) -> {ok, binary()} | {error, nil}.
variant_tag(Value) ->
libero@wire:variant_tag(Value).
-file("src/rally_runtime/wire.gleam", 61).
-spec coerce(any()) -> any().
coerce(Value) ->
gleam_stdlib:identity(Value).
-file("src/rally_runtime/wire.gleam", 66).
-spec tuple_element(gleam@dynamic:dynamic_(), integer()) -> gleam@dynamic:dynamic_().
tuple_element(_tuple, _index) ->
rally_runtime_wire_ffi:tuple_element(_tuple, _index).