use whynot::RuntimeConfig;
#[cfg(feature = "async_tokio")]
use whynot::async_tokio;
#[cfg(feature = "async_tokio")]
#[tokio::main]
async fn main() {
let cfg = RuntimeConfig { debug: false, ..Default::default() };
let greet = async_tokio::call_async(cfg.clone(), "greet".to_string(), vec!["Milton".into()])
.await
.unwrap();
println!("greet.result = {:?}", greet.result);
println!("greet.output = {:?}", greet.output);
let add = async_tokio::call_async(cfg.clone(), "add".to_string(), vec![7.into(), 9.into()])
.await
.unwrap();
println!("add.result = {:?}", add.result);
let eval = async_tokio::eval_async(cfg.clone(), "print('tokio eval'); return 123;".to_string())
.await
.unwrap();
println!("eval.result = {:?}", eval.result);
println!("eval.output = {:?}", eval.output);
}
#[cfg(not(feature = "async_tokio"))]
fn main() {
eprintln!("Enable feature `async_tokio` to run this example:\n cargo run --example tokio_async --features async_tokio");
}