Skip to content

Commit 265d6a6

Browse files
committed
feat(formatter): Support TSEnumDeclaration (#13704)
Fixes #13703
1 parent fb2d087 commit 265d6a6

File tree

4 files changed

+12
-667
lines changed

4 files changed

+12
-667
lines changed

crates/oxc_formatter/src/write/mod.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1132,6 +1132,9 @@ impl<'a> FormatWrite<'a> for AstNode<'a, TSThisParameter<'a>> {
11321132

11331133
impl<'a> FormatWrite<'a> for AstNode<'a, TSEnumDeclaration<'a>> {
11341134
fn write(&self, f: &mut Formatter<'_, 'a>) -> FormatResult<()> {
1135+
if self.declare() {
1136+
write!(f, ["declare", space()])?;
1137+
}
11351138
if self.r#const() {
11361139
write!(f, ["const", space()])?;
11371140
}
@@ -1163,6 +1166,10 @@ impl<'a> Format<'a> for AstNode<'a, Vec<'a, TSEnumMember<'a>>> {
11631166

11641167
impl<'a> FormatWrite<'a> for AstNode<'a, TSEnumMember<'a>> {
11651168
fn write(&self, f: &mut Formatter<'_, 'a>) -> FormatResult<()> {
1169+
write!(f, [self.id()])?;
1170+
if let Some(init) = self.initializer() {
1171+
write!(f, [space(), "=", space(), init])?;
1172+
}
11661173
Ok(())
11671174
}
11681175
}

tasks/coverage/snapshots/formatter_babel.snap

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ commit: 41d96516
22

33
formatter_babel Summary:
44
AST Parsed : 2423/2423 (100.00%)
5-
Positive Passed: 2383/2423 (98.35%)
5+
Positive Passed: 2397/2423 (98.93%)
66
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/comments/basic/try-statement/input.js
77

88
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/comments/regression/13750/input.js
@@ -11,10 +11,6 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/es2015
1111

1212
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/es2022/private-in/private-in-class-heritage/input.js
1313

14-
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/estree/typescript/enum/input.js
15-
16-
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/estree/typescript/enum-babel-7/input.js
17-
1814
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/estree/typescript/loc-index-property/input.js
1915

2016
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/estree/typescript/loc-index-property-babel-7/input.js
@@ -35,30 +31,6 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc
3531

3632
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/predicate-types/input.ts
3733

38-
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/const/initializer-ambient-context/input.ts
39-
40-
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/const/initializer-ambient-context-babel-7/input.ts
41-
42-
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members/input.ts
43-
44-
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members-babel-7/input.ts
45-
46-
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members-reserved-words/input.ts
47-
48-
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members-reserved-words-babel-7/input.ts
49-
50-
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members-strings/input.ts
51-
52-
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members-strings-babel-7/input.ts
53-
54-
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members-trailing-comma/input.ts
55-
56-
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members-trailing-comma-babel-7/input.ts
57-
58-
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members-trailing-comma-with-initializer/input.ts
59-
60-
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members-trailing-comma-with-initializer-babel-7/input.ts
61-
6234
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/function/predicate-types/input.ts
6335

6436
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/interface/extends/input.ts

0 commit comments

Comments
 (0)