-module(thrifty@types). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/thrifty/types.gleam"). -export([decode_error_to_string/1]). -export_type([reader/0, field_type/0, field_header/0, decode_error/0, reader_options/0, bool_element_policy/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. -type reader() :: {reader, bitstring(), integer(), reader_options()}. -type field_type() :: bool_true | bool_false | byte | i16 | i32 | i64 | double | binary | list | set | map | struct | stop. -type field_header() :: {field_header, integer(), field_type()}. -type decode_error() :: unexpected_end_of_input | invalid_varint | {invalid_field_type, integer(), integer()} | {unsupported_type, integer()} | {invalid_wire_format, binary()}. -type reader_options() :: {reader_options, integer(), integer(), integer(), bool_element_policy()}. -type bool_element_policy() :: accept_both | accept_canonical_only. -file("src/thrifty/types.gleam", 71). ?DOC( " Convert a `DecodeError` into a human readable string for logging or\n" " metadata files.\n" ). -spec decode_error_to_string(decode_error()) -> binary(). decode_error_to_string(Err) -> case Err of unexpected_end_of_input -> <<"UnexpectedEndOfInput"/utf8>>; invalid_varint -> <<"InvalidVarint"/utf8>>; {invalid_field_type, Expected, Got} -> <<<<<<<<"InvalidFieldType("/utf8, (erlang:integer_to_binary(Expected))/binary>>/binary, ","/utf8>>/binary, (erlang:integer_to_binary(Got))/binary>>/binary, ")"/utf8>>; {unsupported_type, Code} -> <<<<"UnsupportedType("/utf8, (erlang:integer_to_binary(Code))/binary>>/binary, ")"/utf8>>; {invalid_wire_format, Msg} -> <<<<"InvalidWireFormat("/utf8, Msg/binary>>/binary, ")"/utf8>> end.