Skip to content

Commit 47ef38d

Browse files
authoredSep 11, 2024··
fix(es/codegen): Ensure decorators are emitted first in TS paramters (#9545)
**Related issue:** - Closes #9543
1 parent 6137b89 commit 47ef38d

File tree

4 files changed

+20
-6
lines changed

4 files changed

+20
-6
lines changed
 

‎crates/swc_ecma_codegen/src/typescript.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -688,11 +688,9 @@ where
688688
fn emit_ts_param_prop(&mut self, n: &TsParamProp) -> Result {
689689
self.emit_leading_comments_of_span(n.span(), false)?;
690690

691-
self.emit_accessibility(n.accessibility)?;
691+
self.emit_list(n.span, Some(&n.decorators), ListFormat::Decorators)?;
692692

693-
for dec in &n.decorators {
694-
emit!(dec);
695-
}
693+
self.emit_accessibility(n.accessibility)?;
696694

697695
if n.is_override {
698696
keyword!("override");
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export class A {
2+
constructor(
3+
@IInstantiationService protected readonly _instantiationService: IInstantiationService,
4+
@IContainerService private readonly _containerService: IContainerService,
5+
) {
6+
}
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export class A {
2+
constructor(
3+
@IInstantiationService
4+
protected readonly _instantiationService: IInstantiationService,
5+
@IContainerService
6+
private readonly _containerService: IContainerService){}
7+
}
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { field__2 } from "../validation/decorators";
22
class C__2 {
3-
constructor(@field__2("a")
4-
readonly field__3: string, @field__2("b")
3+
constructor(
4+
@field__2("a")
5+
readonly field__3: string,
6+
@field__2("b")
57
readonly b__3: string){}
68
}

0 commit comments

Comments
 (0)
Please sign in to comment.