From ead9163bfac3658e96e0c56bc2d6ec7b2080ff5f Mon Sep 17 00:00:00 2001 From: Gavin Morrow Date: Sat, 20 Sep 2025 00:33:31 +0000 Subject: [PATCH] Add string decoder --- src/protobuf_decode_gleam.gleam | 10 ++++++++++ 1 file(s) changed, 10 insertion(s)(+), 0 deletion(s)(-) diff --git a/src/protobuf_decode_gleam.gleam b/src/protobuf_decode_gleam.gleam --- a/src/protobuf_decode_gleam.gleam +++ b/src/protobuf_decode_gleam.gleam @@ -140,6 +140,16 @@ num |> decode.success } +pub fn decode_string() -> Decoder(String) { + use bits <- decode.then(decode.bit_array) + + let str = bit_array.to_string(bits) + case str { + Ok(str) -> decode.success(str) + Error(_) -> decode.failure("", "String") + } +} + fn bit_array_to_uint(bits: BitArray) -> Int { let size = bit_array.bit_size(bits) // Interpert the entire bit array as an unsigned int -- tangled.sh