use std::{collections::HashMap, path::PathBuf};
use mlua::UserData;
#[derive(Debug, PartialEq, Default, Clone)]
pub struct RustMluaBuildSpec {
pub modules: HashMap<String, PathBuf>,
pub target_path: PathBuf,
pub default_features: bool,
pub include: HashMap<PathBuf, PathBuf>,
pub features: Vec<String>,
}
impl UserData for RustMluaBuildSpec {
fn add_methods<M: mlua::UserDataMethods<Self>>(methods: &mut M) {
methods.add_method("modules", |_, this, _: ()| Ok(this.modules.clone()));
methods.add_method("target_path", |_, this, _: ()| Ok(this.target_path.clone()));
methods.add_method("default_features", |_, this, _: ()| {
Ok(this.default_features)
});
methods.add_method("include", |_, this, _: ()| Ok(this.include.clone()));
methods.add_method("features", |_, this, _: ()| Ok(this.features.clone()));
}
}