-module(discord_gleam@internal@error). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/discord_gleam/internal/error.gleam"). -export([decode_error_to_string/1, json_decode_error_to_string/1]). -export_type([discord_error/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. ?MODULEDOC(false). -type discord_error() :: {json_decode_error, gleam@json:decode_error()} | {http_error, gleam@httpc:http_error()} | {api_error, integer(), binary()} | {ratelimit_error, float(), boolean()}. -file("src/discord_gleam/internal/error.gleam", 37). ?DOC(false). -spec decode_error_to_string(gleam@dynamic@decode:decode_error()) -> binary(). decode_error_to_string(Error) -> <<<<<<<<<<"Expected "/utf8, (erlang:element(2, Error))/binary>>/binary, ", but found "/utf8>>/binary, (erlang:element(3, Error))/binary>>/binary, " at "/utf8>>/binary, (gleam@string:join(erlang:element(4, Error), <<"."/utf8>>))/binary>>. -file("src/discord_gleam/internal/error.gleam", 18). ?DOC(false). -spec json_decode_error_to_string(gleam@json:decode_error()) -> binary(). json_decode_error_to_string(Error) -> case Error of unexpected_end_of_input -> <<"Unexpected end of input"/utf8>>; {unexpected_byte, Byte} -> <<"Unexpected byte: "/utf8, Byte/binary>>; {unexpected_sequence, Sequence} -> <<"Unexpected sequence: "/utf8, Sequence/binary>>; {unable_to_decode, Errs} -> <<"Unable to decode: "/utf8, (gleam@string:join( gleam@list:map(Errs, fun decode_error_to_string/1), <<", "/utf8>> ))/binary>> end.