log signal names

This commit is contained in:
Joeri Exelmans 2025-11-05 09:59:08 +01:00
parent 68b2cd924c
commit 849aed2d4f
5 changed files with 22 additions and 1 deletions

11
Cargo.lock generated
View file

@ -75,6 +75,7 @@ dependencies = [
"serde-wasm-bindgen", "serde-wasm-bindgen",
"serde_json", "serde_json",
"wasm-bindgen", "wasm-bindgen",
"web-sys",
] ]
[[package]] [[package]]
@ -477,6 +478,16 @@ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]]
name = "web-sys"
version = "0.3.82"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1"
dependencies = [
"js-sys",
"wasm-bindgen",
]
[[package]] [[package]]
name = "windows-sys" name = "windows-sys"
version = "0.59.0" version = "0.59.0"

View file

@ -12,4 +12,5 @@ serde = { version = "1.0.228", features = ["derive"] }
serde-wasm-bindgen = "0.6.5" serde-wasm-bindgen = "0.6.5"
serde_json = "1.0.145" serde_json = "1.0.145"
wasm-bindgen = "0.2.105" wasm-bindgen = "0.2.105"
web-sys = { version = "0.3.82", features = ["console"] }

View file

@ -352,6 +352,9 @@ function __wbg_get_imports() {
const ret = arg0.length; const ret = arg0.length;
return ret; return ret;
}; };
imports.wbg.__wbg_log_eeaf399d6effdabf = function(arg0, arg1) {
console.log(arg0, arg1);
};
imports.wbg.__wbg_new_1acc0b6eea89d040 = function() { imports.wbg.__wbg_new_1acc0b6eea89d040 = function() {
const ret = new Object(); const ret = new Object();
return ret; return ret;

Binary file not shown.

View file

@ -4,6 +4,7 @@ extern crate serde_json;
extern crate js_sys; extern crate js_sys;
extern crate serde; extern crate serde;
extern crate serde_wasm_bindgen; extern crate serde_wasm_bindgen;
extern crate web_sys;
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
@ -15,6 +16,7 @@ use std::vec;
use serde::{Serialize, Deserialize}; use serde::{Serialize, Deserialize};
use serde_wasm_bindgen::{from_value, to_value}; use serde_wasm_bindgen::{from_value, to_value};
use std::time::Duration; use std::time::Duration;
use web_sys::console;
struct TraceMap<'a> { struct TraceMap<'a> {
traces: HashMap<&'a str, Signal<f64>>, traces: HashMap<&'a str, Signal<f64>>,
@ -70,6 +72,10 @@ pub fn eval_boolean(s: &str, js_trace: JsValue) -> JsValue {
} }
} }
} }
let m = TraceMap{traces: traceMap};
for name in m.signal_names() {
console::log_2(&JsValue::from_str("signal name:"), &JsValue::from_str(name));
}
// parse property string // parse property string
let parse_result = argus::parse_str(s); let parse_result = argus::parse_str(s);
let expr = match parse_result { let expr = match parse_result {
@ -82,7 +88,7 @@ pub fn eval_boolean(s: &str, js_trace: JsValue) -> JsValue {
}; };
// evaluate property on trace // evaluate property on trace
let eval_result = match expr { let eval_result = match expr {
Expr::Bool(bool_expr) => BooleanSemantics::eval::<interpolation::Constant>(&bool_expr, &TraceMap{traces: traceMap}), Expr::Bool(bool_expr) => BooleanSemantics::eval::<interpolation::Constant>(&bool_expr, &m),
_ => return JsValue::from_str("expected boolean expression (this should never happen)"), _ => return JsValue::from_str("expected boolean expression (this should never happen)"),
}; };
let mut result = Vec::<StateBuddyEvalResultEntry>::new(); let mut result = Vec::<StateBuddyEvalResultEntry>::new();