deno/resolvers/npm_cache/rt.rs
David Sherret f42cb0816e
refactor: ability for deno_npm_cache to compile to Wasm (#29138)
More work towards getting Deno's crates working from JavaScript.
2025-05-02 16:52:40 -04:00

24 lines
532 B
Rust

// Copyright 2018-2025 the Deno authors. MIT license.
#[cfg(not(target_arch = "wasm32"))]
use deno_unsync::JoinHandle;
#[cfg(target_arch = "wasm32")]
pub type JoinHandle<T> =
std::future::Ready<Result<T, std::convert::Infallible>>;
pub fn spawn_blocking<
F: (FnOnce() -> R) + Send + 'static,
R: Send + 'static,
>(
f: F,
) -> JoinHandle<R> {
#[cfg(target_arch = "wasm32")]
{
let result = f();
std::future::ready(Ok(result))
}
#[cfg(not(target_arch = "wasm32"))]
{
deno_unsync::spawn_blocking(f)
}
}