weakauras-codec-ace-serialize

Crates.ioweakauras-codec-ace-serialize
lib.rsweakauras-codec-ace-serialize
version0.1.0
created_at2025-06-08 10:44:13.707492+00
updated_at2025-06-08 10:44:13.707492+00
descriptionProvides routines for deserializing and serializing LuaValues in a way compatible with a Lua library called AceSerialize.
homepage
repositoryhttps://github.com/Zireael-N/weakauras-codec-rs
max_upload_size
id1704767
size30,382
Velithris (Zireael-N)

documentation

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

README

weakauras-codec-ace-serialize

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

Deserialization example

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

use weakauras_codec_ace_serialize::{DeserializationError, Deserializer};

fn main() -> Result<(), DeserializationError> {
    assert_eq!(
        Deserializer::from_str("^1^SHello,~`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 AceSerialize.

use weakauras_codec_ace_serialize::{SerializationError, Serializer};

fn main() -> Result<(), SerializationError> {
    assert_eq!(
        Serializer::serialize_one(&"Hello, world!".into(), None)?,
        "^1^SHello,~`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