Current section
Files
Jump to
Current section
Files
src/ducky@internal@error_decoder.erl
-module(ducky@internal@error_decoder).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/ducky/internal/error_decoder.gleam").
-export([decode_nif_error/1]).
-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/ducky/internal/error_decoder.gleam", 12).
?DOC(false).
-spec decode_nif_error(gleam@dynamic:dynamic_()) -> ducky@error:error().
decode_nif_error(Err) ->
Err_string = gleam@string:inspect(Err),
case gleam_stdlib:contains_string(Err_string, <<"connection_failed"/utf8>>) of
true ->
{connection_failed, Err_string};
false ->
case gleam_stdlib:contains_string(
Err_string,
<<"query_syntax_error"/utf8>>
) of
true ->
{query_syntax_error, Err_string};
false ->
case gleam_stdlib:contains_string(
Err_string,
<<"database_error"/utf8>>
) of
true ->
{database_error, Err_string};
false ->
{database_error, Err_string}
end
end
end.