Crate wilton_rusty[−][src]
Rust modules support for Wilton JavaScript runtime
Usage example:
// configure Cargo to build a shared library //[lib] //crate-type = ["dylib"] // in lib.rs, import serde and wilton_rusty //#[macro_use] //extern crate serde_derive; //extern crate wilton_rusty; // ... // declare input/output structs #[derive(Deserialize)] struct MyIn { } #[derive(Serialize)] struct MyOut { } // write a function that does some work fn hello(obj: MyIn) -> MyOut { } // register that function inside the `wilton_module_init` function, // that will be called by Wilton during the Rust module load #[no_mangle] pub extern "C" fn wilton_module_init() -> *mut std::os::raw::c_char { // register a call, error checking omitted wilton_rusty::register_wiltocall("hello", |obj: MyIn| { hello(obj) }); // return success status to Wilton wilton_rusty::create_wilton_error(None) }
See an example how to load and use Rust library from JavaScript.
Functions
create_wilton_error | Create an error message, that can be passed back to Wilton |
register_wiltocall | Registers a closure, that can be called from JavaScript |
runscript | Call JavaScript function |