fix: enforce numeric guards in Rhai operator dispatch

This commit is contained in:
boris
2026-09-09 04:02:11 +08:00
parent 3b1aa2ebcb
commit ea58ab2166
@@ -1574,6 +1574,8 @@ impl PlatformExprStrategy {
pub fn new(config: PlatformExprStrategyConfig) -> Self { pub fn new(config: PlatformExprStrategyConfig) -> Self {
let mut engine = Engine::new(); let mut engine = Engine::new();
engine.set_fast_operators(false);
engine.set_fail_on_invalid_map_property(true);
// Dynamic scripts cannot carry a nullable boolean through Rhai's // Dynamic scripts cannot carry a nullable boolean through Rhai's
// logical operators. Reject an unknown comparison instead of letting // logical operators. Reject an unknown comparison instead of letting
// native NaN comparisons turn missing data into a buy/sell signal. // native NaN comparisons turn missing data into a buy/sell signal.