mod compute;
use mlua::{Error, Lua, Table};
pub fn preload(lua: &Lua) -> Result<(), Error> {
let table = lua.create_table()?;
table.set("compute", lua.create_function(compute::handle)?)?;
let globals = lua.globals();
let package = globals.get::<_, Table>("package")?;
let loaded = package.get::<_, Table>("loaded")?;
loaded.set("crc16", table)?;
Ok(())
}
#[cfg(test)]
mod tests {
use mlua::{Lua, Table};
use std::error::Error;
#[test]
fn load() -> Result<(), Box<dyn Error>> {
let lua = Lua::new();
super::preload(&lua)?;
let module: Table = lua.load("return require('crc16')").eval()?;
assert!(module.contains_key("compute")?);
Ok(())
}
}