| Crates.io | muesli |
| lib.rs | muesli |
| version | 0.1.0 |
| created_at | 2024-09-21 06:07:51.177994+00 |
| updated_at | 2025-08-28 21:00:42.016385+00 |
| description | healthy implementation of PHP's serialization and session formats in Rust |
| homepage | |
| repository | https://github.com/vvvinceocam/muesli |
| max_upload_size | |
| id | 1381972 |
| size | 246,957 |
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.
Add this to your Cargo.toml:
[dependencies]
muesli = "0.1.0"
or run:
cargo add muesli
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());
}
Compiler support: requires rustc 1.79.0+
An automated development environment is provided through devenv tool. It's the preferred
way to work on muesli.
The devenv shell provides the devloop command that run linters, tests and build command on files changes:
devloop