GleeBOR
A CBOR (RFC 8949) Library for Gleam
CBOR is a self-describing standardized data format used for data interchange. It’s efficient, generally pretty fast, and best of all: has high quality implementations in many languages. This libraries goal is to add to the list of languages that have strong CBOR support!
[!note] The
BitArray
syntax used throughout this library is currently unsupported by the JavaScript backend. Until this is fixed upstream, this library is only expected to work for BEAM backed applications.
gleam add gleebor
import gleebor
import io
fn read_my_bytes() {
// 0 major arg, 24 to signal the following byte is the payload value, 123 is an 8-bit
//number
<<0:3, 24:5, 123:8>>
}
pub fn main() {
// Get your bytes somehow!
let bytes = read_my_bytes()
let assert Ok(number) = gleebor.decode_int(bytes)
io.debug(number) // => 123
}
Further documentation can be found at https://hexdocs.pm/gleebor.
Development
gleam test # Run the tests
gleam shell # Run an Erlang shell
Status
The following describes the current status for this library’s progress.
- [/] Decode
- Ints
- Floats
- Text Strings (Sized)
- Bytes (sized)
- Arrays (sized)
- Maps
- Tags
- Indefinite sequences
-
Encode
- Ints
- Floats
- Text Strings (Sized)
- Bytes (sized)
- Arrays (sized)
- Maps
- Tags
- Indefinite sequences