Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bb010g/baimax
A type-safe BAI serialization library for Rust
https://github.com/bb010g/baimax
Last synced: 2 months ago
JSON representation
A type-safe BAI serialization library for Rust
- Host: GitHub
- URL: https://github.com/bb010g/baimax
- Owner: bb010g
- License: apache-2.0
- Created: 2017-01-05T09:06:15.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-07-06T19:58:43.000Z (over 7 years ago)
- Last Synced: 2024-10-12T22:45:24.871Z (3 months ago)
- Language: Rust
- Size: 1.87 MB
- Stars: 3
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# baimax [![Build Status][img-buildstatus]][buildstatus] [![Cargo][img-cargo]][cargo]
[API documentation][api-docs] | [Changelog][changelog]
Baimax is a type-safe BAIv2 deserialization library for Rust. It is currently in
an alpha state, and is probably not going to be restructured majorly soon.Baimax requires nightly Rust due to the [`try_from`][try-from] feature
([tracking issue][try-from-issue]).## Compliance
The physical record length header isn't checked while parsing.
Record number checks in trailers aren't supported because I haven't figured out
an efficient encoding for them in the AST yet. You'd think some bitflags would
do, but any 88 Continuation record can be followed by another continuation,
turning your nice set of bits to cover everything into a `u8` tagging the code
and every field of every record type, which is less nice.Pull requests are welcome to increase spec compliance.
[img-buildstatus]: https://img.shields.io/travis/bb010g/baimax.svg
[buildstatus]: http://travis-ci.org/bb010g/baimax
[img-cargo]: https://img.shields.io/crates/v/baimax.svg
[cargo]: https://crates.io/crates/baimax[api-docs]: https://docs.rs/baimax/0.1.0/baimax
[changelog]: https://github.com/bb010g/baimax/blob/master/CHANGELOG.md[try-from]: https://doc.rust-lang.org/nightly/std/convert/trait.TryFrom.html
[try-from-issue]: https://github.com/rust-lang/rust/issues/33417