-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.