Skip to content

Commit 3282231

Browse files
committed
fix(transformer/typescript): typescript parameter properties disappear when there's two or more classes that uses that feature
1 parent 0e2dd19 commit 3282231

3 files changed

Lines changed: 16 additions & 0 deletions

File tree

  • crates/oxc_transformer/src/typescript
  • tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments

crates/oxc_transformer/src/typescript/annotations.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,7 @@ impl<'a> Traverse<'a> for TypeScriptAnnotations<'a, '_> {
372372
.map(|assignment| assignment.create_this_property_assignment(ctx)),
373373
);
374374
}
375+
self.has_super_call = false;
375376
}
376377
}
377378

tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/input.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,7 @@ class Bar extends Foo {
99
super(foo, bar, zoo, bang, too);
1010
}
1111
}
12+
class Baz extends Bar {
13+
constructor(public foo, private bar, protected zoo, readonly bang, override boom, too) {
14+
}
15+
}

tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/output.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ class Foo {
88
console.log(this.foo, this.bar, this.zoo, this.bang);
99
}
1010
}
11+
1112
class Bar extends Foo {
1213
constructor(foo, bar, zoo, bang, boom, too) {
1314
super(foo, bar, zoo, bang, too);
@@ -18,3 +19,13 @@ class Bar extends Foo {
1819
this.boom = boom;
1920
}
2021
}
22+
23+
class Baz extends Bar {
24+
constructor(foo, bar, zoo, bang, boom, too) {
25+
this.foo = foo;
26+
this.bar = bar;
27+
this.zoo = zoo;
28+
this.bang = bang;
29+
this.boom = boom;
30+
}
31+
}

0 commit comments

Comments
 (0)