diff --git a/examples/guide-supported-types-examples/bool.js b/examples/guide-supported-types-examples/bool.js index 3276d1a7..ae2a0587 100644 --- a/examples/guide-supported-types-examples/bool.js +++ b/examples/guide-supported-types-examples/bool.js @@ -1,9 +1,22 @@ import { take_char_by_value, return_char, + take_option_bool, + return_option_bool, } from './guide_supported_types_examples'; take_bool_by_value(true); let b = return_bool(); console.log(typeof b); // "boolean" + +take_option_bool(null); +take_option_bool(undefined); +take_option_bool(true); + +let c = return_option_bool(); +if (c == null) { + // ... +} else { + console.log(typeof c); // "boolean" +} diff --git a/examples/guide-supported-types-examples/src/bool.rs b/examples/guide-supported-types-examples/src/bool.rs index 43edb430..924e6882 100644 --- a/examples/guide-supported-types-examples/src/bool.rs +++ b/examples/guide-supported-types-examples/src/bool.rs @@ -7,3 +7,11 @@ pub fn take_bool_by_value(x: bool) {} pub fn return_bool() -> bool { true } + +#[wasm_bindgen] +pub fn take_option_bool(x: Option<bool>) {} + +#[wasm_bindgen] +pub fn return_option_bool() -> Option<bool> { + Some(false) +} diff --git a/guide/src/reference/types.md b/guide/src/reference/types.md index 79e85879..846ddf4b 100644 --- a/guide/src/reference/types.md +++ b/guide/src/reference/types.md @@ -107,7 +107,7 @@ garbage-collected heap and the Wasm linear memory with `TextDecoder` and | `T` parameter | `&T` parameter | `&mut T` parameter | `T` return value | `Option<T>` parameter | `Option<T>` return value | JavaScript representation | |:---:|:---:|:---:|:---:|:---:|:---:|:---:| -| Yes | No | No | Yes | No | No | A JavaScript boolean value | +| Yes | No | No | Yes | Yes | Yes | A JavaScript boolean value | ### Example Rust Usage