diff --git a/crates/typescript-tests/src/opt_args_and_ret.rs b/crates/typescript-tests/src/opt_args_and_ret.rs index e960826befa..024bfe3cb09 100644 --- a/crates/typescript-tests/src/opt_args_and_ret.rs +++ b/crates/typescript-tests/src/opt_args_and_ret.rs @@ -1,6 +1,14 @@ use wasm_bindgen::prelude::*; #[wasm_bindgen] -pub fn opt_fn(_a: Option) -> Option { +/// Optional parameters followed by non-optional parameters. +/// Only the parameter _c may be marked as omittable. +pub fn opt_fn_mixed(_a: Option, _b: i32, _c: Option) -> Option { + None +} + +#[wasm_bindgen] +/// Only optional parameters. All of them may be marked as omittable. +pub fn opt_fn_only(_a: Option, _b: Option, _c: Option) -> Option { None } diff --git a/crates/typescript-tests/src/opt_args_and_ret.ts b/crates/typescript-tests/src/opt_args_and_ret.ts index 85a76696d7c..10fe60508cc 100644 --- a/crates/typescript-tests/src/opt_args_and_ret.ts +++ b/crates/typescript-tests/src/opt_args_and_ret.ts @@ -1,3 +1,4 @@ import * as wbg from '../pkg/typescript_tests'; -const opt_fn: (a?: number) => number | undefined = wbg.opt_fn; +const opt_fn_mixed: (a: number | undefined, b: number, c?: number) => number | undefined = wbg.opt_fn_mixed; +const opt_fn_only: (a?: number, b?: number, c?: number) => number | undefined = wbg.opt_fn_only;