slint-ui/slint · error · napi::Error
expect String, got: {vt:?}
Error message
expect String, got: {vt:?} What it means
Error "expect String, got: {vt:?}" thrown in slint-ui/slint.
Source
Thrown at api/node/rust/interpreter/value.rs:44
}
}
/// Safely extract a f64 from an Unknown, failing if the type is wrong.
fn expect_number(unknown: Unknown<'_>) -> Result<f64> {
match unknown.get_type()? {
ValueType::Number => unknown.coerce_to_number()?.get_double(),
vt => Err(napi::Error::new(
napi::Status::NumberExpected,
format!("expect Number, got: {vt:?}"),
)),
}
}
/// Safely extract a String from an Unknown, failing if the type is wrong.
fn expect_string(unknown: Unknown<'_>) -> Result<String> {
match unknown.get_type()? {
ValueType::String => Ok(unknown.coerce_to_string()?.into_utf8()?.as_str()?.to_owned()),
vt => Err(napi::Error::new(
napi::Status::StringExpected,
format!("expect String, got: {vt:?}"),
)),
}
}
/// Safely extract a bool from an Unknown, failing if the type is wrong.
fn expect_bool(unknown: Unknown<'_>) -> Result<bool> {
match unknown.get_type()? {
ValueType::Boolean => Ok(unknown.coerce_to_bool()?),
vt => Err(napi::Error::new(
napi::Status::BooleanExpected,
format!("expect Boolean, got: {vt:?}"),
)),
}
}
#[napi(js_name = "ValueType")]View on GitHub (pinned to 3fd8f2ec03)
Solutions
- Pass a JavaScript string where the Slint value expects a String.
- Convert the value with String() before passing it.
When it happens
Trigger: Thrown at api/node/rust/interpreter/value.rs:44 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of slint-ui/slint@3fd8f2ec03 (2026-08-19).
Data as JSON: /api/errors/e8a9617e875fde21.
Report an issue: GitHub.