diff --git a/examples/guide-supported-types-examples/char.js b/examples/guide-supported-types-examples/char.js new file mode 100644 index 00000000..f404197a --- /dev/null +++ b/examples/guide-supported-types-examples/char.js @@ -0,0 +1,9 @@ +import { + take_char_by_value, + return_char, +} from './guide_supported_types_examples'; + +take_char_by_value('a'); + +let c = return_char(); +console.log(typeof c); // "string" diff --git a/examples/guide-supported-types-examples/src/char.rs b/examples/guide-supported-types-examples/src/char.rs new file mode 100644 index 00000000..a9176f98 --- /dev/null +++ b/examples/guide-supported-types-examples/src/char.rs @@ -0,0 +1,9 @@ +use wasm_bindgen::prelude::*; + +#[wasm_bindgen] +pub fn take_char_by_value(x: char) {} + +#[wasm_bindgen] +pub fn return_char() -> char { + '🚀' +} diff --git a/examples/guide-supported-types-examples/src/lib.rs b/examples/guide-supported-types-examples/src/lib.rs index de7d6ac5..6265796c 100755 --- a/examples/guide-supported-types-examples/src/lib.rs +++ b/examples/guide-supported-types-examples/src/lib.rs @@ -7,3 +7,4 @@ pub mod imported_types; pub mod exported_types; pub mod str; pub mod string; +pub mod char; diff --git a/guide/src/reference/types.md b/guide/src/reference/types.md index 210a17fa..edd15a03 100644 --- a/guide/src/reference/types.md +++ b/guide/src/reference/types.md @@ -91,6 +91,18 @@ garbage-collected heap and the Wasm linear memory with `TextDecoder` and |:---:|:---:|:---:|:---:|:---:|:---:|:---:| | Yes | No | No | Yes | No | No | A JavaScript string value | +### Example Rust Usage + +```rust +{{#include ../../../examples/guide-supported-types-examples/src/char.rs}} +``` + +### Example JavaScript Usage + +```js +{{#include ../../../examples/guide-supported-types-examples/char.js}} +``` + ## `bool` | `T` parameter | `&T` parameter | `&mut T` parameter | `T` return value | `Option` parameter | `Option` return value | JavaScript representation |