2 releases
0.0.2 | Sep 21, 2024 |
---|---|
0.0.1 | Sep 21, 2024 |
#824 in Parser implementations
42 downloads per month
125KB
1K
SLoC
muesli
healthy implementation of PHP's serialization and session formats in Rust
muesli is Rust implementation of PHP's serialize()
, unserialize()
,
session_encode()
, and session_decode()
functions.
Installation
Add this to your Cargo.toml
:
[dependencies]
muesli = "0.0.2"
or run:
cargo add muesli
Usage
use muesli::{session_encode, SessionEntry, Value};
fn main() {
let data = vec![
SessionEntry {
key: b"foo",
value: Value::Integer(42),
},
SessionEntry {
key: b"bar",
value: Value::String(b"baz|qux".as_slice()),
},
SessionEntry {
key: b"pub",
value: Value::Integer(1337),
},
];
let mut session = Vec::<u8>::new();
session_encode(&mut session, &data).unwrap();
assert_eq!(session, b"foo|i:42;bar|s:7:\"baz|qux\";pub|i:1337;".as_slice());
}
Rust Version Compatibility
Compiler support: requires rustc 1.79.0+
Development
An automated development environment is provided through devenv
tool. It's the preferred
way to work on muesli
.
Main development loop
The devenv
shell provides the devloop
command that run linters, tests and build command on files changes:
devloop
Dependencies
~1MB
~19K SLoC