From 59c435fbd5cd9272164e5cf13eca1dd3d046425c Mon Sep 17 00:00:00 2001 From: kingchenc Date: Fri, 22 May 2026 04:14:18 +0200 Subject: [PATCH] chore: apply rustfmt to binding/core sources and sync Cargo.lock Normalises whitespace in sources committed earlier in this branch before rustfmt was run over them (Node/WASM bindings, and three core indicator test modules), and records the wasm-bindgen-test dependency tree added in B6 into Cargo.lock. No functional change; cargo fmt --all --check is now clean. --- Cargo.lock | 87 +++++++++++++++++++ bindings/node/src/lib.rs | 46 +++++----- bindings/wasm/src/lib.rs | 8 +- .../wickra-core/src/indicators/bollinger.rs | 6 +- crates/wickra-core/src/indicators/keltner.rs | 5 +- crates/wickra-core/src/indicators/mfi.rs | 5 +- 6 files changed, 127 insertions(+), 30 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 41aea27b..add11c54 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -38,6 +38,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "async-trait" +version = "0.1.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "autocfg" version = "1.5.0" @@ -748,6 +759,12 @@ dependencies = [ "windows-link", ] +[[package]] +name = "libm" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" + [[package]] name = "linux-raw-sys" version = "0.12.1" @@ -791,6 +808,16 @@ dependencies = [ "autocfg", ] +[[package]] +name = "minicov" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4869b6a491569605d66d3952bcdf03df789e5b536e5f0cf7758a7f08a55ae24d" +dependencies = [ + "cc", + "walkdir", +] + [[package]] name = "mio" version = "1.2.0" @@ -891,6 +918,15 @@ dependencies = [ "rawpointer", ] +[[package]] +name = "nu-ansi-term" +version = "0.50.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +dependencies = [ + "windows-sys", +] + [[package]] name = "num-complex" version = "0.4.6" @@ -916,6 +952,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -1805,6 +1842,16 @@ dependencies = [ "wasm-bindgen-shared", ] +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96492d0d3ffba25305a7dc88720d250b1401d7edca02cc3bcd50633b424673b8" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "wasm-bindgen-macro" version = "0.2.121" @@ -1837,6 +1884,45 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-bindgen-test" +version = "0.3.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af5ec93229ad9ccd0a545a516dec76dc276613f278f6a91aa6b463d5b33d42d0" +dependencies = [ + "async-trait", + "cast", + "js-sys", + "libm", + "minicov", + "nu-ansi-term", + "num-traits", + "oorandom", + "serde", + "serde_json", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test-macro", + "wasm-bindgen-test-shared", +] + +[[package]] +name = "wasm-bindgen-test-macro" +version = "0.3.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c81b9fef827e575e0e54431736d1baa0d700315d8c62cfef1f61fa3aad0cbeb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "wasm-bindgen-test-shared" +version = "0.2.121" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f4d8ae7ad5440360e9799dfd42857d126454a88441ddf72d288ef83fa47f527" + [[package]] name = "wasm-encoder" version = "0.244.0" @@ -1948,6 +2034,7 @@ dependencies = [ "serde", "serde-wasm-bindgen", "wasm-bindgen", + "wasm-bindgen-test", "wickra-core", ] diff --git a/bindings/node/src/lib.rs b/bindings/node/src/lib.rs index 6e3ea8fa..64475761 100644 --- a/bindings/node/src/lib.rs +++ b/bindings/node/src/lib.rs @@ -299,12 +299,7 @@ impl StochNode { }) } #[napi] - pub fn update( - &mut self, - high: f64, - low: f64, - close: f64, - ) -> napi::Result> { + pub fn update(&mut self, high: f64, low: f64, close: f64) -> napi::Result> { Ok(self .inner .update(cnd(high, low, close, 0.0)?) @@ -423,19 +418,15 @@ impl AdxNode { }) } #[napi] - pub fn update( - &mut self, - high: f64, - low: f64, - close: f64, - ) -> napi::Result> { - Ok(self.inner.update(cnd(high, low, close, 0.0)?).map(|o| { - AdxValue { + pub fn update(&mut self, high: f64, low: f64, close: f64) -> napi::Result> { + Ok(self + .inner + .update(cnd(high, low, close, 0.0)?) + .map(|o| AdxValue { plus_di: o.plus_di, minus_di: o.minus_di, adx: o.adx, - } - })) + })) } #[napi] pub fn batch( @@ -728,13 +719,14 @@ impl KeltnerNode { low: f64, close: f64, ) -> napi::Result> { - Ok(self.inner.update(cnd(high, low, close, 0.0)?).map(|o| { - KeltnerValue { + Ok(self + .inner + .update(cnd(high, low, close, 0.0)?) + .map(|o| KeltnerValue { upper: o.upper, middle: o.middle, lower: o.lower, - } - })) + })) } #[napi] pub fn batch( @@ -794,13 +786,14 @@ impl DonchianNode { } #[napi] pub fn update(&mut self, high: f64, low: f64) -> napi::Result> { - Ok(self.inner.update(cnd(high, low, low, 0.0)?).map(|o| { - DonchianValue { + Ok(self + .inner + .update(cnd(high, low, low, 0.0)?) + .map(|o| DonchianValue { upper: o.upper, middle: o.middle, lower: o.lower, - } - })) + })) } #[napi] pub fn batch(&mut self, high: Vec, low: Vec) -> napi::Result> { @@ -968,7 +961,10 @@ impl AroonNode { Ok(self .inner .update(cnd(high, low, low, 0.0)?) - .map(|o| AroonValue { up: o.up, down: o.down })) + .map(|o| AroonValue { + up: o.up, + down: o.down, + })) } #[napi] pub fn batch(&mut self, high: Vec, low: Vec) -> napi::Result> { diff --git a/bindings/wasm/src/lib.rs b/bindings/wasm/src/lib.rs index 9355dfe3..304e44a2 100644 --- a/bindings/wasm/src/lib.rs +++ b/bindings/wasm/src/lib.rs @@ -442,7 +442,9 @@ impl WasmMfi { volume: &[f64], ) -> Result { if high.len() != low.len() || low.len() != close.len() || close.len() != volume.len() { - return Err(JsError::new("high, low, close, volume must be equal length")); + return Err(JsError::new( + "high, low, close, volume must be equal length", + )); } let mut out = Vec::with_capacity(high.len()); for i in 0..high.len() { @@ -582,7 +584,9 @@ impl WasmVwap { volume: &[f64], ) -> Result { if high.len() != low.len() || low.len() != close.len() || close.len() != volume.len() { - return Err(JsError::new("high, low, close, volume must be equal length")); + return Err(JsError::new( + "high, low, close, volume must be equal length", + )); } let mut out = Vec::with_capacity(high.len()); for i in 0..high.len() { diff --git a/crates/wickra-core/src/indicators/bollinger.rs b/crates/wickra-core/src/indicators/bollinger.rs index 2e0ee91f..d18c7c54 100644 --- a/crates/wickra-core/src/indicators/bollinger.rs +++ b/crates/wickra-core/src/indicators/bollinger.rs @@ -251,6 +251,10 @@ mod tests { assert_eq!(bb.update(f64::INFINITY).unwrap(), last); // The window still holds 1..=5, so a real input slides it to 2..=6. let after = bb.update(6.0).unwrap(); - assert_relative_eq!(after.middle, (2.0 + 3.0 + 4.0 + 5.0 + 6.0) / 5.0, epsilon = 1e-12); + assert_relative_eq!( + after.middle, + (2.0 + 3.0 + 4.0 + 5.0 + 6.0) / 5.0, + epsilon = 1e-12 + ); } } diff --git a/crates/wickra-core/src/indicators/keltner.rs b/crates/wickra-core/src/indicators/keltner.rs index 097206dd..ba5b083f 100644 --- a/crates/wickra-core/src/indicators/keltner.rs +++ b/crates/wickra-core/src/indicators/keltner.rs @@ -205,7 +205,10 @@ mod tests { assert_relative_eq!(o.upper, m + 2.0 * av, epsilon = 1e-9); assert_relative_eq!(o.lower, m - 2.0 * av, epsilon = 1e-9); } - _ => assert!(got.is_none(), "Keltner must be None until both ready (i={i})"), + _ => assert!( + got.is_none(), + "Keltner must be None until both ready (i={i})" + ), } } } diff --git a/crates/wickra-core/src/indicators/mfi.rs b/crates/wickra-core/src/indicators/mfi.rs index 99f1c4b1..092c83d7 100644 --- a/crates/wickra-core/src/indicators/mfi.rs +++ b/crates/wickra-core/src/indicators/mfi.rs @@ -180,7 +180,10 @@ mod tests { for (i, v) in out.iter().enumerate().take(5) { assert!(v.is_none(), "candle index {i} must be None during warmup"); } - assert!(out[5].is_some(), "first MFI value lands at index period (5)"); + assert!( + out[5].is_some(), + "first MFI value lands at index period (5)" + ); assert_eq!(mfi.warmup_period(), 6); }