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!
Warning
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.
gleam test # Run the tests
gleam shell # Run an Erlang shell
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