slint-ui/slint · error · napi::Error
expect Number, got: {vt:?}
Error message
expect Number, got: {vt:?} What it means
Error "expect Number, got: {vt:?}" thrown in slint-ui/slint.
Source
Thrown at api/node/rust/interpreter/value.rs:33
use slint_interpreter::Value;
use smol_str::SmolStr;
/// A dynamic-length argument list for calling JS functions with a variable
/// number of arguments. Implements `JsValuesTupleIntoVec` so it can be used
/// directly with `Function::call`.
pub struct DynArgs(pub Vec<napi::sys::napi_value>);
impl JsValuesTupleIntoVec for DynArgs {
fn into_vec(self, _env: napi::sys::napi_env) -> Result<Vec<napi::sys::napi_value>> {
Ok(self.0)
}
}
/// 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.View on GitHub (pinned to 3fd8f2ec03)
Solutions
- Pass a JavaScript number where the Slint value expects a Number.
- Convert the value with Number() before passing it.
When it happens
Trigger: Thrown at api/node/rust/interpreter/value.rs:33 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/89358d0c3712dd8f.
Report an issue: GitHub.