weakauras-codec-lib-serialize

Crates.ioweakauras-codec-lib-serialize
lib.rsweakauras-codec-lib-serialize
version0.1.0
created_at2025-06-08 10:51:30.601967+00
updated_at2025-06-08 10:51:30.601967+00
descriptionProvides routines for deserializing and serializing LuaValues in a way compatible with a Lua library called LibSerialize.
homepage
repositoryhttps://github.com/Zireael-N/weakauras-codec-rs
max_upload_size
id1704775
size43,257
Velithris (Zireael-N)

documentation

https://docs.rs/weakauras-codec-lib-serialize

README

weakauras-codec-lib-serialize

This library provides routines for deserializing and serializing LuaValues in a way compatible with a Lua library called LibSerialize.

Deserialization example

This is how you can use the library to deserialize strings produced by LibSerialize.

use weakauras_codec_lib_serialize::{DeserializationError, Deserializer};

fn main() -> Result<(), DeserializationError> {
    assert_eq!(
        Deserializer::from_slice(b"\x01\xd2Hello, world!")
            .deserialize_first()?
            .unwrap(),
        "Hello, world!".into()
    );
    Ok(())
}

Serialization example

This is how you can use the library to serialize values in a way compatible with LibSerialize.

use weakauras_codec_lib_serialize::{SerializationError, Serializer};

fn main() -> Result<(), SerializationError> {
    assert_eq!(
        Serializer::serialize_one(&"Hello, world!".into(), None)?,
        b"\x01\xd2Hello, world!"
    );
    Ok(())
}

Crate features

  • lua-value-arbitrary - Implement arbitrary::Arbitrary for LuaValue. Disabled by default.
  • lua-value-fnv - Use fnv instead of BTreeMap as the implementation of LuaValue::Map. Disabled by default.
  • lua-value-indexmap - Use indexmap instead of BTreeMap as the implementation of LuaValue::Map. Disabled by default.
  • serde - Allow serializing and deserializing LuaValue using serde. Disabled by default.
Commit count: 17

cargo fmt