-module(gdo@error).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/gdo/error.gleam").
-export([message/1, sqlstate/1, code/1, details/1]).
-export_type([error/0]).
-type error() :: {connection_error,
binary(),
gleam@option:option(binary()),
gleam@option:option(binary()),
list({binary(), binary()})} |
{query_error,
binary(),
gleam@option:option(binary()),
gleam@option:option(binary()),
list({binary(), binary()})} |
{transaction_error, binary()} |
{decode_error, binary()} |
{unsupported_feature, binary()} |
{invalid_configuration, binary()}.
-file("src/gdo/error.gleam", 22).
-spec message(error()) -> binary().
message(Error) ->
case Error of
{connection_error, Message, _, _, _} ->
Message;
{query_error, Message@1, _, _, _} ->
Message@1;
{transaction_error, Message@2} ->
Message@2;
{decode_error, Message@3} ->
Message@3;
{unsupported_feature, Feature} ->
<<"Unsupported feature: "/utf8, Feature/binary>>;
{invalid_configuration, Message@4} ->
Message@4
end.
-file("src/gdo/error.gleam", 33).
-spec sqlstate(error()) -> gleam@option:option(binary()).
sqlstate(Error) ->
case Error of
{connection_error, _, Sqlstate, _, _} ->
Sqlstate;
{query_error, _, Sqlstate@1, _, _} ->
Sqlstate@1;
{transaction_error, _} ->
none;
{decode_error, _} ->
none;
{unsupported_feature, _} ->
none;
{invalid_configuration, _} ->
none
end.
-file("src/gdo/error.gleam", 44).
-spec code(error()) -> gleam@option:option(binary()).
code(Error) ->
case Error of
{connection_error, _, _, Code, _} ->
Code;
{query_error, _, _, Code@1, _} ->
Code@1;
{transaction_error, _} ->
none;
{decode_error, _} ->
none;
{unsupported_feature, _} ->
none;
{invalid_configuration, _} ->
none
end.
-file("src/gdo/error.gleam", 55).
-spec details(error()) -> list({binary(), binary()}).
details(Error) ->
case Error of
{connection_error, _, _, _, Details} ->
Details;
{query_error, _, _, _, Details@1} ->
Details@1;
{transaction_error, _} ->
[];
{decode_error, _} ->
[];
{unsupported_feature, _} ->
[];
{invalid_configuration, _} ->
[]
end.