Crates.io | muesli |
lib.rs | muesli |
version | 0.0.2 |
source | src |
created_at | 2024-09-21 06:07:51.177994 |
updated_at | 2024-09-21 14:08:46.796894 |
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 | 176,560 |
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.0.2"
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