Skip to content

Commit ec6b042

Browse files
Remove JSDoc type annotations in TS files (#4187)
1 parent 4c2e923 commit ec6b042

16 files changed

+33
-73
lines changed

CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
* String enums now generate private TypeScript types but only if used.
99
[#4174](https://github.com/rustwasm/wasm-bindgen/pull/4174)
1010

11+
* Remove unnecessary JSDoc type annotations from generated `.d.ts` files
12+
[#4187](https://github.com/rustwasm/wasm-bindgen/pull/4187)
13+
1114
### Fixed
1215

1316
* Fixed methods with `self: &Self` consuming the object.

crates/cli-support/src/js/mod.rs

+8-7
Original file line numberDiff line numberDiff line change
@@ -2712,7 +2712,7 @@ __wbg_set_wasm(wasm);"
27122712
match &export.kind {
27132713
AuxExportKind::Function(name) => {
27142714
if let Some(ts_sig) = ts_sig {
2715-
self.typescript.push_str(&js_docs);
2715+
self.typescript.push_str(&ts_docs);
27162716
self.typescript.push_str("export function ");
27172717
self.typescript.push_str(name);
27182718
self.typescript.push_str(ts_sig);
@@ -2730,7 +2730,7 @@ __wbg_set_wasm(wasm);"
27302730
}
27312731

27322732
exported.has_constructor = true;
2733-
exported.push(&js_docs, "constructor", "", &code, ts_sig);
2733+
exported.push("constructor", "", &js_docs, &code, &ts_docs, ts_sig);
27342734
}
27352735
AuxExportKind::Method {
27362736
class,
@@ -2783,7 +2783,7 @@ __wbg_set_wasm(wasm);"
27832783
}
27842784
};
27852785

2786-
exported.push(&js_docs, name, &prefix, &code, ts);
2786+
exported.push(name, &prefix, &js_docs, &code, &ts_docs, ts);
27872787
}
27882788
}
27892789
}
@@ -4287,20 +4287,21 @@ fn property_accessor(name: &str) -> String {
42874287
impl ExportedClass {
42884288
fn push(
42894289
&mut self,
4290-
docs: &str,
42914290
function_name: &str,
42924291
function_prefix: &str,
4292+
js_docs: &str,
42934293
js: &str,
4294+
ts_docs: &str,
42944295
ts: Option<&str>,
42954296
) {
4296-
self.contents.push_str(docs);
4297+
self.contents.push_str(js_docs);
42974298
self.contents.push_str(function_prefix);
42984299
self.contents.push_str(function_name);
42994300
self.contents.push_str(js);
43004301
self.contents.push('\n');
43014302
if let Some(ts) = ts {
4302-
if !docs.is_empty() {
4303-
for line in docs.lines() {
4303+
if !ts_docs.is_empty() {
4304+
for line in ts_docs.lines() {
43044305
self.typescript.push_str(" ");
43054306
self.typescript.push_str(line);
43064307
self.typescript.push('\n');

crates/cli/tests/reference/add.d.ts

-10
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,4 @@
11
/* tslint:disable */
22
/* eslint-disable */
3-
/**
4-
* @param {number} a
5-
* @param {number} b
6-
* @returns {number}
7-
*/
83
export function add_u32(a: number, b: number): number;
9-
/**
10-
* @param {number} a
11-
* @param {number} b
12-
* @returns {number}
13-
*/
144
export function add_i32(a: number, b: number): number;
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
11
/* tslint:disable */
22
/* eslint-disable */
3-
/**
4-
* @returns {Promise<number>}
5-
*/
63
export function foo(): Promise<number>;
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
11
/* tslint:disable */
22
/* eslint-disable */
3-
/**
4-
* @returns {Promise<void>}
5-
*/
63
export function foo(): Promise<void>;

crates/cli/tests/reference/builder.d.ts

-3
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,5 @@
22
/* eslint-disable */
33
export class ClassBuilder {
44
free(): void;
5-
/**
6-
* @returns {ClassBuilder}
7-
*/
85
static builder(): ClassBuilder;
96
}

crates/cli/tests/reference/enums.d.ts

-16
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,8 @@
11
/* tslint:disable */
22
/* eslint-disable */
3-
/**
4-
* @param {Color} color
5-
* @returns {Color}
6-
*/
73
export function enum_echo(color: Color): Color;
8-
/**
9-
* @param {Color | undefined} [color]
10-
* @returns {Color | undefined}
11-
*/
124
export function option_enum_echo(color?: Color): Color | undefined;
13-
/**
14-
* @param {Color} color
15-
* @returns {ColorName}
16-
*/
175
export function get_name(color: Color): ColorName;
18-
/**
19-
* @param {ColorName | undefined} [color]
20-
* @returns {ColorName | undefined}
21-
*/
226
export function option_string_enum_echo(color?: ColorName): ColorName | undefined;
237
/**
248
* A color.
-8
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,4 @@
11
/* tslint:disable */
22
/* eslint-disable */
3-
/**
4-
* @param {number} input
5-
* @returns {number}
6-
*/
73
export function const_pointer(input: number): number;
8-
/**
9-
* @param {number} input
10-
* @returns {number}
11-
*/
124
export function mut_pointer(input: number): number;

crates/cli/tests/reference/raw.d.ts

-11
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,8 @@
11
/* tslint:disable */
22
/* eslint-disable */
3-
/**
4-
* @param {number} test
5-
* @returns {number}
6-
*/
73
export function test1(test: number): number;
84
export class Test {
95
free(): void;
10-
/**
11-
* @param {number} test
12-
* @returns {Test}
13-
*/
146
static test1(test: number): Test;
15-
/**
16-
* @param {number} test
17-
*/
187
test2(test: number): void;
198
}
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
11
/* tslint:disable */
22
/* eslint-disable */
3-
/**
4-
* @returns {string}
5-
*/
63
export function exported(): string;

crates/cli/tests/reference/skip-jsdoc.d.ts

+4
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,7 @@
77
* @returns to whence I came
88
*/
99
export function docme(arg: number): number;
10+
/**
11+
* Regular documentation.
12+
*/
13+
export function i_has_docs(arg: number): number;

crates/cli/tests/reference/skip-jsdoc.js

+10
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,13 @@ export function docme(arg) {
1414
return ret >>> 0;
1515
}
1616

17+
/**
18+
* Regular documentation.
19+
* @param {number} arg
20+
* @returns {number}
21+
*/
22+
export function i_has_docs(arg) {
23+
const ret = wasm.i_has_docs(arg);
24+
return ret >>> 0;
25+
}
26+

crates/cli/tests/reference/skip-jsdoc.rs

+6
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,9 @@ use wasm_bindgen::prelude::*;
88
pub fn docme(arg: u32) -> u32 {
99
arg + 1
1010
}
11+
12+
/// Regular documentation.
13+
#[wasm_bindgen]
14+
pub fn i_has_docs(arg: u32) -> u32 {
15+
arg + 1
16+
}
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
(module $reference_test.wasm
22
(type (;0;) (func (param i32) (result i32)))
33
(func $docme (;0;) (type 0) (param i32) (result i32))
4+
(func $i_has_docs (;1;) (type 0) (param i32) (result i32))
45
(memory (;0;) 17)
56
(export "memory" (memory 0))
67
(export "docme" (func $docme))
8+
(export "i_has_docs" (func $i_has_docs))
79
(@custom "target_features" (after code) "\02+\0fmutable-globals+\08sign-ext")
810
)
911

Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
11
/* tslint:disable */
22
/* eslint-disable */
3-
/**
4-
* @param {string} a
5-
*/
63
export function foo(a: string): void;

crates/cli/tests/reference/web-sys.d.ts

-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
/* tslint:disable */
22
/* eslint-disable */
3-
/**
4-
* @returns {URL}
5-
*/
63
export function get_url(): URL;
7-
/**
8-
* @returns {MediaSourceEnum}
9-
*/
104
export function get_media_source(): MediaSourceEnum;
115
/**
126
*The `MediaSourceEnum` enum.

0 commit comments

Comments
 (0)