//! # Web Instant //! //! Provides `Spot`, a version of `Instant` that works both in environments that support `Instant` and //! `wasm` family targets. On desktop, the internal representation uses `std::time::Instant`. On the //! web, the internal representation is an `f64`, and uses `js_sys::Date` methods to cover //! functionality where required //! //! All the methods on `Instant` are implemented for `Spot`, so you can just replace uses of //! `std::time::Instant` with `web_instant::Spot` //! //! ## Install //! //! `cargo add web_instant` //! //! ## Usage //! //! ```rust //! use web_instant::Spot; //! use std::time::Duration; //! //! fn my_cross_platform_timer(last_time: Spot) { //! let time_diff: Duration = Spot::now() - last_time; //! println!("It has been {} seconds", time_diff.as_secs()); //! } //! ``` #[cfg(not(target_family = "wasm"))] mod instant_desktop; #[cfg(target_family = "wasm")] mod instant_web; #[cfg(not(target_arch = "wasm32"))] pub use instant_desktop::Spot; #[cfg(target_arch = "wasm32")] pub use instant_web::Spot;