slint-ui/slint · error · napi::Error

expect Boolean, got: {vt:?}

Error message

expect Boolean, got: {vt:?}

What it means

Error "expect Boolean, got: {vt:?}" thrown in slint-ui/slint.

Source

Thrown at api/node/rust/interpreter/value.rs:55

    }
}

/// 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")]
pub enum JsValueType {
    Void,
    Number,
    String,
    Bool,
    Model,
    Struct,
    Brush,
    Image,
    Keys,
}

View on GitHub (pinned to 3fd8f2ec03)

Solutions

  1. Pass a JavaScript boolean where the Slint value expects a Boolean.
  2. Convert the value with Boolean() before passing it.

When it happens

Trigger: Thrown at api/node/rust/interpreter/value.rs:55 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/0e78ee6e8096e8c5. Report an issue: GitHub.