mod qjs; mod sig; pub use qjs::*; pub use sig::*; // TODO fn main() { let context = QuickJSContext::new().unwrap(); let script = r##" function __EXPORT(f) { eval('__PUBLIC_' + f + '=' + f); } function getName() { console.info("========================="); for (var i = 0; i < arguments.length; i++) { console.info(i, ' ----> ', arguments[i]); } return 'hatter'; } function helloAb(a, b) { console.info("Hello: ", a); console.info("Hello: ", b); } function main(p) { console.log(p); return 1; } __EXPORT('getName'); __EXPORT('helloAb'); "##; context.init(script).unwrap(); // let mut map = HashMap::new(); // map.insert("name", "hatter"); // let r = context.run_js(&map); // println!("{:?}", r); let r = context.call_fn("getName", "[1, 'hatter', 'jiang']"); println!("{:?}", r); let r = context.call_fn("helloAb", "['hatter', 'jiang']"); println!("{:?}", r); }