7 releases (4 breaking)
new 0.4.1 | Nov 17, 2024 |
---|---|
0.4.0 | Oct 17, 2024 |
0.3.0 | Oct 11, 2024 |
0.2.1 | Oct 11, 2024 |
0.0.1 | Feb 15, 2023 |
#31 in WebAssembly
57,039 downloads per month
Used in 159 crates
(27 directly)
115KB
2.5K
SLoC
wasmtimer-rs
An implementation of time
based functionalities from std::time
, tokio::time
,
tokio_util::time
for WASM targets. This crate tries to closely
replicate above APIs. Users only have to change their use
scripts by
using a cfg
macro.
#[cfg(not(target_family="wasm"))]
use tokio::time::*;
#[cfg(target_family="wasm")]
use wasmtimer::tokio::*;
Check the API Documentation for more details.
Story
Core idea and core modules in src/timer
folder were copied from
this crate. This crate is
abandoned now due to lack of maintainability. I've hard forked it,
added some additional features and released to use for
this PR.
tokio::time
vs wasmtimer
wasmtimer
is only running on WASM browser targets and not using anytokio
feature as a dependency.- This timer crate not supporting
Auto-advance
like in the tokio crate. Because we can not track the background
tasks(
Promise
) in browser scope. If we implemented such without caring about background tasks, then this implementation will not match with the tokio's original implementation.
Features
- Serde Support (
serde
feature flag) - Worker and NodeJS Support
- Test Utilities
Dependencies
~0.8–6.5MB
~35K SLoC