diff --git a/crates/cli-support/src/js/mod.rs b/crates/cli-support/src/js/mod.rs index 671f67ded2e..6850b91169f 100644 --- a/crates/cli-support/src/js/mod.rs +++ b/crates/cli-support/src/js/mod.rs @@ -3581,7 +3581,7 @@ impl<'a> Context<'a> { if !variant_docs.is_empty() { self.typescript.push_str(&variant_docs); } - self.typescript.push_str(&format!(" {},", name)); + self.typescript.push_str(&format!(" {name} = {value},")); } } if enum_.generate_typescript { diff --git a/crates/typescript-tests/src/enums.rs b/crates/typescript-tests/src/enums.rs new file mode 100644 index 00000000000..3d711ad01b0 --- /dev/null +++ b/crates/typescript-tests/src/enums.rs @@ -0,0 +1,7 @@ +use wasm_bindgen::prelude::*; + +#[wasm_bindgen] +pub enum Foo { + A = 1, + B = 3, +} diff --git a/crates/typescript-tests/src/enums.ts b/crates/typescript-tests/src/enums.ts new file mode 100644 index 00000000000..3cda5bc78ff --- /dev/null +++ b/crates/typescript-tests/src/enums.ts @@ -0,0 +1,8 @@ +import * as wbg from '../pkg/typescript_tests'; + +const a1: wbg.Foo = wbg.Foo.A; +const a2: wbg.Foo.A = wbg.Foo.A; +const a3: wbg.Foo.A = 1; +const b1: wbg.Foo = wbg.Foo.B; +const b2: wbg.Foo.B = wbg.Foo.B; +const b3: wbg.Foo.B = 3; diff --git a/crates/typescript-tests/src/lib.rs b/crates/typescript-tests/src/lib.rs index dda6a48e9d2..c4f597c6d93 100644 --- a/crates/typescript-tests/src/lib.rs +++ b/crates/typescript-tests/src/lib.rs @@ -1,4 +1,5 @@ pub mod custom_section; +pub mod enums; pub mod getters_setters; pub mod inspectable; pub mod omit_definition;