aboutsummaryrefslogtreecommitdiff
path: root/vendor/instant
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/instant')
-rw-r--r--vendor/instant/.cargo-checksum.json1
-rw-r--r--vendor/instant/AUTHORS2
-rw-r--r--vendor/instant/CHANGELOGS.md7
-rw-r--r--vendor/instant/Cargo.toml81
-rw-r--r--vendor/instant/LICENSE27
-rw-r--r--vendor/instant/README.md143
-rw-r--r--vendor/instant/src/lib.rs22
-rw-r--r--vendor/instant/src/native.rs9
-rw-r--r--vendor/instant/src/wasm.rs240
-rw-r--r--vendor/instant/tests/wasm.rs57
10 files changed, 0 insertions, 589 deletions
diff --git a/vendor/instant/.cargo-checksum.json b/vendor/instant/.cargo-checksum.json
deleted file mode 100644
index 42dbf0c..0000000
--- a/vendor/instant/.cargo-checksum.json
+++ /dev/null
@@ -1 +0,0 @@
-{"files":{"AUTHORS":"451a1be16acafff0cb0eaedc49b46063cc6ce087d0c36f6d64d67aa93d20e485","CHANGELOGS.md":"bb587c08dd9b1f04cba934a241a99655f9d7e38bc70e4d45feca95efa09bd799","Cargo.toml":"a64c7ab3a5906d2e7360fb30cc23e5042bd7c22aa640e8e47bb3dad1a3dbf8eb","LICENSE":"2510d4cde8c4e13d8c54b9fe2a9d144daf567ec8d02832f1454e7ca2d58cdda6","README.md":"22b54b9f16ad18144f29e50d1b1f16791c5e8f1afee81265bad9b72f6efb8e62","src/lib.rs":"cc4822f1c4ac7926859045608d91e3f855914468039bffb75bc9b455c0950ab3","src/native.rs":"bd4cd1f888b83a9eaf07f640bef51c4f16138ceb427a685d3ab07152eec53d1c","src/wasm.rs":"c17c7bf8a28fee134444201212d1cf62bff49650f297e42367ec1b7aeaddc7c9","tests/wasm.rs":"1b81ff541bec36bac824a7ec41cd15f68d9919c3c7522290aa003fa4c253e840"},"package":"7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"} \ No newline at end of file
diff --git a/vendor/instant/AUTHORS b/vendor/instant/AUTHORS
deleted file mode 100644
index 6f2ad5b..0000000
--- a/vendor/instant/AUTHORS
+++ /dev/null
@@ -1,2 +0,0 @@
-Main developer:
- * Sébastien Crozet <developer@crozet.re> \ No newline at end of file
diff --git a/vendor/instant/CHANGELOGS.md b/vendor/instant/CHANGELOGS.md
deleted file mode 100644
index 0ecfaee..0000000
--- a/vendor/instant/CHANGELOGS.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# v0.1.12
-## Added
-- Add `SystemTime` which works in both native and WASM environments.
-
-## Modified
-- The `now` function is always available now: there is no need to enable the `now` feature any more. The `now` feature
- still exists (but doesn’t do anything) for backwards compatibility. \ No newline at end of file
diff --git a/vendor/instant/Cargo.toml b/vendor/instant/Cargo.toml
deleted file mode 100644
index fcd0adf..0000000
--- a/vendor/instant/Cargo.toml
+++ /dev/null
@@ -1,81 +0,0 @@
-# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
-#
-# When uploading crates to the registry Cargo will automatically
-# "normalize" Cargo.toml files for maximal compatibility
-# with all versions of Cargo and also rewrite `path` dependencies
-# to registry (e.g., crates.io) dependencies.
-#
-# If you are reading this file be aware that the original Cargo.toml
-# will likely look very different (and much more reasonable).
-# See Cargo.toml.orig for the original contents.
-
-[package]
-edition = "2018"
-name = "instant"
-version = "0.1.12"
-authors = ["sebcrozet <developer@crozet.re>"]
-description = "A partial replacement for std::time::Instant that works on WASM too."
-readme = "README.md"
-keywords = ["time", "wasm"]
-license = "BSD-3-Clause"
-repository = "https://github.com/sebcrozet/instant"
-[dependencies.cfg-if]
-version = "1.0"
-[dev-dependencies.wasm-bindgen-test]
-version = "0.3"
-
-[features]
-inaccurate = []
-now = []
-wasm-bindgen = ["js-sys", "wasm-bindgen_rs", "web-sys"]
-[target.asmjs-unknown-emscripten.dependencies.js-sys]
-version = "0.3"
-optional = true
-
-[target.asmjs-unknown-emscripten.dependencies.stdweb]
-version = "0.4"
-optional = true
-
-[target.asmjs-unknown-emscripten.dependencies.wasm-bindgen_rs]
-version = "0.2"
-optional = true
-package = "wasm-bindgen"
-
-[target.asmjs-unknown-emscripten.dependencies.web-sys]
-version = "0.3"
-features = ["Window", "Performance", "PerformanceTiming"]
-optional = true
-[target.wasm32-unknown-emscripten.dependencies.js-sys]
-version = "0.3"
-optional = true
-
-[target.wasm32-unknown-emscripten.dependencies.stdweb]
-version = "0.4"
-optional = true
-
-[target.wasm32-unknown-emscripten.dependencies.wasm-bindgen_rs]
-version = "0.2"
-optional = true
-package = "wasm-bindgen"
-
-[target.wasm32-unknown-emscripten.dependencies.web-sys]
-version = "0.3"
-features = ["Window", "Performance", "PerformanceTiming"]
-optional = true
-[target.wasm32-unknown-unknown.dependencies.js-sys]
-version = "0.3"
-optional = true
-
-[target.wasm32-unknown-unknown.dependencies.stdweb]
-version = "0.4"
-optional = true
-
-[target.wasm32-unknown-unknown.dependencies.wasm-bindgen_rs]
-version = "0.2"
-optional = true
-package = "wasm-bindgen"
-
-[target.wasm32-unknown-unknown.dependencies.web-sys]
-version = "0.3"
-features = ["Window", "Performance", "PerformanceTiming"]
-optional = true
diff --git a/vendor/instant/LICENSE b/vendor/instant/LICENSE
deleted file mode 100644
index a301457..0000000
--- a/vendor/instant/LICENSE
+++ /dev/null
@@ -1,27 +0,0 @@
-Copyright (c) 2019, Sébastien Crozet
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-3. Neither the name of the author nor the names of its contributors may be used
- to endorse or promote products derived from this software without specific
- prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/instant/README.md b/vendor/instant/README.md
deleted file mode 100644
index 53f5041..0000000
--- a/vendor/instant/README.md
+++ /dev/null
@@ -1,143 +0,0 @@
-# Instant
-
-If you call `std::time::Instant::now()` on a WASM platform, it will panic. This crate provides a partial
-replacement for `std::time::Instant` that works on WASM too. This defines the type `instant::Instant` which is:
-
-* A struct emulating the behavior of **std::time::Instant** if you are targeting `wasm32-unknown-unknown` or `wasm32-unknown-asmjs`
-**and** you enabled either the `stdweb` or the `wasm-bindgen` feature. This emulation is based on the javascript `performance.now()` function.
-* A type alias for `std::time::Instant` otherwise.
-
-
-
-Note that even if the **stdweb** or **wasm-bindgen** feature is enabled, this crate will continue to rely on `std::time::Instant`
-as long as you are not targeting wasm32. This allows for portable code that will work on both native and WASM platforms.
-
-This crate also exports the function `instant::now()` which returns a representation of the current time as an `f64`, expressed in milliseconds, in a platform-agnostic way. `instant::now()` will either:
-
-* Call `performance.now()` when compiling for a WASM platform with the features **stdweb** or **wasm-bindgen** enabled, or using a custom javascript function.
-* Return the time elapsed since the *Unix Epoch* on *native*, *non-WASM* platforms.
-
-*Note*: The old feature, `now`, has been deprecated. `instant::now()` is always exported and the `now` feature flag no longer has any effect. It remains listed in `Cargo.toml` to avoid introducing breaking changes and may be removed in future versions.
-
-## Examples
-### Using `instant` for a native platform.
-_Cargo.toml_:
-```toml
-[dependencies]
-instant = "0.1"
-```
-
-_main.rs_:
-```rust
-fn main() {
- // Will be the same as `std::time::Instant`.
- let now = instant::Instant::now();
-}
-```
-
------
-
-### Using `instant` for a WASM platform.
-This example shows the use of the `stdweb` feature. It would be similar with `wasm-bindgen`.
-
-_Cargo.toml_:
-```toml
-[dependencies]
-instant = { version = "0.1", features = [ "stdweb" ] }
-```
-
-_main.rs_:
-```rust
-fn main() {
- // Will emulate `std::time::Instant` based on `performance.now()`.
- let now = instant::Instant::now();
-}
-```
-
------
-
-### Using `instant` for a WASM platform where `performance.now()` is not available.
-This example shows the use of the `inaccurate` feature.
-
-_Cargo.toml_:
-```toml
-[dependencies]
-instant = { version = "0.1", features = [ "wasm-bindgen", "inaccurate" ] }
-```
-
-_main.rs_:
-```rust
-fn main() {
- // Will emulate `std::time::Instant` based on `Date.now()`.
- let now = instant::Instant::now();
-}
-```
-
-
------
-
-### Using `instant` for any platform enabling a feature transitively.
-_Cargo.toml_:
-```toml
-[features]
-stdweb = [ "instant/stdweb" ]
-wasm-bindgen = [ "instant/wasm-bindgen" ]
-
-[dependencies]
-instant = "0.1"
-```
-
-_lib.rs_:
-```rust
-fn my_function() {
- // Will select the proper implementation depending on the
- // feature selected by the user.
- let now = instant::Instant::now();
-}
-```
-
------
-
-### Using `instant::now()`
-_Cargo.toml_:
-```toml
-[features]
-stdweb = [ "instant/stdweb" ]
-wasm-bindgen = [ "instant/wasm-bindgen" ]
-
-[dependencies]
-instant = "0.1"
-```
-
-_lib.rs_:
-```rust
-fn my_function() {
- // Will select the proper implementation depending on the
- // feature selected by the user.
- let now_instant = instant::Instant::now();
- let now_milliseconds = instant::now(); // In milliseconds.
-}
-```
-
-### Using the feature `now` without `stdweb` or `wasm-bindgen`.
-_Cargo.toml_:
-```toml
-[dependencies]
-instant = "0.1"
-```
-
-_lib.rs_:
-```rust
-fn my_function() {
- // Will use the 'now' javascript implementation.
- let now_instant = instant::Instant::now();
- let now_milliseconds = instant::now(); // In milliseconds.
-}
-```
-
-_javascript WASM bindings file_:
-```js
-function now() {
- return Date.now() / 1000.0;
-}
-```
diff --git a/vendor/instant/src/lib.rs b/vendor/instant/src/lib.rs
deleted file mode 100644
index b7e1da3..0000000
--- a/vendor/instant/src/lib.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-cfg_if::cfg_if! {
- if #[cfg(any(
- all(target_arch = "wasm32", not(target_os = "wasi")),
- target_arch = "asmjs"
- ))] {
- #[cfg(all(feature = "stdweb", not(feature = "wasm-bindgen")))]
- #[macro_use]
- extern crate stdweb;
-
- mod wasm;
- pub use wasm::Instant;
- pub use crate::wasm::now;
- pub use wasm::SystemTime;
- } else {
- mod native;
- pub use native::Instant;
- pub use native::now;
- pub use native::SystemTime;
- }
-}
-
-pub use std::time::Duration;
diff --git a/vendor/instant/src/native.rs b/vendor/instant/src/native.rs
deleted file mode 100644
index a1412aa..0000000
--- a/vendor/instant/src/native.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-pub type Instant = std::time::Instant;
-pub type SystemTime = std::time::SystemTime;
-
-/// The current time, expressed in milliseconds since the Unix Epoch.
-pub fn now() -> f64 {
- std::time::SystemTime::now().duration_since(std::time::SystemTime::UNIX_EPOCH)
- .expect("System clock was before 1970.")
- .as_secs_f64() * 1000.0
-}
diff --git a/vendor/instant/src/wasm.rs b/vendor/instant/src/wasm.rs
deleted file mode 100644
index 3e416b4..0000000
--- a/vendor/instant/src/wasm.rs
+++ /dev/null
@@ -1,240 +0,0 @@
-use std::cmp::Ordering;
-use std::ops::{Add, AddAssign, Sub, SubAssign};
-use std::time::Duration;
-
-#[derive(Copy, Clone, Debug, PartialEq, PartialOrd, Hash)]
-pub struct Instant(Duration);
-
-impl Ord for Instant {
- fn cmp(&self, other: &Self) -> std::cmp::Ordering {
- self.partial_cmp(other)
- .expect("an instant should never be NaN or Inf.")
- }
-}
-impl Eq for Instant {}
-
-impl Instant {
- #[inline]
- pub fn now() -> Self {
- Instant(duration_from_f64(now()))
- }
-
- #[inline]
- pub fn duration_since(&self, earlier: Instant) -> Duration {
- assert!(
- earlier.0 <= self.0,
- "`earlier` cannot be later than `self`."
- );
- self.0 - earlier.0
- }
-
- #[inline]
- pub fn elapsed(&self) -> Duration {
- Self::now().duration_since(*self)
- }
-
- /// Returns `Some(t)` where `t` is the time `self + duration` if `t` can be represented as
- /// `Instant` (which means it's inside the bounds of the underlying data structure), `None`
- /// otherwise.
- #[inline]
- pub fn checked_add(&self, duration: Duration) -> Option<Instant> {
- self.0.checked_add(duration).map(Instant)
- }
-
- /// Returns `Some(t)` where `t` is the time `self - duration` if `t` can be represented as
- /// `Instant` (which means it's inside the bounds of the underlying data structure), `None`
- /// otherwise.
- #[inline]
- pub fn checked_sub(&self, duration: Duration) -> Option<Instant> {
- self.0.checked_sub(duration).map(Instant)
- }
-
- /// Returns the amount of time elapsed from another instant to this one, or None if that
- /// instant is later than this one.
- #[inline]
- pub fn checked_duration_since(&self, earlier: Instant) -> Option<Duration> {
- if earlier.0 > self.0 {
- None
- } else {
- Some(self.0 - earlier.0)
- }
- }
-
- /// Returns the amount of time elapsed from another instant to this one, or zero duration if
- /// that instant is later than this one.
- #[inline]
- pub fn saturating_duration_since(&self, earlier: Instant) -> Duration {
- self.checked_duration_since(earlier).unwrap_or_default()
- }
-}
-
-impl Add<Duration> for Instant {
- type Output = Self;
-
- #[inline]
- fn add(self, rhs: Duration) -> Self {
- Instant(self.0 + rhs)
- }
-}
-
-impl AddAssign<Duration> for Instant {
- #[inline]
- fn add_assign(&mut self, rhs: Duration) {
- self.0 += rhs
- }
-}
-
-impl Sub<Duration> for Instant {
- type Output = Self;
-
- #[inline]
- fn sub(self, rhs: Duration) -> Self {
- Instant(self.0 - rhs)
- }
-}
-
-impl Sub<Instant> for Instant {
- type Output = Duration;
-
- #[inline]
- fn sub(self, rhs: Instant) -> Duration {
- self.duration_since(rhs)
- }
-}
-
-impl SubAssign<Duration> for Instant {
- #[inline]
- fn sub_assign(&mut self, rhs: Duration) {
- self.0 -= rhs
- }
-}
-
-fn duration_from_f64(millis: f64) -> Duration {
- Duration::from_millis(millis.trunc() as u64)
- + Duration::from_nanos((millis.fract() * 1.0e6) as u64)
-}
-
-#[cfg(all(feature = "stdweb", not(feature = "wasm-bindgen")))]
-#[allow(unused_results)] // Needed because the js macro triggers it.
-pub fn now() -> f64 {
- use stdweb::unstable::TryInto;
-
- // https://developer.mozilla.org/en-US/docs/Web/API/Performance/now
- #[cfg(not(feature = "inaccurate"))]
- let v = js! { return performance.now(); };
- #[cfg(feature = "inaccurate")]
- let v = js! { return Date.now(); };
- v.try_into().unwrap()
-}
-
-#[cfg(feature = "wasm-bindgen")]
-pub fn now() -> f64 {
- #[cfg(not(feature = "inaccurate"))]
- let now = {
- use wasm_bindgen_rs::prelude::*;
- use wasm_bindgen_rs::JsCast;
- js_sys::Reflect::get(&js_sys::global(), &JsValue::from_str("performance"))
- .expect("failed to get performance from global object")
- .unchecked_into::<web_sys::Performance>()
- .now()
- };
- #[cfg(feature = "inaccurate")]
- let now = js_sys::Date::now();
- now
-}
-
-// The JS now function is in a module so it won't have to be renamed
-#[cfg(not(any(feature = "wasm-bindgen", feature = "stdweb")))]
-mod js {
- extern "C" {
- #[cfg(not(target_os = "emscripten"))]
- pub fn now() -> f64;
- #[cfg(target_os = "emscripten")]
- pub fn _emscripten_get_now() -> f64;
- }
-}
-// Make the unsafe extern function "safe" so it can be called like the other 'now' functions
-#[cfg(not(any(feature = "wasm-bindgen", feature = "stdweb")))]
-pub fn now() -> f64 {
- #[cfg(not(target_os = "emscripten"))]
- return unsafe { js::now() };
- #[cfg(target_os = "emscripten")]
- return unsafe { js::_emscripten_get_now() };
-}
-
-/// Returns the number of millisecods elapsed since January 1, 1970 00:00:00 UTC.
-#[cfg(any(feature = "wasm-bindgen", feature = "stdweb"))]
-fn get_time() -> f64 {
- #[cfg(feature = "wasm-bindgen")]
- return js_sys::Date::now();
- #[cfg(all(feature = "stdweb", not(feature = "wasm-bindgen")))]
- {
- let v = js! { return Date.now(); };
- return v.try_into().unwrap();
- }
-}
-
-#[derive(Copy, Clone, Debug, PartialEq, PartialOrd)]
-pub struct SystemTime(f64);
-
-impl SystemTime {
- pub const UNIX_EPOCH: SystemTime = SystemTime(0.0);
-
- pub fn now() -> SystemTime {
- cfg_if::cfg_if! {
- if #[cfg(any(feature = "wasm-bindgen", feature = "stdweb"))] {
- SystemTime(get_time())
- } else {
- SystemTime(now())
- }
- }
- }
-
- pub fn duration_since(&self, earlier: SystemTime) -> Result<Duration, ()> {
- let dur_ms = self.0 - earlier.0;
- if dur_ms < 0.0 {
- return Err(());
- }
- Ok(Duration::from_millis(dur_ms as u64))
- }
-
- pub fn elapsed(&self) -> Result<Duration, ()> {
- self.duration_since(SystemTime::now())
- }
-
- pub fn checked_add(&self, duration: Duration) -> Option<SystemTime> {
- Some(*self + duration)
- }
-
- pub fn checked_sub(&self, duration: Duration) -> Option<SystemTime> {
- Some(*self - duration)
- }
-}
-
-impl Add<Duration> for SystemTime {
- type Output = SystemTime;
-
- fn add(self, other: Duration) -> SystemTime {
- SystemTime(self.0 + other.as_millis() as f64)
- }
-}
-
-impl Sub<Duration> for SystemTime {
- type Output = SystemTime;
-
- fn sub(self, other: Duration) -> SystemTime {
- SystemTime(self.0 - other.as_millis() as f64)
- }
-}
-
-impl AddAssign<Duration> for SystemTime {
- fn add_assign(&mut self, rhs: Duration) {
- *self = *self + rhs;
- }
-}
-
-impl SubAssign<Duration> for SystemTime {
- fn sub_assign(&mut self, rhs: Duration) {
- *self = *self - rhs;
- }
-}
diff --git a/vendor/instant/tests/wasm.rs b/vendor/instant/tests/wasm.rs
deleted file mode 100644
index e858faa..0000000
--- a/vendor/instant/tests/wasm.rs
+++ /dev/null
@@ -1,57 +0,0 @@
-extern crate wasm_bindgen_test;
-
-use instant::{Instant, SystemTime};
-use std::time::Duration;
-use wasm_bindgen_test::*;
-
-wasm_bindgen_test_configure!(run_in_browser);
-// run these tests using: wasm-pack test --chrome --headless -- --features wasm-bindgen
-
-#[wasm_bindgen_test]
-fn test_instant_now() {
- let now = Instant::now();
- #[cfg(feature = "inaccurate")]
- while now.elapsed().as_millis() == 0 {}
- #[cfg(not(feature = "inaccurate"))]
- assert!(now.elapsed().as_nanos() > 0);
-}
-
-#[wasm_bindgen_test]
-fn test_duration() {
- let now = Instant::now();
- let one_sec = Duration::from_secs(1);
- assert!(now.elapsed() < one_sec);
-}
-
-// Duration::new will overflow when you have u64::MAX seconds and one billion nanoseconds.
-// <https://doc.rust-lang.org/std/time/struct.Duration.html#method.new>
-const ONE_BILLION: u32 = 1_000_000_000;
-
-#[wasm_bindgen_test]
-fn test_checked_add() {
- let now = Instant::now();
-
- assert!(now.checked_add(Duration::from_millis(1)).is_some());
- assert_eq!(
- None,
- now.checked_add(Duration::new(u64::MAX, ONE_BILLION - 1))
- );
-}
-
-#[wasm_bindgen_test]
-fn test_checked_sub() {
- let now = Instant::now();
-
- assert!(now.checked_sub(Duration::from_millis(1)).is_some());
- assert!(now
- .checked_sub(Duration::new(u64::MAX, ONE_BILLION - 1))
- .is_none());
-}
-
-#[wasm_bindgen_test]
-fn test_system_time() {
- assert!(SystemTime::UNIX_EPOCH
- .duration_since(SystemTime::now())
- .is_err());
-}
-