mirror of
https://github.com/rustwasm/wasm-bindgen.git
synced 2024-12-26 19:45:54 +03:00
Change Function::apply
to catch the result
We don't know whether it'll throw or not!
This commit is contained in:
parent
75215134a5
commit
f3d4a20ec7
@ -673,8 +673,8 @@ extern "C" {
|
||||
/// (or an array-like object).
|
||||
///
|
||||
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply
|
||||
#[wasm_bindgen(method)]
|
||||
pub fn apply(this: &Function, context: &JsValue, args: &Array) -> JsValue;
|
||||
#[wasm_bindgen(method, catch)]
|
||||
pub fn apply(this: &Function, context: &JsValue, args: &Array) -> Result<JsValue, JsValue>;
|
||||
|
||||
/// The bind() method creates a new function that, when called, has its this keyword set to the provided value,
|
||||
/// with a given sequence of arguments preceding any provided when the new function is called.
|
||||
|
@ -20,7 +20,7 @@ fn apply() {
|
||||
args.push(1.into());
|
||||
args.push(2.into());
|
||||
args.push(3.into());
|
||||
assert_eq!(MAX.apply(&JsValue::undefined(), &args), 3);
|
||||
assert_eq!(MAX.apply(&JsValue::undefined(), &args).unwrap(), 3);
|
||||
|
||||
let arr = JsValue::from(Array::new());
|
||||
let args = Array::new();
|
||||
|
@ -3,7 +3,7 @@ use std::fmt;
|
||||
use std::mem;
|
||||
|
||||
use console_error_panic_hook;
|
||||
use js_sys::Array;
|
||||
use js_sys::{Array, Function};
|
||||
use wasm_bindgen::prelude::*;
|
||||
|
||||
/// Runtime test harness support instantiated in JS.
|
||||
@ -24,11 +24,6 @@ pub struct Context {
|
||||
|
||||
#[wasm_bindgen]
|
||||
extern {
|
||||
// Redefined from `js_sys` so we can catch the error
|
||||
pub type Function;
|
||||
#[wasm_bindgen(method, catch)]
|
||||
fn apply(this: &Function, new_this: &JsValue, args: &Array) -> Result<JsValue, JsValue>;
|
||||
|
||||
#[wasm_bindgen(js_namespace = console, js_name = log)]
|
||||
#[doc(hidden)]
|
||||
pub fn console_log(s: &str);
|
||||
|
Loading…
Reference in New Issue
Block a user