Spacetimedbex.BSATN.Decoder (spacetimedbex v0.1.2)

Copy Markdown View Source

Decodes BSATN binary data into Elixir values.

All functions return {value, rest} tuples where rest is the unconsumed binary, or {:error, reason} on failure.

Summary

Functions

Decode an array: u32 count + repeated elements using the given decoder function. The decoder function receives binary and returns {:ok, value, rest}.

Decode a boolean (1 byte).

Decode length-prefixed raw bytes.

Decode a 32-bit float, little-endian.

Decode a 64-bit float, little-endian.

Decode a signed 8-bit integer.

Decode a signed 16-bit integer, little-endian.

Decode a signed 32-bit integer, little-endian.

Decode a signed 64-bit integer, little-endian.

Decode a signed 128-bit integer, little-endian.

Decode a signed 256-bit integer, little-endian.

Decode an Option: tag 0 = Some(value), tag 1 = None.

Decode a length-prefixed UTF-8 string. Validates UTF-8 encoding.

Decode a sum type tag (u8).

Decode an unsigned 8-bit integer.

Decode an unsigned 16-bit integer, little-endian.

Decode an unsigned 32-bit integer, little-endian.

Decode an unsigned 64-bit integer, little-endian.

Decode an unsigned 128-bit integer, little-endian.

Decode an unsigned 256-bit integer, little-endian.

Functions

decode_array(arg1, decode_fn)

Decode an array: u32 count + repeated elements using the given decoder function. The decoder function receives binary and returns {:ok, value, rest}.

decode_bool(arg)

Decode a boolean (1 byte).

decode_bytes(arg1)

Decode length-prefixed raw bytes.

decode_f32(arg1)

Decode a 32-bit float, little-endian.

decode_f64(arg1)

Decode a 64-bit float, little-endian.

decode_i8(arg)

Decode a signed 8-bit integer.

decode_i16(arg1)

Decode a signed 16-bit integer, little-endian.

decode_i32(arg1)

Decode a signed 32-bit integer, little-endian.

decode_i64(arg1)

Decode a signed 64-bit integer, little-endian.

decode_i128(arg1)

Decode a signed 128-bit integer, little-endian.

decode_i256(arg1)

Decode a signed 256-bit integer, little-endian.

decode_option(arg, decode_fn)

Decode an Option: tag 0 = Some(value), tag 1 = None.

decode_string(arg1)

Decode a length-prefixed UTF-8 string. Validates UTF-8 encoding.

decode_tag(arg)

Decode a sum type tag (u8).

decode_u8(arg)

Decode an unsigned 8-bit integer.

decode_u16(arg1)

Decode an unsigned 16-bit integer, little-endian.

decode_u32(arg1)

Decode an unsigned 32-bit integer, little-endian.

decode_u64(arg1)

Decode an unsigned 64-bit integer, little-endian.

decode_u128(arg1)

Decode an unsigned 128-bit integer, little-endian.

decode_u256(arg1)

Decode an unsigned 256-bit integer, little-endian.