Skip to content

Commit 6300670

Browse files
authored
(fix) fix doc for comma separated exports (#1169)
#1168
1 parent c14eebc commit 6300670

File tree

3 files changed

+31
-2
lines changed

3 files changed

+31
-2
lines changed

packages/svelte2tsx/src/svelte2tsx/nodes/ExportedNames.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,10 +290,17 @@ export class ExportedNames {
290290

291291
private getDoc(target: ts.BindingName) {
292292
let doc = undefined;
293+
// Traverse `a` one up. If the declaration is part of a declaration list,
294+
// the comment is at this point already
295+
const variableDeclaration = target?.parent;
293296
// Traverse `a` up to `export let a`
294297
const exportExpr = target?.parent?.parent?.parent;
295298

296-
if (exportExpr) {
299+
if (variableDeclaration) {
300+
doc = getLastLeadingDoc(variableDeclaration);
301+
}
302+
303+
if (exportExpr && !doc) {
297304
doc = getLastLeadingDoc(exportExpr);
298305
}
299306

packages/svelte2tsx/test/svelte2tsx/samples/export-doc/expected.tsx

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@
1313
*/
1414
let b;
1515
let c;
16+
/**
17+
* d
18+
*/
19+
let d;let
20+
/**
21+
* e
22+
*/
23+
e;
1624
;
1725
() => (<></>);
1826
return { props: {
@@ -21,7 +29,13 @@ return { props: {
2129
*/a: a ,
2230
/**
2331
* MORE DOCS!
24-
*/b: b , c: c}, slots: {}, getters: {}, events: {} }}
32+
*/b: b , c: c ,
33+
/**
34+
* d
35+
*/d: d ,
36+
/**
37+
* e
38+
*/e: e}, slots: {}, getters: {}, events: {} }}
2539

2640
export default class Input__SvelteComponent_ extends __sveltets_1_createSvelte2TsxComponent(__sveltets_1_partial(__sveltets_1_with_any_event(render()))) {
2741
}

packages/svelte2tsx/test/svelte2tsx/samples/export-doc/input.svelte

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,12 @@
1111
*/
1212
export let b;
1313
export let c;
14+
/**
15+
* d
16+
*/
17+
export let d,
18+
/**
19+
* e
20+
*/
21+
e;
1422
</script>

0 commit comments

Comments
 (0)