Skip to content

tascord/worked

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 worked 🦀

Crates.io Version docs.rs

Run wasm code in workers, without blocking

use worked::*;

#[wasm_bindgen(start)]
pub async fn start() {
    for i in 0..20 {
        factorial(
            i.clone(), // <-- Function input
            move |o| gloo::console::log!(&format!("{i}! = {o}")) // <-- Callback
        ).await; // <-- Await the spawning of the worker
    }
}

#[worked("/pkg/wasm_workers.js")] // <-- Absolute path to your main wasm_bindgen export
pub fn factorial(n: i64) -> i64 { // <-- Functions can only take one input
    f(n)
}

#[wasm_bindgen]
pub fn f(n: i64) -> i64 {
    match n {
        0 => 1,
        _ => n * f(n - 1),
    }
}

About

Wasm workers made ... uh .. easier

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published