quickjspp 0.5.0

QuickJS Javascript engine wrapper using quickjs fork named quickjspp
Documentation
use quickjspp::{Context, JsFunction};

pub fn main() {
    let context = Context::builder()
        .console(|level, args| {
            eprintln!("{}: {:?}", level, args);
        })
        .build()
        .unwrap();

    let value = context.eval("1 + 2").unwrap();
    println!("js: 1 + 2 = {:?}", value);

    context.add_callback("myCallback", || 123).unwrap();

    context
        .add_callback("myCallback", |a: i32, b: i32| a + b * b)
        .unwrap();

    context
        .add_callback("test", |func: JsFunction| {
            func.call(vec![]).unwrap();
            return func;
        })
        .unwrap();

    let value = context
        .eval(
            r#"
       var x = myCallback(10, 20);
       x;
"#,
        )
        .unwrap();
    println!("js: callback = {:?}", value);

    context
        .eval("const f = test(() => { console.log('hello') }); f()")
        .unwrap();
}