rlua-searcher

require Lua modules by name

(This is a fork of https://git.sr.ht/~ioiojo/rlua-searcher, I don't maintain this code, I just need to available on crates.io for other dependent packages.)

Description

Encode a Lua module as a HashMap of Lua strings indexed by module name. In an rlua::Context, pass the HashMap to add_searcher(), and require the module.

Synopsis

```rust use rlua::Lua; use rlua_searcher::{AddSearcher, Result}; use std::collections::HashMap;

fn main() { let lume = Cow::from(readlumeto_string()); let name = Cow::from("lume"); let mut map = HashMap::new(); map.insert(name, lume);

let lua = Lua::new();

let hello = lua
    .context::<_, Result<String>>(|lua_ctx| {
        lua_ctx.add_searcher(map)?;
        Ok(lua_ctx.load(r#"return require("lume")"#).eval()?)
    })
    .unwrap();

// prints "hello lume"
println!("{}", hello);

}

fn readlumetostring() -> String { r#"return "hello lume""#.tostring() } ```

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.