26 lines
527 B
Rust
26 lines
527 B
Rust
extern crate rlua;
|
|
#[macro_use]
|
|
extern crate serde;
|
|
#[cfg(test)]
|
|
#[macro_use]
|
|
extern crate serde_derive;
|
|
|
|
pub mod error;
|
|
pub mod ser;
|
|
pub mod de;
|
|
|
|
|
|
use rlua::{Lua, Value, Error};
|
|
|
|
|
|
pub fn to_value<T: serde::Serialize>(lua: &Lua, t: T) -> Result<Value, Error> {
|
|
let serializer = ser::Serializer { lua };
|
|
Ok(t.serialize(serializer)?)
|
|
}
|
|
|
|
|
|
pub fn from_value<'de, T: serde::Deserialize<'de>>(value: Value<'de>) -> Result<T, Error> {
|
|
let deserializer = de::Deserializer { value };
|
|
Ok(T::deserialize(deserializer)?)
|
|
}
|