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§
- Utils to compile script to bytecode and run script from bytecode
- Javascript console integration. See the ConsoleBackend trait for more info.
- Serde integration.
- utils
Macros§
Structs§
- A wrapper around Vec
, used for vararg callbacks.
Traits§
- The Callback trait is implemented for functions/closures that can be used as callbacks in the JS runtime.