Crate quickjs_rusty

source ·
Expand description

quickjspp is a a Rust wrapper for QuickJS / Quickjspp, a new Javascript engine by Fabrice Bellard.

It enables easy and straight-forward execution of modern Javascript from Rust.

§Quickstart:

use quickjs_rusty::Context;

let context = Context::builder().build().unwrap();

// Eval.

let value = context.eval("1 + 2", false).unwrap();
assert_eq!(value.to_int(), Ok(3));

let value = context.eval_as::<String>(" var x = 100 + 250; x.toString() ").unwrap();
assert_eq!(&value, "350");

// Callbacks.

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

context.eval(r#"
    // x will equal 30
    var x = myCallback(10, 20);
"#, false).unwrap();

Re-exports§

Modules§

Macros§

Structs§

Traits§

  • The Callback trait is implemented for functions/closures that can be used as callbacks in the JS runtime.