Expand description
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::ArbitraryforLuaValue. Disabled by default. - lua-value-fnv - Use
fnvinstead ofBTreeMapas the implementation ofLuaValue::Map. Disabled by default. - lua-value-indexmap - Use
indexmapinstead ofBTreeMapas the implementation ofLuaValue::Map. Disabled by default. - serde - Allow serializing and deserializing
LuaValueusingserde. Disabled by default.
Re-exports§
pub use deserialization::Deserializer;pub use serialization::Serializer;pub use error::*;
Modules§
- deserialization
- Deserialization.
- error
- Error types.
- serialization
- Serialization.
Enums§
- LuaValue
- A tagged union representing all possible values in Lua.