1use {
2 rwasm,
3 std::time::Duration,
4};
5
6#[no_mangle]
7fn handle_data_upload_example(length: *const u8) {
8 let length = length as usize;
9
10 rwasm::log(format!("Received byte array from JS with {} elements:", length).as_str());
11 for i in 0..length {
12 rwasm::log(format!("buffer[{}]: {}", i, rwasm::get_buffer(0)[i]).as_str());
13 }
14}
15
16#[no_mangle]
17fn multiply(x: f32, y: f32) -> f32 {
18 x * y
19}
20
21fn make_string_uppercase_from_js(string: &str) {
22 let string = rwasm::request_string(
23 "request_data_example",
24 string.as_bytes(),
25 55
26 );
27 rwasm::log(format!("Received requested string: {}", string).as_str());
28}
29
30async fn main_async() {
31 rwasm::timer::TimerFuture::new(Duration::from_millis(250)).await;
32 rwasm::log("Hello...");
33 rwasm::timer::TimerFuture::new(Duration::from_secs(1)).await;
34 rwasm::log("...world!");
35}
36
37#[rwasm::main]
38async fn main() {
39 rwasm::set_error_hook();
40 rwasm::log("async fn main() says: Hi!");
42 make_string_uppercase_from_js("this will be uppercase!");
44 main_async().await;
45 rwasm::log("async fn main() says: Bye!");
46}