mirror of
https://github.com/rustwasm/wasm-bindgen.git
synced 2024-12-27 03:55:20 +03:00
guide: Add Box<[JsValue]>
example to supported types section
This commit is contained in:
parent
60307e81f9
commit
d1b2299340
@ -0,0 +1,22 @@
|
||||
import {
|
||||
take_boxed_js_value_slice_by_value,
|
||||
return_boxed_js_value_slice,
|
||||
take_option_boxed_js_value_slice,
|
||||
return_option_boxed_js_value_slice,
|
||||
} from './guide_supported_types_examples';
|
||||
|
||||
take_boxed_js_value_slice_by_value([null, true, 2, {}, []]);
|
||||
|
||||
let values = return_boxed_js_value_slice();
|
||||
console.log(values instanceof Array); // true
|
||||
|
||||
take_option_boxed_js_value_slice(null);
|
||||
take_option_boxed_js_value_slice(undefined);
|
||||
take_option_boxed_js_value_slice([1, 2, 3]);
|
||||
|
||||
let maybeValues = return_option_boxed_js_value_slice();
|
||||
if (maybeValues == null) {
|
||||
// ...
|
||||
} else {
|
||||
console.log(maybeValues instanceof Array); // true
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
use wasm_bindgen::prelude::*;
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn take_boxed_js_value_slice_by_value(x: Box<[JsValue]>) {}
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn return_boxed_js_value_slice() -> Box<[JsValue]> {
|
||||
vec![JsValue::NULL, JsValue::UNDEFINED].into_boxed_slice()
|
||||
}
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn take_option_boxed_js_value_slice(x: Option<Box<[JsValue]>>) {}
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn return_option_boxed_js_value_slice() -> Option<Box<[JsValue]>> {
|
||||
None
|
||||
}
|
@ -10,3 +10,4 @@ pub mod string;
|
||||
pub mod char;
|
||||
pub mod bool;
|
||||
pub mod js_value;
|
||||
pub mod boxed_js_value_slice;
|
||||
|
@ -145,6 +145,18 @@ garbage-collected heap and the Wasm linear memory with `TextDecoder` and
|
||||
|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|
||||
| Yes | No | No | Yes | Yes | Yes | A JavaScript `Array` object |
|
||||
|
||||
### Example Rust Usage
|
||||
|
||||
```rust
|
||||
{{#include ../../../examples/guide-supported-types-examples/src/boxed_js_value_slice.rs}}
|
||||
```
|
||||
|
||||
### Example JavaScript Usage
|
||||
|
||||
```js
|
||||
{{#include ../../../examples/guide-supported-types-examples/boxed_js_value_slice.js}}
|
||||
```
|
||||
|
||||
## `*const T` `*mut T`
|
||||
|
||||
| `T` parameter | `&T` parameter | `&mut T` parameter | `T` return value | `Option<T>` parameter | `Option<T>` return value | JavaScript representation |
|
||||
|
Loading…
Reference in New Issue
Block a user